For AI agents · Model Context Protocol

A crypto MCP server with a graded record

Give an agent the Best Setups board as tools: up to eight ranked setups per window, each with its inputs, invalidation and risk, and the public record of how past calls turned out. Free tools need no account and no key.

Endpoint

URL
https://rmassistanthub.io/mcp
Transports
Streamable HTTP (POST JSON-RPC to the URL). Legacy SSE too: GET the same URL with Accept: text/event-stream.
Registry name
io.rmassistanthub/assistant-hub, version 0.9.9
Discovery
/.well-known/mcp.json
Resources
crypto://prices (Live Crypto Prices), crypto://fear-greed (Fear & Greed Index), crypto://news (Crypto News Headlines), crypto://pulse/latest (Daily Macro Pulse), crypto://whale-alerts (Single-Wallet ETH Activity)

Tools (12)

The list below is generated from the list the server answers tools/list with, so it cannot drift from what an agent sees. A paid tool takes a USDC payment on Base: pay the price, then pass the transaction hash as x402TxHash in the tools/call params. Only a transfer confirmed on Base counts. A Premium session runs every tool.

  • research_coin$1.00 USDC per call (x402) · free with PremiumRun the 3-agent orchestration pipeline (Sentiment: Grok, Technical: Groq, Synthesis: Gemini; Gemini stands in when Grok or Groq is unavailable) on a crypto research question.
  • get_forecast$0.40 USDC per call (x402) · free with PremiumGet AI-powered price forecast for a coin: SMA, RSI, Bollinger Bands, and narrative.
  • get_whale_intel$0.20 USDC per call (x402) · free with PremiumAI commentary on recent Etherscan transfers plus macro context. The on-chain input is narrow: for ETH, one well-known wallet's latest transactions; for LINK, the token contract's latest transfers; neither is size-filtered or market-wide. Other coins get no on-chain data, and the answer says so.
  • strategy_analysis$0.50 USDC per call (x402) · free with PremiumStrategy Lab: backtest a trading strategy on historical OHLCV plus Monte Carlo and Walk-Forward robustness analysis. Strategies: dca, grid, momentum, custom. Premium — x402 $0.50.
  • pulse_deep_dive$0.30 USDC per call (x402) · free with PremiumDeep-dive on the current Daily Macro Pulse, written by an AI from the pulse text alone: for each opportunity, the reasoning, what would invalidate it, risk level, catalysts to watch and a trade thesis framed as conditions to check. It has no on-chain, whale, order-book or live price data and says so rather than inventing any. Premium — x402 $0.30.
  • best_setupsFreeUp to eight ranked setups for one window (1m, 1h, 1d, 1w or 1y), each with its score, the scored inputs, why now, what would invalidate it, a risk posture and an as-of time. Deterministic: no LLM touches the score. An empty window says why. The ranking has no proven edge yet: see get_setups_track_record. Free.
  • get_setups_track_recordFreeHow the desk's past setups turned out, per window: every published card graded as a buy over its window's horizon, close to close from exchange candles, against BTC over the same span. Hit rate withheld below 30 graded calls; the method is in the payload. Free.
  • list_trading_skillsFreeInstallable trading skills: versioned, hashed rule sets an agent runs on paper in its own loop. Each lists its label (experimental, forward-tested, proven, halted), the regimes it may trade in, its pairs and install count. Also lists community uploads: unverified, paper-only, no card. Free.
  • get_trading_skillFreeOne skill's full manifest (rules, parameters with bounds, risk contract, allowed regimes, engine config) and its card: the rules run on stored hourly bars before and since listing, next to buy-and-hold, with drawdown and round trips won after fees. Free.
  • install_trading_skillFreeThe installable bundle for a skill, pinned to its hash: manifest, run loop and risk contract. Installs for paper trading; live trading needs the owner to arm it. Free.
  • get_skill_regimeFreeWhether a skill may open a position on each of its pairs now: the pair's regime from closed hourly bars, whether the skill allows it, for a feature-gated skill whether the newest bar's stored feature row and Fear & Greed (as readable at its close) pass the gate, whether the bars are fresh, and whether the skill is halted. Call before every new position. Free.
  • search_signalsFreeBrowse community trade signals and how they resolved (win/loss is checked against CoinGecko prices at expiry). Signals whose creator anchored them on Base carry an on-chain transaction hash; the rest do not. Signals appear here an hour after they are posted. Filter by coin and status.

Add it to your client

Claude Desktop

claude_desktop_config.json. Claude Desktop starts local commands, so the mcp-remote bridge connects it to the remote URL (needs Node.js):

{
  "mcpServers": {
    "assistanthub": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://rmassistanthub.io/mcp"]
    }
  }
}

Cursor

~/.cursor/mcp.json, or .cursor/mcp.json in a project:

{
  "mcpServers": {
    "assistanthub": {
      "url": "https://rmassistanthub.io/mcp"
    }
  }
}

Codex

~/.codex/config.toml, through the same bridge:

[mcp_servers.assistanthub]
command = "npx"
args = ["-y", "mcp-remote", "https://rmassistanthub.io/mcp"]

Claude Code

claude mcp add --transport http assistanthub https://rmassistanthub.io/mcp

Any client, raw

curl -X POST https://rmassistanthub.io/mcp \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"get_setups_track_record","arguments":{}}}'

A real get_setups_track_record answer

The live answer as of , cut to the 1h window to fit here. The real one has all five windows.

{
  "asOf": 1792259421618,
  "method": {
    "call": "Each published card, treated as a buy.",
    "entry": "Close of the last candle closed when the board was built.",
    "exit": "Close of the last candle closed when the window's horizon ran out.",
    "range": "Worst and best price in between (mae / mfe), from entry.",
    "benchmark": "BTC over the same span; excess is the call's return minus it.",
    "hit": "Closed above entry.",
    "source": "1-minute exchange candles; 1y uses daily closes.",
    "minSample": 30,
    "overlap": "1d boards are sampled every 4 hours against a 24-hour horizon, so neighbouring 1d calls overlap in time.",
    "board": "One board per slot. Before 2026-10-14 a restarted server could file a second, partial board in a slot that already had one; those calls are kept but not counted here or listed in the export."
  },
  "windows": [
    {
      "window": "1h",
      "horizon": "1 hour",
      "sampledEvery": "hour",
      "top3": null,
      "resolved": 3674,
      "hits": 1756,
      "meanReturnPct": 0.05,
      "medianReturnPct": 0,
      "meanExcessPct": 0.05,
      "meanMaePct": -0.97,
      "open": 8,
      "unresolvable": 126,
      "since": 1790547501910,
      "hitRatePct": 47.8,
      "verdict": "48% of 3674 graded 1h calls closed above entry, 0.05% ahead of BTC on average.",
      "byRank": {
        "top3": {
          "window": "1h",
          "top3": true,
          "resolved": 1379,
          "hits": 637,
          "meanReturnPct": 0.04,
          "medianReturnPct": -0.06,
          "meanExcessPct": 0.05,
          "meanMaePct": -1.11,
          "open": 3,
          "unresolvable": 46,
          "since": 1790547501910,
          "hitRatePct": 46.2
        },
        "rest": {
          "window": "1h",
          "top3": false,
          "resolved": 2295,
          "hits": 1119,
          "meanReturnPct": 0.05,
          "medianReturnPct": 0,
          "meanExcessPct": 0.06,
          "meanMaePct": -0.89,
          "open": 5,
          "unresolvable": 80,
          "since": 1790547501910,
          "hitRatePct": 48.8
        }
      }
    }
  ]
}

Before an agent leans on it

Not financial advice. Tool descriptions say exactly what each tool reads; where a tool's data is narrow, its description says so.