MCP Server for Homebox Home Inventory System - provides tools to search, retrieve, and organize items, locations, and labels in a Homebox inventory
Server defines 13 tools with basic schemas and descriptions, but exhibits significant quality gaps. Tool naming is verb-forward (search_, get_, list_) which is good. However, descriptions are generic and lack LLM-optimization guidance. Input schemas are present but minimal, most parameters lack detailed constraints, ranges, or format specifications. No output schemas are documented. Critical issue: tools 9-13 appear to be duplicates or variants of tools 1-8 with inconsistent naming (search_homebox_items vs search_items; get_items_by_location with location_name vs locationId). This naming inconsistency will confuse LLMs about which tool to call. Error handling is minimal, no recovery guidance, no categorization of error types. No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite all tools being read-only. Descriptions average ~120 chars, which is acceptable but lack context about when to use each tool vs alternatives.
Get detailed information about a specific item by its ID. Returns complete item details including name, description, location, labels, purchase info, warranty info, and more.
Get all items that have a specific label/tag. Use this to find items by category or type.
Get all items that have a specific label. Useful for finding all items in a category (e.g., all electronics, all important items).
Get all items stored in a specific location. Use this to see what's available in a particular place.
Get all items stored in a specific location. Useful for finding everything in a particular room or storage area.
Get detailed information about a specific label by its ID, including its name, description, and color.
Duplicate/variant tools with inconsistent naming: tools 1-8 use camelCase IDs (itemId, locationId, labelId) while tools 9-13 use snake_case names (location_name, label_name). LLMs will be confused about which variant to call and may select the wrong one.
No output schemas documented. Tools return 'any' type with no field descriptions. LLMs cannot plan downstream calls or extract required data (e.g., itemId for chaining). Violates pattern:response-shaper.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 47 | 2026-07-28+ | v2 |
Get detailed information about a specific location by its ID, including its name, description, and parent location if nested.
List all labels/tags in Homebox. Use this to see what categories or types are available.
List all storage locations in Homebox. Use this to see what locations are available.
List all labels in your Homebox inventory. Labels are used to categorize items (e.g., 'Electronics', 'Important', 'Fragile'). Returns label names, IDs, and descriptions.
List all locations in your Homebox inventory. Locations are where items are stored (e.g., 'Kitchen', 'Garage', 'Living Room'). Returns location names, IDs, and descriptions.
Search for items in Homebox inventory by name or description. Use this to find items based on keywords.
Search for items in your Homebox inventory by name, description, or other fields. Returns a list of matching items with their basic information.
Parameter descriptions lack format/constraint details. 'query' param has no length limits, regex patterns, or examples. 'itemId' and 'locationId' have no guidance on format (UUID? numeric? alphanumeric?). Violates pattern:constrained-input.
No tool annotations despite all tools being read-only. Missing readOnlyHint annotation that would signal to agents these are safe to call without confirmation. Violates current MCP spec (2026-07-28) tool annotation pattern.
Error handling is minimal. No recovery guidance (e.g., 'If item not found, try search_items() first'). No error categorization (retryable vs user-fixable). Violates pattern:recovery-guide.