mcpField
M
MCPClientMock

MCPClientMock

本地服务
github.com/Akkshay10开发工具145 周前更新

关于 MCPClientMock

供 AI 助手和测试流程操作 James Bloom MockServer 的 MCP 服务,可创建 HTTP 期望、检查与验证请求,并管理服务状态。

主要功能

  1. 01创建 HTTP 期望
  2. 02按方法、路径、请求头、查询或正文匹配
  3. 03验证收到的请求数量
  4. 04读取已记录的请求
  5. 05清除或重置 MockServer 状态
  6. 06检查连接状态

适用场景

  1. 01后端尚未就绪时模拟 API
  2. 02验证集成是否发送预期 HTTP 请求
  3. 03在测试期间检查已记录的流量

MCP 相关

向 MCP 客户端提供创建 MockServer 期望、验证和读取请求、管理状态及查看状态的工具,并连接到运行中的 MockServer 实例。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"akkshay10-mcpclientmock": {
"command": "npx",
"args": [
"-y",
"mockserver-mcp"
],
"env": {
"MOCKSERVER_HOST": "<MOCKSERVER_HOST>",
"MOCKSERVER_PORT": "<MOCKSERVER_PORT>"
}
}
}
}
启动命令npx -y mockserver-mcp
需要配置的环境变量
MOCKSERVER_HOSTMockServer hostname
MOCKSERVER_PORTMockServer port

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmmockserver-mcp1.0.2

工具

6

收录的工具列表 · 更新于 3 周前

参数类型必填说明
idstring否可选的期望标识符
timesobject否此期望应匹配的次数
times.unlimitedboolean否
times.remainingTimesnumber否
timeToLiveobject否此期望保持有效的时长
timeToLive.timeUnitenum否MILLISECONDS | SECONDS | MINUTES
timeToLive.timeToLivenumber否
httpRequestobject是请求匹配条件(方法、路径、标头、正文等)
httpRequest.bodyobject否正文匹配器配置
httpRequest.body.typeenum否STRING | JSON | REGEX | XPATH | JSON_PATH
httpRequest.body.valuestring否
httpRequest.body.matchTypeenum否STRICT | ONLY_MATCHING_FIELDS
httpRequest.pathstring否要匹配的 URL 路径
httpRequest.methodstring否要匹配的 HTTP 方法(GET、POST、PUT、DELETE 等)
httpRequest.headersobject否要匹配的标头
httpRequest.pathParametersobject否要匹配的路径参数
httpRequest.queryStringParametersobject否要匹配的查询字符串参数
httpResponseobject否响应配置
httpResponse.bodyany否响应正文(字符串或对象)
httpResponse.delayobject否响应延迟配置
httpResponse.delay.valuenumber否
httpResponse.delay.timeUnitenum否MILLISECONDS | SECONDS
httpResponse.headersobject否响应标头
httpResponse.statusCodenumber否要返回的 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_HOSTMockServer 主机名localhost
MOCKSERVER_PORTMockServer 端口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 实例

链接

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。