PubNub MCP Server

by stephenlb

Integrations

  • Provides formatted SDK documentation for PubNub's JavaScript SDK, allowing developers to access reference materials for methods like subscribe() and publish() from within Cursor IDE.

  • Supports PubNub functionality through Node.js, allowing users to publish messages to channels, subscribe to channels, fetch message history, and retrieve presence information.

  • Offers access to PubNub's Python SDK documentation, enabling users to fetch docs for methods like publish() directly through Cursor IDE.

用于 Cursor IDE 的 PubNub 模型上下文协议 (MCP) 服务器

此存储库提供了一个基于 CLI 的模型上下文协议 (MCP) 服务器,该服务器将 PubNub SDK 文档和 PubNub 函数资源公开给 LLM 驱动的工具。将此服务器添加到 Cursor IDE 后,您可以:

  • 获取格式化的 PubNub JavaScript、Python 和 Java SDK 文档。
  • 从静态 Markdown 文件访问 PubNub Functions 文档。

示例提示

  • “向my_channel频道发布一条消息,内容为Hello, PubNub! 。”
  • “向我展示subscribe()的 PubNub JavaScript SDK 文档。”
  • “列出所有可用的 PubNub 函数。”
  • “获取publish()方法的 Python SDK 文档。”
  • “获取test频道的消息历史记录。”
  • test频道和default频道组的存在信息(占用率和 UUID)。”

这需要 Node.js (>= 18) 和 npm ( https://nodejs.org/ ) npx将自动获取并运行最新的 MCP 服务器。

先决条件

  • Node.js(>= 18)和 npm
  • 带有 MCP 支持的 Cursor IDE
  • (可选)用于现场示例的 PubNub 帐户和 API 密钥

安装

在本地运行 PubNub MCP 服务器或通过 npx 将其添加到 Cursor IDE 的首选方法:

npx -y @pubnub/mcp

配置

光标必须处于代理模式才能使用 MCP 服务器。

Cursor IDE 通过 JSON 配置文件发现 MCP 服务器。您可以全局或按项目配置 PubNub MCP 服务器。

全局配置

编辑或创建~/.cursor/mcp.json

{ "mcpServers": { "pubnub": { "command": "npx", "args": ["-y", "@pubnub/mcp"], "env": { "PUBNUB_SUBSCRIBE_KEY": "YOUR_SUBSCRIBE_KEY", "PUBNUB_PUBLISH_KEY": "YOUR_PUBLISH_KEY" } } } }

项目配置

在您的项目目录中,创建.cursor/mcp.json

{ "mcpServers": { "pubnub": { "command": "npx", "args": ["-y", "@pubnub/mcp"], "env": { "PUBNUB_SUBSCRIBE_KEY": "YOUR_SUBSCRIBE_KEY", "PUBNUB_PUBLISH_KEY": "YOUR_PUBLISH_KEY" } } } }
  • command指定启动 MCP 服务器的可执行文件。
  • args指定传递给命令的参数。
  • env为服务器进程设置环境变量。

在 Cursor IDE 中使用

  1. 重新启动 Cursor IDE 或打开一个新会话。
  2. 打开 MCP 设置窗格并验证pubnub服务器是否列在可用工具和资源下。
  3. 在聊天中,调用可用资源:
    • 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静态内容)
  4. 在出现提示时批准资源执行,或在受信任资源的设置中启用自动运行

克劳德·科德

## Install the MCP server if you have node >= 18 claude mcp add pubnub -e PUBNUB_PUBLISH_KEY=your_publish_key -e PUBNUB_SUBSCRIBE_KEY=your_subscribe_key -- npx -y @pubnub/mcp ## Install the MCP server if you have node < 18 and need to point to the full path of node 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

输出将是:

Added stdio MCP server pubnub with command: npx -y @pubnub/mcp to local config

示例提示

claude "publish a message 'hi' to the 'my_channel' pubnub channel."
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 服务器:

claude mcp remove pubnub

使用 Claude Desktop

  1. 工具部分中,添加一个名为pubnub的新工具。
  2. 命令设置为npx ,将参数设置["-y", "@pubnub/mcp"]
  3. 为您的 PubNub 密钥添加环境变量:
    • PUBNUB_SUBSCRIBE_KEY
    • PUBNUB_PUBLISH_KEY
  4. 保存配置。

Claude Desktop 可能使用了旧版本的 Node.js。您可能需要将命令设置为 Node.js 安装的完整路径。

git clone https://github.com/stephenlb/pubnub-mcp-server.git

MCP 服务器位于index.js文件中:

{ "mcpServers": { "pubnub": { "command": "/Users/stephen/.nvm/versions/node/v22.14.0/bin/node", "args": ["/Users/stephen/Projects/mcp-pubnub/index.js"], "env": { "PUBNUB_SUBSCRIBE_KEY": "demo", "PUBNUB_PUBLISH_KEY": "demo" } } } }

执照

本项目遵循 MIT 许可证。详情请参阅LICENSE文件。

故障排除

  • 必须处于代理模式才能使用 MCP 服务器。
  • 验证 Node.js 和 npm 安装。
  • 确保server.js具有执行权限。
  • 检查commandargsenv设置是否正确。
  • 查看 Cursor IDE 日志以查找 MCP 启动错误。

直接 JSON-RPC 命令行用法

您可以使用 JSON-RPC v2.0 直接通过 STDIN/STDOUT 调用 MCP 服务器。请确保您的 PubNub 密钥已在环境中设置,例如:

PUBNUB_SUBSCRIBE_KEY=YOUR_SUBSCRIBE_KEY \ PUBNUB_PUBLISH_KEY=YOUR_PUBLISH_KEY \ node index.js

服务器运行后(或使用一次性调用),通过将 JSON 管道传输到node index.js来发送请求。示例:

# 1) List available tools echo '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}' \ | node index.js # 2) Fetch PubNub JavaScript SDK documentation echo '{"jsonrpc":"2.0","id":2,"method":"tools/call","params": {"name":"fetch_pubnub_sdk_docs","arguments":{"language":"javascript"}}}' \ | node index.js # 3) Load PubNub Functions docs (static Markdown) echo '{"jsonrpc":"2.0","id":3,"method":"tools/call","params": {"name":"pubnub_functions_docs","arguments":{}}}' \ | node index.js # 4) Publish a message to a channel echo '{"jsonrpc":"2.0","id":4,"method":"tools/call","params": {"name":"publish_pubnub_message","arguments": {"channel":"my_channel","message":"Hello, PubNub!"}}}' \ | node index.js # 5) Read a static resource echo '{"jsonrpc":"2.0","id":5,"method":"resources/read","params": {"uri":"thank_you_pubnub://thank_you"}}' \ | node index.js

快速 JSON-RPC 示例

以下是使用 STDIN/STDOUT 获取 PubNub SDK 文档并发布消息的简化 JSON-RPC v2.0 命令行示例。

1)获取 PubNub JavaScript SDK 文档

PUBNUB_SUBSCRIBE_KEY=YOUR_SUBSCRIBE_KEY \ PUBNUB_PUBLISH_KEY=YOUR_PUBLISH_KEY \ echo '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"fetch_pubnub_sdk_docs","arguments":{"language":"javascript"}}}' \ | node index.js

2)向 PubNub 频道发布消息

PUBNUB_SUBSCRIBE_KEY=YOUR_SUBSCRIBE_KEY \ PUBNUB_PUBLISH_KEY=YOUR_PUBLISH_KEY \ echo '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"publish_pubnub_message","arguments":{"channel":"my_channel","message":"Hello, PubNub MCP JSON-RPC!"}}}' \ | node index.js

执照

麻省理工学院

You must be authenticated.

A
security – no known vulnerabilities
F
license - not found
A
quality - confirmed to work

基于 CLI 的模型上下文协议服务器,将 PubNub SDK 文档和函数资源公开给 Cursor IDE 等 LLM 驱动的工具,使用户能够获取文档并通过自然语言提示与 PubNub 频道进行交互。

  1. 示例提示
    1. 先决条件
      1. 安装
        1. 配置
          1. 全局配置
          2. 项目配置
        2. 在 Cursor IDE 中使用
          1. 克劳德·科德
            1. 示例提示
          2. 使用 Claude Desktop
            1. 执照
              1. 故障排除
                1. 直接 JSON-RPC 命令行用法
                  1. 快速 JSON-RPC 示例
                    1. 1)获取 PubNub JavaScript SDK 文档
                    2. 2)向 PubNub 频道发布消息
                  2. 执照

                    Related MCP Servers

                    • -
                      security
                      F
                      license
                      -
                      quality
                      A simple Model Context Protocol server that enables searching and retrieving relevant documentation snippets from Langchain, Llama Index, and OpenAI official documentation.
                      Last updated -
                      Python
                      • Apple
                      • Linux
                    • -
                      security
                      F
                      license
                      -
                      quality
                      A customized MCP server that enables integration between LLM applications and documentation sources, providing AI-assisted access to LangGraph and Model Context Protocol documentation.
                      Last updated -
                      Python
                      • Linux
                      • Apple
                    • A
                      security
                      A
                      license
                      A
                      quality
                      A Model Context Protocol server that loads multiple OpenAPI specifications and exposes them to LLM-powered IDE integrations, enabling AI to understand and work with your APIs directly in development tools like Cursor.
                      Last updated -
                      7
                      292
                      7
                      TypeScript
                      MIT License

                    View all related MCP servers

                    ID: u5x3u3txbh