A command-line interface and MCP server for the Indodax cryptocurrency exchange, providing access to market data, trading, and account management
Tool definitions lack rigor across multiple dimensions. While 12 tools are registered with names and basic descriptions, most descriptions are generic (avg ~40 chars, well below the 194-char baseline). Parameter descriptions are sparse or missing entirely. No input schemas are visible in the provided source code, only parameter names and types are inferred from the tool list. Output schemas are undocumented. Error handling guidance is absent. The server exposes trading operations (buy/sell orders, cancellations) without documented permission gates, confirmation patterns, or dry-run support. Tool naming is inconsistent: 'order cancel' and 'order cancel-all' use space-separated names rather than verb_noun convention. No evidence of idempotency guarantees or rate-limit guidance for write operations.
Test API authentication credentials
Get account balance for all currencies
Get OHLC (Open, High, Low, Close) candlestick data for a trading pair
Get all open orders
Place a new order (buy or sell)
Cancel an existing order
Cancel all open orders for a trading pair
List all available trading pairs on Indodax
No input schemas visible in source code. Tool definitions inferred from parameter lists only; actual JSON Schema registration not shown. Cannot verify type constraints, required fields, or format specifications.
Destructive operations (order, order cancel, order cancel-all) lack confirmation patterns, dry-run support, or explicit permission gates. No documentation of idempotency guarantees or retry safety.
Tool naming inconsistency: 'order cancel' and 'order cancel-all' use spaces instead of verb_noun convention (should be 'cancel_order', 'cancel_all_orders'). LLMs struggle with space-separated names.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 32 | <=2025-11-25 | v2 |
Get market ticker information for a trading pair
Get recent trades for a trading pair
Get trading history for a specific pair
Connect to WebSocket for real-time market data streaming
Descriptions are generic and under 50 chars for most tools (avg ~40 chars vs 194-char baseline). No guidance on when to use each tool, dependencies, or expected output structure. Example: 'Get market ticker information for a trading pair' lacks context on what fields are returned.
No output schemas documented. LLMs cannot plan downstream tool calls or extract required fields (e.g., does 'ticker' return price, volume, timestamp?). No pagination guidance for list tools (pairs, trades, open-orders).