@crush-protocol/mcp-client
v0.5.3
Published
MCP server for market data, backtests, live strategies, and trading via Crush
Readme
Crush Protocol MCP Client
MCP server for connecting AI coding agents to Crush — market data, backtests, live strategies, and trading.
Quick Start
npx -y @crush-protocol/mcp-client@latest setup --cursor # Cursor
npx -y @crush-protocol/mcp-client@latest setup --claude # Claude Code
npx -y @crush-protocol/mcp-client@latest setup --all # all supported hostsOAuth login is explicit. On first tool call, Crush prints or returns an authorization URL for the user to open manually in a browser.
Install
Recommended:
npx -y @crush-protocol/mcp-client@latest setup --allThis writes MCP config for all supported hosts at once. To target a single host:
npx -y @crush-protocol/mcp-client@latest setup --cursor
npx -y @crush-protocol/mcp-client@latest setup --claude
npx -y @crush-protocol/mcp-client@latest setup --codex
npx -y @crush-protocol/mcp-client@latest setup --gemini
npx -y @crush-protocol/mcp-client@latest setup --opencode
npx -y @crush-protocol/mcp-client@latest setup --vscode
npx -y @crush-protocol/mcp-client@latest setup --windsurf
npx -y @crush-protocol/mcp-client@latest setup --claude-desktop
npx -y @crush-protocol/mcp-client@latest setup --warpCursor and VS Code also support --scope project for repo-local config.
Client Configuration
Auto setup:
npx -y @crush-protocol/mcp-client@latest setup --cursorManual config: Add to ~/.cursor/mcp.json:
{
"mcpServers": {
"crush-protocol": {
"command": "npx",
"args": ["-y", "@crush-protocol/mcp-client@latest"]
}
}
}Auto setup:
npx -y @crush-protocol/mcp-client@latest setup --claudeManual config:
claude mcp add --scope user crush-protocol -- npx -y @crush-protocol/mcp-client@latestAuto setup:
npx -y @crush-protocol/mcp-client@latest setup --codexManual config:
CLI: codex mcp add crush-protocol -- npx -y @crush-protocol/mcp-client@latest
File: Add to ~/.codex/config.toml:
[mcp_servers.crush-protocol]
command = "npx"
args = ["-y", "@crush-protocol/mcp-client@latest"]
startup_timeout_sec = 60Auto setup:
npx -y @crush-protocol/mcp-client@latest setup --geminiManual config: Add to ~/.gemini/settings.json:
{
"mcpServers": {
"crush-protocol": {
"command": "npx",
"args": ["-y", "@crush-protocol/mcp-client@latest"]
}
}
}Auto setup:
npx -y @crush-protocol/mcp-client@latest setup --vscodeManual config: Add to .vscode/mcp.json (project) or ~/.vscode/mcp.json (global):
{
"servers": {
"crush-protocol": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@crush-protocol/mcp-client@latest"]
}
}
}Auto setup:
npx -y @crush-protocol/mcp-client@latest setup --windsurfManual config: Add to ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"crush-protocol": {
"command": "npx",
"args": ["-y", "@crush-protocol/mcp-client@latest"]
}
}
}Auto setup:
npx -y @crush-protocol/mcp-client@latest setup --claude-desktopManual config: Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS):
{
"mcpServers": {
"crush-protocol": {
"command": "npx",
"args": ["-y", "@crush-protocol/mcp-client@latest"]
}
}
}Auto setup:
npx -y @crush-protocol/mcp-client@latest setup --opencodeManual config: Add to ~/.config/opencode/opencode.json:
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"crush-protocol": {
"type": "local",
"command": ["npx", "-y", "@crush-protocol/mcp-client@latest"],
"enabled": true
}
}
}Auto setup:
npx -y @crush-protocol/mcp-client@latest setup --warpManual config: Add via Warp Drive → MCP Servers → + Add:
{
"crush-protocol": {
"command": "npx",
"args": ["-y", "@crush-protocol/mcp-client@latest"],
"env": {},
"working_directory": null,
"start_on_launch": true
}
}Add to ~/.kiro/settings/mcp.json (global) or .kiro/settings/mcp.json (workspace):
{
"mcpServers": {
"crush-protocol": {
"command": "npx",
"args": ["-y", "@crush-protocol/mcp-client@latest"]
}
}
}Add to .roo/mcp.json (project) or open Roo Code settings → Edit Global MCP:
{
"mcpServers": {
"crush-protocol": {
"command": "npx",
"args": ["-y", "@crush-protocol/mcp-client@latest"]
}
}
}Add to cline_mcp_settings.json (open via Cline panel → MCP Servers → Configure MCP Servers):
{
"mcpServers": {
"crush-protocol": {
"command": "npx",
"args": ["-y", "@crush-protocol/mcp-client@latest"]
}
}
}Add via Trae → Settings → MCP → Add MCP Server:
{
"mcpServers": {
"crush-protocol": {
"command": "npx",
"args": ["-y", "@crush-protocol/mcp-client@latest"]
}
}
}Add via Settings → Tools → + Add MCP → Command: npx -y @crush-protocol/mcp-client@latest
"augment.advanced": {
"mcpServers": [
{
"name": "crush-protocol",
"command": "npx",
"args": ["-y", "@crush-protocol/mcp-client@latest"]
}
]
}Add to .github/copilot/mcp.json in your repository:
{
"mcpServers": {
"crush-protocol": {
"type": "local",
"command": "npx",
"args": ["-y", "@crush-protocol/mcp-client@latest"]
}
}
}Add to ~/.copilot/mcp-config.json:
{
"mcpServers": {
"crush-protocol": {
"type": "local",
"command": "npx",
"args": ["-y", "@crush-protocol/mcp-client@latest"]
}
}
}Add to ~/.aws/amazonq/mcp.json:
{
"mcpServers": {
"crush-protocol": {
"command": "npx",
"args": ["-y", "@crush-protocol/mcp-client@latest"]
}
}
}amp mcp add crush-protocol -- npx -y @crush-protocol/mcp-client@latestAdd to ~/.config/zed/settings.json:
{
"context_servers": {
"crush-protocol": {
"source": "custom",
"command": "npx",
"args": ["-y", "@crush-protocol/mcp-client@latest"]
}
}
}Add via Settings → Tools → AI Assistant → Model Context Protocol (MCP) → + Add:
{
"mcpServers": {
"crush-protocol": {
"command": "npx",
"args": ["-y", "@crush-protocol/mcp-client@latest"]
}
}
}CLI: qwen mcp add crush-protocol npx -y @crush-protocol/mcp-client@latest
{
"mcpServers": {
"crush-protocol": {
"command": "npx",
"args": ["-y", "@crush-protocol/mcp-client@latest"]
}
}
}Add to mcp.json (open via Program → Install → Edit mcp.json):
{
"mcpServers": {
"crush-protocol": {
"command": "npx",
"args": ["-y", "@crush-protocol/mcp-client@latest"]
}
}
}Add to .mcp/mcp.json in your solution directory:
{
"mcp": {
"servers": {
"crush-protocol": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@crush-protocol/mcp-client@latest"]
}
}
}
}{
"mcpServers": {
"crush-protocol": {
"command": "npx",
"args": ["-y", "@crush-protocol/mcp-client@latest"]
}
}
}Add via Perplexity → Settings → Connectors → Add Connector → Advanced. Server Name: crush-protocol
{
"args": ["-y", "@crush-protocol/mcp-client@latest"],
"command": "npx",
"env": {}
}{
"mcpServers": {
"crush-protocol": {
"command": "npx",
"args": ["-y", "@crush-protocol/mcp-client@latest"]
}
}
}Add via Zencoder menu → Agent tools → Add custom MCP:
{
"command": "npx",
"args": ["-y", "@crush-protocol/mcp-client@latest"]
}Qodo Gen chat → Connect more tools → + Add new MCP
{
"mcpServers": {
"crush-protocol": {
"command": "npx",
"args": ["-y", "@crush-protocol/mcp-client@latest"]
}
}
}Bun:
{
"mcpServers": {
"crush-protocol": {
"command": "bunx",
"args": ["-y", "@crush-protocol/mcp-client@latest"]
}
}
}Deno:
{
"mcpServers": {
"crush-protocol": {
"command": "deno",
"args": [
"run",
"--allow-env",
"--allow-net",
"--allow-read",
"--allow-write",
"npm:@crush-protocol/mcp-client"
]
}
}
}{
"mcpServers": {
"crush-protocol": {
"command": "cmd",
"args": ["/c", "npx", "-y", "@crush-protocol/mcp-client@latest"]
}
}
}Common Commands
npx -y @crush-protocol/mcp-client@latest setup --all
npx -y @crush-protocol/mcp-client@latest login
npx -y @crush-protocol/mcp-client@latest auth:status
npx -y @crush-protocol/mcp-client@latest doctor
npx -y @crush-protocol/mcp-client@latest ping
npx -y @crush-protocol/mcp-client@latest tools:listLive Order Safety
place_order is a two-step commit:
- First call returns an order preview and
pendingOrderId - Second call sends
{ "confirm": true, "pendingOrderId": "<id>" }
The first call never places a live order. Pending order ids expire after 60 seconds.
Workflow Catalog
Use crush_catalog when you want one compact MCP response with:
- recommended workflows
- safe read-only tools for allowlists
- write and sensitive tools that should stay gated
This is the lightest-weight way to orient an agent before it starts calling many discovery tools.
Reduce Permission Prompts
If you use Claude Code, you can auto-allow Crush's safe read-only tools and keep write actions gated.
Add this to ~/.claude/settings.json or .claude/settings.json in your project:
{
"permissions": {
"allow": [
"mcp__crush-protocol__crush_status",
"mcp__crush-protocol__crush_ch_list_tables",
"mcp__crush-protocol__crush_ch_describe_table",
"mcp__crush-protocol__crush_ch_data_freshness",
"mcp__crush-protocol__crush_ch_list_indicators",
"mcp__crush-protocol__crush_ch_find_data",
"mcp__crush-protocol__crush_ch_run_query",
"mcp__crush-protocol__crush_ch_query_candles",
"mcp__crush-protocol__crush_ch_query_global_metrics",
"mcp__crush-protocol__crush_ch_query_sentiment",
"mcp__crush-protocol__crush_ch_query_token_list",
"mcp__crush-protocol__crush_ch_query_token_market_info",
"mcp__crush-protocol__crush_ch_query_unlock_events",
"mcp__crush-protocol__crush_ch_search_news_feeds",
"mcp__crush-protocol__crush_ch_search_twitter",
"mcp__crush-protocol__crush_liq_query_heatmap",
"mcp__crush-protocol__crush_liq_query_liquidations",
"mcp__crush-protocol__crush_liq_query_risk",
"mcp__crush-protocol__crush_liq_query_whales",
"mcp__crush-protocol__get_available_tokens",
"mcp__crush-protocol__get_signal_categories",
"mcp__crush-protocol__get_signals_by_category",
"mcp__crush-protocol__get_signal_operators_and_limits",
"mcp__crush-protocol__get_backtest_config_schema",
"mcp__crush-protocol__list_backtests",
"mcp__crush-protocol__get_backtest",
"mcp__crush-protocol__get_backtest_status",
"mcp__crush-protocol__get_backtest_trades",
"mcp__crush-protocol__get_backtest_portfolios",
"mcp__crush-protocol__list_strategies",
"mcp__crush-protocol__get_strategy",
"mcp__crush-protocol__get_strategy_evaluations",
"mcp__crush-protocol__get_strategy_logs",
"mcp__crush-protocol__validate_expression"
]
}
}Keep these tools gated because they mutate state or move capital:
create_backtestcreate_strategyupdate_strategydelete_strategytoggle_strategyplace_order
get_account_info, get_positions, and get_portfolio are read-only, but they expose sensitive balance data. Add them only if you are comfortable granting your agent unattended read access to account information.
Troubleshooting
| Problem | What to do |
| --- | --- |
| Tools do not appear after install | Restart the MCP host after setup |
| Tools appear but fail with auth errors | Run npx -y @crush-protocol/mcp-client@latest login |
| Crush was working before but now fails | Run npx -y @crush-protocol/mcp-client@latest doctor |
| You want to confirm local auth state | Run npx -y @crush-protocol/mcp-client@latest auth:status |
License
Licensed under the MIT License.
