Back to MCP directory
publicPublicdnsLocal runtime

mcp-api-client

一个专为LLM设计的轻量级MCP服务器,用于快速测试和探索REST API,无需编写测试代码即可通过自然语言直接与API端点交互。

article

README

🚀 mcp-api-client

大语言模型的Postman。这是一个专门为快速进行REST API测试和探索而设计的MCP服务器,资源使用效率高。现在,你的大语言模型助手无需编写样板测试代码,就可以直接与端点进行交互、调试并实时验证。

本项目基于 FastMCPhttpx 构建。

🚀 快速开始

本项目旨在将API测试的强大功能直接融入你的AI辅助开发工作流程中,避免传统API测试时编写脚本或切换到Postman等GUI工具的繁琐操作。

✨ 主要特性

  • 大语言模型原生测试:无需编写测试代码,使用自然语言即可快速测试端点。
  • 资源高效利用:最小化响应格式,减少令牌消耗,默认仅返回状态和响应体。
  • 零样板代码原型开发:可立即与新的API进行交互,了解其行为。
  • 本地开发好帮手:非常适合在构建阶段测试本地开发服务器(localhost)。

📦 安装指南

要求:Python 3.10+

git clone https://github.com/etaaa/mcp-api-client.git
cd mcp-api-client
pip install .

📚 详细文档

配置步骤

  1. 查找安装路径:
    which mcp-api-client
    
  2. 将服务器添加到你的MCP客户端配置(例如Claude Desktop):
    {
      "mcpServers": {
        "api-client": {
          "command": "/full/path/to/mcp-api-client"
        }
      }
    }
    

工具介绍

http_request

发起单个HTTP请求,返回最少的响应数据。 | 参数 | 类型 | 是否必需 | 描述 | |-----------|------|----------|-------------| | method | 字符串 | 是 | HTTP方法(GET、POST、PUT等) | | url | 字符串 | 是 | 目标端点URL | | body | 任意类型 | 否 | 请求体(如果是字典或列表,将自动序列化为JSON) | | headers | 字典 | 否 | 自定义请求头 | | params | 字典 | 否 | 查询参数 | | timeout | 浮点数 | 否 | 请求超时时间(默认:30秒) | | include_headers | 布尔值 | 否 | 是否包含响应头(默认:false) |

响应格式

{
  "status": 200,
  "body": {"key": "value"}
}

http_batch_request

在一次调用中高效执行多个HTTP请求。强烈推荐用于测试多个端点,以最小化令牌使用。 | 参数 | 类型 | 是否必需 | 描述 | |-----------|------|----------|-------------| | requests | 列表 | 是 | 请求对象列表(每个对象包含方法、URL、请求体、请求头、查询参数) | | timeout | 浮点数 | 否 | 每个请求的超时时间(默认:30秒) | | include_headers | 布尔值 | 否 | 是否包含响应头(默认:false) |

示例

{
  "requests": [
    {"method": "GET", "url": "http://localhost:8000/health"},
    {"method": "POST", "url": "http://localhost:8000/users", "body": {"name": "Test"}},
    {"method": "GET", "url": "http://localhost:8000/users/1"}
  ]
}

返回值:按请求顺序返回响应数组。

💻 使用示例

基础用法

单个请求

method: GET
url: http://localhost:8000/health

高级用法

批量测试(推荐用于多个端点)

requests:
  - method: GET
    url: http://localhost:3000/api/health
  - method: POST
    url: http://localhost:3000/api/users
    body: {"name": "Test User", "role": "admin"}
  - method: GET
    url: http://localhost:3000/api/users

🔧 技术细节

本项目包含一个预编写的“技能”,用于指导大语言模型代理如何最佳使用此工具。 使用方法

  1. skills/mcp-api.client.md 复制到你的项目代理配置目录(例如 .cursor/skills/ 或类似目录)。
  2. 你的代理现在将了解何时使用此服务器(例如,用于验证API更改)。

🧪 测试与贡献

pip install pytest pytest-asyncio
pytest

欢迎贡献代码!如果你发现了bug或有功能请求,请提交一个issue或PR。

📄 许可证

本项目采用MIT许可证。详情请参阅 LICENSE 文件。

help

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client