A web-based chat interface that connects to local Ollama models with FastMCP tool calling
Three tools with basic schemas and descriptions, but significant gaps in parameter documentation and error handling. All tools have descriptions (10-20 chars baseline met), but descriptions lack actionable context for LLM selection. Input schemas present but parameters lack descriptions, critical for LLM reasoning. No output schemas documented. No error handling guidance. Tools are read-only (low risk) but lack composition hints and chaining IDs. Naming is clear (verb_noun pattern) but descriptions are generic.
Evaluate a mathematical expression safely.
Get current weather for a location (mock implementation for PoC).
Search the web for information (mock implementation for PoC).
Parameter descriptions missing. 'expression', 'location', 'query' parameters lack descriptions explaining format, constraints, or examples. LLMs cannot infer whether 'expression' accepts '2+2' or '2 + 2', or what 'location' means (city name, coordinates, postal code?).
No output schemas documented. Tool descriptions do not specify what fields are returned (e.g., does get_weather return temperature, humidity, forecast?). LLMs cannot plan downstream calls or extract relevant data.
Descriptions are generic and lack actionable context. 'Evaluate a mathematical expression safely' does not explain when to use calculator vs. other tools, what 'safely' means, or what errors might occur. Descriptions should be 50-200 chars with WHAT, WHEN, and prerequisites.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 43 | <=2025-11-25 | v2 |
No error handling guidance. Tools marked as 'mock implementation for PoC' but no error responses documented. LLMs need to know: are failures retryable? Should the user be asked? What does a failed call return?
No parameter constraints or enums. 'expression' parameter accepts free-form strings with no validation hints. LLMs may pass invalid syntax like 'calculate 2+2' instead of '2+2'. Enums or regex patterns should be declared.