The AllDocs MCP server exposes a single tool 'search_docs' with clear naming and reasonable parameter coverage. However, the implementation has significant gaps in schema completeness, output documentation, and error handling guidance. The tool name follows verb-noun convention ('search_docs') and is appropriately specific. The description is moderately detailed (175 chars, within baseline 194 avg), explaining the tool's purpose and when to use it. Parameter descriptions are present for all three inputs (library, query, k) and include reasonable type information. However, the rubric requires explicit output schema documentation for LLMs to plan downstream operations, the source code shows the tool returns results but the schema definition visible in the prompt does not document the return type structure, field names, or whether pagination is supported. The 'k' parameter has a default (5) which is reasonable, but lacks explicit constraints (min/max bounds). Error handling is not visible in the tool definition, no guidance on what happens if a library doesn't exist, if Pinecone is unreachable, or how to interpret empty results. The tool is marked as READ_ONLY (good security posture) but no formal risk annotations (readOnlyHint/destructiveHint) appear in the schema. Based on the visible definition in mcp_server/main.py, the tool meets basic naming and description criteria but falls short of A-grade completeness.
Search for the most up-to-date documentation, guides, tutorials, and API references for any library or framework. Use this tool whenever you need current information about libraries, frameworks, tools, or technologies. This searches through comprehensive documentation that has been crawled and indexed, providing you with the latest available information rather than relying on potentially outdated training data.
Output schema not documented. LLMs cannot determine what fields the tool returns or plan downstream operations (e.g. extracting URLs, following links). The tool returns results but the response structure is not visible in the tool definition.
No explicit parameter constraints (min/max) for 'k'. The description says 'default: 5' but does not specify valid range (e.g. 1-100). This allows LLMs to request arbitrary numbers of results, risking context window exhaustion or API overload.
Error handling not documented. No guidance on what the LLM should do if the library is not indexed, if Pinecone is unreachable, or if the query returns no results. LLMs cannot self-correct without actionable error messages.
No tool annotations (readOnlyHint) in the schema definition. Although marked READ_ONLY in comments, formal MCP tool annotations are not visible, limiting client optimization and agent planning.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | D | 52 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 48 | - | v1 |
STDIO-only transport. The server uses STDIO (per features list), making it inaccessible to hosted or remote MCP clients. This is a hard architectural limitation.