基本能力
产品定位
Docs Fetch MCP Server 是一个专门为 LLMs 设计的网页内容获取和探索工具,旨在通过递归探索网页链接来获取和学习特定主题的内容。
核心功能
- 内容提取:从网页中提取干净、可读的内容,去除导航、广告等干扰元素。
- 链接分析:识别并提取页面中的链接,评估其相关性。
- 递归探索:在同一域名内跟随链接到相关内容,深度可配置。
- 并行处理:通过并发请求和错误处理高效爬取内容。
- 双策略方法:首先使用快速的 axios 请求,对于复杂页面则回退到 puppeteer。
- 超时预防:实现全局超时处理,确保在 MCP 时间限制内可靠运行。
- 部分结果:即使某些页面加载不完全,也能返回可用内容。
适用场景
- LLMs 需要学习特定主题的文档或网页内容。
- 需要从多个相关网页中提取结构化信息的场景。
- 自动化文档探索和内容收集任务。
工具列表
fetch_doc_content
:获取网页内容并探索链接页面到指定深度。- 参数:
url
(string, required): 要获取的网页 URL。depth
(number, optional, default: 1): 目录/链接探索的最大深度 (1-5)。
- 返回:包含根 URL、探索深度、已探索页面和内容的 JSON 对象。
常见问题解答
- 如何处理网络问题或超时?:服务器具有健壮的错误处理机制,能够优雅处理网络问题、超时和格式错误的页面。
- 是否支持跨域名探索?:目前仅支持同一域名内的链接探索。
使用教程
使用依赖
确保已安装 Node.js 和 npm。
安装教程
-
克隆仓库:
bash
git clone https://github.com/wolfyy970/docs-fetch-mcp.git
cd docs-fetch-mcp -
安装依赖:
bash
npm install -
构建项目:
bash
npm run build -
在 Claude Client 中配置 MCP 设置:
json
{
"mcpServers": {
"docs-fetch": {
"command": "node",
"args": [
"/path/to/docs-fetch-mcp/build/index.js"
],
"env": {
"MCP_TRANSPORT": "pipe"
}
}
}
}
调试方式
运行开发模式:
bash
npm run dev