MCP server/other

mockd MCP Server

One binary. Seven protocols. Zero dependencies.

★ 5getmockd/mockd ↗by getmockdupdated
1

Add it to Claude Code

claude mcp add mockd -- mockd mcp
2

Make your agent remember this setup

mockd's config, env vars, and the gotchas you hit — recalled in every future Claude Code, Cursor, and Codex session.

npx conare@latest

Free · one command · indexes the sessions already on disk. Set up in the browser instead →

What it does

  • Supports HTTP, gRPC, GraphQL, WebSocket, MQTT, SSE, and SOAP protocols
  • Stateful CRUD resource management
  • OpenAPI, Postman, and HAR spec import capabilities
  • Built-in chaos engineering tools
  • AI-native integration via Model Context Protocol

Tools 3

add_mockCreates a new mock endpoint for a specified protocol.
list_mocksLists all currently active mock endpoints.
delete_mockRemoves an existing mock endpoint.

Try it

Create a new stateful HTTP mock for /api/users.
List all currently active mocks in the mockd server.
Delete the mock endpoint with ID 123.
Set up a new GraphQL mock for the user profile query.
Original README from getmockd/mockd
<h3 align="center">One binary. Seven protocols. Zero dependencies.</h3>

Mock HTTP, gRPC, GraphQL, WebSocket, MQTT, SSE, and SOAP from a single CLI tool. Import OpenAPI specs. Build digital twins. Let AI agents create mocks for you.

Website · Docs · Samples · Contributing


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":"[email protected]"}'
# → {"id":"a1b2c3","name":"Alice","email":"[email protected]"}

curl localhost:4280/api/users
# → {"data":[{"id":"a1b2c3","name":"Alice","email":"[email protected]"}],"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 json-server Prism MockServer
Single binary, no runtime :white_check_mark: :x: JVM :x: Node :x: Node :x: Node :x: JVM
HTTP + gRPC + GraphQL + WS :white_check_mark: 🔌 Ext :x: :x: :x: Partial
MQTT + SSE + SOAP + OAuth :white_check_mark: :x: :x: :x: :x: :x:
Stateful CRUD :white_check_mark: :x: :white_check_mark: :white_check_mark: :x: :x:
Import OpenAPI/Postman/HAR :white_check_mark: :white_check_mark: :white_check_mark: :x: :white_check_mark: :white_check_mark:
Chaos engineering :white_check_mark: :white_check_mark: :x: :x: :x: :x:
MCP server (AI-native) :white_check_mark: :x: :x: :x: :x: :x:
Cloud tunnel sharing :white_check_mark: :x: :white_check_mark: :x: :x: :x:
Built-in web dashboard :white_check_mark: :x: :white_check_mark: :x: :x: :x:

🔌 Ext = available via separate extension, not bundled. mockd includes everything in a single binary.

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: "[email protected]" }
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 protected]"
# → {"id":"cus_a1b2c3","object":"customer","name":"Test","email":"[email protected]"}

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

Frequently Asked Questions

What are the key features of mockd?

Supports HTTP, gRPC, GraphQL, WebSocket, MQTT, SSE, and SOAP protocols. Stateful CRUD resource management. OpenAPI, Postman, and HAR spec import capabilities. Built-in chaos engineering tools. AI-native integration via Model Context Protocol.

What can I use mockd for?

Building digital twins of third-party APIs like Stripe or Twilio for local testing. Simulating complex backend services during frontend development. Testing application resilience using built-in chaos engineering features. Rapidly prototyping API endpoints without writing backend code.

How do I install mockd?

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

What MCP clients work with mockd?

mockd works with any MCP-compatible client including Claude Desktop, Claude Code, Cursor, and other editors with MCP support.

Conare · memory for coding agents

Turn this server into reusable context

Keep mockd docs, env vars, and workflow notes in Conare so your agent carries them across sessions.

Set up free$npx conare@latest