关于 Multi Fetch MCP Server
Multi Fetch MCP Server 基于 Anthropic 的 Fetch MCP Server,借助 Firecrawl 抓取网页并将 HTML 转为 Markdown,供 LLM 检索和处理。它适合需要并行获取多个网页或分段读取较长内容的场景。
主要功能
- 01抓取网页并提取 Markdown
- 02并行获取多个 URL
- 03按起始位置分段读取内容
- 04支持原始内容输出
- 05使用 Firecrawl 搜索并抓取结果
适用场景
- 01将网页内容提供给 LLM 处理
- 02同时抓取多个网页进行整理
- 03分段读取较长网页内容
- 04搜索网页并提取结果内容
MCP 相关
服务器向 MCP 客户端提供网页抓取、多 URL 并行抓取和 Firecrawl 搜索工具,并提供 fetch 与 search 提示词。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
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(字符串,必填):要抓取的 URLmax_length(整数,可选):返回的最大字符数(默认值:50000)start_index(整数,可选):从此字符索引开始提取内容(默认值:0)raw(布尔值,可选):获取未经 Markdown 转换的原始内容(默认值:false)
-
fetch_multi- 并发抓取多个 URL,并返回结果数组。输入是一个对象数组,每个对象包含:url(字符串,必填):要抓取的 URLmax_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 文件。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。