MCP server for retrieving and managing SAP data via SAP Graph API
Single tool with moderate naming, basic description, and incomplete schema. The tool name 'get_sales_orders' follows verb_noun convention correctly, but the description lacks context on prerequisites, API limitations, and downstream integration. Input schema has type definitions but parameters lack comprehensive constraint documentation. Output is returned as plain text rather than structured JSON, violating the response-shaper pattern. No error classification or recovery guidance. No support for pagination despite mentioning a 'top' parameter that could exceed reasonable limits.
Retrieve sales orders from SAP Graph API sandbox.
Output returned as plain text string instead of structured JSON object. Violates response-shaper pattern and forces LLM to parse unstructured text, wasting tokens and increasing error likelihood.
API key exposed as tool parameter instead of using server-side secret injection via environment variables. Agent call logs will contain secrets.
No pagination support despite 'top' parameter. Tool could return unbounded results that exhaust context window. No mention of default/max limits in description.
Error responses lack recovery guidance. HTTP errors return raw response text and stack traces instead of actionable suggestions (e.g., 'Check API key validity with test_sap_connection()').
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 48 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 37 | - | v1 |
Tool description is 56 characters, below baseline minimum (194 chars avg for A+ tools). Lacks context on prerequisites, when to use vs alternatives, what fields are returned, and API rate limits.
'top' parameter description lacks numeric constraints. No mention of minimum (1), maximum sensible value, or default. LLM could pass absurdly large values causing timeouts.
No output schema documented. LLM cannot predict structure of returned sales order fields, preventing safe chaining with downstream tools.