DocsFetcher MCP Server
by cdugo
# š DocsFetcher MCP Server
[](https://smithery.ai/server/@cdugo/mcp-get-docs)
[](https://www.npmjs.com/package/@cdugo/docs-fetcher-mcp)
[](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
```
```