An MCP server that searches documentation for various libraries (LangChain, LLamaIndex, OpenAI) using web search and fetches content from the results.
Single tool 'get_docs' has a reasonable name and basic description, but critical gaps undermine quality. Description is 107 chars (within 10-1024 range) but lacks WHEN to use it, prerequisites, or return type documentation. Input parameters lack descriptions entirely, 'query' and 'library' have no guidance on format, constraints, or examples. No output schema is documented. Error handling is minimal: ValueError for unsupported library, but no guidance for LLM on recovery (e.g., 'Call list_supported_libraries() first'). The tool fetches multiple URLs and concatenates raw text without pagination, result limits, or structured output, violates response-shaper and enforce-result-limits patterns. No tool annotations (readOnlyHint, idempotentHint). Composition is reasonable (single responsibility), but implementation details (timeouts, retries) are not exposed to the agent.
Search the latest docs for a given query and library. Supports langchain, openai, and llama-index.
Input parameters lack descriptions. 'query' and 'library' have no guidance on format, valid values, or constraints. LLM cannot infer that library must be one of {langchain, llama-index, openai}.
No output schema documented. Tool returns concatenated raw text from multiple URLs with no structure, pagination, or field definitions. LLM cannot plan downstream actions or extract specific data.
Tool description lacks WHEN to use it, prerequisites, and return type. At 107 chars, it is minimal and does not explain what structure is returned or when to call this vs. a general web search.
No result limits or pagination. Tool fetches all organic results (num=2 hardcoded) and concatenates full page text, risking context window exhaustion and token waste. No next_cursor or limit parameter.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 38 | 2026-07-28+ | v2 |
Error handling provides no recovery guidance. ValueError for unsupported library gives no hint to LLM (e.g., 'Supported libraries: langchain, llama-index, openai'). Timeout errors return bare 'Timeout error' string.