mcpField
M
Multi Fetch MCP Server

Multi Fetch MCP Server

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

关于 Multi Fetch MCP Server

Multi Fetch MCP Server 基于 Anthropic 的 Fetch MCP Server,借助 Firecrawl 抓取网页并将 HTML 转为 Markdown,供 LLM 检索和处理。它适合需要并行获取多个网页或分段读取较长内容的场景。

主要功能

  1. 01抓取网页并提取 Markdown
  2. 02并行获取多个 URL
  3. 03按起始位置分段读取内容
  4. 04支持原始内容输出
  5. 05使用 Firecrawl 搜索并抓取结果

适用场景

  1. 01将网页内容提供给 LLM 处理
  2. 02同时抓取多个网页进行整理
  3. 03分段读取较长网页内容
  4. 04搜索网页并提取结果内容

MCP 相关

服务器向 MCP 客户端提供网页抓取、多 URL 并行抓取和 Firecrawl 搜索工具,并提供 fetch 与 search 提示词。

配置

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

mcp.json · 通用配置
{
"mcpServers": {
"multi-fetch": {
"command": "uvx",
"args": [
"mcp-server-multi-fetch"
],
"env": {
"FIRECRAWL_API_KEY": "<FIRECRAWL_API_KEY>",
"FIRECRAWL_API_URL": "<FIRECRAWL_API_URL>"
}
}
}
}
启动命令uvx mcp-server-multi-fetch
需要配置的环境变量
FIRECRAWL_API_KEY密钥
FIRECRAWL_API_URL

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

安装包
pypimcp-server-multi-fetch

工具

还没有获取到工具列表

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

详细介绍

Multi Fetch MCP 服务

此项目基于 Anthropic 的 Fetch MCP Server。 此分支使用 Firecrawl Python SDK 替代直接 HTTP 抓取。设置 Firecrawl API 密钥,即可通过 Firecrawl 启用网页抓取。

这是一个提供网页内容抓取功能的 Model Context Protocol 服务。此服务可让大模型检索和处理网页内容,并将 HTML 转换为 Markdown,以便更轻松地使用。

抓取工具会截断响应,但你可以使用 start_index 参数指定内容提取的起始位置。这样,模型就能分块阅读网页,直到找到所需信息。

可用工具
  • fetch - 从互联网抓取 URL 并将其内容提取为 Markdown。

    • url(字符串,必填):要抓取的 URL
    • max_length(整数,可选):返回的最大字符数(默认值:50000)
    • start_index(整数,可选):从此字符索引开始提取内容(默认值:0)
    • raw(布尔值,可选):获取未经 Markdown 转换的原始内容(默认值:false)
  • fetch_multi - 并发抓取多个 URL,并返回结果数组。输入是一个对象数组,每个对象包含:

    • url(字符串,必填):要抓取的 URL
    • max_length(整数,可选):返回的最大字符数(默认值:50000)
    • start_index(整数,可选):从此字符索引开始提取内容(默认值:0)
    • raw(布尔值,可选):获取未经 Markdown 转换的原始内容(默认值:false)
  • search - 使用 Firecrawl 搜索 API 搜索网页,默认以 Markdown 和链接格式抓取结果。

    • query(字符串,必填):搜索查询字符串
    • limit(整数,可选):返回的最大结果数(默认值:10)
提示词
  • fetch

    • 抓取 URL 并将其内容提取为 Markdown
    • 参数:
      • url(字符串,必填):要抓取的 URL
  • search

    • 使用 Firecrawl 搜索 API 搜索网页
    • 参数:
      • query(字符串,必填):搜索查询字符串
      • limit(整数,可选):返回的最大结果数(默认值:10)

安装

运行服务前,请安装 Firecrawl SDK 并配置 API 密钥:

# Install the MCP server and Firecrawl SDK
pip install mcp-server-multi-fetch firecrawl-py

# Set your Firecrawl API key (required)
export FIRECRAWL_API_KEY="fc-YOUR_API_KEY"

# Optionally, override the Firecrawl API endpoint via env or CLI
export FIRECRAWL_API_URL="https://api.firecrawl.dev"
# or
mcp-server-multi-fetch --api-url https://api.firecrawl.dev

可选:安装 node.js,这会让抓取服务使用更可靠的 HTML 简化器。

使用 uv(推荐)

使用 uv 时,无需进行特殊安装。我们将 使用 uvx 直接运行 mcp-server-multi-fetch。

配置

为 Claude.app 配置

将以下内容添加到 Claude 设置中:

使用 uvx
"mcpServers": {
  "fetch": {
    "command": "uvx",
    "args": ["mcp-server-multi-fetch"]
  }
}
自定义 - robots.txt

默认情况下,如果请求由模型发起(通过工具),服务会遵循网站的 robots.txt 文件;如果请求由用户发起(通过提示词),则不会遵循。要禁用此功能,请将参数 --ignore-robots-txt 添加到配置中的 args 列表。

自定义 - User-agent

默认情况下,服务会根据请求是由模型发起(通过工具)还是由用户发起(通过提示词),使用以下其中一个 user-agent:

ModelContextProtocol/1.0 (Autonomous; +https://github.com/modelcontextprotocol/servers)

或

ModelContextProtocol/1.0 (User-Specified; +https://github.com/modelcontextprotocol/servers)

你可以将参数 --user-agent=YourUserAgent 添加到配置中的 args 列表来自定义此项。

自定义 - 代理

服务支持通过 --proxy-url 参数使用 HTTP(S) 和 SOCKS5 代理。例如:

# HTTP proxy
mcp-server-multi-fetch --proxy-url http://192.168.1.1:8080

# SOCKS5 proxy
mcp-server-multi-fetch --proxy-url socks5://192.168.1.1:8080

代理处理由 Firecrawl Python SDK 提供,该 SDK 支持通过 --proxy-url 标志配置 HTTP(S) 和 SOCKS5 代理。

自定义 - Firecrawl API URL

无需使用环境变量,即可通过 --api-url 覆盖 SDK 端点:

mcp-server-multi-fetch --api-url https://api.firecrawl.dev

调试

你可以使用 MCP inspector 调试服务。对于通过 uvx 安装的情况:

npx @modelcontextprotocol/inspector uvx mcp-server-multi-fetch

如果你已将软件包安装到特定目录,或正在开发该软件包:

cd path/to/servers/src/fetch
npx @modelcontextprotocol/inspector uv run mcp-server-multi-fetch

许可证

mcp-server-multi-fetch 采用 MIT License。这意味着你可以自由使用、修改和分发该软件,但须遵守 MIT License 的条款和条件。更多详情请参阅项目仓库中的 LICENSE 文件。

评论

支持 Markdown

第一次接触 MCP?

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

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