mcp-api-tester Tools & Interfaces

mcp-api-tester Tools & Interfaces

site icon
2025.04.08 0
GoAPI 测试自动化测试开发效率
mcp-api-tester 是一个用于自动化 API 测试的工具和接口集合,旨在帮助开发者和大型语言模型(LLM)快速识别 API 中的潜在问题。通过该工具,用户可以读取 API 文档、选择并测试特定端点,从而提高开发效率和测试覆盖率。
View on GitHub

Overview

基本能力

产品定位

mcp-api-tester 是一个自动化 API 测试工具,专注于帮助开发者和 LLM 快速识别 API 中的潜在问题,提高开发效率和测试覆盖率。

核心功能

  1. 基本工具(最小可行工具)
  2. listAllAPIFromDocument:列出文档中所有可用的 API(名称、URL、HTTP 方法等)。
  3. getSingleAPIDetail:获取特定 API 的详细文档,包括请求参数、响应结构和状态码。
  4. callNetHTTP:发送真实的 HTTP 请求并接收结果,用于执行测试调用。

  5. 高级工具(增强工具)

  6. 响应验证/解析工具:如 validateResponseWithSchemaparseJSON,用于验证响应是否符合文档定义的 schema。
  7. 测试执行上下文/日志工具:如 storeTestResultgetTestHistory,用于记录和查询测试结果。
  8. 环境管理工具:如 getAuthTokenresetTestData,用于设置测试环境和初始化数据。
  9. 模糊/边界测试工具:如 generateFuzzyInput,用于生成极端或异常输入以进行压力测试。

适用场景

  • 开发阶段:快速验证 API 的功能和响应是否符合预期。
  • 持续集成/持续部署(CI/CD):自动化测试 API 以确保代码变更不会引入问题。
  • 安全测试:通过模糊测试工具检测 API 的潜在安全漏洞。
  • 文档验证:确保 API 文档与实际行为一致。

工具列表

  1. listAllAPIFromDocument:列出所有 API 的基本信息。
  2. getSingleAPIDetail:获取单个 API 的详细信息。
  3. callNetHTTP:发送 HTTP 请求并接收响应。
  4. validateResponseWithSchema:验证响应是否符合 schema。
  5. parseJSON:解析 JSON 响应以便检查特定字段。
  6. storeTestResult:记录测试结果。
  7. getTestHistory:查询历史测试结果。
  8. getAuthToken:获取认证令牌。
  9. resetTestData:重置测试数据。
  10. generateFuzzyInput:生成模糊测试输入。

常见问题解答

  • 安全性:确保测试在安全的环境(如开发或沙箱)中运行,避免影响生产数据。
  • 准确性:LLM 生成的参数可能无效,需额外验证或错误处理。
  • 测试覆盖:LLM 可以快速生成边界和异常测试用例,但传统单元测试仍不可或缺。

使用教程

使用依赖

无明确前置依赖,但需要确保系统支持 HTTP 请求和 JSON 解析。

安装教程

无具体安装步骤,但可以通过以下命令调用工具:

  1. 读取 OpenAPI 文档
curl -X POST --data '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "ReadOpenAPIDocument",
  "arguments": {
    "openAPIPath": "/absolute/path/to/your/openAPI/file"
  }
}
}' http://localhost:8000/message?sessionId=9fa4fc8c-1799-4955-a0bb-4881258f13f9
  1. 列出所有 API
curl -X POST --data '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
  "name": "ListAllAPIFromDocument"
}
}' http://localhost:8000/message?sessionId=9fa4fc8c-1799-4955-a0bb-4881258f13f9

调试方式

无具体调试步骤,但可以通过检查 HTTP 响应和测试日志来验证工具是否正常工作。

许可证

该项目遵循 MIT 开源许可条款,请参阅 MIT 了解完整条款。