Featured

Deploy OpenClaw in 60 seconds β€” 20% off logoDeploy OpenClaw in 60 seconds β€” 20% off

Launch OpenClaw on Hostinger in about 60 seconds and keep your agent live 24/7. Our referral link gives you 20% off, no coupon code needed.

Launch on Hostinger β†’
Run your Hermes agent on Hostinger, fully managed logoRun your Hermes agent on Hostinger, fully managed

Launch Hermes on Hostinger in one click, fully managed, no VPS knowledge needed. Use code ZACAARON10 for 10% off.

Launch on Hostinger β†’
Crawl and scrape any site into clean data, 10% off logoCrawl and scrape any site into clean data, 10% off

Firecrawl crawls and scrapes any site into clean markdown for your agent. Get 1,000 free credits, and new users get 10% off their first purchase.

Try Firecrawl free β†’
Your own AI agent, running 24/7 with QwikClaw logoYour own AI agent, running 24/7 with QwikClaw

QwikClaw sets up and runs an always-on OpenClaw agent for you. One click, no config files, no server setup.

Deploy now β†’
One API to scrape, enrich, and extract the internet. logoOne API to scrape, enrich, and extract the internet.

Context.dev gives your agents a single API to scrape, enrich, and extract live web data β€” no proxies, no parsers, no maintenance.

Start building free β†’
SetupClaw: done-for-you OpenClaw for founders & exec teams logoSetupClaw: done-for-you OpenClaw for founders & exec teams

White-glove OpenClaw for founders and exec teams (4–50+ employees): we install, harden, integrate your tools, and maintain it β€” secured from day one.

Get it set up for you β†’
SEO data APIs for your agent, $1 free credit logoSEO data APIs for your agent, $1 free credit

DataForSEO gives your agent live access to SERP results, keyword data, backlinks, and on-page SEO data through one API. New accounts get a $1 credit, good for up to 20,000 keyword or backlink lookups.

Try DataForSEO free β†’
Reach 47,000+ AI builders

A flat monthly placement in front of developers actively installing AI tools. No lock-in, cancel anytime.

Advertise here β†’

Works with

Claude CodeClaude DesktopCursorVS CodeClineCodex CLIOpenClaw+ any MCP client

Install to Claude Code

This server doesn't publish a one-line install command. Follow the setup in the source repository.

Summary

mockd MCP server](https://glama.ai/mcp/servers/getmockd/mockd/badges/score.svg)](https://glama.ai/mcp/servers/getmockd/mockd) 🏎️ 🏠 🍎 πŸͺŸ 🐧 - Multi-protocol API mock server with 18 MCP tools.

README.md

<p align="center"> <a href="https://mockd.io"><img src="https://mockd.io/getmockd.svg" alt="mockd" width="200"></a> </p>

<h3 align="center">One binary. Seven protocols. Zero dependencies.</h3>

<p align="center"> Mock HTTP, gRPC, GraphQL, WebSocket, MQTT, SSE, and SOAP from a single CLI tool.<br> Import OpenAPI specs. Build digital twins. Let AI agents create mocks for you. </p>

<p align="center"> <a href="https://github.com/getmockd/mockd/actions/workflows/ci.yaml"><img src="https://github.com/getmockd/mockd/actions/workflows/ci.yaml/badge.svg" alt="CI"></a> <a href="https://github.com/getmockd/mockd/releases"><img src="https://img.shields.io/github/v/release/getmockd/mockd?include_prereleases" alt="Release"></a> <a href="https://github.com/getmockd/mockd/stargazers"><img src="https://img.shields.io/github/stars/getmockd/mockd?style=social" alt="Stars"></a> <a href="https://go.dev"><img src="https://img.shields.io/badge/Go-1.25+-00ADD8?logo=go" alt="Go"></a> <a href="LICENSE"><img src="https://img.shields.io/badge/License-Apache%202.0-blue.svg" alt="License"></a> </p>

<p align="center"> <a href="https://mockd.io">Website</a> &middot; <a href="https://docs.mockd.io">Docs</a> &middot; <a href="https://github.com/getmockd/mockd-samples">Samples</a> &middot; <a href="https://github.com/getmockd/mockd/blob/main/CONTRIBUTING.md">Contributing</a> </p>

<p align="center"> <img src=".github/assets/demo.gif" alt="mockd demo" width="800"> </p>

---

Quick Start

# Install
curl -sSL https://get.mockd.io | sh

# Start + create a stateful CRUD API in one command
mockd start
mockd add http --path /api/users --stateful users

# It works immediately
curl -X POST localhost:4280/api/users -d '{"name":"Alice","email":"alice@test.com"}'
# β†’ {"id":"a1b2c3","name":"Alice","email":"alice@test.com"}

curl localhost:4280/api/users
# β†’ {"data":[{"id":"a1b2c3","name":"Alice","email":"alice@test.com"}],"meta":{"total":1}}

<details> <summary><strong>More install options</strong></summary>

brew install getmockd/tap/mockd                                          # Homebrew
docker run -p 4280:4280 -p 4290:4290 ghcr.io/getmockd/mockd:latest      # Docker
go install github.com/getmockd/mockd/cmd/mockd@latest                    # Go

Pre-built binaries for Linux, macOS, and Windows on the Releases page. </details>

Why mockd?

Every other mock tool makes you choose: pick one protocol, install a runtime, bolt on extensions. mockd doesn't.

| | mockd | WireMock | Mockoon | Prism | MockServer | Beeceptor | json-server | |---|:---:|:---:|:---:|:---:|:---:|:---:|:---:| | Single binary, no runtime | βœ… | ❌ JVM | ❌ Electron | βœ… | ❌ JVM | ❌ SaaS | ❌ Node | | All 9 protocols built-in | βœ… | πŸ”Œ Ext | Partial | HTTP only | HTTP only | Partial | REST only | | Chaos profiles + circuit breakers | βœ… | ⚠️ Cloud | ❌ | ❌ | ❌ | ❌ | ❌ | | MCP server | βœ… local | ⚠️ Cloud | ❌ | ❌ | ❌ | ⚠️ Cloud, Team+ | ❌ | | Free + self-hostable, unlimited | βœ… | βœ… | βœ… | βœ… | βœ… | 50 req/day | βœ… |

πŸ”Œ Ext = requires separate extension JAR β€’ ⚠️ Cloud = only in paid/hosted tier

<details> <summary><strong>Full capability matrix</strong> (deployment, protocols, capabilities, imports/exports, pricing)</summary>

Deployment

| | mockd | WireMock | Mockoon | Prism | MockServer | Beeceptor | json-server | |---|:---:|:---:|:---:|:---:|:---:|:---:|:---:| | Native single binary | βœ… Go | ❌ | ❌ | βœ… | ❌ | ❌ | ❌ | | Runtime required | none | JVM | Electron/Node | optional Node | JVM | n/a (SaaS) | Node | | Docker image | βœ… | βœ… | βœ… CLI | βœ… | βœ… | ⚠️ Enterprise | ❌ | | Managed SaaS offering | roadmap | WireMock Cloud | Mockoon Cloud | Stoplight | ❌ | βœ… | ❌ |

Protocol support

| | mockd | WireMock OSS | Mockoon | Prism | MockServer | Beeceptor | json-server | |---|:---:|:---:|:---:|:---:|:---:|:---:|:---:| | REST / HTTP | βœ… | βœ… | βœ… | βœ… | βœ… | βœ… | βœ… | | gRPC | βœ… | πŸ”Œ Ext | ❌ | ❌ | ❌ | βœ… | ❌ | | GraphQL | βœ… | πŸ”Œ Ext | ❌ | ❌ | ❌ | βœ… | ❌ | | WebSocket | βœ… | πŸ”Œ Ext (beta) | βœ… | ❌ | ❌ | ❌ | ❌ | | MQTT | βœ… | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | | SSE | βœ… | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | | SOAP (WSDL) | βœ… | ❌ | Partial | ❌ | Partial | βœ… | ❌ | | mTLS | βœ… | βœ… | Partial | ❌ | βœ… | βœ… | ❌ | | OAuth flows | βœ… | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |

Capabilities

| | mockd | WireMock OSS | Mockoon | Prism | MockServer | Beeceptor | json-server | |---|:---:|:---:|:---:|:---:|:---:|:---:|:---:| | Stateful CRUD | βœ… | ❌ | βœ… | Partial | ❌ | βœ… | βœ… | | Multi-step stateful flows | βœ… | βœ… Scenarios | Partial | ❌ | Partial | βœ… | ❌ | | Fault injection (delay, errors) | βœ… | βœ… | βœ… | ❌ | βœ… | βœ… | ❌ | | Chaos profiles | βœ… | ⚠️ Cloud | ❌ | ❌ | ❌ | ❌ | ❌ | | Circuit breakers | βœ… | ⚠️ Cloud | ❌ | ❌ | ❌ | ❌ | ❌ | | Bandwidth throttling | βœ… | ❌ | ❌ | ❌ | ❌ | roadmap | ❌ | | Admin REST API | βœ… | βœ… | CLI only | ❌ | βœ… | βœ… | Partial | | Built-in web dashboard | βœ… | ⚠️ Cloud | ⚠️ Cloud | ❌ | βœ… read-only | βœ… | ❌ | | Native desktop GUI | ❌ | ❌ | βœ… Electron | ❌ | ❌ | ❌ | ❌ | | MCP server | βœ… local | ⚠️ Cloud | ❌ | ❌ | ❌ | ⚠️ Cloud Team+ | ❌ | | Cloud tunnel sharing | βœ… | ❌ | ⚠️ Cloud | ❌ | ❌ | βœ… | ❌ |

Import / export

| | mockd | WireMock OSS | Mockoon | Prism | MockServer | Beeceptor | json-server | |---|:---:|:---:|:---:|:---:|:---:|:---:|:---:| | OpenAPI import | βœ… | ⚠️ Cloud | βœ… | βœ… | βœ… | βœ… | ❌ | | Postman import | βœ… | ⚠️ Cloud | ❌ | βœ… | ❌ | ❌ | ❌ | | HAR import | βœ… | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | | WSDL import | βœ… | ❌ | ❌ | ❌ | ❌ | βœ… | ❌ | | cURL import | βœ… | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | | WireMock format import | βœ… | native | ❌ | ❌ | ❌ | ❌ | ❌ | | Mockoon format import | βœ… | ❌ | native | ❌ | ❌ | ❌ | ❌ | | HAR export | βœ… | βœ… | ❌ | ❌ | βœ… | βœ… | ❌ |

Free tier limits

| | Requests | Mock rules | Cost | |---|---|---|---| | mockd | unlimited | unlimited | free (Apache 2.0) | | WireMock OSS | unlimited | unlimited | free (Apache 2.0) | | Mockoon desktop / CLI | unlimited | unlimited | free (MIT) | | Prism | unlimited | unlimited | free (Apache 2.0) | | MockServer | unlimited | unlimited | free (Apache 2.0) | | Beeceptor free tier | 50 / day / endpoint | 3 | $10/mo+ for more | | json-server | unlimited | unlimited | free (MIT) |

Legend: βœ… built-in β€’ πŸ”Œ Ext = separate OSS extension β€’ ⚠️ Cloud = only in paid / hosted tier β€’ Partial = limited implementation β€’ roadmap = on the project's stated roadmap, not yet shipped

Note on WireMock imports. The ⚠️ Cloud marks on OpenAPI and Postman import reflect first-party WireMock features. Community converters exist (e.g. openapi-to-wiremock, OpenAPI Generator targets) but are not bundled with the OSS standalone JAR.

</details>

Digital Twins

Import a real API spec, bind it to stateful tables, and get a mock that passes the real SDK:

# mockd.yaml β€” Stripe digital twin
version: "1.0"
imports:
  - path: stripe-openapi.yaml
    as: stripe
tables:
  - name: customers
    idStrategy: prefix
    idPrefix: "cus_"
    seedData:
      - { id: "cus_1", name: "Acme Corp", email: "billing@acme.com" }
extend:
  - { mock: stripe.GetCustomers, table: customers, action: list }
  - { mock: stripe.PostCustomers, table: customers, action: create }
  - { mock: stripe.GetCustomersCustomer, table: customers, action: get }
  - { mock: stripe.PostCustomersCustomer, table: customers, action: update }
  - { mock: stripe.DeleteCustomersCustomer, table: customers, action: delete }
mockd start -c mockd.yaml --no-auth
curl -X POST localhost:4280/v1/customers -d "name=Test&email=test@corp.com"
# β†’ {"id":"cus_a1b2c3","object":"customer","name":"Test","email":"test@corp.com"}

Validated with real SDKs:

  • Stripe: 49/49 stripe-go SDK tests pass
  • Twilio: 13/13 twilio-go SDK tests pass
  • OpenAI: openai Python SDK verified (models, assistants, chat completions)

See mockd-samples for complete digital twin configs.

AI-Native (MCP)

mockd includes a built-in Model Context Protocol server with 18 tools. AI agents can create mocks, manage state, import specs, and verify contracts without touching the CLI:

{
  "mcpServers": {
    "mockd": { "command": "mockd", "args": ["mcp"] }
  }
}

Works in Claude Desktop, Cursor, Windsurf, and any MCP-compatible editor. Tools cover mock CRUD, stateful resources, chaos injection, request logs, verification, workspaces, and import/export.

Features

<details> <summary><strong>Multi-Protocol Mocking</strong> β€” 7 protocols, unified CLI</summary>

| Protocol | Port | Example | |----------|------|---------| | HTTP/HTTPS | 4280 | mockd add http --path /api/hello --body '{"msg":"hi"}' | | gRPC | 50051 | mockd add grpc --proto svc.proto --service Greeter --rpc-method Greet | | GraphQL | 4280 | mockd add graphql --path /graphql --operation hello | | WebSocket | 4280 | mockd add websocket --path /ws --echo | | MQTT | 1883 | mockd add mqtt --topic sensors/temp --payload '{"temp":72}' | | SSE | 4280 | mockd add http --path /events --sse --sse-event 'data: hello' | | SOAP | 4280 | mockd add soap --path /soap --operation GetWeather --response '<OK/>' | </details>

<details> <summary><strong>Import & Export</strong> β€” OpenAPI, Postman, HAR, WireMock, cURL, WSDL</summary>

mockd import openapi.yaml           # OpenAPI 3.x / Swagger 2.0
mockd import collection.json        # Postman collections
mockd import recording.har          # HAR files
mockd import wiremock-mapping.json  # WireMock stubs
mockd import service.wsdl           # WSDL β†’ SOAP mocks
mockd import "curl -X GET https://api.example.com/users"  # cURL commands
mockd export --format yaml > mocks.yaml

</details>

<details> <summary><strong>Chaos Engineering</strong> β€” latency, errors, circuit breakers</summary>

mockd chaos apply flaky       # 30% error rate
mockd chaos apply slow-api    # 200-800ms latency
mockd chaos apply offline     # 100% 503 errors
mockd chaos disable

</details>

<details> <summary><strong>Cloud Tunnel</strong> β€” share local mocks instantly</summary>

mockd tunnel
# β†’ https://a1b2c3d4.tunnel.mockd.io β†’ http://localhost:4280

All 7 protocols multiplexed through a single secure connection on port 443. Works behind NAT and firewalls. </details>

<details> <summary><strong>Workspaces</strong> β€” isolated mock environments</summary>

mockd workspace create -n "Payment API" --use
mockd import stripe-openapi.yaml
mockd workspace create -n "Comms API" --use
mockd import twilio-openapi.yaml
# Mocks, state, and logs are fully isolated per workspace

</details>

<details> <summary><strong>Proxy Recording</strong> β€” record real traffic, replay as mocks</summary>

mockd proxy start --port 8888
# Configure your app to use http://localhost:8888 as proxy
# Traffic is recorded, then replay with:
mockd import recordings/session.json

</details>

<details> <summary><strong>Web Dashboard</strong> β€” manage mocks visually</summary>

Release builds serve a web UI from the admin port (http://localhost:4290). VS Code-style editor, command palette, mock tree with folders, request log viewer, and near-miss debugging. </details>

Mockd Cloud

mockd works fully offline with no account required. For teams that want shared environments:

  • Persistent cloud mocks β€” deploy mock environments your whole team can hit
  • Team management β€” shared workspaces with access controls
  • Cloud tunnels β€” authenticated tunnels with custom domains

Coming soon. Join the waitlist.

Documentation

Full guides, API reference, and config docs at docs.mockd.io.

Contributing

Contributions welcome! See CONTRIBUTING.md for setup.

License

Apache License 2.0 β€” free for commercial use.

See related servers & alternatives β†’

Related MCP servers

Browse all β†’

Related guides

Hand-picked reading to help you choose and use Other servers.