MCP server for checking readiness of operator-approved logical dependencies without exposing their network destinations
Two well-named, focused tools with clear descriptions and complete input/output schemas. Tool names follow verb_noun pattern (list_dependencies, check_dependency). Both have descriptions (194 and 156 chars respectively, within 10-1024 baseline). Input schemas are properly typed with constraints (name parameter has regex pattern ^[a-z][a-z0-9_-]{0,63}$). Output schemas documented via struct tags. Error handling is structured with categorized failures. Tool annotations (readOnlyHint, idempotentHint, openWorldHint) are present. Main gaps: parameter descriptions are minimal (name param lacks actionable format guidance in description text), output schema documentation relies on struct tags rather than explicit schema objects in code, and no pagination/limit parameters despite list_dependencies returning arrays.
Check readiness of one operator-approved dependency selected only by logical name.
List operator-approved logical dependency names and descriptions without exposing their network destinations.
Parameter description lacks actionable format guidance. The 'name' parameter in check_dependency has description 'Operator-approved logical dependency name returned by list_dependencies' but does not explicitly state the regex constraint (^[a-z][a-z0-9_-]{0,63}$) in human-readable form. LLMs cannot read JSON Schema pattern fields, they rely on description text.
list_dependencies lacks pagination parameters. Tool returns an array (Dependencies []catalog.Summary) with no limit, offset, or page_size parameters. Large dependency catalogs could blow context windows.
Output schema documentation relies on struct tags rather than explicit JSON Schema objects. checkDependencyOutputSchema() and listDependenciesOutputSchema() functions are referenced but not visible in provided code. Cannot verify schema completeness or field descriptions from static analysis.
Inferred effective spec: 2025-06-18+.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 48 | 2025-06-18+ | v2 |
Error recovery guidance is minimal. When check_dependency returns ErrUnknownDependency, the error message says 'call list_dependencies to see approved names' but does not suggest what the user should do with that list or how to retry. Per pattern:recovery-guide, errors should tell the LLM what to do next.
No input validation or constraint documentation for dependency names. While regex pattern exists in schema, there is no validation logic visible in checkDependency handler to reject invalid names early with actionable error messages.