Retrieves up-to-date documentation and code examples for any library.
Context7 provides two tools with clear verb-noun naming (resolve-*, get-*) and explicit Zod schemas. Both tools have descriptions exceeding 20 characters. However, descriptions lack actionable guidance on when to use each tool beyond the sequential dependency hint. Parameter descriptions are present but generic. Output schemas are not documented, callers cannot predict response structure. Error handling returns text blobs without recovery guidance. The server follows basic MCP patterns but lacks production-grade polish in description depth and output documentation.
Fetches up-to-date documentation for a library. You must call 'resolve-library-id' first to obtain the exact Context7-compatible library ID required to use this tool.
Required first step: Resolves a general package name into a Context7-compatible library ID. Must be called before using 'get-library-docs' to retrieve a valid Context7-compatible library ID.
Output schemas not documented. Callers cannot predict response structure (e.g., what fields are in searchResponse.results, what does fetchLibraryDocumentation return). LLMs must infer structure from unstructured text responses.
Error responses are free-text blobs without recovery guidance. 'Failed to retrieve library documentation data from Context7' and 'Documentation not found or not finalized' do not tell the LLM what to do next or whether to retry.
Parameter 'tokens' in get-library-docs uses preprocess/transform to enforce a minimum, but the description does not explain this behavior. LLMs cannot see Zod logic, they rely on descriptions. Passing tokens=1000 when DEFAULT_MINIMUM_TOKENS=5000 silently upgrades to 5000, which is non-obvious.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 60 | 2026-07-28+ | v2 |
resolve-library-id returns formatSearchResults(searchResponse) but the output format is not documented. Is it a list of objects? A markdown table? The LLM must parse unstructured text, which is error-prone.
get-library-docs accepts 'context7CompatibleLibraryID' which can include a '?folders=' query string (parsed inside the tool). This is a hidden parameter dependency not documented in the schema. LLMs cannot infer this format from the description alone.