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 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.
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
yPUBNUB_SUBSCRIBE_KEY
para autenticar operaciones del SDK. - Convierte artículos HTML remotos a Markdown usando
jsdom
yturndown
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
) conMcpServer
yStdioServerTransport
.
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 mensajeHello, 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 canalesdefault
".
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:
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
:
Configuración del proyecto
En el directorio de su proyecto, cree .cursor/mcp.json
:
Configuración basada en Docker
Si prefiere ejecutar el servidor MCP a través de Docker, configure sus claves PubNub como variables de entorno:
Luego configura tu ~/.cursor/mcp.json
(o .cursor/mcp.json
en tu proyecto):
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
- Reinicie Cursor IDE o abra una nueva sesión.
- Abra el panel de configuración de MCP y verifique que el servidor pubnub esté incluido en Herramientas y recursos disponibles .
- En el chat, invoca los recursos disponibles:
pubnub://docs/javascript
— Obtener la documentación del SDK de JavaScript de PubNubpubnub://docs/python
— Obtener la documentación del SDK de Python de PubNubpubnub://docs/java
— Obtener la documentación del SDK de Java de PubNubpubnub://functions
— Lista de funciones de PubNub (contenido estático deresources/pubnub_functions.md
)
- 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
Y el resultado será:
Ejemplo de mensaje
Eliminar el servidor MCP con:
Uso de Claude Desktop
Si prefiere el servidor MCP basado en Docker en Claude Desktop:
- Asegúrese de que sus claves PubNub se exporten en su shell:
- En la sección Herramientas de Claude Desktop, agregue una nueva herramienta llamada pubnub .
- Establezca el comando en
docker
. - Establecer argumentos en:
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:
- 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
yenv
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:
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:
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
2) Publicar un mensaje en un canal de PubNub
You must be authenticated.
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.
Tools
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.
Related MCP Servers
- AsecurityAlicenseAqualityA template for creating and connecting custom tools to Cursor IDE using Model Context Protocol with support for cheerful server responses.Last updated -41PythonMIT License
- -securityFlicense-qualityA simple Model Context Protocol server that enables searching and retrieving relevant documentation snippets from Langchain, Llama Index, and OpenAI official documentation.Last updated -Python
- -securityFlicense-qualityA 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
- AsecurityAlicenseAqualityA 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 -72927TypeScriptMIT License