An MCP server for interacting with perfrunner configurations stored in Couchbase
Four tools with basic verb-noun naming (get_*, search patterns). All have descriptions (10-50 chars, below 194-char baseline). Input schemas present but minimal: single string parameters with descriptions. No output schemas documented. No error handling guidance, no pagination support, no structured response documentation. Parameters lack type diversity and constraints. No tool annotations (readOnlyHint, etc.). Composition is reasonable (each tool has one responsibility), but descriptions are too terse to guide LLM selection effectively.
Get details about a cluster by matching cluster id or name
Get list of matching clusters
Get list of matching tests
Get details about a test by matching test name or id
Descriptions are 20-50 characters, well below the 194-char baseline. 'Get list of matching clusters' and 'Get details about a cluster...' lack context for when to use each tool, what structure is returned, or how results differ from similar tools.
No output schemas documented. LLMs cannot plan downstream calls or extract required fields (e.g., cluster_id, test_id) without knowing response structure. Responses appear to be unstructured strings from search_clusters() and similar methods.
No error handling guidance. Code catches exceptions and logs them, but tool descriptions do not explain what errors are possible, whether they are retryable, or what the LLM should do next (e.g., 'Try a different query' or 'Check cluster name spelling').
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 46 | <=2025-11-25 | v2 |
No pagination or result limits documented. If search_clusters() returns hundreds of results, the response will bloat the context window. No limit parameter, no offset/page support, no total_count field visible in schema.
Tool annotations missing. No readOnlyHint, destructiveHint, or idempotentHint declared. All tools are marked READ_ONLY in metadata but this is not reflected in tool definitions via current MCP annotations.