modelscope·@pubnub/pubnub-mcp-server
暂无描述。

此仓库提供了一个基于 CLI 的 Model Context Protocol (MCP) 服务器,该服务器将 PubNub SDK 文档和 PubNub API 资源暴露给由大语言模型(LLM)驱动的工具。这提高了 LLM AI 代理理解和与 PubNub 的 SDK 和 API 交互的能力。

resources 目录中的本地 markdown 文件获取 PubNub 概念指南和操作文档(例如,pubnub_concepts、pubnub_features、pubnub_security、how_to_send_receive_json、how_to_encrypt_messages_files 等)。publish_pubnub_message 向 PubNub 频道发布消息,并返回时间戳。get_pubnub_messages 从一个或多个频道获取历史消息,以 JSON 格式返回消息内容和元数据。get_pubnub_presence 获取频道和频道组的实时存在信息(占用计数、订阅者 UUID)。write_pubnub_app 生成创建 PubNub 应用程序的逐步说明,包括在多种语言中初始化 PubNub SDK 的代码片段。PUBNUB_PUBLISH_KEY 和 PUBNUB_SUBSCRIBE_KEY 用于验证 SDK 操作。jsdom 和 turndown 将远程 HTML 文章转换为 Markdown,以确保文档格式一致。@modelcontextprotocol/sdk) 提供可扩展的工具定义,包括 McpServer 和 StdioServerTransport。my_channel 频道并将消息记录到控制台。"my_channel 频道发布一条消息,内容为 Hello, PubNub!。"subscribe() 方法的文档。"publish() 方法的文档。"test 频道的消息历史。"test 频道和 default 频道组的存在信息(占用情况和 UUID)。"这需要 Node.js (>= 18) 和 npm (https://nodejs.org/)。
npx 会自动获取并运行最新的 MCP 服务器。
推荐的方式是通过 npx 在本地运行 PubNub MCP 服务器或将它添加到 Cursor IDE:
bash npx -y @pubnub/mcp
Cursor 必须处于 AGENT 模式才能使用 MCP 服务器。
Cursor IDE 通过 JSON 配置文件发现 MCP 服务器。全局或按项目配置 PubNub MCP 服务器。### 全局配置
编辑或创建 ~/.cursor/mcp.json 文件:
json { "mcpServers": { "pubnub": { "command": "npx", "args": ["-y", "@pubnub/mcp"], "env": { "PUBNUB_PUBLISH_KEY": "YOUR_PUBLISH_KEY", "PUBNUB_SUBSCRIBE_KEY": "YOUR_SUBSCRIBE_KEY" } } } }
在您的项目目录中,创建 .cursor/mcp.json 文件:
json { "mcpServers": { "pubnub": { "command": "npx", "args": ["-y", "@pubnub/mcp"], "env": { "PUBNUB_PUBLISH_KEY": "YOUR_PUBLISH_KEY", "PUBNUB_SUBSCRIBE_KEY": "YOUR_SUBSCRIBE_KEY" } } } }
如果您希望通过 Docker 运行 MCP 服务器,请将 PubNub 密钥设置为环境变量:
bash export PUBNUB_PUBLISH_KEY=YOUR_PUBLISH_KEY export PUBNUB_SUBSCRIBE_KEY=YOUR_SUBSCRIBE_KEY
然后配置您的 ~/.cursor/mcp.json(或项目中的 .cursor/mcp.json)文件:
json { "mcpServers": { "pubnub": { "command": "docker", "args": [ "run", "-i", "-e", "PUBNUB_PUBLISH_KEY", "-e", "PUBNUB_SUBSCRIBE_KEY", "pubnub/pubnub-mcp-server" ] } } }
command 指定启动 MCP 服务器的可执行文件。args 指定传递给命令的参数。env 设置服务器进程的环境变量。pubnub://docs/javascript — 获取 PubNub JavaScript SDK 文档pubnub://docs/python — 获取 PubNub Python SDK 文档pubnub://docs/java — 获取 PubNub Java SDK 文档pubnub://functions — 列出 PubNub 函数(来自 resources/pubnub_functions.md 的静态内容)shell
claude mcp add pubnub -e PUBNUB_PUBLISH_KEY=your_publish_key -e PUBNUB_SUBSCRIBE_KEY=your_subscribe_key -- npx -y @pubnub/mcp
claude mcp add pubnub -e PUBNUB_PUBLISH_KEY=your_publish_key -e PUBNUB_SUBSCRIBE_KEY=your_subscribe_key -- /Users/stephen/.nvm/versions/node/v22.14.0/bin/node /Users/stephen/Projects/mcp-pubnub/index.js
export PUBNUB_PUBLISH_KEY=your_publish_key export PUBNUB_SUBSCRIBE_KEY=your_subscribe_key
claude mcp add pubnub -- docker run -i -e PUBNUB_PUBLISH_KEY=$PUBNUB_PUBLISH_KEY -e PUBNUB_SUBSCRIBE_KEY=$PUBNUB_SUBSCRIBE_KEY pubnub/pubnub-mcp-server
输出将是: shell Added stdio MCP server pubnub with command: npx -y @pubnub/mcp to local config
shell claude "publish a message hi to the my_channel pubnub channel."
shell claude "publish a message hi to the my_channel pubnub channel."
╭───────────────────────────────────────────────────╮ │ ✻ Welcome to Claude Code research preview! │ │ │ │ /help for help, /status for your current setup │ │ │ │ cwd: /Users/stephen/Projects/mcp-pubnub │ ╰───────────────────────────────────────────────────╯
※ Tip: Press Option+Enter to send a multi-line message
publish a message hi to the my_channel pubnub channel.
⏺ I ll publish a message to the PubNub channel for you.
⏺ pubnub:publish_pubnub_message (MCP)(channel: "my_channel", message: "hi")… ⎿ Message published successfully. Timetoken: 17467422499409217
⏺ Message published successfully to "my_channel".移除MCP服务器,请使用:
shell claude mcp remove pubnub
如果您更喜欢在Claude Desktop中使用基于Docker的MCP服务器:
确保您的PubNub密钥已在shell中导出: bash export PUBNUB_PUBLISH_KEY=your_publish_key export PUBNUB_SUBSCRIBE_KEY=your_subscribe_key
在Cla…