DocsFetcher MCP Server

# šŸ“š DocsFetcher MCP Server [![smithery badge](https://smithery.ai/badge/@cdugo/mcp-get-docs)](https://smithery.ai/server/@cdugo/mcp-get-docs) [![npm version](https://img.shields.io/npm/v/@cdugo/docs-fetcher-mcp.svg)](https://www.npmjs.com/package/@cdugo/docs-fetcher-mcp) [![npm downloads](https://img.shields.io/npm/dm/@cdugo/docs-fetcher-mcp.svg)](https://www.npmjs.com/package/@cdugo/docs-fetcher-mcp) An MCP server that fetches package documentation from multiple language ecosystems for LLMs like Claude without requiring API keys. ## āœØ Features - šŸŒ Supports multiple programming languages (JavaScript, Python, Java, .NET, Ruby, PHP, Rust, Go, Swift) - šŸ“¦ Fetches documentation for packages by name or URL - šŸ” Crawls documentation sites to extract comprehensive information - šŸ“„ Extracts README, API docs, code examples, and repository info - šŸ§  Provides structured data for LLM summarization - šŸ’¬ Includes specialized prompts for documentation analysis - šŸ”‘ **No API key required** - works natively with Claude Desktop and Cursor IDE ## šŸš€ Installation ### Claude Desktop 1. Open Claude Desktop ā†’ Settings ā†’ Developer 2. Click "Edit Config" and add: ```json { "mcpServers": { "docsFetcher": { "command": "npx", "args": [ "-y", "@smithery/cli@latest", "run", "@cdugo/mcp-get-docs", "--config", "'{}'" ] } } } ``` ### Cursor IDE Configuration 1. Open Cursor IDE ā†’ Settings ā†’ MCP -> Add New MCP Servier 2. Add: ```json Name: docsFetcher Command: npx -y @smithery/cli@latest run @cdugo/mcp-get-docs --config "{}" ``` #### Prerequisites - šŸ“‹ Node.js 18 or later ## šŸƒā€ā™‚ļø Running Locally ```bash git clone https://github.com/cdugo/package-documentation-mcp cd package-documentation-mcp npm install npm run build ``` Once installed, you can run the server locally with: ```bash # From the project root directory npm start ``` For development with auto-restart on file changes: ```bash npm run dev ``` The server will start on the default port (usually 3000). You should see output like: ``` šŸš€ DocsFetcher MCP Server running! šŸ“‹ Ready to fetch documentation ``` To specify a custom port: ```bash PORT=8080 npm start ``` ## šŸ› ļø Available Tools 1. **fetch-url-docs**: šŸ”— Fetch docs from a specific URL 2. **fetch-package-docs**: šŸ“¦ Fetch docs for a package with optional language specification 3. **fetch-library-docs**: šŸ§  Smart tool that works with either package name or URL 4. **fetch-multilingual-docs**: šŸŒ Fetch docs for a package across multiple language ecosystems ## šŸ“ Available Prompts 1. **summarize-library-docs**: šŸ“š Create a comprehensive library summary 2. **explain-dependency-error**: šŸ› Generate dependency error explanations ## šŸ’” Example Queries ### Basic Library Information - "What is Express.js and how do I use it?" - "Tell me about the React library" - "How do I use requests in Python?" ### Multi-language Support - "Show me documentation for lodash in JavaScript" - "Compare pandas in Python and data.table in R" ### Using Tools - "@fetch-package-docs with packageName='express' and language='javascript'" - "@fetch-package-docs with packageName='requests' and language='python'" - "@fetch-multilingual-docs with packageName='http' and languages=['javascript', 'python', 'rust']" ### Using Prompts - "@summarize-library-docs with libraryName='express'" - "@explain-dependency-error with packageName='dotenv'" ## ā“ Troubleshooting ### Local Installation - **Server not showing up**: āœ… Verify absolute path in configuration - **Connection errors**: šŸ”„ Restart Claude Desktop or Cursor IDE - **Fetch failures**: āš ļø Some packages may have non-standard documentation - **Language support**: šŸŒ If a language isn't working, try using the package's direct URL ## šŸ“„ License MIT ``` ```