关于 mcp-server-requests
mcp-server-requests 是为 LLM 提供网页抓取与通用 HTTP 请求能力的 MCP 服务。它支持将网页转为 Markdown 或清理后内容,并可保存网页、发送多种 HTTP 方法及读取完整响应。
主要功能
- 01抓取网页并转换为 Markdown
- 02按规则清理网页内容
- 03将网页保存到文件
- 04发送多种 HTTP 方法请求
- 05设置请求头与 User-Agent
适用场景
- 01将网页内容提供给 LLM 处理
- 02获取并整理网页文本
- 03保存抓取结果以供后续使用
MCP 相关
它向 MCP 客户端提供 fetch、fetch_to_file 和 http_request 工具,用于读取网页、保存内容和发送 HTTP 请求。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
mcp-server-requests
一个提供 HTTP 请求功能的 MCP 服务,使大模型能够获取和处理网页内容。
功能
- fetch:网页内容获取工具
- 支持将网页内容转换为 Markdown 格式
- 支持筛选网页内容(如 script、style、meta 等非可视元素)
- 将内容提供给大模型上下文,通过转换为 Markdown 或筛除非可视元素来减少 token 消耗
- fetch_to_file:网页内容保存工具
- 网页内容不会提供给大模型上下文,避免过多的 token 消耗
- http_request:通用 HTTP 请求工具
- 支持所有 HTTP 方法(GET、POST、PUT、PATCH、DELETE)
- 支持自定义请求标头
- 支持文本和 JSON 请求正文
- 向大模型返回完整的 HTTP 响应信息(状态、标头、正文)
- 支持自定义 User-Agent
- 支持随机生成 User-Agent
- 支持使用 MCP Root 功能,通过
--use-root控制,可与具备root功能的 MCP 客户端配合使用
安装
git clone https://github.com/coucya/mcp-server-requests.git
cd mcp-server-requests
pip install .
用法
MCP 服务配置
{
"mcpServers": {
"mcp-server-requests": {
"command": "python",
"args": [
"-m",
"mcp_server_requests"
]
}
}
}
命令行
0. 启动 MCP 服务
直接启动 MCP 服务:
python -m mcp_server_requests
选项
--user-agent TEXT:指定自定义 User-Agent 字符串--random-user-agent [browser=xxx;os=xxx]:使用随机生成的 User-Agent--force-user-agent:强制使用命令行指定的 User-Agent,忽略大模型提供的 UA--list-os-and-browser:列出随机生成 User-Agent 时可用的浏览器和操作系统--use-root:启用文件操作的工作区根目录支持(需要 MCP 客户端支持root功能)--allow-external-file-access:允许在工作区外进行文件操作(仅与 --use-root 一起使用)
选项详情
-
--user-agent和--random-user-agent互斥,不能同时使用 -
User-Agent 设置方式:
- 自定义字符串:
--user-agent "Mozilla/5.0 (...)" - 完全随机:
--random-user-agent - 按条件随机生成:
- 指定浏览器类型:
--random-user-agent browser=chrome - 指定操作系统:
--random-user-agent os=windows - 同时指定浏览器和操作系统:
--random-user-agent browser=chrome;os=windows - 注意:浏览器和操作系统参数不区分大小写
- 指定浏览器类型:
- 自定义字符串:
-
使用
--list-os-and-browser查看--random-user-agent可用的浏览器和操作系统。 -
--force-user-agent选项控制 User-Agent 的优先级:- 启用
--force-user-agent时:强制使用命令行指定的 User-Agent(通过--user-agent或--random-user-agent) - 未启用
--force-user-agent时:- 如果大模型在
headers中提供了 User-Agent,则使用大模型提供的值 - 否则使用命令行指定的 User-Agent
- 如果大模型在
- 如果未指定,则使用默认 User-Agent:
Mozilla/5.0 (compatible; mcp-server-requests/{version})
- 启用
-
--use-root启用相对于工作区根目录的文件操作:- 前提条件:需要 MCP 客户端支持
root功能 - 启用时:
fetch_to_file支持绝对路径或相对路径;相对路径以工作区根目录为基准 - 未启用时:
fetch_to_file必须使用绝对路径,文件会保存到指定的绝对路径位置
- 前提条件:需要 MCP 客户端支持
-
--allow-external-file-access:控制是否允许在工作区外进行文件操作(仅在使用 --use-root 时可用)- 前提条件:需要启用
--use-root;如果未启用--use-root,此选项不会生效 - 启用时:
fetch_to_file可以操作工作区目录之外的文件 - 未启用时:
fetch_to_file只能操作工作区目录内的文件;即使提供了绝对路径,也无法操作工作区外的文件
- 前提条件:需要启用
1. fetch - 获取网页内容
fetch 子命令等同于 MCP fetch 工具的功能,用于演示获取内容的能力。
python -m mcp_server_requests fetch <URL> [--return-content {raw,basic_clean,strict_clean,markdown}]
选项:
--return-content:返回的内容类型(默认:markdown)- raw:返回未经处理的原始 HTML 内容(包含响应标头)
- basic_clean:进行基础清理,移除非显示标签(script、style、meta 等),同时保留结构
- strict_clean:进行严格清理,移除非显示标签和大部分 HTML 属性,仅保留必要结构
- markdown:将 HTML 转换为简洁的 Markdown 格式
功能
MCP 工具详情
1. fetch - 获取网页内容
从指定 URL 获取内容,并以指定格式返回。
参数:
- url(必需,string):目标 URL,支持 HTTP/HTTPS 协议
- return_content(可选,enum):内容处理格式,默认为 "markdown"
"raw":返回包含完整 HTTP 响应标头的原始 HTML 内容"basic_clean":进行基础清理,移除非显示标签(script、style、meta 等),同时保留 HTML 结构"strict_clean":进行严格清理,移除非显示标签和大部分 HTML 属性,仅保留必要结构"markdown":将 HTML 内容转换为简洁的 Markdown 格式
返回: 根据指定格式处理后的内容
2. fetch_to_file - 获取网页内容并保存到文件
从指定 URL 获取内容并保存到文件。
参数:
- url(必需,string):目标 URL
- file_path(必需,string):文件保存路径
- 启用
--use-root时:必须是相对路径(相对于工作区根目录) - 未启用
--use-root时:必须是绝对路径
- 启用
- return_content(可选,enum):内容处理格式,默认为 "markdown",选项与 fetch 工具相同
功能:
- 自动为嵌套路径创建父目录
- 所有文件均以 UTF-8 编码保存
- 启用
--use-root时,可配合--allow-external-file-access控制文件访问范围
返回: 操作结果或错误消息
3. http_request - 通用 HTTP 请求工具
使用任意方法发送 HTTP 请求并获取完整响应。
参数:
- url(必需,string):目标 URL
- method(可选,enum):HTTP 方法,默认为 "GET"
"GET"、"POST"、"PUT"、"PATCH"、"DELETE"
- query(可选,object):URL 查询参数,以键值对形式提供,并自动进行 URL 编码
- headers(可选,object):自定义 HTTP 请求标头
- data(可选,string):文本格式的请求正文数据,与 json 参数互斥
- json(可选,任意类型):JSON 格式的请求正文数据,与 data 参数互斥
参数限制:
data和json参数不能同时使用- 使用
json参数时,会自动设置Content-Type: application/json - 使用
data参数时,建议手动设置适当的Content-Type
返回: 完整的 HTTP 响应(状态行、响应标头和响应正文)
注意:独立的 HTTP 方法工具(http_get、http_post、http_put、http_patch、http_delete)已移除,并由统一的 http_request 工具取代。
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。