{
  "markdown": "<p align=\"center\">\n  <a href=\"https://mockd.io\"><img src=\"https://mockd.io/getmockd.svg\" alt=\"mockd\" width=\"200\"></a>\n</p>\n\n<h3 align=\"center\">One binary. Seven protocols. Zero dependencies.</h3>\n\n<p align=\"center\">\n  Mock HTTP, gRPC, GraphQL, WebSocket, MQTT, SSE, and SOAP from a single CLI tool.<br>\n  Import OpenAPI specs. Build digital twins. Let AI agents create mocks for you.\n</p>\n\n<p align=\"center\">\n  <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>\n  <a href=\"https://github.com/getmockd/mockd/releases\"><img src=\"https://img.shields.io/github/v/release/getmockd/mockd?include_prereleases\" alt=\"Release\"></a>\n  <a href=\"https://github.com/getmockd/mockd/stargazers\"><img src=\"https://img.shields.io/github/stars/getmockd/mockd?style=social\" alt=\"Stars\"></a>\n  <a href=\"https://go.dev\"><img src=\"https://img.shields.io/badge/Go-1.25+-00ADD8?logo=go\" alt=\"Go\"></a>\n  <a href=\"LICENSE\"><img src=\"https://img.shields.io/badge/License-Apache%202.0-blue.svg\" alt=\"License\"></a>\n</p>\n\n<p align=\"center\">\n  <a href=\"https://mockd.io\">Website</a> &middot;\n  <a href=\"https://docs.mockd.io\">Docs</a> &middot;\n  <a href=\"https://github.com/getmockd/mockd-samples\">Samples</a> &middot;\n  <a href=\"https://github.com/getmockd/mockd/blob/main/CONTRIBUTING.md\">Contributing</a>\n</p>\n\n<p align=\"center\">\n  <img src=\".github/assets/demo.gif\" alt=\"mockd demo\" width=\"800\">\n</p>\n\n---\n\n## Quick Start\n\n```bash\n# Install\ncurl -sSL https://get.mockd.io | sh\n\n# Start + create a stateful CRUD API in one command\nmockd start\nmockd add http --path /api/users --stateful users\n\n# It works immediately\ncurl -X POST localhost:4280/api/users -d '{\"name\":\"Alice\",\"email\":\"alice@test.com\"}'\n# → {\"id\":\"a1b2c3\",\"name\":\"Alice\",\"email\":\"alice@test.com\"}\n\ncurl localhost:4280/api/users\n# → {\"data\":[{\"id\":\"a1b2c3\",\"name\":\"Alice\",\"email\":\"alice@test.com\"}],\"meta\":{\"total\":1}}\n```\n\n<details>\n<summary><strong>More install options</strong></summary>\n\n```bash\nbrew install getmockd/tap/mockd                                          # Homebrew\ndocker run -p 4280:4280 -p 4290:4290 ghcr.io/getmockd/mockd:latest      # Docker\ngo install github.com/getmockd/mockd/cmd/mockd@latest                    # Go\n```\n\nPre-built binaries for Linux, macOS, and Windows on the [Releases](https://github.com/getmockd/mockd/releases) page.\n</details>\n\n## Why mockd?\n\nEvery other mock tool makes you choose: pick one protocol, install a runtime, bolt on extensions. mockd doesn't.\n\n| | mockd | WireMock | Mockoon | Prism | MockServer | Beeceptor | json-server |\n|---|:---:|:---:|:---:|:---:|:---:|:---:|:---:|\n| **Single binary, no runtime** | ✅ | ❌ JVM | ❌ Electron | ✅ | ❌ JVM | ❌ SaaS | ❌ Node |\n| **All 9 protocols built-in** | ✅ | 🔌 Ext | Partial | HTTP only | HTTP only | Partial | REST only |\n| **Chaos profiles + circuit breakers** | ✅ | ⚠️ Cloud | ❌ | ❌ | ❌ | ❌ | ❌ |\n| **MCP server** | ✅ local | ⚠️ Cloud | ❌ | ❌ | ❌ | ⚠️ Cloud, Team+ | ❌ |\n| **Free + self-hostable, unlimited** | ✅ | ✅ | ✅ | ✅ | ✅ | 50 req/day | ✅ |\n\n> 🔌 **Ext** = requires separate extension JAR • ⚠️ **Cloud** = only in paid/hosted tier\n\n<details>\n<summary><strong>Full capability matrix</strong> (deployment, protocols, capabilities, imports/exports, pricing)</summary>\n\n### Deployment\n\n| | mockd | WireMock | Mockoon | Prism | MockServer | Beeceptor | json-server |\n|---|:---:|:---:|:---:|:---:|:---:|:---:|:---:|\n| Native single binary | ✅ Go | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ |\n| Runtime required | none | JVM | Electron/Node | optional Node | JVM | n/a (SaaS) | Node |\n| Docker image | ✅ | ✅ | ✅ CLI | ✅ | ✅ | ⚠️ Enterprise | ❌ |\n| Managed SaaS offering | roadmap | WireMock Cloud | Mockoon Cloud | Stoplight | ❌ | ✅ | ❌ |\n\n### Protocol support\n\n| | mockd | WireMock OSS | Mockoon | Prism | MockServer | Beeceptor | json-server |\n|---|:---:|:---:|:---:|:---:|:---:|:---:|:---:|\n| REST / HTTP | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |\n| gRPC | ✅ | 🔌 Ext | ❌ | ❌ | ❌ | ✅ | ❌ |\n| GraphQL | ✅ | 🔌 Ext | ❌ | ❌ | ❌ | ✅ | ❌ |\n| WebSocket | ✅ | 🔌 Ext (beta) | ✅ | ❌ | ❌ | ❌ | ❌ |\n| MQTT | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |\n| SSE | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |\n| SOAP (WSDL) | ✅ | ❌ | Partial | ❌ | Partial | ✅ | ❌ |\n| mTLS | ✅ | ✅ | Partial | ❌ | ✅ | ✅ | ❌ |\n| OAuth flows | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |\n\n### Capabilities\n\n| | mockd | WireMock OSS | Mockoon | Prism | MockServer | Beeceptor | json-server |\n|---|:---:|:---:|:---:|:---:|:---:|:---:|:---:|\n| Stateful CRUD | ✅ | ❌ | ✅ | Partial | ❌ | ✅ | ✅ |\n| Multi-step stateful flows | ✅ | ✅ Scenarios | Partial | ❌ | Partial | ✅ | ❌ |\n| Fault injection (delay, errors) | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ | ❌ |\n| Chaos profiles | ✅ | ⚠️ Cloud | ❌ | ❌ | ❌ | ❌ | ❌ |\n| Circuit breakers | ✅ | ⚠️ Cloud | ❌ | ❌ | ❌ | ❌ | ❌ |\n| Bandwidth throttling | ✅ | ❌ | ❌ | ❌ | ❌ | roadmap | ❌ |\n| Admin REST API | ✅ | ✅ | CLI only | ❌ | ✅ | ✅ | Partial |\n| Built-in web dashboard | ✅ | ⚠️ Cloud | ⚠️ Cloud | ❌ | ✅ read-only | ✅ | ❌ |\n| Native desktop GUI | ❌ | ❌ | ✅ Electron | ❌ | ❌ | ❌ | ❌ |\n| MCP server | ✅ local | ⚠️ Cloud | ❌ | ❌ | ❌ | ⚠️ Cloud Team+ | ❌ |\n| Cloud tunnel sharing | ✅ | ❌ | ⚠️ Cloud | ❌ | ❌ | ✅ | ❌ |\n\n### Import / export\n\n| | mockd | WireMock OSS | Mockoon | Prism | MockServer | Beeceptor | json-server |\n|---|:---:|:---:|:---:|:---:|:---:|:---:|:---:|\n| OpenAPI import | ✅ | ⚠️ Cloud | ✅ | ✅ | ✅ | ✅ | ❌ |\n| Postman import | ✅ | ⚠️ Cloud | ❌ | ✅ | ❌ | ❌ | ❌ |\n| HAR import | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |\n| WSDL import | ✅ | ❌ | ❌ | ❌ | ❌ | ✅ | ❌ |\n| cURL import | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |\n| WireMock format import | ✅ | native | ❌ | ❌ | ❌ | ❌ | ❌ |\n| Mockoon format import | ✅ | ❌ | native | ❌ | ❌ | ❌ | ❌ |\n| HAR export | ✅ | ✅ | ❌ | ❌ | ✅ | ✅ | ❌ |\n\n### Free tier limits\n\n| | Requests | Mock rules | Cost |\n|---|---|---|---|\n| mockd | unlimited | unlimited | free (Apache 2.0) |\n| WireMock OSS | unlimited | unlimited | free (Apache 2.0) |\n| Mockoon desktop / CLI | unlimited | unlimited | free (MIT) |\n| Prism | unlimited | unlimited | free (Apache 2.0) |\n| MockServer | unlimited | unlimited | free (Apache 2.0) |\n| Beeceptor free tier | 50 / day / endpoint | 3 | $10/mo+ for more |\n| json-server | unlimited | unlimited | free (MIT) |\n\n**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\n\n> **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.\n\n</details>\n\n## Digital Twins\n\nImport a real API spec, bind it to stateful tables, and get a mock that passes the real SDK:\n\n```yaml\n# mockd.yaml — Stripe digital twin\nversion: \"1.0\"\nimports:\n  - path: stripe-openapi.yaml\n    as: stripe\ntables:\n  - name: customers\n    idStrategy: prefix\n    idPrefix: \"cus_\"\n    seedData:\n      - { id: \"cus_1\", name: \"Acme Corp\", email: \"billing@acme.com\" }\nextend:\n  - { mock: stripe.GetCustomers, table: customers, action: list }\n  - { mock: stripe.PostCustomers, table: customers, action: create }\n  - { mock: stripe.GetCustomersCustomer, table: customers, action: get }\n  - { mock: stripe.PostCustomersCustomer, table: customers, action: update }\n  - { mock: stripe.DeleteCustomersCustomer, table: customers, action: delete }\n```\n\n```bash\nmockd start -c mockd.yaml --no-auth\ncurl -X POST localhost:4280/v1/customers -d \"name=Test&email=test@corp.com\"\n# → {\"id\":\"cus_a1b2c3\",\"object\":\"customer\",\"name\":\"Test\",\"email\":\"test@corp.com\"}\n```\n\n**Validated with real SDKs:**\n- Stripe: **49/49** `stripe-go` SDK tests pass\n- Twilio: **13/13** `twilio-go` SDK tests pass\n- OpenAI: `openai` Python SDK verified (models, assistants, chat completions)\n\nSee [mockd-samples](https://github.com/getmockd/mockd-samples) for complete digital twin configs.\n\n## AI-Native (MCP)\n\nmockd includes a built-in [Model Context Protocol](https://modelcontextprotocol.io/) server with **18 tools**. AI agents can create mocks, manage state, import specs, and verify contracts without touching the CLI:\n\n```json\n{\n  \"mcpServers\": {\n    \"mockd\": { \"command\": \"mockd\", \"args\": [\"mcp\"] }\n  }\n}\n```\n\nWorks 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.\n\n## Features\n\n<details>\n<summary><strong>Multi-Protocol Mocking</strong> — 7 protocols, unified CLI</summary>\n\n| Protocol | Port | Example |\n|----------|------|---------|\n| HTTP/HTTPS | 4280 | `mockd add http --path /api/hello --body '{\"msg\":\"hi\"}'` |\n| gRPC | 50051 | `mockd add grpc --proto svc.proto --service Greeter --rpc-method Greet` |\n| GraphQL | 4280 | `mockd add graphql --path /graphql --operation hello` |\n| WebSocket | 4280 | `mockd add websocket --path /ws --echo` |\n| MQTT | 1883 | `mockd add mqtt --topic sensors/temp --payload '{\"temp\":72}'` |\n| SSE | 4280 | `mockd add http --path /events --sse --sse-event 'data: hello'` |\n| SOAP | 4280 | `mockd add soap --path /soap --operation GetWeather --response '<OK/>'` |\n</details>\n\n<details>\n<summary><strong>Import & Export</strong> — OpenAPI, Postman, HAR, WireMock, cURL, WSDL</summary>\n\n```bash\nmockd import openapi.yaml           # OpenAPI 3.x / Swagger 2.0\nmockd import collection.json        # Postman collections\nmockd import recording.har          # HAR files\nmockd import wiremock-mapping.json  # WireMock stubs\nmockd import service.wsdl           # WSDL → SOAP mocks\nmockd import \"curl -X GET https://api.example.com/users\"  # cURL commands\nmockd export --format yaml > mocks.yaml\n```\n</details>\n\n<details>\n<summary><strong>Chaos Engineering</strong> — latency, errors, circuit breakers</summary>\n\n```bash\nmockd chaos apply flaky       # 30% error rate\nmockd chaos apply slow-api    # 200-800ms latency\nmockd chaos apply offline     # 100% 503 errors\nmockd chaos disable\n```\n</details>\n\n<details>\n<summary><strong>Cloud Tunnel</strong> — share local mocks instantly</summary>\n\n```bash\nmockd tunnel\n# → https://a1b2c3d4.tunnel.mockd.io → http://localhost:4280\n```\n\nAll 7 protocols multiplexed through a single secure connection on port 443. Works behind NAT and firewalls.\n</details>\n\n<details>\n<summary><strong>Workspaces</strong> — isolated mock environments</summary>\n\n```bash\nmockd workspace create -n \"Payment API\" --use\nmockd import stripe-openapi.yaml\nmockd workspace create -n \"Comms API\" --use\nmockd import twilio-openapi.yaml\n# Mocks, state, and logs are fully isolated per workspace\n```\n</details>\n\n<details>\n<summary><strong>Proxy Recording</strong> — record real traffic, replay as mocks</summary>\n\n```bash\nmockd proxy start --port 8888\n# Configure your app to use http://localhost:8888 as proxy\n# Traffic is recorded, then replay with:\nmockd import recordings/session.json\n```\n</details>\n\n<details>\n<summary><strong>Web Dashboard</strong> — manage mocks visually</summary>\n\nRelease 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.\n</details>\n\n## Mockd Cloud\n\nmockd works fully offline with no account required. For teams that want shared environments:\n\n- **Persistent cloud mocks** — deploy mock environments your whole team can hit\n- **Team management** — shared workspaces with access controls\n- **Cloud tunnels** — authenticated tunnels with custom domains\n\nComing soon. [Join the waitlist](https://mockd.io/pricing#waitlist-form).\n\n## Documentation\n\nFull guides, API reference, and config docs at **[docs.mockd.io](https://docs.mockd.io)**.\n\n## Contributing\n\nContributions welcome! See [CONTRIBUTING.md](CONTRIBUTING.md) for setup.\n\n## License\n\n[Apache License 2.0](LICENSE) — free for commercial use.\n",
  "bytes": 11885,
  "sha": "32228fa875a05f2cb089c7e42ea27aa7b5f863acfe63f36366bbe616888894a9",
  "repo_slug": "getmockd/mockd",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_mockd_mockd_94827906/readme"
}