Vision Bridge MCP Server — Kimi via Anthropic-compatible endpoint. Sends images through Moonshot's Anthropic Messages API, returns text. Supports Kimi vision model through Moonshot platform.
Single tool 'describe_image' has a clear, action-oriented name and a reasonably detailed description (195 chars). Input schema is present with two parameters, both typed and described. However, output schema is undocumented, the tool returns a plain string with no structured format specification. Error handling is present but generic (returns error strings rather than actionable recovery guidance). The tool lacks idempotency hints, permission declarations, and rate-limit guidance. No tool annotations (readOnlyHint, destructiveHint, idempotentHint) are present. The implementation is straightforward but falls short of production-grade patterns for composition, error recovery, and observability.
Send an image to Kimi Vision API and get a text description. Use whenever you need to understand what's in an image — screenshots, diagrams, photos, UI, error dialogs, game visuals, etc.
Output schema is undocumented. Tool returns a plain string with no structured format specification. LLMs cannot plan downstream operations or extract specific fields.
Error responses are generic strings without actionable recovery guidance. 'Kimi API error: {e}' tells the LLM nothing about whether to retry, ask the user, or give up.
No tool annotations present. Tool lacks readOnlyHint (it is read-only), idempotentHint (it is idempotent), and destructiveHint (not applicable). These hints help agents reason about retry safety and side effects.
No rate-limit or timeout guidance in description. Tool sets a 120s timeout internally but does not document this or explain what to do if the API is slow or rate-limited.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 66 | 2026-07-28+ | v2 |
Parameter 'question' has a default value but no guidance on when to use it vs. omit it. Description should explain: 'Leave empty for a full description; provide a specific question to focus the analysis.'