Mock, record/replay, verify and chaos-test any HTTP, REST, gRPC or LLM dependency over MCP.
Runs on your machine from its package; the steps are below.
At most: creates or changes data: records, files, settings.
Odel charges nothing per call. The publisher may charge for its own service.
Runs locally over stdio
This server isn't hosted — your MCP client launches it from a package registry. Use one of the commands below, or drop the config into your client (e.g. Claude Desktop).
Run
docker run -i --rm docker.io/mockserver/mockserver:8.0.0
MCP client config
{
"mcpServers": {
"mockserver": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"docker.io/mockserver/mockserver:8.0.0"
]
}
}
}MockServer mocks, records, and chaos-tests any HTTP(S) dependency your application talks to — one binary, no per-protocol setup.
See the changelog for what shipped in each version.
Run MockServer with Docker, then mock an endpoint and call it:
# 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
…or, on macOS / Linux, install with Homebrew and run the mockserver command directly:
brew install mockserver
mockserver run --port 1080
For every way to run MockServer — Docker, docker-compose recipes, the mockserver CLI, a JVM-less binary bundle, Helm/Kubernetes, the JAR, and Testcontainers — see the Self-Hosting MockServer guide. The same setup can be driven from any client library or the dashboard at http://localhost:1080/mockserver/dashboard.
The examples/docker-compose recipes are a single docker compose up each — mock from an OpenAPI spec, a record/replay proxy, a contract-validating proxy, or a chaos proxy:
cd examples/docker-compose/mock-from-openapi
docker compose up
curl http://localhost:1080/pets
examples/postman (guide).examples/bruno in Bruno via Open Collection (guide).| Channel | Command |
|---|---|
| Docker | docker run -d --rm -p 1080:1080 mockserver/mockserver |
| Homebrew (macOS/Linux) | brew install mockserver |
| Helm (chart guide) | helm upgrade --install --namespace mockserver mockserver oci://ghcr.io/mock-server/charts/mockserver |
| Maven Central | org.mock-server:mockserver-netty-no-dependencies — see all Maven artifacts (server, WARs, JUnit 4/5, Spring, Maven plugin) |
| npm | mockserver-node (start/stop) |
Client libraries (create expectations, verify requests, drive the control plane from your tests):
Full install options (SNAPSHOT repository, WAR deployment, Testcontainers modules, package-manager channels) are on the Self-Hosting guide and Where to find MockServer.
Runtime: Java 17+ (raised from Java 11 in MockServer 6.0.0 — see the Java 17 / Jakarta upgrade guide; pin to 5.15.x if you need Java 11). The official Docker image bundles its own JVM, so containerised users need no JVM of their own.
Building from source: JDK 17+.
Security note: MockServer is a development and testing tool only — see SECURITY.md.
/mockserver/mcp — see llms.txt and the AI Integration docsmockserver-<version>).https://mock-server.com/versions/<version>/apidocs/index.html; REST API on SwaggerHub (one spec per major.minor.x).6.0.0 breaking change: the
<classifier>shaded</classifier>Maven form was removed. Replacemockserver-netty:<version>:shadedwithmockserver-netty-no-dependencies:<version>(same shaded bytes, new coordinates).