springboot-test-mcp
Provides functional and performance testing capabilities for Spring Boot REST APIs, including API calling, multi-dimensional assertions, database verification via Oracle, and load/stress testing.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@springboot-test-mcpRun a functional test on the /api/users endpoint"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Spring Boot Test MCP Server
一个 MCP (Model Context Protocol) 服务器,为 Claude Code 提供 Spring Boot REST API 的功能测试和性能测试能力。
核心功能
🧪 功能测试
call_api — 调用 REST API,获取完整响应
assert_response — 多维度断言(状态码、JSON 字段、响应时间等)
run_functional_tests — 批量执行测试用例,支持 setup/teardown SQL
query_database — 查询 Oracle 数据库验证数据正确性
execute_dml — 准备/清理测试数据
🔥 性能测试
run_perf_test — 可配置并发数和时长的负载测试
run_stress_test — 逐步增加压力的阶梯压测,定位性能拐点
📋 辅助工具
discover_api_endpoints — 自动发现 Spring Boot API 端点(Actuator 或源码扫描)
get_test_report — 获取测试报告
check_config — 检查配置和连接状态
reset_test_session — 重置测试会话
Related MCP server: Postmancer
快速开始
1. 安装依赖
cd springboot-test-mcp
pip install -e .或直接安装:
pip install httpx "mcp[cli]>=1.6.0" oracledb python-dotenv jmespath2. 配置环境变量
复制 .env.example 为 .env,填入你的配置:
TARGET_BASE_URL=http://localhost:8080
ORACLE_HOST=localhost
ORACLE_PORT=1521
ORACLE_SERVICE=ORCL
ORACLE_USER=your_user
ORACLE_PASSWORD=your_password3. 配置 Claude Code
在项目根目录创建 .claude/settings.json:
{
"mcpServers": {
"springboot-test": {
"command": "python",
"args": ["/absolute/path/to/springboot-test-mcp/main.py"]
}
}
}或在 Claude Code 中运行:
claude mcp add springboot-test -- python /absolute/path/to/springboot-test-mcp/main.py4. 启动被测服务后使用
在 Claude Code 中:
# 检查配置
> check_config
# 发现 API
> discover_api_endpoints
# 功能测试
> call_api(method="GET", path="/api/users")
> run_functional_tests(test_cases=[{
"name": "创建用户",
"method": "POST",
"path": "/api/users",
"body": {"name": "Alice", "email": "alice@test.com"},
"assertions": [
{"target": "status_code", "operator": "eq", "expected": 201},
{"target": "json_path", "json_path": "name", "operator": "eq", "expected": "Alice"}
]
}])
# 性能测试
> run_perf_test(name="用户列表压测", method="GET", path="/api/users",
concurrency=50, duration_seconds=30)
# 阶梯压测
> run_stress_test(name="用户API压测", method="GET", path="/api/users",
max_concurrency=200, step_size=50, step_duration_seconds=30)
# 数据库验证
> query_database(sql="SELECT * FROM users WHERE name='Alice'")项目结构
springboot-test-mcp/
├── main.py # 入口
├── server.py # MCP Tool 定义(所有工具)
├── config.py # 配置管理
├── core/
│ ├── __init__.py # HTTP 客户端(httpx)
│ ├── assertion_engine.py # 断言引擎
│ ├── test_runner.py # 功能测试执行器
│ └── perf_engine.py # 性能测试引擎(asyncio 并发)
├── db/
│ ├── __init__.py # Oracle 连接器(oracledb thin mode)
│ └── oracle_connector.py # 别名
├── discovery/
│ └── __init__.py # API 发现(Actuator + 源码扫描)
├── models/
│ └── __init__.py # 数据模型
├── .env.example # 环境变量模板
└── claude_desktop_config.json # Claude 配置参考支持的断言
target | 说明 | 示例 |
status_code | HTTP 状态码 |
|
json_path | JSON 字段(JMESPath) |
|
response_time | 响应时间(ms) |
|
body | 完整响应体 |
|
header | 响应头 |
|
operator | 说明 |
eq / neq | 等于 / 不等于 |
gt / lt / gte / lte | 大于 / 小于 / 大于等于 / 小于等于 |
contains / not_contains | 包含 / 不包含 |
matches | 正则匹配 |
exists / not_exists | 存在 / 不存在 |
性能测试指标
总请求数、成功/失败数
错误率 (%)
吞吐量 (req/s)
延迟分布:Avg / Min / Max / Median / P90 / P95 / P99
状态码分布
阶梯压测自动识别性能拐点
技术栈
MCP SDK:
mcp[cli](Python FastMCP)HTTP Client: httpx (异步)
Oracle: oracledb (thin mode,无需 Oracle Client)
JSON Path: jmespath
并发: asyncio (性能测试)
Related MCP Connectors
End-to-end API testing — generate and run tests from OpenAPI, curl, Postman, or real user traffic.
AI-callable tools for API mocking, testing, monitoring, security, and automation.
Mock REST APIs, fake OAuth2/OIDC provider, uptime monitors + heartbeats, live badge/QR images.
API monitoring from your editor. Checks the JSON your endpoints return, not just the status code.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceA dual-track testing server that combines CLI test execution with Playwright-based browser testing and persistent SQLite logging. It enables automated test pipelines, Git integration, and evidence-based requirement generation to streamline the development lifecycle.-
- AlicenseNot gradedqualityDmaintenanceA standalone MCP server for API testing and management, allowing AI assistants to interact with RESTful APIs through natural language.12 npm28MIT
- FlicenseNot gradedqualityCmaintenanceA full-stack API automation testing server that parses OpenAPI/Swagger/Postman/HAR specs, generates comprehensive test scenarios and executable code, and provides AI-powered review and auto-fix.-
- AlicenseNot gradedqualityDmaintenanceMCP server for end-to-end API testing with PostgreSQL integration, HTTP requests, Go build automation, and debugging support.1MIT