MCP server for ChatGPT that fetches latest daily threads from r/BitcoinMarkets and r/ethereum, Bitcoin ETF flow data, and Binance kline data with technical indicators
This server has clear, well-named tools with solid descriptions and proper input schemas. All 4 tools are explicitly registered with names, descriptions, and complete JSON schemas in netlify/edge-functions/mcp.mjs. Tool naming follows verb_noun convention (fetch_*). Descriptions range from 140-280 chars, within the baseline 10-1024 range and above the 194-char average. All tools include tool annotations (readOnlyHint, idempotentHint, openWorldHint, destructiveHint). However, there are gaps: (1) output schemas are not documented, we cannot see what fields each tool returns; (2) some parameter descriptions lack detail on return data format and limits; (3) error handling is not visible in the source; (4) fetch_binance_klines symbol parameter is a free-form string (default BTCUSDT) but lacks format constraints or examples; (5) the fetch_all_crypto_data tool has a marketing-style description ('Really great for market updates or daily briefings') that prioritizes tone over technical clarity. Overall the server is solid for a crypto data aggregator but falls short of A-tier due to missing output documentation and incomplete error guidance.
Fetches all crypto data in parallel: Binance 15m and 1h klines with ATR(14), Reddit daily discussion comments, and BTC ETF flows. Returns combined results. Use this for a full market snapshot. Really great for market updates or daily briefings.
Fetches historical Binance kline/candlestick data for a trading pair with ATR(14) indicator. Returns CSV with OHLCV data and Average True Range.
Fetches Bitcoin ETF flow data from farside.co.uk, including daily net flows for all major spot BTC ETFs (IBIT, FBTC, BITB, ARKB, etc.). Returns CSV with dates and flow amounts in millions USD.
Fetches latest daily discussion threads from r/BitcoinMarkets and r/ethereum with recent comments. Defaults to both subreddits, but can fetch from a single subreddit if specified.
Output schemas are completely undocumented for all 4 tools. The source code does not show what fields each tool returns, data types, or structure. This prevents LLMs from reasoning about downstream tool usage and forces agents to guess what data is available.
fetch_binance_klines symbol parameter accepts any string without validation constraints. A free-form string invites LLM hallucination (e.g. 'BTC' instead of 'BTCUSDT'). Should specify format, length, or pattern (uppercase pair like XYZUSDT) in both schema and description.
fetch_reddit_daily_threads has both 'subreddit' (single) and 'subreddits' (array) parameters. Passing both simultaneously is ambiguous, are they OR'ed or merged? The description does not clarify mutual exclusivity or precedence. This will confuse LLM tool selection.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | B | 74 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 0 | - | v1 |
No min/max bounds on numeric parameters (periodHours in fetch_binance_klines, intervalHours in fetch_reddit_daily_threads). Unbounded numbers risk timeouts, excessive data, or API errors. Should state constraints like 'periodHours: 1 - 168 (1 - 7 days)' in both description and schema.
Error handling and recovery guidance are not visible in the source code. Tools that call external APIs (Reddit, Binance, farside.co.uk) will fail, timeout, rate limit, parsing errors, but there is no documented error response structure or recovery hints for LLMs.
fetch_all_crypto_data description contains marketing language ('Really great for market updates or daily briefings') instead of technical clarity. Descriptions should be LLM-optimized, not user-facing marketing copy.