MCP Server that connects to custom services and integrates with Ollama
Server has 5 tools with basic schemas and descriptions, but significant gaps limit production readiness. All tools have descriptions (10-50 chars, below the 50-200 char baseline for LLM optimization) and input schemas with type definitions. However, descriptions are generic and lack actionable context. Parameter descriptions are minimal or missing context about constraints, formats, and dependencies. No output schemas documented. Error handling is absent, no recovery guidance, categorization, or actionable error messages. Tools like 'query_custom_service' and 'execute_query' expose dangerous operations (WRITE risk) without confirmation patterns or permission gates. Naming is verb-first (good), but descriptions do not explain WHEN to use each tool or what distinguishes them from similar tools.
Perform mathematical calculations and operations
Execute a database query through your service
Get the current date and time in various formats
Query your custom service with parameters
Get weather information for a location
Destructive operations (query_custom_service, execute_query) lack confirmation patterns, permission gates, and dry-run support. No audit trail or permission declarations. Agents can execute arbitrary SQL or HTTP requests without safeguards.
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract required fields. Responses are unstructured, forcing LLMs to parse free-text output.
Descriptions are 25-40 characters, well below the 50-200 char baseline. They lack context about WHEN to use each tool, what it returns, and how it differs from similar tools. 'Get weather information for a location' does not explain whether it returns current conditions, forecast, or both.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 45 | 2026-07-28+ | v2 |
Parameter descriptions are minimal or missing. 'timezone' in get_datetime has a description, but 'expression' in calculator lacks guidance on format (infix? postfix? supported operators?). 'location' in weather_info does not specify whether it accepts city names, coordinates, or both.
No error handling or recovery guidance. Tools do not categorize errors as retryable, user-fixable, or fatal. No actionable error messages. Agents cannot self-correct or know whether to retry.