mcpField
M
mcp-server-requests

mcp-server-requests

本地服务
github.com/coucyaAI 与智能体749 周前更新

关于 mcp-server-requests

mcp-server-requests 是为 LLM 提供网页抓取与通用 HTTP 请求能力的 MCP 服务。它支持将网页转为 Markdown 或清理后内容,并可保存网页、发送多种 HTTP 方法及读取完整响应。

主要功能

  1. 01抓取网页并转换为 Markdown
  2. 02按规则清理网页内容
  3. 03将网页保存到文件
  4. 04发送多种 HTTP 方法请求
  5. 05设置请求头与 User-Agent

适用场景

  1. 01将网页内容提供给 LLM 处理
  2. 02获取并整理网页文本
  3. 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 必须使用绝对路径,文件会保存到指定的绝对路径位置
  • --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

评论

支持 Markdown

第一次接触 MCP?

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

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