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.

Servidor de protocolo de contexto de modelo (MCP) de PubNub para Cursor IDE

Este repositorio proporciona un servidor de Protocolo de Contexto de Modelo (MCP) basado en CLI que expone la documentación del SDK de PubNub y los recursos de las Funciones de PubNub a herramientas basadas en LLM. Al añadir este servidor a Cursor IDE, puede:

  • Obtenga documentación del SDK de JavaScript, Python y Java de PubNub con formato.
  • Acceda a la documentación de funciones de PubNub desde un archivo Markdown estático.

Ejemplos de indicaciones

  • "Publica un mensaje en el canal my_channel con el mensaje Hello, PubNub! "
  • "Muéstrame la documentación del SDK de JavaScript de PubNub para subscribe() ".
  • "Enumere todas las funciones de PubNub disponibles".
  • "Obtenga la documentación del SDK de Python para el método publish() ".
  • "Obtener el historial de mensajes del canal test ".
  • "Recuperar información de presencia (ocupación y UUID) para el canal test y el grupo de canales default ".

Esto requiere Node.js (>= 18) y npm ( https://nodejs.org/ ). npx buscará y ejecutará automáticamente el último servidor MCP.

Prerrequisitos

  • Node.js (>= 18) y npm
  • IDE de cursor con soporte MCP
  • (Opcional) Cuenta de PubNub y claves API para ejemplos en vivo

Instalación

La forma preferida de ejecutar el servidor PubNub MCP localmente o agregarlo a Cursor IDE a través de npx:

npx -y @pubnub/mcp

Configuración

El cursor debe estar en MODO AGENTE para utilizar servidores MCP.

Cursor IDE detecta servidores MCP mediante un archivo de configuración JSON. Configure el servidor MCP de PubNub globalmente o por proyecto.

Configuración global

Editar o crear ~/.cursor/mcp.json :

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

Configuración del proyecto

En el directorio de su proyecto, cree .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 especifica el ejecutable para iniciar el servidor MCP.
  • args especifica los argumentos que se pasarán al comando.
  • env establece variables de entorno para el proceso del servidor.

Uso en Cursor IDE

  1. Reinicie Cursor IDE o abra una nueva sesión.
  2. Abra el panel de configuración de MCP y verifique que el servidor pubnub esté incluido en Herramientas y recursos disponibles .
  3. En el chat, invoca los recursos disponibles:
    • pubnub://docs/javascript — Obtener la documentación del SDK de JavaScript de PubNub
    • pubnub://docs/python — Obtener la documentación del SDK de Python de PubNub
    • pubnub://docs/java — Obtener la documentación del SDK de Java de PubNub
    • pubnub://functions — Lista de funciones de PubNub (contenido estático de resources/pubnub_functions.md )
  4. Apruebe la ejecución de recursos cuando se le solicite o habilite la ejecución automática en la configuración para recursos confiables.

Claude Code

## 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

Y el resultado será:

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

Ejemplo de mensaje

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".

Eliminar el servidor MCP con:

claude mcp remove pubnub

Uso de Claude Desktop

  1. En la sección Herramientas , agregue una nueva herramienta llamada pubnub .
  2. Establezca el comando en npx y los argumentos en ["-y", "@pubnub/mcp"] .
  3. Agregue variables de entorno para sus claves PubNub:
    • PUBNUB_SUBSCRIBE_KEY
    • PUBNUB_PUBLISH_KEY
  4. Guardar la configuración.

Es posible que Claude Desktop use una versión anterior de Node. Quizás deba configurar el comando con la ruta completa de la instalación de Node.

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

El servidor MCP se encuentra en el archivo 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" } } } }

Licencia

Este proyecto está licenciado bajo la Licencia MIT. Consulte el archivo de LICENCIA para más detalles.

Solución de problemas

  • Debe estar en modo agente para utilizar servidores MCP.
  • Verificar la instalación de Node.js y npm.
  • Asegúrese de que server.js tenga permiso de ejecución.
  • Verifique que las configuraciones command , args y env sean correctas.
  • Revise los registros de Cursor IDE para detectar errores de inicio de MCP.

Uso directo de la línea de comandos JSON-RPC

Puede invocar el servidor MCP directamente a través de STDIN/STDOUT mediante JSON-RPC v2.0. Asegúrese de que sus claves de PubNub estén configuradas en el entorno, por ejemplo:

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

Una vez que el servidor esté en ejecución (o mediante una invocación única), envíe solicitudes canalizando JSON al node index.js . Ejemplos:

# 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

Ejemplos rápidos de JSON-RPC

A continuación se muestran ejemplos simplificados de la línea de comandos JSON-RPC v2.0 que utilizan STDIN/STDOUT para obtener la documentación del SDK de PubNub y publicar mensajes.

1) Obtener la documentación del SDK de JavaScript de PubNub

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) Publicar un mensaje en un canal de 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

Licencia

Instituto Tecnológico de Massachusetts (MIT)

You must be authenticated.

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

Un servidor de protocolo de contexto de modelo basado en CLI que expone la documentación del SDK de PubNub y los recursos de funciones a herramientas impulsadas por LLM como Cursor IDE, lo que permite a los usuarios obtener documentación e interactuar con los canales de PubNub a través de indicaciones en lenguaje natural.

  1. Ejemplos de indicaciones
    1. Prerrequisitos
      1. Instalación
        1. Configuración
          1. Configuración global
          2. Configuración del proyecto
        2. Uso en Cursor IDE
          1. Claude Code
            1. Ejemplo de mensaje
          2. Uso de Claude Desktop
            1. Licencia
              1. Solución de problemas
                1. Uso directo de la línea de comandos JSON-RPC
                  1. Ejemplos rápidos de JSON-RPC
                    1. 1) Obtener la documentación del SDK de JavaScript de PubNub
                    2. 2) Publicar un mensaje en un canal de PubNub
                  2. Licencia

                    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