mcpField
D
Deepwiki MCP Server

Deepwiki MCP Server

本地服务
github.com/regenrek开发工具1.4k66 周前更新

关于 Deepwiki MCP Server

Deepwiki MCP Server 是一个非官方的 MCP 服务,用于抓取 deepwiki.com 上的页面,并将其转换为 Markdown 文档。它面向在 Cursor 等编辑器中查询代码库文档的开发者。README 提示,该服务因 DeepWiki 限制抓取已无法正常工作,并推荐改用官方的 DeepWiki MCP 服务。

主要功能

  1. 01仅处理 deepwiki.com 域名的 URL
  2. 02剥离页头、页脚、导航和脚本等 HTML 内容
  3. 03改写链接以适配 Markdown 格式
  4. 04支持整篇文档或按页返回结构化数据
  5. 05可调节并发数与抓取深度

适用场景

  1. 01将 DeepWiki 文档导入编辑器上下文
  2. 02按库名或仓库简称获取项目文档
  3. 03在 Cursor 中为编码 Agent 提供仓库说明

MCP 相关

该项目是一个 MCP 服务,向 MCP 客户端暴露名为 deepwiki_fetch 的工具,接收起始 URL、输出模式和最大抓取深度等参数。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

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

获取完整文档(默认)

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 library

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

deepwiki multiple pages ...
deepwiki single page 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": "# Page Title\n\nPage content...\n\n---\n\n# Another Page\n\nMore content...",
  "totalPages": 5,
  "totalBytes": 25000,
  "elapsedMs": 1200
}
成功响应(页面模式)
{
  "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
}
错误响应
{
  "status": "error",
  "code": "DOMAIN_NOT_ALLOWED",
  "message": "Only deepwiki.com domains are allowed"
}
部分成功响应
{
  "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
}
进度事件

使用此工具时,抓取期间会收到进度事件:

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)

本地开发 - 安装

本地使用
{
  "mcpServers": {
    "mcp-deepwiki": {
      "command": "node",
      "args": ["./bin/cli.mjs"]
    }
  }
}
从源代码安装
# Clone the repository
git clone https://github.com/regenrek/deepwiki-mcp.git
cd deepwiki-mcp

# Install dependencies
npm install

# Build the package
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 镜像:

# 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

开发

# 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

故障排除

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

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

    # Check if port is in use
    lsof -i :3000
    
  3. 超时错误:对于大型仓库,可考虑增加超时时间和并发数:

    DEEPWIKI_REQUEST_TIMEOUT=60000 DEEPWIKI_MAX_CONCURRENCY=10 npx mcp-deepwiki
    

贡献

欢迎贡献!详情请参阅 CONTRIBUTING.md。

许可证

MIT

链接

课程

查看我的其他项目:

  • AI Prompts - 为 Cursor AI、Cline、Windsurf 和 Github Copilot 精选的 AI 提示词
  • codefetch - 只需一条简单的终端命令,即可将代码转换为适用于大模型的 Markdown
  • aidex 一款 CLI 工具,可提供 AI 语言模型的详细信息,帮助开发者选择适合其需求的模型。# tool-starter

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。