返回 MCP 目录
public公开dns本地运行

nats-mcp-server

一个基于NATS消息系统的MCP服务器,提供通过NATS CLI发布、订阅消息及请求-响应模式等功能。

article

README

🚀 NATS MCP 服务器

NATS MCP 服务器是一个借助 Nats CLI 来访问 NATS(云原生消息系统)的 MCP(模型上下文协议)服务器,能让用户更便捷地与 NATS 进行交互。

✨ 主要特性

  • 可发布带有高级选项(头、模板、回复主题)的消息。
  • 能够以可配置的超时和消息计数订阅到指定主题。
  • 支持带有头信息的请求 - 响应模式。
  • 与 NATS CLI 实现了完全集成。
  • 具备完善的错误处理和清理机制。

📦 安装指南

要求

  • Node.js >= 14.0.0
  • NATS CLI(nats)

安装 NATS CLI

macOS

使用 Homebrew 进行安装:

brew tap nats-io/nats-tools
brew install nats-io/nats-tools/nats

Linux

  • 使用 snap 安装:
snap install nats
  • 使用 apt(Debian/Ubuntu)安装:
# 首先添加 NATS 仓库
echo "deb https://dl.nats.io/nats-io/repo/deb stable" | sudo tee /etc/apt/sources.list.d/nats.list
sudo apt update && sudo apt install nats
  • 使用 yum(CentOS/RHEL)安装:
# 首先添加 NATS 仓库
cat << EOF | sudo tee /etc/yum.repos.d/nats.repo
[nats]
name=NATS - https://nats.io
baseurl=https://dl.bintray.com/nats-io/rpm/centos/\$releasever/\$basearch/
enabled=1
gpgcheck=1
EOF
sudo yum clean all && sudo yum install nats

Windows

使用 winget 安装:

winget install nats.io.NATS

验证安装

安装完成后,可通过以下命令验证是否正确安装:

nats --version

🚀 快速开始

安装 MCP 服务器

  1. 克隆仓库:
git clone https://github.com/yourusername/nats-mcp-server.git
cd nats-mcp-server
  1. 安装依赖:
npm install
  1. 构建项目:
npm run build
  1. 启动服务器:
node build/index.js

💻 使用示例

添加到 MCP 配置

对于 Cline(VSCode 插件)

添加到 ~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json

{
  "mcpServers": {
    "nats": {
      "command": "node",
      "args": ["/path/to/nats-mcp-server/build/index.js"],
      "env": {
        "NATS_URL": "nats://localhost:4222"
      }
    }
  }
}

对于 Claude Desktop

添加到 ~/Library/Application Support/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "nats": {
      "command": "node",
      "args": ["/path/to/nats-mcp-server/build/index.js"],
      "env": {
        "NATS_URL": "nats://localhost:4222"
      }
    }
  }
}

命令参考

发布(publish)

发布一条消息到指定主题:

node build/index.js publish --subject <主题> --message "<消息>"

订阅(subscribe)

订阅指定主题的消息:

node build/index.js subscribe --subject <主题> [--timeout <超时时间>] [--count <消息数量>]

请求(request)

向指定主题发送请求并等待回复:

node build/index.js request --subject <主题> --message "<请求消息>" [--timeout <超时时间>]

模板函数

当使用模板(template: true)时,以下函数可用:

  • Count:消息编号
  • TimeStamp:RFC3339 格式当前时间
  • Unix:UTC 时间自 1970 的秒数
  • UnixNano:UTC 时间自 1970 的纳秒数
  • Time:当前时间
  • ID:唯一 ID
  • Random(min, max):指定长度的随机字符串

示例:

const result = await mcp.useTool("nats", "publish", {
  subject: "test",
  message: "Random data: {{ Random 10 100 }}",
  template: true
});

🔧 技术细节

服务器包含以下错误处理:

  • 连接失败
  • 无效参数
  • 超时
  • 网络错误
  • NATS 特定错误
  • CLI 执行错误

开发

  1. 克隆仓库:
git clone https://github.com/yourusername/nats-mcp-server.git
cd nats-mcp-server
  1. 安装依赖:
npm install
  1. 构建项目:
npm run build
  1. 启动开发服务器:
node build/index.js

贡献

  1. 叉仓库
  2. 创建功能分支(git checkout -b feature/amazing-feature
  3. 提交更改(git commit -m 'Add some amazing feature'
  4. 推送到分支(git push origin feature/amazing-feature
  5. 打开 Pull Request

📄 许可证

MIT

致谢

  • NATS.io:高性能分布式系统通信协议
  • Claude:强大的 AI 助手
help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端