npm package: @iflow-mcp/package-documentation-mcp
Description: MCP server that fetches package documentation from multiple language ecosystems for LLMs like Claude without requiring API keys
Author: cdugo
Latest version: 1.0.1

# 📚 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.

<a href="https://glama.ai/mcp/servers/8yfwtryuc5">
  <img width="380" height="200" src="https://glama.ai/mcp/servers/8yfwtryuc5/badge" alt="DocsFetcher Server MCP server" />
</a>

## ✨ 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