mockd

Servidor mock de API multiprotocolo con 18 herramientas MCP — simula APIs HTTP, GraphQL, gRPC, WebSocket, MQTT, SSE y SOAP con ingeniería del caos, CRUD con estado y respuestas deterministas basadas en semilla.

Documentación

mockd

Un solo binario. Siete protocolos. Cero dependencias.

Simula HTTP, gRPC, GraphQL, WebSocket, MQTT, SSE y SOAP desde una única herramienta CLI.
Importa especificaciones OpenAPI. Construye gemelos digitales. Deja que los agentes de IA creen simulaciones por ti.

CI Release Stars Go License

Sitio web · Documentación · Ejemplos · Contribuir

mockd demo


Inicio 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}}
Más opciones de instalación
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

Binarios precompilados para Linux, macOS y Windows en la página de Releases.

¿Por qué mockd?

Cualquier otra herramienta de simulación te obliga a elegir: selecciona un protocolo, instala un runtime, añade extensiones. mockd no lo hace.

mockdWireMockMockoonPrismMockServerBeeceptorjson-server
Un solo binario, sin runtime✅❌ JVM❌ Electron✅❌ JVM❌ SaaS❌ Node
Los 9 protocolos integrados✅🔌 ExtParcialSolo HTTPSolo HTTPParcialSolo REST
Perfiles de caos + interruptores de circuito✅⚠️ Cloud❌❌❌❌❌
Servidor MCP✅ local⚠️ Cloud❌❌❌⚠️ Cloud, Team+❌
Gratis y autoalojable, ilimitado✅✅✅✅✅50 req/día✅

🔌 Ext = requiere un JAR de extensión separado • ⚠️ Cloud = solo en el nivel de pago/alojado

Matriz completa de capacidades (despliegue, protocolos, capacidades, importaciones/exportaciones, precios)

Despliegue

mockdWireMockMockoonPrismMockServerBeeceptorjson-server
Binario nativo único✅ Go❌❌✅❌❌❌
Runtime requeridoningunoJVMElectron/NodeNode opcionalJVMn/a (SaaS)Node
Imagen Docker✅✅✅ CLI✅✅⚠️ Enterprise❌
Oferta SaaS gestionadahoja de rutaWireMock CloudMockoon CloudStoplight❌✅❌

Soporte de protocolos

mockdWireMock OSSMockoonPrismMockServerBeeceptorjson-server
REST / HTTP✅✅✅✅✅✅✅
gRPC✅🔌 Ext❌❌❌✅❌
GraphQL✅🔌 Ext❌❌❌✅❌
WebSocket✅🔌 Ext (beta)✅❌❌❌❌
MQTT✅❌❌❌❌❌❌
SSE✅❌❌❌❌❌❌
SOAP (WSDL)✅❌Parcial❌Parcial✅❌
mTLS✅✅Parcial❌✅✅❌
Flujos OAuth✅❌❌❌❌❌❌

Capacidades

mockdWireMock OSSMockoonPrismMockServerBeeceptorjson-server
CRUD con estado✅❌✅Parcial❌✅✅
Flujos con estado de varios pasos✅✅ EscenariosParcial❌Parcial✅❌
Inyección de fallos (retraso, errores)✅✅✅❌✅✅❌
Perfiles de caos✅⚠️ Cloud❌❌❌❌❌
Interruptores de circuito✅⚠️ Cloud❌❌❌❌❌
Limitación de ancho de banda✅❌❌❌❌hoja de ruta❌
API REST de administración✅✅Solo CLI❌✅✅Parcial
Panel web integrado✅⚠️ Cloud⚠️ Cloud❌✅ solo lectura✅❌
GUI de escritorio nativa❌❌✅ Electron❌❌❌❌
Servidor MCP✅ local⚠️ Cloud❌❌❌⚠️ Cloud Team+❌
Túnel en la nube compartido✅❌⚠️ Cloud❌❌✅❌

Importación / exportación

mockdWireMock OSSMockoonPrismMockServerBeeceptorjson-server
Importación OpenAPI✅⚠️ Cloud✅✅✅✅❌
Importación Postman✅⚠️ Cloud❌✅❌❌❌
Importación HAR✅❌❌❌❌❌❌
Importación WSDL✅❌❌❌❌✅❌
Importación cURL✅❌❌❌❌❌❌
Importación formato WireMock✅nativo❌❌❌❌❌
Importación formato Mockoon✅❌nativo❌❌❌❌
Exportación HAR✅✅❌❌✅✅❌

Límites del nivel gratuito

SolicitudesReglas de simulaciónCosto
mockdilimitadasilimitadasgratis (Apache 2.0)
WireMock OSSilimitadasilimitadasgratis (Apache 2.0)
Mockoon escritorio / CLIilimitadasilimitadasgratis (MIT)
Prismilimitadasilimitadasgratis (Apache 2.0)
MockServerilimitadasilimitadasgratis (Apache 2.0)
Beeceptor nivel gratuito50 / día / endpoint3$10/mes+ para más
json-serverilimitadasilimitadasgratis (MIT)

Leyenda: ✅ integrado • 🔌 Ext = extensión OSS separada • ⚠️ Cloud = solo en el nivel de pago / alojado • Parcial = implementación limitada • hoja de ruta = en la hoja de ruta declarada del proyecto, aún no publicado

Nota sobre importaciones de WireMock. Las marcas ⚠️ Cloud en importación OpenAPI y Postman reflejan funciones de WireMock de primera parte. Existen convertidores de la comunidad (p. ej. openapi-to-wiremock, objetivos de OpenAPI Generator) pero no están incluidos en el JAR independiente OSS.

Gemelos digitales

Importa una especificación de API real, vincúlala a tablas con estado y obtén una simulación que supera el 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 con SDK reales:

  • Stripe: 49/49 pruebas del SDK stripe-go superadas
  • Twilio: 13/13 pruebas del SDK twilio-go superadas
  • OpenAI: SDK de Python openai verificado (modelos, asistentes, completaciones de chat)

Consulta mockd-samples para ver configuraciones completas de gemelos digitales.

Nativo de IA (MCP)

mockd incluye un servidor Model Context Protocol integrado con 18 herramientas. Los agentes de IA pueden crear simulaciones, gestionar estado, importar especificaciones y verificar contratos sin tocar la CLI:

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

Funciona en Claude Desktop, Cursor, Windsurf y cualquier editor compatible con MCP. Las herramientas cubren CRUD de simulaciones, recursos con estado, inyección de caos, registros de solicitudes, verificación, espacios de trabajo e importación/exportación.

Funciones

Simulación multiprotocolo — 7 protocolos, CLI unificada
ProtocoloPuertoEjemplo
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/>'
Importación y exportación — 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
Ingeniería del caos — latencia, errores, interruptores de circuito
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 en la nube — comparte simulaciones locales al instante
mockd tunnel
# → https://a1b2c3d4.tunnel.mockd.io → http://localhost:4280

Los 7 protocolos se multiplexan a través de una única conexión segura en el puerto 443. Funciona detrás de NAT y cortafuegos.

Espacios de trabajo — entornos de simulación aislados
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
Grabación de proxy — graba tráfico real, reproduce como simulaciones
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
Panel web — gestiona simulaciones visualmente

Las versiones de lanzamiento sirven una interfaz web desde el puerto de administración (http://localhost:4290). Editor estilo VS Code, paleta de comandos, árbol de simulaciones con carpetas, visor de registros de solicitudes y depuración de casi-aciertos.

Mockd Cloud

mockd funciona completamente sin conexión y sin necesidad de cuenta. Para equipos que quieren entornos compartidos:

  • Simulaciones en la nube persistentes — despliega entornos de simulación a los que todo tu equipo pueda acceder
  • Gestión de equipos — espacios de trabajo compartidos con controles de acceso
  • Túneles en la nube — túneles autenticados con dominios personalizados

Próximamente. Únete a la lista de espera.

Documentación

Guías completas, referencia de API y documentación de configuración en docs.mockd.io.

Contribuir

¡Las contribuciones son bienvenidas! Consulta CONTRIBUTING.md para la configuración.

Licencia

Licencia Apache 2.0 — gratis para uso comercial.