mcpField
D
Deepwiki MCP Server

Deepwiki MCP Server

本地服务
github.com/instructa浏览器自动化1775 周前更新

关于 Deepwiki MCP Server

Nowledge 是一个 MCP 服务,可抓取公开网址中的相关页面并转换为 Markdown,供开发者等查阅文档或网页内容。它可返回合并文档或结构化页面结果,并支持配置抓取深度和并发数。

主要功能

  1. 01抓取公开网页
  2. 02将内容转换为 Markdown
  3. 03返回合并或分页结果
  4. 04调整抓取深度和并发数
  5. 05按库名称或关键词搜索

适用场景

  1. 01收集网站中的文档
  2. 02将单个页面提取为 Markdown
  3. 03按名称查找库文档

MCP 相关

它向 MCP 客户端注册 `nowledge_fetch` 工具,接收起始网址,并可返回合并后的 Markdown 或结构化页面数据。

配置

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

mcp.json · 通用配置
{
"mcpServers": {
"nowledge": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"build"
]
}
}
}
启动命令docker run -i --rm build

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
ocibuild

工具

还没有获取到工具列表

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

详细介绍

Nowledge MCP 服务

这是 Nowledge 官方 MCP 服务

它通过 MCP 接收网页 URL,抓取所有相关页面,将其转换为 Markdown,并返回单个文档或按页面整理的列表。

功能

  • 🌐 全网抓取:抓取任何公开网页 URL 的内容
  • 🧹 HTML 清理:移除页眉、页脚、导航、脚本和广告
  • 🔗 链接重写:调整链接,使其在 Markdown 中正常使用
  • 📄 多种输出格式:获取单个文档或结构化页面
  • 🚀 性能:快速抓取,并可调整并发数和深度
  • NLP:按库名称或关键词搜索

用法

可使用的提示词:

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

抓取完整文档(默认)

use nowledge https://some-website.com/shadcn-ui/ui
use nowledge multiple pages https://some-website.com/shadcn-ui/ui

单个页面

use nowledge fetch single page https://some-website.com/tailwindlabs/tailwindcss/2.2-theme-system

按简称获取

use nowledge fetch tailwindlabs/tailwindcss
nowledge fetch library

nowledge fetch url
nowledge fetch <name>/<repo>

nowledge multiple pages ...
nowledge single page url ...

Cursor

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

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

Nowledge 标志

MCP 工具集成

此软件包会注册一个名为 nowledge_fetch 的工具,可与任何兼容 MCP 的客户端搭配使用:

{
  "action": "nowledge_fetch",
  "params": {
    "url": "https://some-website.com/user/repo",
    "mode": "aggregate",
    "maxDepth": "1"
  }
}
参数
  • url(必需):网站或代码库的起始 URL
  • mode(可选):输出模式,可以是用于生成单个 Markdown 文档的 "aggregate"(默认),也可以是用于生成结构化页面数据的 "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": "FETCH_FAIL",
  "message": "Failed to fetch content from the web"
}
部分成功响应
{
  "status": "partial",
  "data": "# Page Title\n\nPage content...",
  "errors": [
    {
      "url": "https://some-website.com/user/repo/page2",
      "reason": "HTTP error: 404"
    }
  ],
  "totalPages": 1,
  "totalBytes": 5000,
  "elapsedMs": 950
}
进度事件

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

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

本地开发 - 安装

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

# 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": "nowledge_fetch",
    "params": {
      "url": "https://some-website.com/user/repo",
      "mode": "aggregate"
    }
  }'

配置

环境变量
  • NOWLEDGE_MAX_CONCURRENCY:最大并发请求数(默认值:5)
  • NOWLEDGE_REQUEST_TIMEOUT:请求超时时间,单位为毫秒(默认值:30000)
  • NOWLEDGE_MAX_RETRIES:失败请求的最大重试次数(默认值:3)
  • NOWLEDGE_RETRY_DELAY:重试退避的基础延迟,单位为毫秒(默认值:250)

要配置这些变量,请在项目根目录下创建 .env 文件:

NOWLEDGE_MAX_CONCURRENCY=10
NOWLEDGE_REQUEST_TIMEOUT=60000
NOWLEDGE_MAX_RETRIES=5
NOWLEDGE_RETRY_DELAY=500

Docker 部署(未经测试)

构建并运行 Docker 镜像:

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

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

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

# Run with environment variables
docker run -d -p 3000:3000 \
  -e NOWLEDGE_MAX_CONCURRENCY=10 \
  -e NOWLEDGE_REQUEST_TIMEOUT=60000 \
  mcp-nowledge --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-nowledge
    
  2. 连接被拒绝:确保端口可用且未被防火墙阻止:

    # Check if port is in use
    lsof -i :3000
    
  3. 超时错误:对于大型代码库,可以考虑延长超时时间并提高并发数:

    NOWLEDGE_REQUEST_TIMEOUT=60000 NOWLEDGE_MAX_CONCURRENCY=10 npx mcp-nowledge
    

贡献

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

许可证

MIT

链接

课程

查看我的其他项目:

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

评论

支持 Markdown

第一次接触 MCP?

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

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