返回 MCP 目录
public公开dns本地运行

docs-fetch-mcp

一个用于获取网页内容并支持递归探索的MCP服务器工具

article

README

🚀 文档抓取 MCP 服务器

文档抓取 MCP 服务器是一个用于抓取网页内容的工具,具备递归探索能力。它能让大型语言模型(LLMs)自主探索网页和文档,进而学习特定主题。

🚀 快速开始

若你想让大型语言模型通过探索网页和文档学习特定主题,可使用此服务器。按以下步骤操作:

  1. 克隆此仓库:
git clone https://github.com/wolfyy970/docs-fetch-mcp.git
cd docs-fetch-mcp
  1. 安装依赖项:
npm install
  1. 构建项目:
npm run build
  1. 配置您的 MCP 设置在您的 Claude 客户端中:
{
  "mcpServers": {
    "docs-fetch": {
      "command": "node",
      "args": [
        "/path/to/docs-fetch-mcp/build/index.js"
      ],
      "env": {
        "MCP_TRANSPORT": "pipe"
      }
    }
  }
}

✨ 主要特性

  • 内容提取:干净地从网页中提取主要内容,去除导航、广告和无关元素等干扰项。
  • 链接分析:识别并提取页面中的链接,评估其相关性。
  • 递归探索:遍历同一域名内的相关链接内容,深度限制在指定范围内。
  • 并行处理:高效地进行内容抓取,支持并发请求及错误处理。
  • 健壮的错误处理:优雅地处理网络问题、超时和格式不正确页面。
  • 双策略方法:首先使用快速 axios 请求,对于更复杂的页面则以 puppeteer 作为备用方案。
  • 防止超时:实现全局超时处理,确保在 MCP 时间限制内可靠运行。
  • 部分结果:即使某些页面未能完全加载,仍可返回已获取的内容。

💻 使用示例

基础用法

服务器公开了一个单一的 MCP 工具:fetch_doc_content,用于抓取网页内容并具备递归探索链接页面的功能。

{
  "rootUrl": "https://example.com/docs",
  "explorationDepth": 2,
  "pagesExplored": 5,
  "content": [
    {
      "url": "https://example.com/docs",
      "title": "Documentation",
      "content": "Main page content...",
      "links": [
        {
          "url": "https://example.com/docs/topic1",
          "text": "Topic 1"
        }
      ]
    }
  ]
}

参数说明

  • url (字符串, 必填): 要抓取的网页 URL。
  • depth (数字, 可选, 默认值: 1): 目录/链接探索的最大深度(1 - 5)。

📦 安装指南

  • 克隆仓库
git clone https://github.com/wolfyy970/docs-fetch-mcp.git
cd docs-fetch-mcp
  • 安装依赖
npm install
  • 构建项目
npm run build
  • 配置 MCP 设置:在您的 Claude 客户端中进行如下配置:
{
  "mcpServers": {
    "docs-fetch": {
      "command": "node",
      "args": [
        "/path/to/docs-fetch-mcp/build/index.js"
      ],
      "env": {
        "MCP_TRANSPORT": "pipe"
      }
    }
  }
}

📚 详细文档

文档抓取 MCP 服务器提供了一种简单而强大的方法,用于检索和探索网页内容。它使得:

  • 抓取干净、可读的任何网页内容。
  • 具备递归探索链接页面的功能,深度限制在指定范围内。
  • 在同一域名内遍历链接以获取全面信息。
  • 智能过滤导航链接,专注于内容丰富的页面。

此工具特别适用于用户希望 LLM 通过探索文档或网页内容来学习特定主题的情况。

🔧 技术细节

依赖项

| 属性 | 详情 | |------|------| | 依赖项 | 此项目依赖于 @modelcontextprotocol/sdk(MCP 服务器 SDK)、puppeteer(无头浏览器用于网页交互)和 axios(HTTP 客户端用于发送请求)。 |

开发模式

要以开发模式运行服务器,可使用以下命令:

npm run dev

📄 许可证

本项目采用 MIT 许可证。

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端