CoinMarketCap MCP server for Claude and other MCP clients
Server has 6 tools with consistent naming (verb_noun pattern: get-*) and basic Zod schemas. All tools have descriptions (avg ~60 chars, below 194-char baseline). Schemas present but lack output documentation. Parameters are mostly optional strings without enums or constraints. Error handling is minimal, failures return generic text responses without recovery guidance. No tool annotations (readOnlyHint, etc.). Parameter descriptions are present but lack format/range details (e.g., 'limit' says 'max: 5000' in description but no min/max in schema). No pagination metadata (total_count, next_cursor) documented. Responses are raw JSON dumps, not shaped for agent consumption.
Get metadata for cryptocurrencies
Get latest cryptocurrency listings with market data
Get mapping of all cryptocurrencies to CoinMarketCap IDs
Get latest quotes for specific cryptocurrencies
Get list of all exchanges with market data
Get latest global cryptocurrency market metrics
No output schema documentation. Tools return raw JSON.stringify(data) without specifying what fields agents should expect. LLMs cannot plan downstream calls or extract structured data reliably.
Parameters lack enums and constraints. 'sort', 'sort_dir', 'convert', 'cryptocurrency_type', 'market_type' accept free-form strings. LLMs will hallucinate invalid values (e.g., 'sort: popularity' when only 'market_cap' and 'volume_24h' are valid).
Error handling is generic. All failures return 'Failed to retrieve X' without actionable recovery guidance. No distinction between retryable (timeout) vs user-fixable (invalid parameter) vs fatal errors.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 54 | 2026-07-28+ | v2 |
No pagination metadata returned. Tools accept 'start' and 'limit' but responses don't include total_count or next_cursor. Agents cannot determine if more results exist or how to fetch them.
No tool annotations. Tools lack readOnlyHint (all are read-only) or idempotentHint. Agents cannot infer safety properties without explicit metadata.