npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

mcp-deepwiki

v0.0.10

Published

MCP server for fetch deepwiki.com and turn content into LLM readable markdown

Readme

Deepwiki MCP Server

This is an unofficial Deepwiki MCP Server

It takes a Deepwiki URL via MCP, crawls all relevant pages, converts them to Markdown, and returns either one document or a list by page.

Features

  • 🔒 Domain Safety: Only processes URLs from deepwiki.com
  • 🧹 HTML Sanitization: Strips headers, footers, navigation, scripts, and ads
  • 🔗 Link Rewriting: Adjusts links to work in Markdown
  • 📄 Multiple Output Formats: Get one document or structured pages
  • 🚀 Performance: Fast crawling with adjustable concurrency and depth
  • NLP: It's to search just for the library name

Usage

Prompts you can use:

deepwiki fetch how can i use gpt-image-1 with "vercel ai" sdk
deepwiki fetch how can i create new blocks in shadcn?
deepwiki fetch i want to understand how X works

Fetch complete Documentation (Default)

use deepwiki https://deepwiki.com/shadcn-ui/ui
use deepwiki multiple pages https://deepwiki.com/shadcn-ui/ui

Single Page

use deepwiki fetch single page https://deepwiki.com/tailwindlabs/tailwindcss/2.2-theme-system

Get by shortform

use deepwiki fetch tailwindlabs/tailwindcss
deepwiki fetch library

deepwiki fetch url
deepwiki fetch <name>/<repo>

deepwiki multiple pages ...
deepwiki single page url ...

Cursor

Add this to .cursor/mcp.json file.

{
  "mcpServers": {
    "mcp-deepwiki": {
      "command": "npx",
      "args": ["-y", "mcp-deepwiki@latest"]
    }
  }
}

Deepwiki Logo

MCP Tool Integration

The package registers a tool named deepwiki_fetch that you can use with any MCP-compatible client:

{
  "action": "deepwiki_fetch",
  "params": {
    "url": "https://deepwiki.com/user/repo",
    "mode": "aggregate",
    "maxDepth": "1"
  }
}

Parameters

  • url (required): The starting URL of the Deepwiki repository
  • mode (optional): Output mode, either "aggregate" for a single Markdown document (default) or "pages" for structured page data
  • maxDepth (optional): Maximum depth of pages to crawl (default: 10)

Response Format

Success Response (Aggregate Mode)

{
  "status": "ok",
  "data": "# Page Title\n\nPage content...\n\n---\n\n# Another Page\n\nMore content...",
  "totalPages": 5,
  "totalBytes": 25000,
  "elapsedMs": 1200
}

Success Response (Pages Mode)

{
  "status": "ok",
  "data": [
    {
      "path": "index",
      "markdown": "# Home Page\n\nWelcome to the repository."
    },
    {
      "path": "section/page1",
      "markdown": "# First Page\n\nThis is the first page content."
    }
  ],
  "totalPages": 2,
  "totalBytes": 12000,
  "elapsedMs": 800
}

Error Response

{
  "status": "error",
  "code": "DOMAIN_NOT_ALLOWED",
  "message": "Only deepwiki.com domains are allowed"
}

Partial Success Response

{
  "status": "partial",
  "data": "# Page Title\n\nPage content...",
  "errors": [
    {
      "url": "https://deepwiki.com/user/repo/page2",
      "reason": "HTTP error: 404"
    }
  ],
  "totalPages": 1,
  "totalBytes": 5000,
  "elapsedMs": 950
}

Progress Events

When using the tool, you'll receive progress events during crawling:

Fetched https://deepwiki.com/user/repo: 12500 bytes in 450ms (status: 200)
Fetched https://deepwiki.com/user/repo/page1: 8750 bytes in 320ms (status: 200)
Fetched https://deepwiki.com/user/repo/page2: 6200 bytes in 280ms (status: 200)

Local Development - Installation

Local Usage

{
  "mcpServers": {
    "mcp-deepwiki": {
      "command": "node",
      "args": ["./bin/cli.mjs"]
    }
  }
}

From Source

# Clone the repository
git clone https://github.com/regenrek/mcp-deepwiki.git
cd mcp-deepwiki

# Install dependencies
npm install

# Build the package
npm run build

Direct API Calls

For HTTP transport, you can make direct API calls:

curl -X POST http://localhost:3000/mcp \
  -H "Content-Type: application/json" \
  -d '{
    "id": "req-1",
    "action": "deepwiki_fetch",
    "params": {
      "url": "https://deepwiki.com/user/repo",
      "mode": "aggregate"
    }
  }'

Configuration

Environment Variables

  • DEEPWIKI_MAX_CONCURRENCY: Maximum concurrent requests (default: 5)
  • DEEPWIKI_REQUEST_TIMEOUT: Request timeout in milliseconds (default: 30000)
  • DEEPWIKI_MAX_RETRIES: Maximum retry attempts for failed requests (default: 3)
  • DEEPWIKI_RETRY_DELAY: Base delay for retry backoff in milliseconds (default: 250)

To configure these, create a .env file in the project root:

DEEPWIKI_MAX_CONCURRENCY=10
DEEPWIKI_REQUEST_TIMEOUT=60000
DEEPWIKI_MAX_RETRIES=5
DEEPWIKI_RETRY_DELAY=500

Docker Deployment (Untested)

Build and run the Docker image:

# Build the image
docker build -t mcp-deepwiki .

# Run with stdio transport (for development)
docker run -it --rm mcp-deepwiki

# Run with HTTP transport (for production)
docker run -d -p 3000:3000 mcp-deepwiki --http --port 3000

# Run with environment variables
docker run -d -p 3000:3000 \
  -e DEEPWIKI_MAX_CONCURRENCY=10 \
  -e DEEPWIKI_REQUEST_TIMEOUT=60000 \
  mcp-deepwiki --http --port 3000

Development

# Install dependencies
pnpm install

# Run in development mode with stdio
pnpm run dev-stdio

# Run tests
pnpm test

# Run linter
pnpm run lint

# Build the package
pnpm run build

Troubleshooting

Common Issues

  1. Permission Denied: If you get EACCES errors when running the CLI, make sure to make the binary executable:

    chmod +x ./node_modules/.bin/mcp-deepwiki
  2. Connection Refused: Make sure the port is available and not blocked by a firewall:

    # Check if port is in use
    lsof -i :3000
  3. Timeout Errors: For large repositories, consider increasing the timeout and concurrency:

    DEEPWIKI_REQUEST_TIMEOUT=60000 DEEPWIKI_MAX_CONCURRENCY=10 npx mcp-deepwiki

Contributing

We welcome contributions! Please see CONTRIBUTING.md for details.

License

MIT

Links

Courses

See my other projects:

  • AI Prompts - Curated AI Prompts for Cursor AI, Cline, Windsurf and Github Copilot
  • codefetch - Turn code into Markdown for LLMs with one simple terminal command
  • aidex A CLI tool that provides detailed information about AI language models, helping developers choose the right model for their needs.# tool-starter