NATS
Servidor MCP para NATS — publish, request-reply, streams JetStream, armazenamento KV e diagnósticos de servidor via stdio
GitHubExperimente este MCPPatrocinado
Documentação
nats-mcp
Servidor MCP para NATS — publicar mensagens, requisição-resposta, gerenciar streams JetStream, usar o armazenamento KV e inspecionar diagnósticos do servidor via stdio.
Instalação
bunx @daanrongen/nats-mcp
Ferramentas (17 no total)
| Domínio | Ferramentas | Cobertura |
|---|---|---|
| Núcleo | publish, request | Publicar mensagens, padrão de requisição-resposta |
| Streams | stream_list, stream_info, stream_create, stream_delete, stream_publish, stream_fetch, stream_consumer_create | Ciclo de vida de streams JetStream e entrega de mensagens |
| KV | kv_create_bucket, kv_list_buckets, kv_get, kv_put, kv_delete, kv_list_keys, kv_history | Armazenamento chave-valor com histórico |
| Servidor | server_info | Diagnósticos do servidor NATS |
Configuração
| Variável | Obrigatório | Descrição |
|---|---|---|
NATS_URL | Sim | URL do servidor NATS (ex.: nats://localhost:4222) |
Preparação
Claude Desktop
Edite ~/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
Desenvolvimento
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
Inspeção local
bun run inspect inicia o MCP Inspector contra a compilação local:
bun run build && bun run inspect
Isso abre a interface do Inspector no seu navegador, onde você pode chamar qualquer ferramenta interativamente e inspecionar os formatos de requisição/resposta.
Arquitetura
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
Licença
MIT