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),用于提交数据。
  • 配置请求超时: 可以设置请求的超时时间,防止请求无限期等待。

安装步骤

  1. 安装 MCP Get CLI: 确保你已经安装了 MCP Get 命令行工具。如果还没有安装,请运行以下命令安装:

    npm install -g @michaellatman/mcp-get
  2. 安装 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