Single tool 'search_code' has a basic schema with two parameters (query, limit) but lacks critical documentation. The tool description is minimal (18 chars: 'Search the codebase.'), below the 20-char floor for meaningful LLM guidance. No parameter descriptions are visible in the schema, violating the requirement that every parameter must explain what it controls. The input schema shows types (string, number) but no descriptions, constraints, or usage guidance. No output schema is documented. The tool definition appears to be inferred from example code rather than explicitly registered with full metadata. This server is a testing/contract-verification framework (mcp-pact), not a production MCP server, which explains the minimal tool surface.
Search the codebase.
Tool description is 18 characters ('Search the codebase.'), below the 20-char minimum for actionable LLM guidance. LLMs cannot determine when or why to select this tool without context.
No parameter descriptions visible in schema. 'query' and 'limit' parameters lack explanations of what they control, expected format, constraints, or valid ranges. LLMs cannot infer parameter semantics from names alone.
No output schema documented. LLMs cannot plan downstream operations or extract relevant fields without knowing what search_code returns (structure, field names, types).
'limit' parameter has no constraints (min/max). Unbounded numeric parameters allow LLMs to pass absurd values (e.g. limit=999999) that could break performance or timeout.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 37 | 2026-07-28+ | v2 |
Tool definition inferred from example code (ExampleMcpServer.java) rather than explicitly registered with full metadata. Cannot verify actual tool registration, capabilities, or error handling.