MCP server combining Context7, Wikipedia, arXiv, and DevDocs knowledge sources
Strong foundation with 10 well-named tools, comprehensive descriptions (avg 180 chars), and complete JSON Schema input definitions. All tools have clear verb_noun naming (arxiv_search, context7_resolve_library, devdocs_list, wikipedia_summary). Descriptions include examples, error handling guidance, and prerequisites. However, output schemas are not formally documented, only described in prose. Parameter descriptions are solid but some lack explicit format/constraint details. Error handling is documented in descriptions but not structured as recovery guides. No tool annotations (readOnlyHint, destructiveHint) despite all being read-only operations.
Get full details and abstract of a specific arXiv paper by ID or URL. Args: - paperId (string): arXiv paper ID or full URL - ID format: "2301.00001" or "2301.00001v2" - URL format: "https://arxiv.org/abs/2301.00001" Returns: Full paper metadata: title, all authors, abstract, categories, published date, PDF link. Examples: - Get paper by ID → paperId: "2303.08774" - Get paper by URL → paperId: "https://arxiv.org/abs/2303.08774" Error Handling: - Returns error if paper ID not found - Use arxiv_search first to find paper IDs
Search for academic papers on arXiv.org. Returns a list of papers with title, authors, abstract snippet, and links. Args: - query (string): Search query (e.g. "large language models", "reinforcement learning robotics") - limit (number): Number of results, 1-20 (default: 5) - category (string, optional): Filter by arXiv category (e.g. "cs.AI", "cs.LG", "math.ST", "physics.hep-th") Common categories: - cs.AI — Artificial Intelligence - cs.LG — Machine Learning - cs.CL — Computation and Language (NLP) - cs.CV — Computer Vision - stat.ML — Statistics / Machine Learning Returns: Markdown list of papers with metadata, abstract snippet, and arXiv links. Examples: - "Find papers about RAG" → query: "retrieval augmented generation", category: "cs.CL" - "Latest diffusion model papers" → query: "diffusion models image generation" Error Handling: - Returns message if no papers found - Try broader terms or remove category filter
Fetch up-to-date documentation for a library from Context7. Use context7_resolve_library first to get the correct library ID, then call this tool. Args: - libraryId (string): Context7-compatible library ID (from context7_resolve_library) - topic (string, optional): Specific topic to focus on (e.g. "hooks", "routing", "authentication") - tokens (number, optional): Max tokens to return, 1000-10000 (default: 5000) Returns: Markdown-formatted documentation for the library or specific topic. Examples: - Get React hooks docs → libraryId: "/reactjs/react.dev", topic: "hooks" - Get all Next.js docs → libraryId: "/vercel/next.js", tokens: 8000 Error Handling: - Returns error if library ID is invalid - Use context7_resolve_library to get correct ID first
Output schemas not formally documented. Descriptions state 'Returns: Markdown list...' but no structured schema definition visible. LLMs cannot reliably parse unstructured prose responses or plan downstream tool calls.
Tool annotations missing. All 10 tools are read-only (no state modification), but none declare readOnlyHint=true. This prevents agents from understanding safety properties and optimizing retry/caching strategies.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 66 | <=2025-11-25 | v2 |
Resolve a library name to its Context7-compatible library ID. Use this BEFORE calling context7_get_docs to find the correct library ID. Args: - libraryName (string): The library/framework name (e.g. "react", "nextjs", "express", "vue") Returns: The Context7-compatible library ID to use with context7_get_docs. Examples: - "Find React docs" → first resolve "react" to get library ID - "I need Next.js documentation" → resolve "nextjs" Error Handling: - Returns error if library not found in Context7 index - Try different spellings or shorter names
Fetch the full content of a specific DevDocs documentation page. Use devdocs_search first to find valid paths, then fetch the full page content. Args: - slug (string): The documentation slug (e.g. "react", "node") - path (string): The page path from devdocs_search results (e.g. "hooks/use-state", "fs/promises") Returns: Full page content converted to readable markdown format. Examples: - Get useState page → slug: "react", path: "hooks/use-state" - Get fs.promises page → slug: "node", path: "fs/promises" Error Handling: - Returns error if page not found - Use devdocs_search to find valid paths first
List all available documentation sets on DevDocs.io. Returns a list of all available docs with their slugs. Use the slug with devdocs_search. No arguments required. Returns: Full list of available docs with names and slugs (e.g. "react", "node", "python~3.12"). Examples: - "What docs are available?" → call with no args - "Is there Python 3.12 docs?" → call and search the result
Search for entries within a specific documentation set on DevDocs.io. Use devdocs_list first to find valid slugs, then search within them. Args: - slug (string): The documentation slug (e.g. "react", "node", "python~3.12", "typescript") - query (string): Search term to find within the docs - limit (number): Max results, 1-30 (default: 10) Returns: Matching documentation entries with names, types, and direct URLs. Examples: - "Find useState in React docs" → slug: "react", query: "useState" - "Search fs.readFile in Node" → slug: "node", query: "readFile" - "Find async in Python docs" → slug: "python~3.12", query: "async" Error Handling: - Returns error if slug is invalid — use devdocs_list to get valid slugs - Try shorter/broader search terms if no results
Get a list of related Wikipedia articles linked from a given article. Useful for exploring related topics or finding connected concepts. Args: - title (string): The Wikipedia article title to get related articles from Returns: Markdown list of related article titles and links. Examples: - "What's related to Node.js?" → title: "Node.js" - "Show articles related to machine learning" → title: "Machine learning"
Search Wikipedia for articles matching a query. Returns a list of matching articles with snippets and links. Use this to find the correct article title before calling wikipedia_summary. Args: - query (string): Search query (e.g. "machine learning frameworks", "ancient egypt history") - limit (number): Number of results to return, 1-20 (default: 5) Returns: Markdown list of matching articles with title, snippet, and URL. Examples: - "Find articles about TypeScript" → query: "TypeScript programming language" - "Search for quantum computing" → query: "quantum computing" Error Handling: - Returns message if no results found - Try broader or different search terms
Get a summary/introduction of a Wikipedia article by its title. Returns the article's introduction paragraph, description, and a link to the full article. Args: - title (string): The Wikipedia article title (e.g. "JavaScript", "Black hole", "Alan Turing") Returns: Markdown-formatted article summary with title, description, intro text, and URL. Examples: - "What is React?" → title: "React (software)" - "Tell me about neural networks" → title: "Artificial neural network" Error Handling: - Returns error if article not found (404) - Try a more specific or different title if not found
Parameter constraints not fully formalized. 'query' params accept minLength/maxLength but lack regex patterns or enum constraints. 'category' in arxiv_search lists examples ('cs.AI', 'cs.LG') in description instead of enum. LLMs may hallucinate invalid categories.
Error handling guidance is prose-only. Descriptions say 'Returns error if...' but no structured error response format or recovery hints. Agents cannot distinguish retryable vs fatal errors or know what to try next.
Tool chaining dependencies not explicit. context7_get_docs requires libraryId from context7_resolve_library; devdocs_get_page requires path from devdocs_search. Descriptions mention this but no formal dependency declaration. Agents may call tools out of order.