NATS
Servidor MCP para NATS: publicación, solicitud-respuesta, streams JetStream, almacenamiento KV y diagnóstico del servidor a través de stdio
GitHubPrueba este MCPPatrocinado
Documentación
nats-mcp
Servidor MCP para NATS — publica mensajes, solicitud-respuesta, gestiona streams de JetStream, usa el almacén KV e inspecciona diagnósticos del servidor a través de stdio.
Instalación
bunx @daanrongen/nats-mcp
Herramientas (17 en total)
| Dominio | Herramientas | Cobertura |
|---|---|---|
| Núcleo | publish, request | Publicar mensajes, patrón solicitud-respuesta |
| Streams | stream_list, stream_info, stream_create, stream_delete, stream_publish, stream_fetch, stream_consumer_create | Ciclo de vida de streams JetStream y entrega de mensajes |
| KV | kv_create_bucket, kv_list_buckets, kv_get, kv_put, kv_delete, kv_list_keys, kv_history | Almacén clave-valor con historial |
| Servidor | server_info | Diagnósticos del servidor NATS |
Configuración
| Variable | Requerida | Descripción |
|---|---|---|
NATS_URL | Sí | URL del servidor NATS (p. ej. nats://localhost:4222) |
Configuración
Claude Desktop
Edita ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"nats": {
"type": "stdio",
"command": "bunx",
"args": ["@daanrongen/nats-mcp"],
"env": {
"NATS_URL": "nats://localhost:4222"
}
}
}
}
Claude Code CLI
claude mcp add nats -e NATS_URL=nats://localhost:4222 -- bunx @daanrongen/nats-mcp
Desarrollo
bun install
bun run dev # run with --watch
bun test # run test suite
bun run lint # lint and check formatting
bun run typecheck # type check
bun run build # bundle to dist/main.js
bun run inspect # open MCP Inspector in browser
Inspección local
bun run inspect lanza el Inspector MCP contra la compilación local:
bun run build && bun run inspect
Esto abre la interfaz del Inspector en tu navegador, donde puedes llamar a cualquier herramienta de forma interactiva e inspeccionar las formas de solicitud/respuesta.
Arquitectura
src/
├── config.ts # Effect Config — NATS_URL
├── main.ts # Entry point — ManagedRuntime + StdioServerTransport
├── domain/
│ ├── NatsClient.ts # Context.Tag service interface
│ ├── errors.ts # NatsError, KvNotFoundError, StreamNotFoundError
│ └── models.ts # Schema.Class models (NatsMessage, StreamInfo, KvEntry, …)
├── infra/
│ ├── NatsClientLive.ts # Layer.scoped — connects via nats.js, drains on shutdown
│ └── NatsClientTest.ts # In-memory Ref-based test adapter
└── mcp/
├── server.ts # McpServer wired to ManagedRuntime
├── utils.ts # formatSuccess, formatError
└── tools/ # core.ts, streams.ts, kv.ts, server.ts
Licencia
MIT