MCPClientMock について
AI アシスタントやテストワークフローから James Bloom MockServer を操作する MCP サーバーです。HTTP の期待値設定、リクエストの確認と検証、サーバー状態の管理に対応します。
主な機能
- 01HTTP の期待値を作成
- 02メソッド、パス、ヘッダー、クエリ、本文で照合
- 03受信リクエスト数を検証
- 04記録済みリクエストを取得
- 05MockServer の状態を消去またはリセット
- 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 サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。