使用说明

项目简介

mcp-rquest 是一个基于 Model Context Protocol (MCP) 的服务器,旨在为大型语言模型 (LLM) 提供强大的 HTTP 请求功能。它利用 'rquest' 库的浏览器指纹技术,使 LLM 能够更自然地与网站交互,并绕过一些反爬虫机制。通过此服务器,LLM 可以执行各种 HTTP 请求,获取网页内容、API 数据等,从而扩展其知识库和操作能力。

主要功能点

  • 完整的 HTTP 方法支持: 支持 GET, POST, PUT, DELETE 等常用 HTTP 方法。
  • 浏览器指纹模拟: 模拟 Chrome, Firefox, Safari, Edge 等多种浏览器的指纹,包括 TLS, JA3/JA4 和 HTTP/2,提高请求的隐蔽性,降低被网站识别为机器人的风险。
  • 内容处理:
    • 自动处理大型响应,并进行 token 计数,避免 LLM 处理过长文本。
    • HTML 转换为 Markdown 格式,更适合 LLM 理解和处理。
    • 安全存储响应内容到系统临时目录,方便后续检索和使用。
  • 认证支持: 支持 Basic, Bearer 和自定义认证方式,可以访问需要身份验证的 API 或网站。
  • 请求定制: 灵活定制请求头、Cookie、重定向策略、表单数据、JSON 负载、multipart/form-data 等参数。
  • SSL 安全: 使用 BoringSSL 保证连接安全,并提供真实的浏览器指纹。

安装步骤

推荐使用 uv (无需安装)

使用 'uv' 时,无需额外安装步骤。可以直接使用 'uvx' 运行 mcp-rquest。

使用 pip 安装

或者,您可以使用 pip 安装 'mcp-rquest':

pip install mcp-rquest

安装完成后,可以使用以下命令作为脚本运行:

python -m mcp_rquest

服务器配置

为了让 MCP 客户端(例如 Claude.app)连接到 'mcp-rquest' 服务器,您需要在客户端中配置服务器信息。配置信息为 JSON 格式,示例如下,请根据您的安装方式选择相应的配置添加到 MCP 客户端的服务器配置中。

使用 'uvx' 的配置:

{
  "mcpServers": {
    "http-rquest": {  // 服务器名称,可以自定义
      "command": "uvx", // 启动服务器的命令,这里使用 uvx 运行
      "args": ["mcp-rquest"] // 命令参数,这里指定运行 mcp-rquest
    }
  }
}

使用 'pip' 的配置:

{
  "mcpServers": {
    "http-rquest": { // 服务器名称,可以自定义
      "command": "python", // 启动服务器的命令,这里使用 python 运行
      "args": ["-m", "mcp_rquest"] // 命令参数,-m 表示以模块方式运行 mcp_rquest
    }
  }
}

使用 'pipx' 的配置:

{
  "mcpServers": {
    "http-rquest": { // 服务器名称,可以自定义
      "command": "pipx", // 启动服务器的命令,这里使用 pipx 运行
      "args": ["run", "mcp-rquest"] // 命令参数,run 表示运行,mcp-rquest 是要运行的程序
    }
  }
}

基本使用方法

'mcp-rquest' 通过工具 (Tools) 的形式向 LLM 提供 HTTP 请求能力。以下是一些可用的工具及其基本用法:

  • 'http_get': 发送 GET 请求获取网页内容或 API 数据。

    • 例如,让 LLM 调用 'http_get' 工具,并提供 URL 参数,即可获取指定网页的内容。
    • 可选参数包括 'headers' (自定义请求头), 'cookies' (自定义 Cookie), 'proxy' (代理设置) 等。
  • 'http_post': 发送 POST 请求提交数据。

    • 例如,让 LLM 调用 'http_post' 工具,并提供 URL 和 'json_payload' 参数,即可向 API 提交 JSON 数据。
    • 支持 'form', 'json_payload', 'body', 'multipart' 等多种数据提交方式。
  • 'get_stored_response': 获取之前 HTTP 请求存储的完整响应内容。

    • 当 HTTP 响应内容过大时,'mcp-rquest' 会将响应内容存储到临时文件,并返回响应 ID。可以使用此工具通过 'response_id' 获取完整内容。
    • 可以通过 'start_line' 和 'end_line' 参数获取部分内容。
  • 'get_stored_response_with_markdown': 获取存储的 HTTP 响应内容,如果响应是 HTML 格式,则自动转换为 Markdown 格式。

    • 方便 LLM 处理 HTML 内容,提高理解效率。

注意: 这些工具通常由 LLM 在需要时自动调用,您无需直接操作这些工具。您只需要配置好 MCP 服务器,并在 LLM 的提示词或指令中引导 LLM 使用这些工具即可。

信息

分类

网页与API