@crush-protocol/mcp-client
v0.1.13
Published
Crush MCP npm client package (remote Streamable HTTP + optional ClickHouse direct)
Readme
Crush Protocol MCP Server
AI-powered quantitative trading tools for Claude Code and other MCP clients.
Run backtests, validate trading strategies, and query market data — directly from your AI coding assistant.
❌ Without Crush Protocol MCP
- ❌ Manually switch between your IDE and trading dashboards
- ❌ Copy-paste backtest configs and wait for results separately
- ❌ No way for your AI agent to iterate on strategies automatically
✅ With Crush Protocol MCP
Your AI agent can create, run, and analyze backtests in a single conversation:
Run a backtest on ETHUSDT on Hyperliquid using a 4h timeframe,
entry when RSI < 30, exit when RSI > 70. Use crush protocol mcp.List my last 10 completed backtests and summarize the best performing strategy.The AI agent calls the Crush Protocol MCP tools directly — no tab-switching, no manual data entry.
Getting a Token
Tokens are issued from the Crush Protocol web app. After logging in, navigate to Settings → API Tokens to create an mcp_xxx token.
Installation
Claude Code
claude mcp add --scope user crush-protocol -- npx -y @crush-protocol/mcp-clientThen set your credentials:
claude mcp add --scope user crush-protocol \
-- npx -y @crush-protocol/mcp-client \
--url https://mcp.crush-protocol.com/mcp \
--token mcp_xxxOr via environment variables in ~/.claude.json:
{
"mcpServers": {
"crush-protocol": {
"command": "npx",
"args": ["-y", "@crush-protocol/mcp-client"],
"env": {
"CRUSH_MCP_SERVER_URL": "https://mcp.crush-protocol.com/mcp",
"CRUSH_MCP_TOKEN": "mcp_xxx"
}
}
}
}Cursor
Add to ~/.cursor/mcp.json:
{
"mcpServers": {
"crush-protocol": {
"command": "npx",
"args": ["-y", "@crush-protocol/mcp-client"],
"env": {
"CRUSH_MCP_SERVER_URL": "https://mcp.crush-protocol.com/mcp",
"CRUSH_MCP_TOKEN": "mcp_xxx"
}
}
}
}Available Tools
| Category | Tools |
| ----------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Signal Discovery | get_signal_metadata, get_signals_by_category |
| Backtest | get_backtest_config_schema, get_available_tokens, validate_expression, create_backtest, get_backtest_result, list_backtests |
| Market Data | list_tables, list_tokens, list_indicators, list_timeframes, get_data_range, check_query_size, fetch_ohlcv, fetch_indicator, get_connection_config |
| Custom Indicators | save_custom_indicator, list_custom_indicators, get_custom_indicator, delete_custom_indicator |
| Strategy Management | create_strategy, list_strategies, get_strategy, update_strategy, delete_strategy, toggle_strategy, get_strategy_logs |
| Trading | place_order, get_positions, get_account_info, get_portfolio |
| Market Intelligence | search_tokens, get_token_info, get_trending_tokens, get_alpha_feed, get_token_feed, fetch_news |
📖 See INSTRUCTIONS.md for detailed tool descriptions, workflows, and AI system prompt template.
Environment Variables
| Variable | Description |
| ---------------------- | -------------------------------------------------------------- |
| CRUSH_MCP_SERVER_URL | MCP server URL (default: https://mcp.crush-protocol.com/mcp) |
| CRUSH_MCP_TOKEN | MCP auth token (mcp_xxx) |
SDK Usage (Advanced)
For programmatic access:
import { RemoteMcpClient, BacktestClient } from '@crush-protocol/mcp-client'
const mcp = new RemoteMcpClient({
serverUrl: 'https://mcp.crush-protocol.com/mcp',
token: 'mcp_xxx',
})
await mcp.connect()
const backtest = new BacktestClient(mcp)
const bt = await backtest.createBacktest({
config: {
/* ... */
},
})
const result = await backtest.getResult({ backtestId: bt.backtestId })
await mcp.close()License
MIT
