MCP server for modular execution with fallback routing, task management, and verification
Athena MCP exhibits mixed quality. Tool schemas are present and well-structured with proper JSON Schema validation (patterns, enums, minItems/maxItems constraints). However, descriptions are in Portuguese and lack LLM-optimized English clarity. Critical gaps: no output schemas documented, no error handling guidance, no parameter descriptions for several fields (e.g., 'verification', 'profile', 'constraints'). The server exposes complex internal concepts (execution_id, request_id, task_handle) without accepting natural identifiers. Tool composition is reasonable (7 focused tools), but descriptions are too brief (avg ~60 chars) and lack actionable context for LLM selection.
Executa uma solicitação modular preparada para um provider.
Solicita cancelamento idempotente por execution_id ou request_id.
Consulta uma execução sanitizada por execution_id ou request_id.
Consulta a projeção sanitizada de uma tarefa durável pelo handle.
Lista execuções sanitizadas recentes.
Executa uma sequência modular de tentativas com fallback governado.
Submete uma tarefa durável e idempotente. Não a executa; apenas persiste o handle e o estado enfileirado.
Descriptions are in Portuguese and too brief (<60 chars avg). LLMs cannot determine when to select tools without English, context-rich descriptions (target 50-200 chars). E.g., 'Executa uma sequência modular de tentativas com fallback governado' lacks WHAT, WHEN, and WHY.
No output schemas documented. LLMs cannot plan downstream calls or extract required fields. E.g., run_combo and ask_provider return complex execution results, but the response structure is not declared in tool definitions.
Many parameters lack descriptions. 'verification', 'profile', 'constraints', 'expected_output' have no explanation of what they control or how to populate them. LLMs cannot infer parameter meaning from names alone.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 50 | 2026-07-28+ | v2 |
Tool interface requires opaque system IDs (execution_id, request_id, task_handle) instead of accepting human-friendly identifiers. Users say 'check my task', not 'check task_handle=abc123'. No lookup tools provided to resolve names to IDs.
No error handling guidance. Tools do not document what errors are retryable, user-fixable, or fatal. No recovery suggestions (e.g., 'If task not found, call list_executions() to discover available tasks'). Agents cannot self-correct on failures.