mockd

Servidor de API mock multi-protocolo com 18 ferramentas MCP — simule APIs HTTP, GraphQL, gRPC, WebSocket, MQTT, SSE e SOAP com engenharia de caos, CRUD com estado e respostas determinísticas baseadas em semente.

Documentação

mockd

Um binário. Sete protocolos. Zero dependências.

Simule HTTP, gRPC, GraphQL, WebSocket, MQTT, SSE e SOAP com uma única ferramenta de linha de comando.
Importe especificações OpenAPI. Crie gêmeos digitais. Deixe agentes de IA criarem mocks para você.

CI Release Stars Go License

Site · Documentação · Exemplos · Contribuição

mockd demo


Início Rápido

# 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}}
Mais opções de instalação
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

Binários pré-compilados para Linux, macOS e Windows na página de Releases.

Por que mockd?

Toda outra ferramenta de mock faz você escolher: escolha um protocolo, instale um runtime, adicione extensões. O mockd não faz isso.

mockdWireMockMockoonPrismMockServerBeeceptorjson-server
Binário único, sem runtime❌ JVM❌ Electron❌ JVM❌ SaaS❌ Node
Todos os 9 protocolos integrados🔌 ExtParcialSomente HTTPSomente HTTPParcialSomente REST
Perfis de caos + circuit breakers⚠️ Cloud
Servidor MCP✅ local⚠️ Cloud⚠️ Cloud, Team+
Gratuito + auto-hospedável, ilimitado50 req/dia

🔌 Ext = requer JAR de extensão separado • ⚠️ Cloud = somente no nível pago/hospedado

Matriz completa de capacidades (implantação, protocolos, capacidades, importações/exportações, preços)

Implantação

mockdWireMockMockoonPrismMockServerBeeceptorjson-server
Binário nativo único✅ Go
Runtime necessárionenhumJVMElectron/NodeNode opcionalJVMn/d (SaaS)Node
Imagem Docker✅ CLI⚠️ Enterprise
Oferta SaaS gerenciadaroadmapWireMock CloudMockoon CloudStoplight

Suporte a protocolos

mockdWireMock OSSMockoonPrismMockServerBeeceptorjson-server
REST / HTTP
gRPC🔌 Ext
GraphQL🔌 Ext
WebSocket🔌 Ext (beta)
MQTT
SSE
SOAP (WSDL)ParcialParcial
mTLSParcial
Fluxos OAuth

Capacidades

mockdWireMock OSSMockoonPrismMockServerBeeceptorjson-server
CRUD com estadoParcial
Fluxos com estado em várias etapas✅ CenáriosParcialParcial
Injeção de falhas (atraso, erros)
Perfis de caos⚠️ Cloud
Circuit breakers⚠️ Cloud
Limitação de largura de bandaroadmap
API REST administrativaSomente CLIParcial
Painel web integrado⚠️ Cloud⚠️ Cloud✅ somente leitura
GUI desktop nativa✅ Electron
Servidor MCP✅ local⚠️ Cloud⚠️ Cloud Team+
Compartilhamento por túnel na nuvem⚠️ Cloud

Importação / exportação

mockdWireMock OSSMockoonPrismMockServerBeeceptorjson-server
Importação OpenAPI⚠️ Cloud
Importação Postman⚠️ Cloud
Importação HAR
Importação WSDL
Importação cURL
Importação de formato WireMocknativo
Importação de formato Mockoonnativo
Exportação HAR

Limites do nível gratuito

RequisiçõesRegras de mockCusto
mockdilimitadasilimitadasgratuito (Apache 2.0)
WireMock OSSilimitadasilimitadasgratuito (Apache 2.0)
Mockoon desktop / CLIilimitadasilimitadasgratuito (MIT)
Prismilimitadasilimitadasgratuito (Apache 2.0)
MockServerilimitadasilimitadasgratuito (Apache 2.0)
Beeceptor nível gratuito50 / dia / endpoint3US$ 10/mês+ para mais
json-serverilimitadasilimitadasgratuito (MIT)

Legenda: ✅ integrado • 🔌 Ext = extensão OSS separada • ⚠️ Cloud = somente no nível pago / hospedado • Parcial = implementação limitada • roadmap = no roadmap declarado do projeto, ainda não lançado

Nota sobre importações do WireMock. As marcas ⚠️ Cloud nas importações OpenAPI e Postman refletem recursos de primeira parte do WireMock. Existem conversores da comunidade (por exemplo, openapi-to-wiremock, alvos do OpenAPI Generator), mas não são incluídos no JAR autônomo OSS.

Gêmeos Digitais

Importe uma especificação de API real, vincule-a a tabelas com estado e obtenha um mock que passa no SDK real:

# 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"}

Validado com SDKs reais:

  • Stripe: 49/49 testes do SDK stripe-go passam
  • Twilio: 13/13 testes do SDK twilio-go passam
  • OpenAI: SDK Python openai verificado (models, assistants, chat completions)

Consulte mockd-samples para configurações completas de gêmeos digitais.

Nativo para IA (MCP)

O mockd inclui um servidor Model Context Protocol integrado com 18 ferramentas. Agentes de IA podem criar mocks, gerenciar estado, importar especificações e verificar contratos sem tocar na CLI:

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

Funciona no Claude Desktop, Cursor, Windsurf e em qualquer editor compatível com MCP. As ferramentas cobrem CRUD de mocks, recursos com estado, injeção de caos, logs de requisições, verificação, workspaces e importação/exportação.

Recursos

Mock Multi-Protocolo — 7 protocolos, CLI unificada
ProtocoloPortaExemplo
HTTP/HTTPS4280mockd add http --path /api/hello --body '{"msg":"hi"}'
gRPC50051mockd add grpc --proto svc.proto --service Greeter --rpc-method Greet
GraphQL4280mockd add graphql --path /graphql --operation hello
WebSocket4280mockd add websocket --path /ws --echo
MQTT1883mockd add mqtt --topic sensors/temp --payload '{"temp":72}'
SSE4280mockd add http --path /events --sse --sse-event 'data: hello'
SOAP4280mockd add soap --path /soap --operation GetWeather --response '<OK/>'
Importação & Exportação — OpenAPI, Postman, HAR, WireMock, cURL, WSDL
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
Engenharia de Caos — latência, erros, circuit breakers
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
Túnel na Nuvem — compartilhe mocks locais instantaneamente
mockd tunnel
# → https://a1b2c3d4.tunnel.mockd.io → http://localhost:4280

Todos os 7 protocolos multiplexados por uma única conexão segura na porta 443. Funciona atrás de NAT e firewalls.

Workspaces — ambientes de mock isolados
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
Gravação por Proxy — grave tráfego real, reproduza como mocks
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
Painel Web — gerencie mocks visualmente

As versões de lançamento servem uma interface web na porta administrativa (http://localhost:4290). Editor estilo VS Code, paleta de comandos, árvore de mocks com pastas, visualizador de logs de requisições e depuração de quase-acertos.

Mockd Cloud

O mockd funciona totalmente offline, sem necessidade de conta. Para equipes que desejam ambientes compartilhados:

  • Mocks persistentes na nuvem — implante ambientes de mock que toda a sua equipe pode acessar
  • Gerenciamento de equipe — workspaces compartilhados com controles de acesso
  • Túneis na nuvem — túneis autenticados com domínios personalizados

Em breve. Entre na lista de espera.

Documentação

Guias completos, referência de API e documentação de configuração em docs.mockd.io.

Contribuição

Contribuições são bem-vindas! Consulte CONTRIBUTING.md para configuração.

Licença

Apache License 2.0 — gratuito para uso comercial.