Servidor MCP que le da a Claude acceso a la REST API de Binance (Spot)
Server has 11 tools with basic schemas and descriptions, but significant quality gaps limit production readiness. All tools have descriptions (positive), but many are terse (10-50 chars) and lack actionable guidance. Schemas are present but sparse: most parameters lack type constraints, enums, or validation hints. Error handling is minimal, tools return raw API responses without recovery guidance. Security is a major concern: the withdraw tool is destructive and only gated by an environment variable, not runtime permission checks. No tool annotations (readOnlyHint, destructiveHint) despite clear risk stratification. Parameter descriptions are generic ('Trading pair symbol') without format constraints or examples of valid values. Output schemas are undocumented, LLMs cannot predict response structure. Composition is reasonable (11 focused tools), but critical tools like place_order lack confirmation/dry-run patterns.
Cancela TODAS las ordenes abiertas de un simbolo.
Cancela una orden por su orderId en el simbolo dado.
Estadisticas de 24h de un simbolo (volumen, cambio %, high/low). Ej: 'ETHUSDT'.
Balances y permisos de tu cuenta spot. Requiere firma.
Velas (candlesticks) de un simbolo. interval: 1m,5m,15m,1h,4h,1d,1w, etc. limit: max 1000.
Historial de trades tuyos para un simbolo. Requiere firma.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite clear risk stratification. Tools like withdraw, cancel_all_orders, and place_order should declare their risk level to guide agent behavior.
Destructive operations (place_order, cancel_all_orders, withdraw) lack confirmation/dry-run patterns. Agents can execute irreversible trades without user approval, risking financial loss.
Error responses return raw Binance API errors without recovery guidance. E.g., 'Invalid symbol' does not suggest calling a discovery tool or listing valid pairs. Agents cannot self-correct.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 51 | 2026-07-28+ | v2 |
Ordenes abiertas. Si pasas symbol, filtra por ese par.
Libro de ordenes (bids/asks) de un simbolo. limit: 5,10,20,50,100,500,1000.
Precio actual de un simbolo. Ej: symbol='BTCUSDT'.
Crea una orden de compra/venta. symbol: ej 'BTCUSDT' side: 'BUY' o 'SELL' order_type: 'MARKET' o 'LIMIT' quantity: cantidad del activo base price: requerido solo para LIMIT time_in_force: GTC / IOC / FOK (solo LIMIT)
Retira fondos a una direccion externa. DESACTIVADO por defecto. Para usarlo: ENABLE_WITHDRAWALS=true y la API key debe tener permiso de retiro. Entende el riesgo antes de activarlo.
Parameter descriptions lack format constraints and validation rules. E.g., 'symbol' parameter has no hint that it must be uppercase (BTCUSDT, not btcusdt) or that invalid symbols fail silently. LLMs will guess wrong.
Output schemas are undocumented. LLMs cannot predict response structure (e.g., does get_account return 'balances' or 'assets'? Is it an array or object?). Agents must infer structure from examples, wasting tokens and risking parse errors.