返回市场
深度维基-mcp

深度维基-mcp

作者:regenrek1139 星标更新:2025-07-22

项目介绍

Deepwiki MCP 服务器

⚠️ 重要通知:此服务器目前无法工作,因为DeepWiki已切断了抓取的可能性。我们建议暂时使用官方的DeepWiki MCP服务器,地址为 https://docs.devin.ai/work-with-devin/deepwiki-mcp。

这是一个非官方的Deepwiki MCP服务器

它通过MCP接收一个Deepwiki URL,爬取所有相关页面,将其转换为Markdown,并返回一个文档或按页列出。

功能

  • 🔒 域名安全:仅处理来自 deepwiki.com 的URL
  • 🧹 HTML净化:去除头部、尾部、导航、脚本和广告
  • 🔗 链接重写:调整链接以适应Markdown
  • 📄 多种输出格式:获取一个文档或结构化的页面
  • 🚀 性能:快速爬取,可调节并发数和深度
  • NLP:用于搜索库名

使用方法

可以使用的提示:

deepwiki fetch 如何使用 gpt-image-1 和 "vercel ai" SDK
deepwiki fetch 如何在 shadcn 中创建新块
deepwiki fetch 我想理解 X 是如何工作的

获取完整的文档(默认)

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

单个页面

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

通过简短形式获取

use deepwiki fetch tailwindlabs/tailwindcss
deepwiki fetch 库

deepwiki fetch URL
deepwiki fetch <name>/<repo>

deepwiki 多个页面...
deepwiki 单个页面 URL...

Cursor 集成

将以下内容添加到 .cursor/mcp.json 文件中。

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

Deepwiki Logo

MCP 工具集成

该包注册了一个名为 deepwiki_fetch 的工具,你可以与任何兼容MCP的客户端一起使用:

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

参数

  • url(必需):Deepwiki 存储库的起始 URL
  • mode(可选):输出模式,"aggregate" 为单个 Markdown 文档(默认),"pages" 为结构化页面数据
  • maxDepth(可选):要爬取的最大页面深度(默认:10)

响应格式

成功响应(聚合模式)

{
  "status": "ok",
  "data": "# 页面标题\n\n页面内容...\n\n---\n\n# 另一页\n\n更多内容...",
  "totalPages": 5,
  "totalBytes": 25000,
  "elapsedMs": 1200
}

成功响应(页面模式)

{
  "status": "ok",
  "data": [
    {
      "path": "index",
      "markdown": "# 主页\n\n欢迎来到存储库。"
    },
    {
      "path": "section/page1",
      "markdown": "# 第一页\n\n这是第一页的内容。"
    }
  ],
  "totalPages": 2,
  "totalBytes": 12000,
  "elapsedMs": 800
}

错误响应

{
  "status": "error",
  "code": "DOMAIN_NOT_ALLOWED",
  "message": "只允许 deepwiki.com 域名"
}

部分成功响应

{
  "status": "partial",
  "data": "# 页面标题\n\n页面内容...",
  "errors": [
    {
      "url": "https://deepwiki.com/user/repo/page2",
      "reason": "HTTP 错误:404"
    }
  ],
  "totalPages": 1,
  "totalBytes": 5000,
  "elapsedMs": 950
}

进度事件

使用该工具时,在爬取过程中会收到进度事件:

已抓取 https://deepwiki.com/user/repo: 12500 字节,耗时 450 毫秒(状态:200)
已抓取 https://deepwiki.com/user/repo/page1: 8750 字节,耗时 320 毫秒(状态:200)
已抓取 https://deepwiki.com/user/repo/page2: 6200 字节,耗时 280 毫秒(状态:200)

本地开发 - 安装

本地使用

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

从源码

# 克隆仓库
git clone https://github.com/regenrek/deepwiki-mcp.git
cd deepwiki-mcp

# 安装依赖
npm install

# 构建包
npm run build

直接 API 调用

对于 HTTP 传输,你可以直接调用 API:

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"
    }
  }'

配置

环境变量

  • DEEPWIKI_MAX_CONCURRENCY:最大并发请求数(默认:5)
  • DEEPWIKI_REQUEST_TIMEOUT:请求超时时间(毫秒,默认:30000)
  • DEEPWIKI_MAX_RETRIES:失败请求的最大重试次数(默认:3)
  • DEEPWIKI_RETRY_DELAY:重试回退的基本延迟(毫秒,默认:250)

要配置这些,请在项目根目录创建一个 .env 文件:

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

Docker 部署(未测试)

构建并运行 Docker 镜像:

# 构建镜像
docker build -t mcp-deepwiki .

# 使用 stdio 传输运行(开发)
docker run -it --rm mcp-deepwiki

# 使用 HTTP 传输运行(生产)
docker run -d -p 3000:3000 mcp-deepwiki --http --port 3000

# 使用环境变量运行
docker run -d -p 3000:3000 \
  -e DEEPWIKI_MAX_CONCURRENCY=10 \
  -e DEEPWIKI_REQUEST_TIMEOUT=60000 \
  mcp-deepwiki --http --port 3000

开发

# 安装依赖
pnpm install

# 在开发模式下使用 stdio 运行
pnpm run dev-stdio

# 运行测试
pnpm test

# 运行 linter
pnpm run lint

# 构建包
pnpm run build

故障排除

常见问题

  1. 权限被拒绝:如果运行 CLI 时遇到 EACCES 错误,请确保二进制文件具有可执行权限:

    chmod +x ./node_modules/.bin/mcp-deepwiki
    
  2. 连接被拒绝:确保端口可用且未被防火墙阻止:

    # 检查端口是否已被占用
    lsof -i :3000
    
  3. 超时错误:对于大型存储库,考虑增加超时时间和并发数:

    DEEPWIKI_REQUEST_TIMEOUT=60000 DEEPWIKI_MAX_CONCURRENCY=10 npx mcp-deepwiki
    

贡献

我们欢迎贡献!请参阅 CONTRIBUTING.md 获取详情。

许可证

MIT

链接

课程

查看我的其他项目:

  • AI 提示 - 为 Cursor AI、Cline、Windsurf 和 GitHub Copilot 精心挑选的 AI 提示
  • codefetch - 通过一个简单的终端命令将代码转换为 Markdown,供 LLM 使用
  • aidex - 一个 CLI 工具,提供详细的 AI 语言模型信息,帮助开发者选择适合他们需求的模型。