关于 Deepwiki MCP Server
Nowledge 是一个 MCP 服务,可抓取公开网址中的相关页面并转换为 Markdown,供开发者等查阅文档或网页内容。它可返回合并文档或结构化页面结果,并支持配置抓取深度和并发数。
主要功能
- 01抓取公开网页
- 02将内容转换为 Markdown
- 03返回合并或分页结果
- 04调整抓取深度和并发数
- 05按库名称或关键词搜索
适用场景
- 01收集网站中的文档
- 02将单个页面提取为 Markdown
- 03按名称查找库文档
MCP 相关
它向 MCP 客户端注册 `nowledge_fetch` 工具,接收起始网址,并可返回合并后的 Markdown 或结构化页面数据。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
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"]
}
}
}

MCP 工具集成
此软件包会注册一个名为 nowledge_fetch 的工具,可与任何兼容 MCP 的客户端搭配使用:
{
"action": "nowledge_fetch",
"params": {
"url": "https://some-website.com/user/repo",
"mode": "aggregate",
"maxDepth": "1"
}
}
参数
url(必需):网站或代码库的起始 URLmode(可选):输出模式,可以是用于生成单个 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
故障排除
常见问题
-
权限被拒绝:如果运行 CLI 时出现 EACCES 错误,请确保二进制文件具有可执行权限:
chmod +x ./node_modules/.bin/mcp-nowledge -
连接被拒绝:确保端口可用且未被防火墙阻止:
# Check if port is in use lsof -i :3000 -
超时错误:对于大型代码库,可以考虑延长超时时间并提高并发数:
NOWLEDGE_REQUEST_TIMEOUT=60000 NOWLEDGE_MAX_CONCURRENCY=10 npx mcp-nowledge
贡献
欢迎贡献!详情请参阅 CONTRIBUTING.md。
许可证
MIT
链接
- GitHub:instructa/nowledge
- X/Twitter:@kregenrek
- Bluesky:@kevinkern.dev
课程
- 学习 Cursor AI:Ultimate Cursor Course
- 学习使用 AI 构建软件:instructa.ai
查看我的其他项目:
- AI Prompts - 为 Cursor AI、Cline、Windsurf 和 Github Copilot 精选的 AI 提示词
- codefetch - 通过一条简单的终端命令将代码转换为适用于大模型的 Markdown
- aidex 一款 CLI 工具,可提供 AI 语言模型的详细信息,帮助开发者选择适合需求的模型。
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。