
# TraderSpy MCP
**Crypto smart money & AI signals, wired straight into your AI assistant.**
[](https://glama.ai/mcp/connectors/app.traderspy/traderspy)
[](https://mcpi.app/servers/traderspy)
[](https://github.com/target1m/traderspy-mcp/blob/master/LICENSE)
[](#tool-catalogue)
[](#quick-start)
**17 read-only tools · 4 exchanges · 19 technical indicators · 3 interactive views**
One URL. No install, no daemon, no broker, no API keys of your own.
---
Connect Claude, Claude Code, ChatGPT, Grok, Cursor, Cline or any MCP client to TraderSpy's live
crypto futures data: AI-generated signals with real targets, whale positioning across four
exchanges, prices, candles, indicators, derivatives, a condition screener and an event-study
backtester.
```
You ask: It calls: It reads:
"Which coins are oversold?" → screen_symbols() → top 100 by 24h volume, one pass
"Is BTC still trending?" → get_technical_indicators() → 1h + 4h + 1d in a single call
"What are the whales doing?" → get_positions() → Binance · Hyperliquid · Bybit · OKX
"Is this signal still valid?" → get_signal_details() → live price against entry / TP / SL
"What happens after this setup?" → backtest_condition() → up to 1000 stored candles
```
> **Every tool is read-only.** This connector cannot place, close or modify an order, it has no
> withdrawal or transfer tool, and it cannot see anyone's account. It answers questions with public
> market data. See [Security](#security).
---
## Contents
[Quick start](#quick-start) · [What it answers](#what-it-answers) · [Tool catalogue](#tool-catalogue) ·
[Interactive views](#interactive-views) · [Skills](#skills) · [Authentication](#authentication-and-limits) ·
[Security](#security) · [Data sources](#data-sources) · [Architecture](#architecture) ·
[Prompts to try](#prompts-to-try) · [Changelog](#changelog)
---
## Quick start
Everything below points at the same endpoint: `https://mcp.traderspy.app/mcp`.
**Claude, Claude Code, ChatGPT, Grok and Gemini sign in with your TraderSpy account** (OAuth), so
there is no key to copy. A free account is enough. Clients that cannot open a sign-in window
(Cursor, Cline, Windsurf, Grok Build, n8n, scripts) use a personal key instead: get it from the
**Other clients** tab at **[traderspy.app/mcp](https://traderspy.app/mcp)**. It starts with `mcp_`,
the page can show it again, and it is revocable at any time.
### Claude (web, desktop and mobile)
**Settings → Connectors → Add custom connector**, paste `https://mcp.traderspy.app/mcp`, then click
**Connect** and sign in with your TraderSpy account. No key to paste.
### Claude Code
**As a plugin** — also installs the six [skills](#skills):
```
/plugin marketplace add target1m/traderspy-mcp
/plugin install traderspy@traderspy-mcp
```
Then type `/mcp`, pick **traderspy** and choose **Authenticate**. Your browser opens the TraderSpy
sign-in once; click **Allow access** and Claude Code keeps the token. Coming from 1.7.0 or earlier,
which asked for a key at install? That key is no longer used: authenticate once the same way.
No browser on that machine (a server, CI)? Export your personal URL before starting Claude Code and
the plugin connects with it instead:
```bash
export TRADERSPY_MCP_URL="https://mcp.traderspy.app/mcp?token=mcp_YOUR_KEY"
```
**Or as a plain MCP server**, then authenticate the same way from `/mcp`:
```bash
claude mcp add --transport http traderspy https://mcp.traderspy.app/mcp
```
### ChatGPT
TraderSpy is in the ChatGPT plugin directory:
1. Open [chatgpt.com/plugins](https://chatgpt.com/plugins) (or **Settings → Plugins**), search for
**TraderSpy** and click **Connect**
2. Sign in with your TraderSpy account and click **Allow access**
3. Pick TraderSpy in a chat with **@** or from the **+** menu
Prefer your own connector? Turn on **Developer mode** in **Settings → Security and login**, then
click **+** on the Plugins page, paste `https://mcp.traderspy.app/mcp` and choose **OAuth**.
### Grok (xAI)
[grok.com/connectors](https://grok.com/connectors) → **New Connector → Custom**, then paste
`https://mcp.traderspy.app/mcp`. Grok opens the TraderSpy sign-in: sign in and click
**Allow access**, and leave any client ID and secret fields empty.
No sign-in appeared, or the tools don't answer? Paste your personal URL instead. The key is embedded,
so the host's authentication can stay on "None":
```
https://mcp.traderspy.app/mcp?token=mcp_YOUR_KEY
```
Grok Build cannot open a sign-in window, so from the terminal it always takes the personal URL:
```bash
grok mcp add --transport http traderspy "https://mcp.traderspy.app/mcp?token=mcp_YOUR_KEY"
```
As a Grok Build **plugin** (the server plus the six skills), the repo carries `.grok-plugin/plugin.json`
and `.grok-plugin/mcp.json`; the xAI plugin marketplace listing is in review. Grok Build has no
install-time prompt for secrets, so the plugin reads your key from `TRADERSPY_API_KEY` in the
environment that launches `grok`.
The personal URL also works as a remote MCP tool in the xAI API. Grok speaks Streamable HTTP and
SSE — so does this server.
### Cursor
**As a plugin** — also installs the six [skills](#skills). This repo is a Cursor plugin
(`.cursor-plugin/plugin.json` + `mcp.json`): install **TraderSpy** from the Cursor Marketplace
(listing in review), or clone the repo into `~/.cursor/plugins/local/traderspy` and run
**Developer: Reload Window**. Cursor asks for your key as `TRADERSPY_API_KEY` at install (change it
later under **Plugins → Configure**) and sends it as a bearer token; it never lands in your repo.
**Or as a plain MCP server** — `.cursor/mcp.json`:
```json
{
"mcpServers": {
"traderspy": {
"url": "https://mcp.traderspy.app/mcp",
"headers": {
"Authorization": "Bearer mcp_YOUR_KEY"
}
}
}
}
```
### Cline
`cline_mcp_settings.json`:
```json
{
"mcpServers": {
"traderspy": {
"type": "streamableHttp",
"url": "https://mcp.traderspy.app/mcp",
"headers": {
"Authorization": "Bearer mcp_YOUR_KEY"
},
"disabled": false,
"autoApprove": []
}
}
}
```
`type` must be exactly `streamableHttp`. `streamable-http`, or leaving `type` out, falls back to SSE
and the server answers 405. Full walkthrough: **[llms-install.md](llms-install.md)**.
### Gemini CLI
```bash
gemini extensions install https://github.com/target1m/traderspy-mcp
```
The extension (`gemini-extension.json`) adds the server and the six skills. It signs in with
OAuth rather than a key: run `/mcp auth traderspy` once inside Gemini CLI.
In the **Gemini app** (gemini.google.com or mobile): **Settings → Connected apps**, add a custom app,
paste `https://mcp.traderspy.app/mcp` and sign in. Google offers custom apps only in the US, in
English, on a personal Google account with Keep Activity on.
### Kimi Code
**As a plugin** — also installs the six [skills](#skills). In Kimi Code:
```
/plugins install https://github.com/target1m/traderspy-mcp
/reload
```
The repo carries `.kimi-plugin/plugin.json`, and Kimi Code installs the latest release. The first
TraderSpy tool call asks you to sign in: run the `/mcp-config login …` command Kimi Code prints,
sign in with your TraderSpy account in the browser and click **Allow access**, then `/reload`.
**Or as a plain MCP server** — `~/.kimi-code/mcp.json`, then sign in the same way:
```json
{
"mcpServers": {
"traderspy": {
"url": "https://mcp.traderspy.app/mcp"
}
}
}
```
No browser on that machine? Keep the key out of the file: export it and point Kimi Code at the
variable with `bearerTokenEnvVar`.
```json
{
"mcpServers": {
"traderspy": {
"url": "https://mcp.traderspy.app/mcp",
"bearerTokenEnvVar": "TRADERSPY_API_KEY"
}
}
}
```
### OpenCode
Add the server to `opencode.json` (project) or `~/.config/opencode/opencode.json` (global):
```json
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"traderspy": {
"type": "remote",
"url": "https://mcp.traderspy.app/mcp"
}
}
}
```
Then run `opencode mcp auth traderspy`. Your browser opens the TraderSpy sign-in once. Click
**Allow access** and OpenCode stores the token.
No browser on that machine? Turn off OAuth detection and send your personal key from the
environment:
```json
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"traderspy": {
"type": "remote",
"url": "https://mcp.traderspy.app/mcp",
"oauth": false,
"headers": {
"Authorization": "Bearer {env:TRADERSPY_API_KEY}"
}
}
}
}
```
OpenCode also loads skills from `.agents/skills/` and `.claude/skills/`, so the six skills installed
with the [skills](#skills) CLI work in OpenCode too.
### GitHub Copilot CLI
**As a plugin**, which also installs the six [skills](#skills):
```bash
copilot plugin install target1m/traderspy-mcp
```
The plugin manifest is `.github/plugin/plugin.json`. It points Copilot CLI at
`https://mcp.traderspy.app/mcp` with no key: Copilot CLI signs in with your TraderSpy account (OAuth)
in the browser, and `/mcp auth traderspy` opens the sign-in again. Copilot CLI passes a plugin's
remote server settings through literally, so a key cannot come from an environment variable here.
No browser on that machine? Skip the plugin and add the server with your personal key under its own
name:
```bash
copilot mcp add --transport http --header "Authorization: Bearer mcp_YOUR_KEY" \
traderspy-key https://mcp.traderspy.app/mcp
```
### goose
**Desktop:** [Add TraderSpy to goose](https://goose-docs.ai/extension?type=streamable_http&url=https%3A%2F%2Fmcp.traderspy.app%2Fmcp&id=traderspy&name=TraderSpy&description=Read-only%20crypto%20futures%20market%20research%3A%20AI%20signals%2C%20whale%20positions%2C%20indicators%2C%20screener%20and%20backtests.%20No%20order%2C%20transfer%20or%20withdrawal%20tool.%20Market%20data%20and%20analysis%2C%20not%20financial%20advice.)
opens goose and adds the extension. Start a new chat. On the first tool call goose opens the TraderSpy sign-in in your
browser; click **Allow access**. There is no key to paste.
**CLI:** run `goose configure`, choose **Add Extension** → **Remote Extension (Streamable HTTP)**, name it `traderspy`
and enter `https://mcp.traderspy.app/mcp`. Add no headers. For one session only:
```bash
goose session --with-streamable-http-extension "https://mcp.traderspy.app/mcp"
```
Every tool is read-only: there is no order, transfer or withdrawal tool. Market data and analysis, not financial advice.
### Windsurf and other MCP clients
The personal URL works in any client that takes an MCP server URL:
```json
{
"traderspy": {
"type": "http",
"url": "https://mcp.traderspy.app/mcp?token=mcp_YOUR_KEY"
}
}
```
A client that implements MCP authorization can take the bare URL instead: the server answers an
unauthenticated tool call with `401` and a `WWW-Authenticate` header, which starts its sign-in. That
works when the client's OAuth callback is a loopback address (`http://localhost: