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

@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

npm version MIT licensed

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 hosts

OAuth 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 --all

This 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 --warp

Cursor and VS Code also support --scope project for repo-local config.

Client Configuration

Auto setup:

npx -y @crush-protocol/mcp-client@latest setup --cursor

Manual config: Add to ~/.cursor/mcp.json:

Install MCP Server

{
  "mcpServers": {
    "crush-protocol": {
      "command": "npx",
      "args": ["-y", "@crush-protocol/mcp-client@latest"]
    }
  }
}

Docs

Auto setup:

npx -y @crush-protocol/mcp-client@latest setup --claude

Manual config:

claude mcp add --scope user crush-protocol -- npx -y @crush-protocol/mcp-client@latest

Docs

Auto setup:

npx -y @crush-protocol/mcp-client@latest setup --codex

Manual 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 = 60

Docs

Auto setup:

npx -y @crush-protocol/mcp-client@latest setup --gemini

Manual config: Add to ~/.gemini/settings.json:

{
  "mcpServers": {
    "crush-protocol": {
      "command": "npx",
      "args": ["-y", "@crush-protocol/mcp-client@latest"]
    }
  }
}

Docs

Auto setup:

npx -y @crush-protocol/mcp-client@latest setup --vscode

Manual 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"]
    }
  }
}

Docs

Auto setup:

npx -y @crush-protocol/mcp-client@latest setup --windsurf

Manual config: Add to ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "crush-protocol": {
      "command": "npx",
      "args": ["-y", "@crush-protocol/mcp-client@latest"]
    }
  }
}

Docs

Auto setup:

npx -y @crush-protocol/mcp-client@latest setup --claude-desktop

Manual config: Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS):

{
  "mcpServers": {
    "crush-protocol": {
      "command": "npx",
      "args": ["-y", "@crush-protocol/mcp-client@latest"]
    }
  }
}

Docs

Auto setup:

npx -y @crush-protocol/mcp-client@latest setup --opencode

Manual 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
    }
  }
}

Docs

Auto setup:

npx -y @crush-protocol/mcp-client@latest setup --warp

Manual 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
  }
}

Docs

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"]
    }
  }
}

Docs

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"]
    }
  }
}

Docs

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"]
    }
  }
}

Docs

Add via Trae → Settings → MCP → Add MCP Server:

{
  "mcpServers": {
    "crush-protocol": {
      "command": "npx",
      "args": ["-y", "@crush-protocol/mcp-client@latest"]
    }
  }
}

Docs

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"]
    }
  ]
}

Docs

Add to .github/copilot/mcp.json in your repository:

{
  "mcpServers": {
    "crush-protocol": {
      "type": "local",
      "command": "npx",
      "args": ["-y", "@crush-protocol/mcp-client@latest"]
    }
  }
}

Docs

Add to ~/.copilot/mcp-config.json:

{
  "mcpServers": {
    "crush-protocol": {
      "type": "local",
      "command": "npx",
      "args": ["-y", "@crush-protocol/mcp-client@latest"]
    }
  }
}

Docs

Add to ~/.aws/amazonq/mcp.json:

{
  "mcpServers": {
    "crush-protocol": {
      "command": "npx",
      "args": ["-y", "@crush-protocol/mcp-client@latest"]
    }
  }
}

Docs

amp mcp add crush-protocol -- npx -y @crush-protocol/mcp-client@latest

Docs

Add to ~/.config/zed/settings.json:

{
  "context_servers": {
    "crush-protocol": {
      "source": "custom",
      "command": "npx",
      "args": ["-y", "@crush-protocol/mcp-client@latest"]
    }
  }
}

Docs

Add via Settings → Tools → AI Assistant → Model Context Protocol (MCP) → + Add:

{
  "mcpServers": {
    "crush-protocol": {
      "command": "npx",
      "args": ["-y", "@crush-protocol/mcp-client@latest"]
    }
  }
}

Docs

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"]
    }
  }
}

Docs

Add to mcp.json (open via Program → Install → Edit mcp.json):

{
  "mcpServers": {
    "crush-protocol": {
      "command": "npx",
      "args": ["-y", "@crush-protocol/mcp-client@latest"]
    }
  }
}

Docs

Add to .mcp/mcp.json in your solution directory:

{
  "mcp": {
    "servers": {
      "crush-protocol": {
        "type": "stdio",
        "command": "npx",
        "args": ["-y", "@crush-protocol/mcp-client@latest"]
      }
    }
  }
}

Docs

{
  "mcpServers": {
    "crush-protocol": {
      "command": "npx",
      "args": ["-y", "@crush-protocol/mcp-client@latest"]
    }
  }
}

Docs

Add via Perplexity → Settings → Connectors → Add Connector → Advanced. Server Name: crush-protocol

{
  "args": ["-y", "@crush-protocol/mcp-client@latest"],
  "command": "npx",
  "env": {}
}

Docs

{
  "mcpServers": {
    "crush-protocol": {
      "command": "npx",
      "args": ["-y", "@crush-protocol/mcp-client@latest"]
    }
  }
}

Docs

Add via Zencoder menu → Agent tools → Add custom MCP:

{
  "command": "npx",
  "args": ["-y", "@crush-protocol/mcp-client@latest"]
}

Docs

Qodo Gen chat → Connect more tools → + Add new MCP

{
  "mcpServers": {
    "crush-protocol": {
      "command": "npx",
      "args": ["-y", "@crush-protocol/mcp-client@latest"]
    }
  }
}

Docs

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:list

Live Order Safety

place_order is a two-step commit:

  1. First call returns an order preview and pendingOrderId
  2. 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_backtest
  • create_strategy
  • update_strategy
  • delete_strategy
  • toggle_strategy
  • place_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.