MCP server for Fake Store API - E-commerce data integration for Claude AI
The server defines 9 tools with consistent verb_noun naming (list_*, get_*) that are clear and action-oriented. All tools have descriptions ranging from 50-100 characters, meeting the baseline of 10-1024 chars. Input schemas are present and use Zod with JSON Schema conversion. However, parameter descriptions are sparse or missing, output schemas are not documented, and error handling lacks recovery guidance. The server lacks tool annotations (readOnlyHint) despite all tools being read-only. No composition issues detected since tools are single-responsibility, but parameter validation and per-item error reporting for batch-like operations are absent.
Get detailed information about a specific cart by its ID.
Get detailed information about a specific product by its ID.
Get all products in a specific category. Supports pagination with limit and sorting.
Get detailed information about a specific user by their ID.
Get all shopping carts for a specific user by their user ID.
Get all shopping carts. Supports pagination with limit and sorting.
Get all available product categories.
Output schemas not documented. LLMs cannot infer what fields each tool returns, forcing them to guess field names for downstream tool calls and response parsing.
Parameter descriptions missing or insufficient. The 'limit' and 'sort' parameters across list tools lack detailed constraints (e.g. min/max for limit, enum values for sort are documented but not explained in parameter descriptions).
No tool annotations (readOnlyHint). All 9 tools are read-only operations, but none declare this via tool annotations. The agent cannot distinguish safe-to-retry tools from destructive ones.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | C | 60 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 0 | - | v1 |
Get all products from the store. Supports pagination with limit and sorting.
Get all users. Supports pagination with limit and sorting.
Error responses lack recovery guidance. In src/index.ts CallToolRequestSchema handler, errors return a generic message (e.g., 'Error executing {name}: {message}') with no suggestion of next steps or alternative tools.
list_categories tool has empty input schema (only type:'object', properties:{}) but no explanation of why. If it takes no parameters, the description should say so explicitly.
No documentation of pagination behavior. list_* tools accept 'limit' but do not document offset/cursor behavior, maximum items returned, or total count availability.