mcpField
M
mockserver

mockserver

ローカル
mock-server.com開発ツール5.0k1 日前に更新

mockserver について

MockServer は、HTTP(S) 依存関係のモック、記録と再生、検証、カオステストを行う MCP サーバーです。開発とテストの段階で外部サービスを切り離したいチーム向けで、1 つのポートで複数のプロトコルを扱えます。

主な機能

  1. 01単一ポートで HTTP、gRPC、WebSocket、raw TCP を自動判別
  2. 02モック、プロキシ、またはその両方の動作
  3. 03実トラフィックの記録と変更
  4. 04遅延、接続断、エラーを注入するカオステスト
  5. 05OpenAI、Anthropic、Gemini などの AI チャット API のモック

活用シーン

  1. 01テストで不安定な外部 HTTP サービスを置き換える
  2. 02実際の API トラフィックを記録し、自動テストで再生する
  3. 03依存先の障害時におけるアプリケーションの処理を確認する

MCP 対応

MockServer は /mockserver/mcp に組み込み MCP サーバーを備えており、AI コーディングアシスタントが MCP 経由で MockServer を直接操作できます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"com-mock-server-mockserver": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"docker.io/mockserver/mockserver:9.2.0"
]
}
}
}
起動コマンドdocker run -i --rm docker.io/mockserver/mockserver:9.2.0

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
ocidocker.io/mockserver/mockserver:9.2.0

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

MockServer           ビルドステータス GitHub ライセンス GitHub スター Artifact Hub MCP Toplist

MockServer は、アプリケーションが通信するあらゆる HTTP(S) 依存先をモックし、記録し、カオステストします。単一のバイナリで、プロトコルごとのセットアップは不要です。

MockServer を選ぶ理由

  • 1 つのポートですべてのプロトコルに対応 — HTTP/1.1、HTTPS、HTTP/2、gRPC と gRPC-Web、WebSocket、raw TCP を各接続の最初のバイトから自動判定します。さらに、HTTP/3(QUIC、実験的)、MCP/A2A モック用の JSON-RPC、AsyncAPI を利用した Kafka/MQTT ブローカーのテストにも対応します。
  • モック、プロキシ、またはその両方 — 定型レスポンス、テンプレートレスポンス、コールバックレスポンスを返すことも、プロキシ(ポートフォワーディング、HTTP プロキシ、HTTPS トンネリング、SOCKS)として動作させることもできます。実際のトラフィックを通信中に記録、検査、変更でき、TLS で暗号化された通信も完全に可視化できます。
  • カオスエンジニアリングを標準搭載 — 遅延、接続切断、エラーを必要に応じて注入し、依存先に問題が起きたときにアプリケーションがどう対処するかを確認できます。
  • AI もモック — OpenAI、Anthropic、Gemini、Bedrock、Azure OpenAI、Ollama のチャット補完 API(ストリーミングを含む)に対応し、組み込みの MCP サーバーを使って AI コーディングアシスタントから MockServer を直接操作できます。
  • モックを生成し、手書きしない — OpenAPI/Swagger 仕様からモックを生成でき、メソッド、パス、クエリ、ヘッダー、Cookie、ボディ(JSON、XML、JSONPath、XPath、正規表現)でリクエストを照合します。
  • お使いのスタックに適合 — Java、JavaScript/Node、Python、Ruby、Go、.NET、Rust、PHP のクライアントに加え、JUnit と Spring にも対応します。Docker、Helm/Kubernetes、JAR、WAR として実行でき、ライブダッシュボードと、複数インスタンス環境向けのオプションのクラスター状態管理も利用できます。

各バージョンでのリリース内容については、変更履歴をご覧ください。

60 秒で始める

Docker で MockServer を起動し、エンドポイントをモックして呼び出します。

# 1. Start MockServer
docker run -d --rm -p 1080:1080 mockserver/mockserver

# 2. Mock an endpoint: GET /hello -> 200 "Hello World"
#    (MockServer exposes a REST control plane on the same port)
curl -X PUT http://localhost:1080/mockserver/expectation \
  -H 'Content-Type: application/json' \
  -d '{
        "httpRequest":  { "method": "GET", "path": "/hello" },
        "httpResponse": { "statusCode": 200, "body": "Hello World" }
      }'

# 3. Call your mock
curl http://localhost:1080/hello
# -> Hello World

…または、macOS / Linux では Homebrew でインストールし、mockserver コマンドを直接実行します。

brew install mockserver
mockserver run --port 1080

MockServer のあらゆる実行方法(Docker、docker-compose のレシピ、mockserver CLI、JVM 不要のバイナリバンドル、Helm/Kubernetes、JAR、Testcontainers)については、MockServer セルフホスティングガイドをご覧ください。同じセットアップは、任意のクライアントライブラリまたは http://localhost:1080/mockserver/dashboard のダッシュボードから操作できます。

ワンコマンドレシピ

examples/docker-compose のレシピは、いずれも docker compose up を 1 回実行するだけです。OpenAPI 仕様からのモック、記録/再生プロキシ、コントラクト検証プロキシ、カオスプロキシを利用できます。

cd examples/docker-compose/mock-from-openapi
docker compose up
curl http://localhost:1080/pets
Postman または Bruno から操作する

Postmanで実行

  • Postman — 上のボタンをクリックするか、examples/postman をインポートします(ガイド)。
  • Bruno(オープンソース、Gitネイティブ)— Bruno で Open Collection を選択し、examples/bruno を開きます(ガイド)。

インストール

チャネルコマンド
Dockerdocker run -d --rm -p 1080:1080 mockserver/mockserver
GitHub Container Registry からの Docker(Docker Hub のプル制限を回避)docker run -d --rm -p 1080:1080 ghcr.io/mock-server/mockserver
Homebrew(macOS/Linux)brew install mockserver
Helm(チャートガイド)helm upgrade --install --namespace mockserver mockserver oci://ghcr.io/mock-server/charts/mockserver
Maven Central mockserverorg.mock-server:mockserver-netty-no-dependencies — すべての Maven アーティファクトを参照してください(サーバー、WAR、JUnit 4/5、Spring、Maven プラグイン)
npmmockserver-node(起動/停止)

クライアントライブラリ(テストから期待値を作成し、リクエストを検証して、コントロールプレーンを操作します):

Java Node PyPI Gem Go Packagist NuGet Crates.io

SNAPSHOT リポジトリ、WAR のデプロイ、Testcontainers モジュール、パッケージマネージャーのチャネルを含むインストール方法の詳細は、セルフホスティングガイドとMockServer の入手先を参照してください。

要件

ランタイム: Java 17 以降(MockServer 6.0.0 で Java 11 から引き上げられました。Java 17/Jakarta アップグレードガイドを参照してください。Java 11 が必要な場合は 5.15.x に固定してください)。公式 Docker イメージには独自の JVM が含まれているため、コンテナを利用する場合、JVM を別途用意する必要はありません。

ソースからのビルド: JDK 17 以降。

セキュリティに関する注意: MockServer は開発およびテスト専用のツールです。SECURITY.mdを参照してください。

ドキュメント

バージョン

最新リリース

  • 変更点: 変更履歴 と GitHub リリース(各バージョンは git タグ mockserver-<version> としても公開されています)。
  • 各バージョンの API ドキュメント: Java API は https://mock-server.com/versions/<version>/apidocs/index.html、REST API は SwaggerHub(major.minor.x ごとに 1 つの仕様)。
  • Java 11: Java 11 互換の最後のリリースは 5.15.0 です(2023 年 1 月)。

6.0.0 の破壊的変更: <classifier>shaded</classifier> 形式の Maven 指定が削除されました。mockserver-netty:<version>:shaded を mockserver-netty-no-dependencies:<version> に置き換えてください(シェーディングされたバイト列は同じで、座標が新しくなっています)。

コミュニティとコントリビューション

  • 問題/バグ/機能リクエスト: GitHub Issues — MockServer のバージョン、実行方法(Docker、Maven プラグインなど)、INFO レベル以上のログ出力を含めてください。
  • ディスカッション: GitHub Discussions
  • ロードマップ: GitHub Project
  • セキュリティポリシー: SECURITY.md
  • コミュニティツール: MockServer Browser Admin。期待値を管理するための React + TypeScript 製の Web UI です。
  • コントリビューション: プルリクエストを歓迎します。まず CONTRIBUTING.md を読み、次に未解決の issueを確認し、何かに取り組む予定があればお知らせください。
メンテナー

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。