MCP server for SSP (Server Service Platform) API integration providing rack management, power monitoring, project and ticket management
Server has 7 tools with basic schemas and descriptions, but significant quality gaps. All tools have descriptions (10-80 chars, mostly short), and Zod schemas are present with parameter types. However, descriptions are generic and lack actionable context for LLM selection. No output schemas documented. Error handling is minimal, most failures return generic 'Failed to retrieve' messages without recovery guidance. No parameter validation beyond type checking. No enum constraints for filter parameters like 'status', 'priority', 'ordering'. Tool names follow verb_noun pattern (good), but descriptions don't explain WHEN to use each tool or dependencies between them. The login tool stores credentials in memory without secure handling guidance. No pagination limits documented despite accepting page/page_size. Response data is returned as raw JSON strings, not structured objects.
Get power consumption data for a rack
Get power load data for a rack
Get a list of projects with optional search and ordering
Get detailed information about a specific rack
Get a list of racks with optional pagination and search
Get a list of tickets with optional filtering and pagination
Authenticate with username and password to get JWT token
No output schemas documented. Tools return raw JSON strings wrapped in text content, not structured objects. LLMs cannot parse response fields reliably for downstream tool chaining.
Error handling is generic and non-actionable. All failures return 'Failed to retrieve X' without recovery guidance. LLM cannot determine if error is retryable, user-fixable, or fatal.
Filter parameters (status, priority, ordering) accept free-form strings with no enum constraints. Descriptions lack valid value examples. LLMs will hallucinate invalid filter values.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 48 | 2026-07-28+ | v2 |
Pagination limits not documented. Tools accept page_size parameter but no min/max bounds specified. LLMs may request unreasonably large result sets.
Tool descriptions are too short (45-60 chars) and lack context. No explanation of WHEN to use each tool, dependencies, or prerequisites. Descriptions do not guide LLM selection between similar tools.