NATS
MCP server for NATS — publish, request-reply, JetStream streams, KV store, and server diagnostics over stdio
nats-mcp
MCP server for NATS — publish messages, request-reply, manage JetStream streams, use the KV store, and inspect server diagnostics over stdio.
Installation
npx -y @daanrongen/nats-mcp
Tools (17 total)
| Domain | Tools | Coverage |
|---|---|---|
| Core | publish, request | Publish messages, request-reply pattern |
| Streams | stream_list, stream_info, stream_create, stream_delete, stream_publish, stream_fetch, stream_consumer_create | JetStream stream lifecycle and message delivery |
| KV | kv_create_bucket, kv_list_buckets, kv_get, kv_put, kv_delete, kv_list_keys, kv_history | Key-value store with history |
| Server | server_info | NATS server diagnostics |
Setup
Environment variables
| Variable | Required | Description |
|---|---|---|
NATS_URL | Yes | NATS server URL (e.g. nats://localhost:4222) |
Claude Desktop
Edit ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"nats": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@daanrongen/nats-mcp"],
"env": {
"NATS_URL": "nats://localhost:4222"
}
}
}
}
Or via the CLI:
claude mcp add nats -e NATS_URL=nats://localhost:4222 -- npx -y @daanrongen/nats-mcp
Development
bun install
bun run dev # run with --watch
bun test # run test suite
bun run build # bundle to dist/main.js
bun run inspect # open MCP Inspector in browser
Inspecting locally
bun run inspect launches the MCP Inspector against the local build:
bun run build && bun run inspect
This opens the Inspector UI in your browser where you can call any tool interactively and inspect request/response shapes.
Architecture
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
Verwandte Server
Telegram Notifier (Botfather)
Use botfather bot to notify yourself on Telegram.
Wassenger
Wassenger MCP server to chat, send messages and automate WhatsApp from any AI model client (free trial available).
WeCom Bot
Sends various types of messages to a WeCom (WeChat Work) group robot.
Email Reader
Read, search, and manage emails from your inbox, including downloading attachments and listing folders.
MCP Email Service
A service for managing multiple email accounts from various providers like 163, Gmail, QQ, and Outlook.
SendGrid
Access SendGrid's Marketing API for email marketing and contact management.
Audio MCP Server
Provides audio input and output capabilities for AI assistants.
WasenderAPI MCP
Connect WasenderAPI to AI agents and automation tools using the Model Context Protocol. This remote MCP server exposes WhatsApp session management, messaging, contacts, and groups as callable tools for MCP-compatible platforms
Say MCP Server
A server for voice notifications using VoiceBox, with a fallback to the Mac 'say' command.
Africa's Talking Airtime MCP
Interact with Africa's Talking airtime service and store transaction data in a local SQLite database.