npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@the-staq/tradestaq-mcp

v0.2.0

Published

MCP server for automated crypto trading. 31 tools for AI agents: create strategies, backtest, deploy trading bots, copy trade, monitor positions, and manage portfolios on Binance, Bybit, OKX, and more. Works with Claude, Cursor, and any MCP client.

Downloads

89

Readme

TradeStaq MCP Server

npm version License: MIT

31 AI-powered trading tools for Claude, Cursor, and any MCP client.

Create strategies, backtest them, deploy trading bots, copy top traders, monitor positions, and manage your crypto portfolio, all from conversation. Supports Binance, Bybit, OKX, Bitget, Hyperliquid, dYdX, and more.

"Show me my portfolio" → get_portfolio
"Backtest GhostRider on BTC/USDT for 3 months" → what_if_backtest
"Deploy it on my Binance account" → deploy_bot
"Who are the top traders this month?" → list_top_traders
"Generate a momentum strategy for ETH" → generate_strategy

Quick Start

Option A: Remote server (no install needed)

For MCP clients that support HTTP transport:

{
  "mcpServers": {
    "tradestaq": {
      "url": "https://mcp.tradestaq.com/mcp"
    }
  }
}

Option B: npx (recommended for local)

No clone, no build. Just add to your MCP config:

Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "tradestaq": {
      "command": "npx",
      "args": ["-y", "@the-staq/tradestaq-mcp"]
    }
  }
}

Cursor (.cursor/mcp.json):

{
  "mcpServers": {
    "tradestaq": {
      "command": "npx",
      "args": ["-y", "@the-staq/tradestaq-mcp"]
    }
  }
}

Claude Code:

claude mcp add tradestaq -- npx -y @the-staq/tradestaq-mcp

Option C: Clone and build

git clone https://github.com/the-staq/tradestaq-mcp.git
cd tradestaq-mcp
npm install
npm run build

Then point your MCP client to dist/index.js.

Authenticate

After adding the server, ask your AI assistant to log in:

  • "Log me in to TradeStaq" — uses email/password directly
  • "Authenticate with TradeStaq" — opens a browser window for secure OAuth login

Credentials never enter the chat when using the browser flow. Token is stored locally at ~/.tradestaq/mcp-config.json with restricted permissions (0600).

Tools

Auth

| Tool | Description | |------|-------------| | login | Log in with email and password | | authenticate | Log in via browser (OAuth + PKCE) | | check_auth | Check authentication status | | set_token | Manually set a JWT token | | connect_exchange | Connect an exchange account via browser | | logout | Remove stored credentials |

Market Data

| Tool | Description | |------|-------------| | get_price | Current price, 24h change, volume | | get_candles | OHLCV candlestick data (1m to 1d) | | list_exchanges | List connected exchange accounts | | search_markets | Find trading pairs on a specific exchange |

Portfolio

| Tool | Description | |------|-------------| | get_portfolio | Total balance, exchanges, active bots | | get_positions | Open positions with live PnL |

Strategies

| Tool | Description | |------|-------------| | list_strategies | Browse marketplace or your own strategies | | get_strategy | Full strategy details and performance | | explain_strategy | Plain-English explanation with risk profile | | compare_strategies | Side-by-side metrics comparison | | create_strategy | Create a strategy from TradeDroid code | | generate_strategy | Generate a strategy from natural language using AI |

Backtesting

| Tool | Description | |------|-------------| | what_if_backtest | Run a historical backtest (async, 30-120s) | | get_backtest_results | Check status of a running backtest |

Bot Management

| Tool | Description | |------|-------------| | list_bots | All bots with status and performance | | get_bot_status | Detailed bot metrics and config | | deploy_bot | Deploy a strategy as a trading bot | | stop_bot | Stop a running bot | | close_position | Close an open position (full or partial) |

deploy_bot defaults to paper trading. Pass live: true for real money.

Trade History

| Tool | Description | |------|-------------| | get_trade_history | Closed trades with PnL, entry/exit prices | | get_performance_metrics | ROI, win rate, Sortino ratio, PnL breakdown |

Copy Trading

| Tool | Description | |------|-------------| | list_top_traders | Browse the leaderboard of top traders | | follow_trader | Subscribe to copy a trader's trades |

Advisor

| Tool | Description | |------|-------------| | suggest_strategies | Match strategies to your risk profile | | get_market_context | Trend, volatility, support/resistance for a symbol |

Prompt Templates

Trading Assistant — Start a conversation about your portfolio and positions. The AI calls get_portfolio and get_positions to ground its responses in your actual data.

Strategy Builder — Walk through creating, backtesting, and deploying a strategy. Pass an optional goal like "momentum strategy for ETH" to get focused suggestions.

Portfolio Reviewer — Deep analysis of your portfolio, positions, trade history, and performance. Identifies what's working, what isn't, and suggests improvements.

Resources

MCP resources provide browsable data that AI clients can read directly:

| Resource | URI | Description | |----------|-----|-------------| | Portfolio | tradestaq://portfolio | Balances, positions, and active bots | | Bots | tradestaq://bots | All bots with status and PnL | | Strategies | tradestaq://strategies | Strategy catalog with ratings |

Architecture

                    stdio                                    HTTPS
┌──────────────┐◄──────────►┐                  ┌────────────────►┌──────────────┐
│Claude Desktop│             │                  │                 │              │
│Cursor / CLI  │             │  tradestaq-mcp   │   Bearer JWT    │  TradeStaq   │
└──────────────┘             │  31 tools        │◄────────────────│  API         │
                             │  3 prompts       │                 │              │
┌──────────────┐  HTTP+SSE  │  3 resources      │                 └──────────────┘
│ Any MCP      │◄──────────►│                  │
│ client (web) │             └──────────────────┘
└──────────────┘
  • Two transports: stdio (local, default) and HTTP+SSE (remote, --http flag)
  • Hosted at https://mcp.tradestaq.com/mcp for remote clients
  • JWT auth via OAuth PKCE or email/password login
  • All tools return structured JSON with error contract
  • Token auto-refresh when expiring within 1 hour

Development

npm run dev        # watch mode with tsx
npm run build      # compile TypeScript
npm run lint       # type check without emitting
npm test           # run tests
npm start          # run server (stdio)
npm run start:http # run server (HTTP+SSE on port 3100)

Error Handling

All tool errors return structured responses:

{
  "error": {
    "code": "INSUFFICIENT_BALANCE",
    "message": "Human-readable description",
    "retryable": true,
    "retryAfterMs": 5000
  }
}

Error codes: AUTH_EXPIRED, TIMEOUT, RATE_LIMITED, NETWORK_ERROR, HTTP_4xx, HTTP_5xx.

Security

  • Credentials never enter AI conversation history
  • OAuth PKCE flow with browser-based authentication
  • Token stored with 0600 file permissions
  • Localhost-only OAuth callbacks
  • deploy_bot, stop_bot, close_position, and follow_trader are destructive operations (AI confirms with user)

License

MIT