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.1.13

Published

Crush MCP npm client package (remote Streamable HTTP + optional ClickHouse direct)

Readme

Crush Protocol MCP Server

npm version License: MIT

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-client

Then 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_xxx

Or 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