Servidor MCP para descubrir y ejecutar scripts de CLI_Revit sobre un modelo abierto en Revit. El catalogo completo de scripts vive detras de search_scripts/show_script/run_script. Primero busca, despues inspecciona metadata y al final ejecuta el script apropiado.
Server has 5 tools with explicit schemas and descriptions. All tools are properly registered with FastMCP and include ToolAnnotations (readOnlyHint/destructiveHint). However, descriptions are minimal (10-80 chars, below the 50-200 char LLM-optimized baseline), parameter descriptions lack detail about constraints and formats, and output schemas are not documented. The ping tool is problematic: it's a removed pattern from the MCP spec (ping was deprecated). Error handling is absent, no guidance on what to do when scripts fail, timeouts occur, or parameters are invalid. Tool composition is reasonable (search → inspect → execute workflow), but descriptions don't explain this flow or when to call each tool.
Chequeo rápido del catálogo de scripts y de la conexión a Revit.
Verifica si RevitAgent responde sobre el WebSocket local.
Ejecuta un script por nombre o ruta relativa usando el catalogo completo oculto.
Busca scripts adecuados para un pedido libre antes de ejecutar.
Muestra metadata completa, dominios y PARAMS de un script.
ping tool uses removed MCP pattern. The ping operation was removed from the MCP spec (2026-07-28). Agents should rely on connection state from the protocol handshake, not explicit ping calls.
Descriptions are too short (10 - 80 chars) to guide LLM tool selection. Baseline for LLM-optimized descriptions is 50 - 200 chars. Current descriptions lack context on WHEN to call each tool and what it returns. E.g., search_scripts says 'Busca scripts...' but doesn't explain it returns ranked results or that show_script should follow.
Parameter descriptions lack constraint details. 'limit' is described as 'Número máximo de resultados' but doesn't state the valid range (e.g., 1 - 100). 'timeout' lacks guidance on valid range or consequences of exceeding it. 'output_mode' enum is present but description doesn't explain when to use each mode.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 50 | 2026-07-28+ | v2 |
No output schema documentation. Tools return dicts but LLMs cannot infer field names, types, or structure. E.g., run_script returns a dict but the description doesn't document whether it includes 'status', 'result', 'error', 'traceback', or other fields. This forces LLMs to guess.
No error handling guidance. Tools can fail (script not found, timeout, execution error) but descriptions don't explain what errors are possible, how to recover, or what the LLM should do next. E.g., if run_script times out, should the agent retry with a longer timeout or try a different script?