NATS消息控制协议服务

为NATS提供消息发布、请求回复、JetStream流管理、KV存储和服务器诊断功能的控制协议服务。

  • by daanrongen
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 daanrongen/nats-mcp

使用说明

nats-mcp

MCP服务器 国家航空运输系统 --发布消息、请求回复、管理JetStream流、使用KV存储以及通过stdio检查服务器诊断。

安装

bunx @daanrongen/nats-mcp

工具(共17个)

域 工具 覆盖范围
核心 publish, request 发布消息,请求回复模式
流 stream_list, stream_info, stream_create, stream_delete, stream_publish, stream_fetch, stream_consumer_create JetStream流生命周期和消息传递
键值 kv_create_bucket, kv_list_buckets, kv_get, kv_put, kv_delete, kv_list_keys, kv_history 带历史记录的键值存储
服务器 server_info NATS服务器诊断

配置

变量 必填 描述
NATS_URL 是 NATS服务器URL(例如。 nats://localhost:4222)

设置

克劳德桌面版

编辑 ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "nats": {
      "type": "stdio",
      "command": "bunx",
      "args": ["@daanrongen/nats-mcp"],
      "env": {
        "NATS_URL": "nats://localhost:4222"
      }
    }
  }
}

克劳德代码CLI

claude mcp add nats -e NATS_URL=nats://localhost:4222 -- bunx @daanrongen/nats-mcp

发展

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

就地检查

bun run inspect 启动 MCP检查员 反对当地建筑:

bun run build && bun run inspect

这将在浏览器中打开检查器UI,您可以在其中交互式调用任何工具并检查请求/响应形状。

建筑

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

许可证

麻省理工学院