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, ilimitado✅✅✅✅✅50 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)✅❌Parcial❌Parcial✅❌
mTLS✅✅Parcial❌✅✅❌
Fluxos OAuth✅❌❌❌❌❌❌

Capacidades

mockdWireMock OSSMockoonPrismMockServerBeeceptorjson-server
CRUD com estado✅❌✅Parcial❌✅✅
Fluxos com estado em várias etapas✅✅ CenáriosParcial❌Parcial✅❌
Injeção de falhas (atraso, erros)✅✅✅❌✅✅❌
Perfis de caos✅⚠️ Cloud❌❌❌❌❌
Circuit breakers✅⚠️ Cloud❌❌❌❌❌
Limitação de largura de banda✅❌❌❌❌roadmap❌
API REST administrativa✅✅Somente CLI❌✅✅Parcial
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 WireMock✅nativo❌❌❌❌❌
Importação de formato Mockoon✅❌nativo❌❌❌❌
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.