Example MCP server for the Mistral AI platform
Two tools with complete, well-structured schemas and clear descriptions. Tool names follow verb_noun pattern (mistral_chat_*). Schemas are comprehensive with proper type definitions, enums, and nested object validation via Zod. Descriptions are adequate (100-150 chars) and explain when to use each tool. However, parameter descriptions are minimal or absent in the schema output, and no output schema is documented. Error handling is absent, no guidance on what happens on API failures, rate limits, or invalid model responses. No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite both tools being read-only operations.
Ask the Mistral AI platform for a completion that includes image URLs. Use this tool when you need Mistral to access an image via its link.
Ask the Mistral AI platform for a completion. Use this tool when the user specifically asks for Mistral's input, or when the user suggests you get a second opinion. This tool does not support images.
No output schema documented. LLMs cannot plan downstream operations or extract structured data from responses. Tool returns text content but no schema specifies the response structure.
No error handling guidance. Tool implementation catches no exceptions and provides no recovery hints. If API fails, rate-limits, or returns null, LLM receives no actionable error message.
Missing tool annotations. Both tools are read-only (risk: READ_ONLY) but lack readOnlyHint annotation. Agents cannot distinguish safe tools from destructive ones without explicit hints.
Parameter descriptions in JSON Schema are sparse. While Zod schema includes some descriptions (e.g., 'The text model to use for completion'), nested message objects lack per-field guidance. LLMs cannot infer what 'role', 'content', 'type', 'text' mean without explicit descriptions.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 58 | 2026-07-28+ | v2 |
No validation of API key at tool invocation time. If MISTRAL_API_KEY is invalid or expired, the tool fails silently with a generic error. Should validate and return actionable error like 'Invalid API key. Check MISTRAL_API_KEY environment variable.'