Skip to main content
Glama

PubNub MCP Server

by pubnub

Logotipo del servidor MCP

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 la API de PubNub a herramientas basadas en LLM. Esto mejora la capacidad del Agente de IA de LLM para comprender e interactuar con los SDK y las API de PubNub.

Con PubNub MCP vs. sin él

Características

  • Servidor MCP que expone herramientas para interactuar con PubNub a través de JSON-RPC sobre STDIN/STDOUT.
  • Recupere la documentación oficial del SDK de PubNub (HTML → Markdown) para:
    • Lenguajes: JavaScript, Python, Java, Go, Ruby, Swift, Objective-C, C#, PHP, Rust, Unity, Kotlin, Unreal.
    • Secciones de referencia de API: configuración, publicación y suscripción, presencia, administrador de acceso, grupos de canales, almacenamiento y reproducción, push móvil, objetos, archivos, acciones de mensajes, varios, funciones.
  • Obtenga guías conceptuales de PubNub y documentación práctica desde archivos markdown locales en el directorio resources (por ejemplo, pubnub_concepts , pubnub_features , pubnub_security , how_to_send_receive_json , how_to_encrypt_messages_files , etc.).
  • Publica mensajes en canales de PubNub con publish_pubnub_message y devuelve un token de tiempo.
  • Obtenga mensajes históricos de uno o más canales con get_pubnub_messages y devuelva el contenido del mensaje y los metadatos en JSON.
  • Recupere información de presencia en tiempo real (conteos de ocupación, UUID de suscriptores) para canales y grupos de canales con get_pubnub_presence .
  • Genere instrucciones paso a paso para crear una aplicación PubNub, incluidos fragmentos de código para inicializar el SDK de PubNub en varios idiomas mediante write_pubnub_app .
  • Configuración de la variable de entorno: admite PUBNUB_PUBLISH_KEY y PUBNUB_SUBSCRIBE_KEY para autenticar operaciones del SDK.
  • Convierte artículos HTML remotos a Markdown usando jsdom y turndown para un formato de documentación consistente.
  • Validación de entrada a través de esquemas Zod para todos los parámetros de la herramienta, lo que garantiza un manejo sólido de errores.
  • Definiciones de herramientas extensibles que aprovechan el SDK del Protocolo de Contexto de Modelo ( @modelcontextprotocol/sdk ) con McpServer y StdioServerTransport .

Ejemplos de indicaciones

  • "Escriba una aplicación PubNub que permita al usuario ver videos en streaming con un chat multiusuario integrado con PubNub".
  • "Escriba una aplicación PubNub para la entrega a pedido de comestibles con un mapa".
  • "Escriba una aplicación PubNub que rastree la ubicación de un paquete en tiempo real".
  • "Escribe una aplicación PubNub que muestre el pronóstico del tiempo en tiempo real".
  • "Escribe una aplicación PubNub que permita a los usuarios jugar juegos multijugador con amigos".
  • "Escribe una aplicación PubNub que muestre precios de acciones en vivo y actualizaciones de noticias".
  • "Escribe una aplicación PubNub que permita a los usuarios crear y compartir listas de reproducción con amigos".
  • "Cree una aplicación JavaScript de PubNub que se suscriba al canal my_channel y registre mensajes en la consola".
  • "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_PUBLISH_KEY": "YOUR_PUBLISH_KEY", "PUBNUB_SUBSCRIBE_KEY": "YOUR_SUBSCRIBE_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_PUBLISH_KEY": "YOUR_PUBLISH_KEY", "PUBNUB_SUBSCRIBE_KEY": "YOUR_SUBSCRIBE_KEY" } } } }

Configuración basada en Docker

Si prefiere ejecutar el servidor MCP a través de Docker, configure sus claves PubNub como variables de entorno:

export PUBNUB_PUBLISH_KEY=YOUR_PUBLISH_KEY export PUBNUB_SUBSCRIBE_KEY=YOUR_SUBSCRIBE_KEY

Luego configura tu ~/.cursor/mcp.json (o .cursor/mcp.json en tu proyecto):

{ "mcpServers": { "pubnub": { "command": "docker", "args": [ "run", "-i", "-e", "PUBNUB_PUBLISH_KEY", "-e", "PUBNUB_SUBSCRIBE_KEY", "pubnub/pubnub-mcp-server" ] } } }
  • 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 ## Install the MCP server using Docker # Ensure your PubNub keys are set as environment variables: export PUBNUB_PUBLISH_KEY=your_publish_key export PUBNUB_SUBSCRIBE_KEY=your_subscribe_key # Depending on your machine’s CPU architecture, you may need to specify the target platform. # For example: # docker run --platform linux/arm64 -i pubnub/pubnub-mcp-server # docker run --platform linux/amd64 -i pubnub/pubnub-mcp-server 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

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

Si prefiere el servidor MCP basado en Docker en Claude Desktop:

  1. Asegúrese de que sus claves PubNub se exporten en su shell:
    export PUBNUB_PUBLISH_KEY=your_publish_key export PUBNUB_SUBSCRIBE_KEY=your_subscribe_key
  2. En la sección Herramientas de Claude Desktop, agregue una nueva herramienta llamada pubnub .
  3. Establezca el comando en docker .
  4. Establecer argumentos en:
    [ "run", "-i", "-e", "PUBNUB_PUBLISH_KEY", "-e", "PUBNUB_SUBSCRIBE_KEY", "pubnub/pubnub-mcp-server" ]

Nota: En algunas máquinas (p. ej., Apple Silicon), es posible que deba especificar la plataforma Docker. Inserte --platform linux/arm64 (o --platform linux/amd64 ) inmediatamente después de "run" en la matriz Arguments. Por ejemplo:

[ "run", "--platform", "linux/arm64", "-i", "-e", "PUBNUB_PUBLISH_KEY", "-e", "PUBNUB_SUBSCRIBE_KEY", "pubnub/pubnub-mcp-server" ]
  1. Guardar la configuración.

Claude Desktop invocará el contenedor del servidor PubNub MCP a través de Docker.

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 index.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_PUBLISH_KEY=YOUR_PUBLISH_KEY \ PUBNUB_SUBSCRIBE_KEY=YOUR_SUBSCRIBE_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) Read PubNub JavaScript SDK documentation echo '{"jsonrpc":"2.0","id":2,"method":"tools/call","params": {"name":"read_pubnub_sdk_docs","arguments":{"language":"javascript"}}}' \ | node index.js # 3) Read PubNub Functions Resource docs (static Markdown) echo '{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"read_pubnub_resources","arguments":{"document":"pubnub_functions"}}}' \ | 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

echo '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"read_pubnub_sdk_docs","arguments":{"language":"javascript"}}}' | node index.js

2) Publicar un mensaje en un canal de PubNub

PUBNUB_PUBLISH_KEY=demo \ PUBNUB_SUBSCRIBE_KEY=demo \ 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
Install Server
A
security – no known vulnerabilities
F
license - not found
A
quality - confirmed to work

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

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. Características
    1. Ejemplos de indicaciones
      1. Prerrequisitos
        1. Instalación
          1. Configuración
            1. Configuración global
            2. Configuración del proyecto
            3. Configuración basada en Docker
          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

                    Related MCP Servers

                    • -
                      security
                      F
                      license
                      -
                      quality
                      A Model Context Protocol server that integrates with Cursor IDE, providing real-time communication, modern web dashboards, and extensible tools via SSE and WebSocket connections.
                      Last updated -
                      738
                      1
                      Python
                    • A
                      security
                      A
                      license
                      A
                      quality
                      A Model Context Protocol (MCP) server for Cursor IDE that simplifies the installation and configuration of other MCP servers.
                      Last updated -
                      3
                      231
                      63
                      JavaScript
                      MIT License
                      • Apple
                      • Linux
                    • -
                      security
                      F
                      license
                      -
                      quality
                      Allows LLM tools like Claude Desktop and Cursor AI to access and summarize code files through a Model Context Protocol server, providing structured access to codebase content without manual copying.
                      Last updated -
                      1
                      TypeScript
                      • 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
                      24
                      53
                      TypeScript
                      MIT License

                    View all related MCP servers

                    MCP directory API

                    We provide all the information about MCP servers via our MCP API.

                    curl -X GET 'https://glama.ai/api/mcp/v1/servers/pubnub/pubnub-mcp-server'

                    If you have feedback or need assistance with the MCP directory API, please join our Discord server