A utility for planning delivery and splitting shipments across multiple warehouses based on inventory allocation
This MCP server has critical definition quality issues. The single tool 'plan_delivery' lacks proper MCP registration patterns, has minimal descriptions, no visible input validation, and no structured error handling. The source code shows a basic Python class with a method, but there is no evidence of proper MCP tool registration, schema declaration, or protocol-aware implementation. The tool description is present but generic (127 chars), and while input parameters are partially documented in a comment, there is no formal JSON Schema visible in the source. This appears to be a wrapper around domain logic rather than a production-grade MCP server.
Plans delivery by allocating cart items across warehouse inventory and determining split shipments needed
No visible MCP tool registration or schema definition. The tool appears to be a plain Python method with no formal JSON Schema or MCP protocol integration.
Input parameters lack formal type definitions and descriptions in a machine-readable schema. Parameter documentation exists only as a Python comment ('warehouse_inventory like {"Whse_A": ["item1", ...]}'), which cannot be parsed by MCP clients.
No output schema documented. The tool returns a dict with 'shipping_plan' and 'split_shipments_needed' keys, but there is no formal schema definition, type constraints, or description of the return structure for MCP clients.
No error handling or recovery guidance. The tool has no validation logic (e.g., what if 'sku' is missing from a cart item, or warehouse_inventory is malformed?), and no error responses that guide the LLM on what to do next.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 35 | 2026-07-28+ | v2 |
No tool annotations for read/write intent. The tool is marked READ_ONLY in the metadata but there is no idempotentHint, readOnlyHint, or destructiveHint visible in the schema or code.
Generic, minimal tool description (127 chars). While present, it does not explain WHEN to use this tool, what the input structure must be, or what assumptions the LLM should make (e.g., 'What if an item cannot be allocated to any warehouse?').
Parameter descriptions missing or informal. 'cart' and 'warehouse_inventory' are documented only in a code comment. There is no description of expected cardinality, SKU format, warehouse name format, or handling of missing SKUs.