🚀 API Tester MCP Server
API Tester MCP Server 是一款全面的模型上下文協議(MCP)服務器,專為 QA/SDET 工程師打造。它具備強大的 API 測試能力,支持 Swagger/OpenAPI 和 Postman 集合,能顯著提升測試效率和質量。

🎉 現已在 NPM 上可用! 使用 npx @kirti676/api-tester-mcp@latest 進行安裝
🆕 新特性
- ✅ 增強的進度跟蹤 - 即時顯示進度,包含完成百分比和預計完成時間(ETA)
- ✅ 可視化進度條 - ASCII 進度條搭配里程碑通知
- ✅ 性能指標 - 吞吐量計算和執行摘要
- ✅ 已發佈到 NPM - 可通過 NPX 立即安裝
- ✅ VS Code 集成 - 一鍵安裝按鈕
- ✅ 簡化設置 - 無需手動安裝 Python
- ✅ 跨平臺支持 - 支持 Windows、macOS 和 Linux
- ✅ 自動更新 - 使用
@latest 始終獲取最新版本
🚀 快速開始
安裝
API Tester MCP 服務器可以直接使用 npx 運行,無需安裝:
npx @kirti676/api-tester-mcp@latest
快速安裝:

Claude Desktop
按照 MCP 安裝 指南,使用以下標準配置:
{
"mcpServers": {
"api-tester": {
"command": "npx",
"args": ["@kirti676/api-tester-mcp@latest"]
}
}
}
其他 MCP 客戶端
標準配置適用於大多數 MCP 客戶端:
{
"mcpServers": {
"api-tester": {
"command": "npx",
"args": ["@kirti676/api-tester-mcp@latest"]
}
}
}
支持的客戶端:
Python 安裝(可選)
pip install api-tester-mcp
從源代碼安裝
git clone https://github.com/kirti676/api_tester_mcp.git
cd api_tester_mcp
npm install
⚡ 快速上手
立即嘗試 API Tester MCP 服務器:
npx @kirti676/api-tester-mcp@latest
npx @kirti676/api-tester-mcp@latest --version
npx @kirti676/api-tester-mcp@latest --help
對於像 Claude Desktop 這樣的 MCP 客戶端,使用以下配置:
{
"mcpServers": {
"api-tester": {
"command": "npx",
"args": ["@kirti676/api-tester-mcp@latest"]
}
}
}
✨ 主要特性
- 📥 輸入支持:支持 Swagger/OpenAPI 文檔和 Postman 集合
- 🔄 測試生成:自動生成 API 和負載測試場景
- 🌐 多語言支持:支持在 TypeScript/Playwright、JavaScript/Jest、Python/pytest 等多種語言和框架中生成測試代碼
- ⚡ 測試執行:運行生成的測試並提供詳細報告
- 🔐 智能認證檢測:自動分析環境變量並提供設置指導
- 🔐 認證支持:通過
set_env_vars 支持Bearer令牌和 API 密鑰認證
- 📊 HTML 報告:通過 MCP 資源提供美觀、易訪問的報告
- 📈 即時進度跟蹤:通過進度條和完成百分比即時更新進度
- ⏱️ ETA 計算:為所有操作計算預計完成時間
- 🎯 里程碑跟蹤:在關鍵進度里程碑(25%、50%、75% 等)提供特殊通知
- 📊 性能指標:吞吐量計算和執行摘要
- ✅ 模式驗證:根據模式示例自動生成請求體
- 🎯 斷言支持:針對每個端點進行狀態碼斷言(2xx、4xx、5xx)
- 📦 項目生成:生成包含依賴項和配置的完整項目腳手架
🌐 多語言測試生成
API Tester MCP 現在支持在多種編程語言和測試框架中生成測試代碼:
支持的語言/框架組合
| 語言 |
框架 |
描述 |
使用場景 |
| TypeScript |
Playwright |
具有出色 API 支持的現代端到端測試框架 |
企業級 Web 應用程序 |
| TypeScript |
Supertest |
專注於 Express.js 的 API 測試框架 |
Node.js 後端服務 |
| JavaScript |
Jest |
流行的測試框架,生態系統豐富 |
通用 API 測試 |
| JavaScript |
Cypress |
提供出色開發體驗的端到端測試框架 |
全棧應用程序 |
| Python |
pytest |
具有豐富的夾具和插件的綜合測試框架 |
數據密集型 API 和機器學習服務 |
| Python |
requests |
用於快速驗證的簡單 HTTP 測試框架 |
快速原型開發和腳本編寫 |
語言選擇工作流程
const languages = await mcp.call("get_supported_languages");
await mcp.call("ingest_spec", {
spec_type: "openapi",
content: spec_content,
preferred_language: "typescript",
preferred_framework: "playwright"
});
await mcp.call("generate_test_cases", {
language: "typescript",
framework: "playwright"
});
await mcp.call("generate_project_files", {
language: "typescript",
framework: "playwright",
project_name: "my-api-tests",
include_examples: true
});
生成的項目結構
generate_project_files 工具會創建一個完整的、可直接運行的項目:
TypeScript + Playwright:
my-api-tests/
├── package.json # 依賴項和腳本
├── playwright.config.ts # Playwright 配置
├── tests/
│ └── api.spec.ts # 生成的測試代碼
└── README.md # 設置說明
Python + pytest:
my-api-tests/
├── requirements.txt # Python 依賴項
├── pytest.ini # pytest 配置
├── tests/
│ └── test_api.py # 生成的測試代碼
└── README.md # 設置說明
JavaScript + Jest:
my-api-tests/
├── package.json # 依賴項和腳本
├── jest.config.js # Jest 配置
├── tests/
│ └── api.test.js # 生成的測試代碼
└── README.md # 設置說明
框架特定特性
- Playwright:瀏覽器自動化、並行執行、詳細報告
- Jest:快照測試、模擬、開發時的監視模式
- pytest:夾具、參數化測試、豐富的插件生態系統
- Cypress:交互式調試、時間旅行調試、真實瀏覽器測試
- Supertest:Express.js 集成、中間件測試
- requests:簡單的 API 調用、會話管理、認證助手
📈 進度跟蹤
API Tester MCP 為所有操作提供全面的進度跟蹤:
可視化進度指示器
🎯 API 測試執行: [██████████░░░░░░░░░░] 50.0% (5/10) | ETA: 2.5s - GET /api/users ✅
特性:
- 進度條:帶有填充/空指示符的 ASCII 進度條
- 完成百分比:即時顯示完成百分比
- ETA 計算:根據當前性能計算預計完成時間
- 里程碑通知:在關鍵進度點進行特殊高亮顯示
- 性能指標:吞吐量和計時統計
- 操作上下文:詳細的當前執行步驟信息
適用場景:
- 場景生成
- 測試用例生成
- API 測試執行
- 負載測試執行
- 所有長時間運行的操作
🛠️ MCP 工具
服務器提供 10 個全面的 MCP 工具:
ingest_spec - 加載 Swagger/OpenAPI 或 Postman 集合,並指定語言偏好
get_supported_languages - 獲取支持的編程語言和框架列表(新特性!)
get_env_var_suggestions - 獲取詳細的環境變量設置指導
set_env_vars - 配置認證和環境變量
generate_scenarios - 根據規範創建測試場景
generate_test_cases - 將場景轉換為所選語言/框架中的可執行測試用例(增強功能!)
generate_project_files - 生成包含依賴項和配置的完整項目(新特性!)
run_api_tests - 執行 API 測試並提供詳細結果
run_load_tests - 執行性能/負載測試
get_session_status - 獲取當前會話信息
📚 MCP 資源
file://reports - 列出所有可用的測試報告
file://reports/{report_id} - 訪問單個 HTML 測試報告
💡 MCP 提示
create_api_test_plan - 生成全面的 API 測試計劃
analyze_test_failures - 分析測試失敗原因並提供建議
🔧 智能環境變量分析
API Tester MCP 現在可以自動分析您的 API 規範,檢測所需的環境變量並提供有用的設置指導:
自動檢測
- 認證方案:Bearer 令牌、API 密鑰、基本認證、OAuth2
- 基礎 URL:從規範的服務器/主機中提取
- 模板變量:Postman 集合變量,如
{{baseUrl}}、{{authToken}}
- 路徑參數:路徑中的動態值,如
/users/{userId}
智能建議
const result = await mcp.call("ingest_spec", {
spec_type: "openapi",
content: openapi_json_string
});
console.log(result.setup_message);
const suggestions = await mcp.call("get_env_var_suggestions");
console.log(suggestions.setup_instructions);
🔧 配置示例
const languages = await mcp.call("get_supported_languages");
console.log(languages.supported_combinations);
await mcp.call("ingest_spec", {
spec_type: "openapi",
content: openapi_json_string,
preferred_language: "typescript",
preferred_framework: "playwright"
});
await mcp.call("set_env_vars", {
variables: {
"baseUrl": "https://api.example.com",
"auth_bearer": "your-bearer-token",
"auth_apikey": "your-api-key"
}
});
await mcp.call("generate_scenarios", {
include_negative_tests: true,
include_edge_cases: true
});
await mcp.call("generate_test_cases", {
language: "typescript",
framework: "playwright"
});
await mcp.call("generate_project_files", {
language: "typescript",
framework: "playwright",
project_name: "my-api-tests",
include_examples: true
});
await mcp.call("run_api_tests", {
max_concurrent: 5
});
📖 完整工作流示例
以下是測試 Petstore API 的完整示例:
npx @kirti676/api-tester-mcp@latest
然後在您的 MCP 客戶端(如 Claude Desktop)中:
await mcp.call("ingest_spec", {
kind: "openapi",
path_or_text: "https://petstore.swagger.io/v2/swagger.json"
});
await mcp.call("set_env_vars", {
pairs: {
"baseUrl": "https://petstore.swagger.io/v2",
"auth_apikey": "special-key"
}
});
const tests = await mcp.call("get_generated_tests");
const result = await mcp.call("run_api_tests");
const reports = await mcp.call("list_resources", {
uri: "file://reports"
});
📖 使用示例
基本 API 測試工作流
-
攝入 API 規範
{
"tool": "ingest_spec",
"params": {
"spec_type": "openapi",
"content": "{ ... your OpenAPI spec ... }"
}
}
-
配置認證
{
"tool": "set_env_vars",
"params": {
"variables": {
"auth_bearer": "your-token",
"baseUrl": "https://api.example.com"
}
}
}
-
生成並運行測試
{
"tool": "generate_scenarios",
"params": {
"include_negative_tests": true
}
}
-
查看結果
- 通過 MCP 資源訪問 HTML 報告
- 獲取會話狀態和統計信息
負載測試
{
"tool": "run_load_tests",
"params": {
"users": 10,
"duration": 60,
"ramp_up": 10
}
}
🔍 測試生成特性
- 正向測試:發送有效請求並期望 2xx 響應
- 負向測試:測試無效認證(401)、錯誤方法(405)等情況
- 邊界情況測試:測試大負載、邊界條件等情況
- 基於模式的請求體:根據 OpenAPI 模式自動生成請求體
- 全面斷言:對狀態碼、響應時間、內容進行驗證
📊 HTML 報告
生成的報告包括:
- 測試執行摘要,包含通過/失敗統計信息
- 詳細的測試結果,包含計時信息
- 斷言細分和錯誤詳情
- 響應預覽和調試信息
- 移動友好的響應式設計
🔒 認證支持
- Bearer 令牌:通過
auth_bearer 環境變量設置
- API 密鑰:通過
auth_apikey 環境變量設置(作為 X-API-Key 頭髮送)
- 基本認證:通過
auth_basic 環境變量設置
🔧 要求
- Python:3.8 或更高版本
- Node.js:14 或更高版本(用於 npm 安裝)
📦 依賴項
Python 依賴項
- fastmcp>=0.2.0
- pydantic>=2.0.0
- aiohttp>=3.8.0
- jinja2>=3.1.0
- pyyaml>=6.0
- jsonschema>=4.0.0
- faker>=19.0.0
Node.js 依賴項
🔧 故障排除
常見問題
NPX 命令不起作用
npm install -g @kirti676/api-tester-mcp@latest
node ./node_modules/@kirti676/api-tester-mcp/cli.js
未找到 Python
python --version
pip install fastmcp>=0.2.0 pydantic>=2.0.0 requests>=2.28.0
MCP 客戶端連接問題
- 確保 MCP 服務器在標準輸入輸出傳輸上運行(默認設置)
- 檢查您的 MCP 客戶端是否支持最新的 MCP 協議版本
- 驗證配置 JSON 語法是否正確
獲取幫助
- 查看 Examples 目錄以獲取工作配置示例
- 查看 PROGRESS_TRACKING.md 以獲取詳細的進度跟蹤文檔
- 使用
--verbose 標誌運行以獲取詳細日誌
- 在 GitHub Issues 上報告問題
🤝 貢獻
- Fork 倉庫
- 創建您的功能分支 (
git checkout -b feature/amazing-feature)
- 提交您的更改 (
git commit -m 'Add some amazing feature')
- 將更改推送到分支 (
git push origin feature/amazing-feature)
- 打開 Pull Request
📄 許可證
本項目採用 MIT 許可證 - 詳情請參閱 LICENSE 文件。
🐛 問題與支持
📈 路線圖
- [x] 多語言測試生成 - 支持 TypeScript/Playwright、JavaScript/Jest、Python/pytest ✨ 新特性!
- [x] 完整項目生成 - 生成包含依賴項和配置的完整項目腳手架 ✨ 新特性!
- [ ] GraphQL API 支持
- [ ] 額外的認證方法(OAuth2、JWT)
- [ ] Go/Golang 測試生成(使用 testify/ginkgo)
- [ ] C#/.NET 測試生成(使用 NUnit/xUnit)
- [ ] 性能監控和警報
- [ ] 與 CI/CD 管道集成(GitHub Actions、Jenkins)
- [ ] 從示例和模式生成高級測試數據
- [ ] 支持 Pact 的 API 契約測試
- [ ] 開發模擬服務器生成功能
為 QA/SDET 工程師用心打造 ❤️