📚 DocsFetcher MCP Server

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
- Open Claude Desktop → Settings → Developer
 
- Click "Edit Config" and add:
 
{
  "mcpServers": {
    "docsFetcher": {
      "command": "npx",
      "args": [
        "-y",
        "@smithery/cli@latest",
        "run",
        "@cdugo/mcp-get-docs",
        "--config",
        "'{}'"
      ]
    }
  }
}
Cursor IDE Configuration
- Open Cursor IDE → Settings → MCP -> Add New MCP Servier
 
- Add:
 
    Name: docsFetcher
    Command: npx -y @smithery/cli@latest run @cdugo/mcp-get-docs --config "{}"
Prerequisites
🏃♂️ Running Locally
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:
# From the project root directory
npm start
For development with auto-restart on file changes:
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:
PORT=8080 npm start
🛠️ Available Tools
- fetch-url-docs: 🔗 Fetch docs from a specific URL
 
- fetch-package-docs: 📦 Fetch docs for a package with optional language specification
 
- fetch-library-docs: 🧠 Smart tool that works with either package name or URL
 
- fetch-multilingual-docs: 🌍 Fetch docs for a package across multiple language ecosystems
 
📝 Available Prompts
- summarize-library-docs: 📚 Create a comprehensive library summary
 
- 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