关于 MCPClientMock
供 AI 助手和测试流程操作 James Bloom MockServer 的 MCP 服务,可创建 HTTP 期望、检查与验证请求,并管理服务状态。
主要功能
- 01创建 HTTP 期望
- 02按方法、路径、请求头、查询或正文匹配
- 03验证收到的请求数量
- 04读取已记录的请求
- 05清除或重置 MockServer 状态
- 06检查连接状态
适用场景
- 01后端尚未就绪时模拟 API
- 02验证集成是否发送预期 HTTP 请求
- 03在测试期间检查已记录的流量
MCP 相关
向 MCP 客户端提供创建 MockServer 期望、验证和读取请求、管理状态及查看状态的工具,并连接到运行中的 MockServer 实例。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
6收录的工具列表 · 更新于 3 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| id | string | 否 | 可选的期望标识符 |
| times | object | 否 | 此期望应匹配的次数 |
| times.unlimited | boolean | 否 | |
| times.remainingTimes | number | 否 | |
| timeToLive | object | 否 | 此期望保持有效的时长 |
| timeToLive.timeUnit | enum | 否 | MILLISECONDS | SECONDS | MINUTES |
| timeToLive.timeToLive | number | 否 | |
| httpRequest | object | 是 | 请求匹配条件(方法、路径、标头、正文等) |
| httpRequest.body | object | 否 | 正文匹配器配置 |
| httpRequest.body.type | enum | 否 | STRING | JSON | REGEX | XPATH | JSON_PATH |
| httpRequest.body.value | string | 否 | |
| httpRequest.body.matchType | enum | 否 | STRICT | ONLY_MATCHING_FIELDS |
| httpRequest.path | string | 否 | 要匹配的 URL 路径 |
| httpRequest.method | string | 否 | 要匹配的 HTTP 方法(GET、POST、PUT、DELETE 等) |
| httpRequest.headers | object | 否 | 要匹配的标头 |
| httpRequest.pathParameters | object | 否 | 要匹配的路径参数 |
| httpRequest.queryStringParameters | object | 否 | 要匹配的查询字符串参数 |
| httpResponse | object | 否 | 响应配置 |
| httpResponse.body | any | 否 | 响应正文(字符串或对象) |
| httpResponse.delay | object | 否 | 响应延迟配置 |
| httpResponse.delay.value | number | 否 | |
| httpResponse.delay.timeUnit | enum | 否 | MILLISECONDS | SECONDS |
| httpResponse.headers | object | 否 | 响应标头 |
| httpResponse.statusCode | number | 否 | 要返回的 HTTP 状态码 |
详细介绍
mockserver-mcp
一个用于与 James Bloom's MockServer 交互的 MCP(Model Context Protocol)服务。它使 AI 助手能够以编程方式创建模拟 HTTP 预期、验证请求、清除状态并管理 MockServer 实例。
前置条件
你需要一个正在运行的 MockServer 实例:
# Using Docker (easiest)
docker run -d -p 1080:1080 mockserver/mockserver
安装
使用 npx(推荐)
npx mockserver-mcp
全局安装
npm install -g mockserver-mcp
mockserver-mcp
配置
环境变量
| 变量 | 描述 | 默认值 |
|---|---|---|
MOCKSERVER_HOST | MockServer 主机名 | localhost |
MOCKSERVER_PORT | MockServer 端口 | 1080 |
MCP 客户端配置
将以下内容添加到你的 MCP 客户端配置文件中(例如 Claude Desktop、Kiro、Cursor):
{
"mcpServers": {
"mockserver": {
"command": "npx",
"args": ["-y", "mockserver-mcp"],
"env": {
"MOCKSERVER_HOST": "localhost",
"MOCKSERVER_PORT": "1080"
}
}
}
}
对于团队共用的 MockServer,请将 MOCKSERVER_HOST 更改为服务器地址。
可用工具
mockserver_create_expectation
在 MockServer 上创建一个模拟 HTTP 预期。
参数:
httpRequest(必填):请求匹配条件method:HTTP 方法(GET、POST、PUT、DELETE 等)path:要匹配的 URL 路径queryStringParameters:要匹配的查询参数headers:要匹配的标头body:请求体匹配器,包含type(STRING、JSON、REGEX、XPATH、JSON_PATH)和value
httpResponse:响应配置statusCode:HTTP 状态码headers:响应标头body:响应体(字符串或对象)delay:响应延迟,包含timeUnit和value
times:匹配次数(remainingTimes、unlimited)timeToLive:预期的有效期(timeUnit、timeToLive)
示例:
{
"httpRequest": {
"method": "GET",
"path": "/api/users"
},
"httpResponse": {
"statusCode": 200,
"body": { "users": [] }
}
}
mockserver_verify
验证 MockServer 是否收到符合条件的请求。
参数:
httpRequest(必填):请求匹配条件(与 create_expectation 相同)times:预期请求数atLeast:最少请求数atMost:最多请求数exactly:确切请求数
示例:
{
"httpRequest": {
"method": "POST",
"path": "/api/orders"
},
"times": {
"atLeast": 1
}
}
mockserver_clear
清除 MockServer 中的预期和已记录请求。
参数:
httpRequest(可选):用于清除特定预期的请求匹配器。如果未提供,则清除全部内容。
示例:
{
"httpRequest": {
"path": "/api/users"
}
}
mockserver_reset
完全重置 MockServer,清除所有预期和已记录请求。
参数: 无
mockserver_retrieve_requests
从 MockServer 获取已记录的请求。
参数:
httpRequest(可选):用于筛选已记录请求的请求匹配器
示例:
{
"httpRequest": {
"method": "GET"
}
}
mockserver_status
获取 MockServer 连接状态和配置。
参数: 无
为什么使用模拟?
API 模拟支持提前测试——在后端准备就绪之前,就可以开始构建和测试前端或集成。无需再等待。更快交付。
要求
- Node.js >= 18.0.0
- 一个正在运行的 MockServer 实例
链接
- npm: https://www.npmjs.com/package/mockserver-mcp
- GitHub: https://github.com/Akkshay10/MCPClientMock
- MCP Registry: https://registry.modelcontextprotocol.io
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。