Curl Server 使用说明
项目简介
Curl Server 是一个基于 Model Context Protocol (MCP) 构建的应用后端,它作为一个 MCP 服务器运行,旨在为大型语言模型 (LLM) 提供通过 HTTP 协议访问网络资源的能力。借助 Curl Server,LLM 可以像使用 curl 命令行工具一样,向任何 URL 发送 HTTP 请求,并获取响应内容。
主要功能点
- 发送 HTTP 请求: 允许 LLM 向指定的 URL 发送 HTTP 请求。
- 支持多种 HTTP 方法: 支持常用的 GET, POST, PUT, DELETE, PATCH, HEAD, OPTIONS 等 HTTP 方法。
- 自定义请求头: 允许在 HTTP 请求中包含自定义的 header,以满足不同的 API 认证或内容协商需求。
- 发送请求体: 支持在 POST, PUT, PATCH 等请求中包含请求体 (body),用于提交数据。
- 配置请求超时: 可以设置请求的超时时间,防止请求无限期等待。
安装步骤
-
安装 MCP Get CLI: 确保你已经安装了 MCP Get 命令行工具。如果还没有安装,请运行以下命令安装:
npm install -g @michaellatman/mcp-get -
安装 Curl Server: 使用 MCP Get CLI 安装 Curl Server。运行以下命令:
npx @michaellatman/mcp-get@latest install @mcp-get-community/server-curl或者简写为:
mcp-get install @mcp-get-community/server-curl
服务器配置
对于 MCP 客户端,你需要配置以下信息以连接到 Curl Server。配置信息通常以 JSON 格式提供,例如在客户端的服务器配置文件中:
{ "servers": [ { "name": "curl-server", // 自定义服务器名称,用于在客户端中引用 "command": "npx", // 启动服务器的命令,这里使用 npx 运行 npm 包 "args": ["@mcp-get-community/server-curl"] // 命令参数,指定要运行的 npm 包名 } ] }
配置参数说明:
- 'name': 服务器的名称,客户端使用此名称来标识和调用该服务器。可以自定义,例如 "curl-server"。
- 'command': 运行服务器的命令。由于 Curl Server 是一个 npm 包,并且可以通过 'npx' 运行,所以这里设置为 '"npx"'。
- 'args': 命令的参数,用于指定要执行的服务器程序。对于 Curl Server,这里是 npm 包的名称 '"@mcp-get-community/server-curl"'。
基本使用方法
安装并配置好 Curl Server 后,在 MCP 客户端中,你可以通过调用 'curl' 工具来发送 HTTP 请求。
示例请求 (假设使用 JSON-RPC 格式):
{ "jsonrpc": "2.0", "method": "call_tool", "params": { "server_name": "curl-server", // 配置的服务器名称 "tool_name": "curl", // Curl Server 提供的工具名称为 "curl" "arguments": { // 工具的参数,符合 CurlOptionsSchema 定义 "url": "https://api.example.com/data", "method": "GET", "headers": { "Authorization": "Bearer your_token", "Content-Type": "application/json" }, "timeout": 60000 // 设置超时时间为 60 秒 (60000 毫秒) } }, "id": 1 }
参数说明:
- 'server_name': 必须与你在客户端配置中设置的服务器名称 '"curl-server"' 一致。
- 'tool_name': 固定为 '"curl"',表示调用 Curl Server 提供的 curl 工具。
- 'arguments': 一个 JSON 对象,包含了 'curl' 工具所需的参数,例如 'url' (请求 URL), 'method' (HTTP 方法), 'headers' (请求头), 'body' (请求体, 可选), 'timeout' (超时时间, 可选)。 具体的参数定义请参考 'CurlOptionsSchema'。
响应: 服务器会返回 HTTP 请求的响应,包括状态码、状态文本、响应头和响应体。响应内容通常会以 JSON 字符串的形式包含在 MCP 响应的 'content' 字段中。
通过 Curl Server,LLM 能够安全、可控地访问外部 Web API 和网络资源,从而扩展其功能和应用场景。
信息
分类
网页与API