{
  "markdown": "# Web3 Signals MCP\n\n[![smithery badge](https://smithery.ai/badge/@web3signals/web3-signals)](https://smithery.ai/server/web3signals/web3-signals)\n\n> Multi-agent crypto signal intelligence. 20 assets, 5 data dimensions, scored 0–100, refreshed every 15 min.\n\n**Live API** — https://web3-signals-api-production.up.railway.app\n**Dashboard** — https://web3-signals-api-production.up.railway.app/dashboard\n**MCP endpoint** — `https://web3-signals-api-production.up.railway.app/mcp/stream` ([Smithery listing](https://smithery.ai/server/web3signals/web3-signals))\n\n---\n\n## What it does\n\nFive independent data agents (whale flows, technicals, derivatives, narrative, market microstructure) each score every asset 0–100. A fusion engine combines them into a single composite signal with a directional label, momentum tracking, and an LLM-generated rationale. The system grades its own predictions at 24h and 48h horizons against actual price moves — no self-reported accuracy.\n\n## Why it's interesting\n\n- **Per-asset weight learning via IC analysis.** Each asset gets its own dimension weights, fitted from Spearman/Pearson/Kendall correlations between past dimension scores and forward returns. Different assets respond to different signals.\n- **Walk-forward backtesting with FDR correction.** Benjamini–Hochberg adjustment on indicator significance to avoid false discoveries when testing dozens of features.\n- **Platt-scaled probability calibration.** Raw scores → calibrated probabilities so \"75\" means a real 75% directional likelihood, not just a higher number than 70.\n- **x402 HTTP micropayments.** Paid endpoints settle $0.001 USDC on Base mainnet per call via Coinbase's CDP facilitator. Payment IS authentication — no API keys, no signup, no OAuth.\n- **MCP-native.** Exposes itself to Claude Desktop, Cursor, and any MCP-compatible client over SSE. AI agents can query it with natural language.\n- **Adaptive regime gating.** Abstain zone widens/narrows with the Fear & Greed index; bullish-bias contrarian boost is dampened in confirmed BTC downtrends.\n\n## Quick start\n\n### Hit the API directly\n```bash\ncurl https://web3-signals-api-production.up.railway.app/signal/BTC\n```\n(`/signal*` and `/performance/reputation` require an x402 payment header; everything else is free.)\n\n### Use over MCP (Claude Desktop / Cursor / Windsurf)\n```json\n{\n  \"mcpServers\": {\n    \"web3-signals\": {\n      \"url\": \"https://web3-signals-api-production.up.railway.app/mcp/sse\"\n    }\n  }\n}\n```\nThen prompt: *\"What's the BTC signal right now?\"* or *\"Show me top 3 buys.\"*\n\n### Run locally\n```bash\ngit clone https://github.com/manavaga/web3-signals-mcp.git\ncd web3-signals-mcp\ncp .env.example .env             # fill in REDDIT_CLIENT_ID, ANTHROPIC_API_KEY, etc.\npip install -r requirements.txt\npython -m api                    # API on :8000\npython -m orchestrator.runner --once   # one fusion cycle\n```\n\n## Project layout\n\n```\napi/                FastAPI server, dashboard, x402 middleware\nmcp_server/         MCP tool definitions (stdio + SSE)\nsignal_fusion/      Weighted fusion, Platt calibration, meta-learner\nwhale_agent/        On-chain flow tracking (Etherscan + exchange wallets)\ntechnical_agent/    RSI, MACD, MA, Bollinger (Binance)\nderivatives_agent/  Funding rate, OI, long/short ratio\nnarrative_agent/    Reddit, news, CoinGecko trending, LLM sentiment\nmarket_agent/       Price, volume, Fear & Greed\nshared/             Storage (Postgres / SQLite), base agent, profile loader\norchestrator/       15-minute agent scheduler + accuracy evaluator\ntools/              Backtesting, IC fitting, walk-forward, weight optimizer\n```\n\n## Stack\n\nPython 3.13 · FastAPI · PostgreSQL · pandas / numpy / scikit-learn · Anthropic Claude (LLM rationales) · Coinbase CDP x402 facilitator · Railway (deploy)\n\n## Performance evaluation\n\nSnapshots are saved on every fusion cycle. At 24h and 48h each directional call is graded against the actual price move (CoinGecko + Binance). Neutral signals are skipped (only directional calls count). Accuracy is `AVG(gradient_score) × 100` where gradient ∈ [0, 1] depending on whether the move was in the predicted direction and how large it was. See `/performance/reputation` for the live numbers.\n\n## Development notes\n\nThis codebase was built in pair-programming with Anthropic's Claude. Most commits have a `Co-Authored-By: Claude` trailer — kept intentionally to document the workflow. Architectural decisions, model choices (IC-based weighting, FDR correction, Platt scaling), and the production-readiness criteria (no-deploy-without-backtest hard rule, walk-forward embargoing) were human-driven; Claude was used for implementation, refactoring, and code review.\n\n## License\n\nMIT\n",
  "bytes": 4697,
  "sha": "e8f0b6626a178044afae415eedc0b2def68f2d6fc0e52e8f5d1eb912e7b5c7a8",
  "repo_slug": "manavaga/web3-signals-mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_manavaga_web3_signals_e52aee22/readme"
}