A FastAPI-based Model Context Protocol server that processes numerical data and integrates with Microsoft Excel through Office Scripts
Single tool 'process_data' has critical definition gaps. Description is adequate (89 chars) but lacks WHEN/WHY context. Input schema is present with proper types (array of numbers) but lacks parameter-level description. No output schema documented. No error handling guidance. Tool does not follow verb_noun pattern (should be 'double_values' or 'transform_numeric_data'). No indication of idempotency, side effects, or recovery paths.
Process numerical input data by doubling each value and store request in session history
Tool name 'process_data' is generic and violates verb_noun convention. 'Process' is a forbidden pattern that obscures intent. Should be 'double_numeric_values' or 'transform_values'.
Input parameter 'inputs' lacks description. Schema shows type=array, items=number, but no guidance on valid range, length limits, or constraints. LLM cannot infer whether empty arrays are allowed or what happens with negative numbers.
No output schema documented. Response includes 'outputs' (array) and 'session_id' (string), but LLM has no formal definition of return structure, field types, or what to expect. Violates pattern:response-shaper.
No error handling or recovery guidance. Tool description does not explain failure modes (e.g., what if inputs contain non-numeric values? What if array is empty?). No actionable error messages defined.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 31 | 2026-07-28+ | v2 |
Session management is undocumented. Tool stores request history in session_store but description does not explain session lifecycle, persistence, or whether sessions are user-scoped. LLM cannot reason about session semantics.