MCP Server for vision-tools-api that proxies vision AI tools including object detection, segmentation, depth estimation, and activity recognition
This MCP server has severe definition quality issues across all five tools. Tools are auto-generated from an OpenAPI spec (vision-agent-api), which explains systematic problems: (1) Descriptions are truncated/auto-generated placeholders like 'Tool Text To Od' (9 chars) and 'Tool Activity Recognition' (23 chars), below the 20-char hard minimum and far below the 50-200 char LLM-optimized baseline. (2) Parameter descriptions are almost entirely missing. The schema for text-to-object-detection includes 10+ parameters (timeout, Authorization, authorization, requestBody.image, requestBody.video, requestBody.prompts, requestBody.model, requestBody.nmsThreshold, requestBody.confidence, requestBody.jobId), none have actionable descriptions in the visible source. (3) Tool names do not follow verb_noun pattern; they use auto-generated API-style names like 'text-to-object-detection' instead of action-oriented names like 'detect_objects' or 'recognize_text'. (4) No parameter descriptions explaining valid ranges, formats, or dependencies. (5) No documented output schemas, the agent has no idea what fields to expect from these tools. (6) The `Authorization` and `authorization` parameters (duplicate?) expose authentication headers as tool parameters, violating secret-injection pattern. (7) requestBody parameter is a sprawling nested object without field-level guidance, unclear to LLMs which sub-fields are required or how to structure them. (8) No error handling or recovery guidance visible. These issues are consistent across all 5 tools, indicating a blanket auto-generation problem rather than isolated gaps.
Tool Activity Recognition
Tool Agentic Document Analysis
Tool Depth Pro. Darker = closer, Lighter = farther
Tool Text To Seg
Tool Text To Od
Descriptions are auto-generated placeholders with 9 - 23 characters, well below LLM-usable minimum (50 chars) and hard minimum (20 chars). 'Tool Text To Od', 'Tool Activity Recognition', 'Tool Agentic Document Analysis' do not explain when/why to use these tools.
Parameters lack descriptions. 'Authorization', 'authorization', 'timeout', 'requestBody.prompts', 'requestBody.model', 'requestBody.nmsThreshold', 'requestBody.confidence', 'requestBody.jobId' have no guidance. LLMs cannot determine valid formats, ranges, or when these parameters apply.
Authentication exposed as tool parameters ('Authorization', 'authorization' headers). API keys/tokens must never be tool parameters, they leak into logs and traces. Use server-side secret injection via environment variables.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 28 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 23 | - | v1 |
Tool names do not follow verb_noun convention. 'text-to-object-detection' is API-style naming; production tools use action verbs like 'detect_objects', 'recognize_activity', 'estimate_depth'. LLMs rely on names to infer intent before reading descriptions.
No documented output schemas. Agents cannot plan downstream steps or extract needed fields. What does 'text-to-object-detection' return? Bounding boxes? Confidence scores? Class labels? This must be documented.
Duplicate authorization header parameters ('Authorization' and 'authorization'). This is confusing and likely an auto-generation artifact. Consolidate to a single, server-injected credential mechanism.
requestBody parameters are nested objects without field-level descriptions. LLMs do not know which sub-fields are required, what formats are valid (e.g., image vs video, can both be provided?), or how to structure the payload.
No error handling or recovery guidance. If a vision tool fails (unsupported image format, API timeout, invalid model), what should the agent do? Retry? Call a different tool? This must be documented.