
mcp-api-tester Tools & Interfaces

2025.04.08
0
GoAPI 测试自动化测试开发效率
mcp-api-tester 是一个用于自动化 API 测试的工具和接口集合,旨在帮助开发者和大型语言模型(LLM)快速识别 API 中的潜在问题。通过该工具,用户可以读取 API 文档、选择并测试特定端点,从而提高开发效率和测试覆盖率。
View on GitHub
Overview
基本能力
产品定位
mcp-api-tester 是一个自动化 API 测试工具,专注于帮助开发者和 LLM 快速识别 API 中的潜在问题,提高开发效率和测试覆盖率。
核心功能
- 基本工具(最小可行工具)
listAllAPIFromDocument
:列出文档中所有可用的 API(名称、URL、HTTP 方法等)。getSingleAPIDetail
:获取特定 API 的详细文档,包括请求参数、响应结构和状态码。-
callNetHTTP
:发送真实的 HTTP 请求并接收结果,用于执行测试调用。 -
高级工具(增强工具)
- 响应验证/解析工具:如
validateResponseWithSchema
和parseJSON
,用于验证响应是否符合文档定义的 schema。 - 测试执行上下文/日志工具:如
storeTestResult
和getTestHistory
,用于记录和查询测试结果。 - 环境管理工具:如
getAuthToken
和resetTestData
,用于设置测试环境和初始化数据。 - 模糊/边界测试工具:如
generateFuzzyInput
,用于生成极端或异常输入以进行压力测试。
适用场景
- 开发阶段:快速验证 API 的功能和响应是否符合预期。
- 持续集成/持续部署(CI/CD):自动化测试 API 以确保代码变更不会引入问题。
- 安全测试:通过模糊测试工具检测 API 的潜在安全漏洞。
- 文档验证:确保 API 文档与实际行为一致。
工具列表
- listAllAPIFromDocument:列出所有 API 的基本信息。
- getSingleAPIDetail:获取单个 API 的详细信息。
- callNetHTTP:发送 HTTP 请求并接收响应。
- validateResponseWithSchema:验证响应是否符合 schema。
- parseJSON:解析 JSON 响应以便检查特定字段。
- storeTestResult:记录测试结果。
- getTestHistory:查询历史测试结果。
- getAuthToken:获取认证令牌。
- resetTestData:重置测试数据。
- generateFuzzyInput:生成模糊测试输入。
常见问题解答
- 安全性:确保测试在安全的环境(如开发或沙箱)中运行,避免影响生产数据。
- 准确性:LLM 生成的参数可能无效,需额外验证或错误处理。
- 测试覆盖:LLM 可以快速生成边界和异常测试用例,但传统单元测试仍不可或缺。
使用教程
使用依赖
无明确前置依赖,但需要确保系统支持 HTTP 请求和 JSON 解析。
安装教程
无具体安装步骤,但可以通过以下命令调用工具:
- 读取 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
- 列出所有 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 响应和测试日志来验证工具是否正常工作。