Quality checker for MCP servers — validates protocol handshake, discovery, tool-call dry-runs, and latency
mcp-probe is a testing/validation tool, not a production service. Its 5 fixture tools have minimal, generic descriptions (10-60 chars) and lack parameter documentation. Schemas are present but parameters have no descriptions. Tools lack error recovery guidance, output schemas are undocumented, and naming is generic (echo, auth_check, db_query, db_write, flaky_read). This is acceptable for a test fixture but would fail production standards. No tool annotations, no pagination, no composition patterns.
Simulates a browser auth failure
Simulates a read-only database query result
Simulates a denied database write
Echoes a message
Simulates a transient downstream failure that succeeds on retry
All tool descriptions are under 20 characters and lack context. 'Echoes a message' (18 chars) does not explain when to use the tool or what it returns.
No parameter descriptions. The 'message', 'query', and 'sql' parameters lack explanations of what they control, expected format, or constraints. LLMs cannot infer parameter meaning from names alone.
Output schemas are undocumented. Tools return structured objects (content arrays, JSON payloads) but the response format is not declared. LLMs cannot plan downstream calls without knowing what fields to expect.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 42 | 2026-07-28+ | v2 |
Error responses lack recovery guidance. auth_check and db_write return isError=true with text messages, but do not tell the LLM what to do next or whether the error is retryable.
No tool annotations. Tools lack readOnlyHint, destructiveHint, or idempotentHint metadata. The db_write tool should be marked destructive; echo and db_query should be marked read-only.