API for executing AI agents with support for custom tools, MCP server integration, and multiple AI model backends
Evo AI exposes 7 tools with significant quality gaps. Tool naming is inconsistent (two tools named 'http_tool' create ambiguity). Descriptions exist but are generic and lack actionable context for LLM selection. Input schemas are present but lack parameter-level type definitions and constraints. The 'tool' parameter in create_tool and update_tool is documented only as 'object' with no nested schema visibility. Output schemas are not documented. Error handling and recovery guidance are absent. No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite clear risk levels (WRITE, DESTRUCTIVE). The http_tool duplication violates single-responsibility principle.
Create a new tool in the system
Delete a tool from the system
Generic HTTP tool that executes HTTP requests based on configuration with support for path parameters, query parameters, headers, and request body
Generic HTTP tool that executes HTTP requests based on configuration with support for path parameters, query parameters, headers, and request body
Get details of a specific tool by ID
List all tools with pagination support
Update an existing tool configuration
Duplicate tool name 'http_tool' (appears twice in tool registry). LLMs cannot distinguish between them; both have identical descriptions and schemas. Violates single-responsibility principle and creates ambiguity.
Parameter 'tool' in create_tool and update_tool is typed as 'object' with no nested schema. LLMs cannot infer required fields (name, description, config_json, environments). Must expand to full JSON Schema with nested property definitions and required array.
No tool annotations despite explicit risk levels. create_tool, update_tool, delete_tool marked WRITE/DESTRUCTIVE but lack destructiveHint or idempotentHint. read_tools, read_tool lack readOnlyHint. Agents cannot infer safety properties.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 55 | 2026-07-28+ | v2 |
Output schemas not documented for any tool. Agents cannot plan downstream calls or extract required fields (e.g., tool_id from create_tool response). Violates pattern:tool requirement.
No error handling guidance. Tools lack recovery hints (e.g., 'Tool not found. Try read_tools() to list available tools.'). Agents receive raw errors with no actionable next steps.