A Model Context Protocol server for interacting with Binance's public Spot API. Enables LLMs to fetch cryptocurrency market data, trading pairs, and exchange statistics.
Strong schema definitions with proper Pydantic models, comprehensive parameter validation, and clear descriptions. All 7 tools have well-structured input schemas with type constraints, enums, and examples. Descriptions are adequate (100-200 chars typical) and explain purpose clearly. However, output schemas are not documented, LLMs cannot predict response structure. Error handling exists but lacks recovery guidance. No tool annotations (readOnlyHint, destructiveHint). Response format flexibility (markdown/json) is a nice touch but adds complexity.
Get exchange information including all trading pairs, their status, and trading rules.
Get candlestick (kline) data for a trading pair. Returns OHLCV (Open, High, Low, Close, Volume) data.
Get the order book (depth) for a trading pair. Shows bid and ask prices at different levels.
Get the latest price for one or more trading pairs.
Get recent trades for a trading pair. Shows individual trade executions with price and quantity.
Search for trading pairs by base asset, quote asset, or search term. Useful for discovering valid trading pairs.
Get 24-hour ticker statistics for one or more trading pairs. Returns price, volume, and market data.
Output schemas not documented. LLMs cannot predict response structure, field names, or types. Downstream tool chaining requires explicit response documentation.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). All tools are read-only but this is not declared in the schema, forcing LLMs to infer safety from descriptions.
Error messages in make_api_request() are generic. Rate limit error (429) provides context but other HTTP errors (4xx, 5xx) lack actionable recovery guidance for LLMs.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 51 | 2026-07-28+ | v2 |
binance_exchange_info description is vague ('Get exchange information including all trading pairs, their status, and trading rules'). Does not clarify when to call it vs binance_search_symbols or what 'trading rules' means.
response_format parameter (markdown/json) adds cognitive load. Most agents prefer structured JSON. Markdown formatting should be handled server-side or omitted.