Webex MCP Server
Proporciona a los asistentes de IA acceso completo a las capacidades de mensajería de Cisco Webex.
Documentación
Servidor Webex MCP
Un servidor de Protocolo de Contexto de Modelo (MCP) que proporciona a los asistentes de IA acceso integral a las capacidades de mensajería de Cisco Webex.
De la intención empresarial a la acción en Webex
Los agentes de IA pueden usar este servidor como una capa de acción de colaboración: traducir un objetivo empresarial en una secuencia de operaciones de Webex, elegir las capacidades relevantes y llevar el flujo de trabajo hasta su finalización. Eso puede significar notificar a clientes, ensamblar salas de respuesta a incidentes, mantener equipos y espacios de clientes, gobernar personas y membresías, reaccionar a eventos de Webex o conectar contenido empresarial e interacciones de aprobación.
Debido a que el servidor expone mensajes, salas, equipos, membresías, personas, webhooks, eventos, pestañas, acciones de adjuntos y carpetas ECM como herramientas MCP componibles, los agentes pueden construir flujos de trabajo en torno a la necesidad empresarial en lugar de limitarse a una automatización fija.
▶ Ver el explicador de 15 segundos con sonido
Crear medios listos para lanzamiento desde Claude o Codex
Este explicador fue creado a partir de una solicitud en lenguaje natural usando el Agentic Media Harness. Su plugin agentic-media convierte a Claude Code o Codex en un flujo de trabajo de producción de medios: lee tu repositorio, mejora el prompt, genera imágenes o videos, verifica la precisión del movimiento y del guion, itera sobre la calidad y registra cada prompt, puntuación y dólar gastado.
Instala el plugin una vez, luego crea videos de producto conscientes del repositorio, imágenes destacadas, infografías y activos de lanzamiento sin salir de tu agente de codificación.
Claude Code
pip install "git+ssh://git@github.com/Kashyap-AI-ML-Solutions/agentic-media-harness.git#subdirectory=packages/amh"
claude plugin marketplace add Kashyap-AI-ML-Solutions/agentic-media-harness
claude plugin install agentic-media@agentic-media-harness
export GEMINI_API_KEY=your_key_here # create + enable billing: https://aistudio.google.com/apikey
Codex CLI
pip install "git+ssh://git@github.com/Kashyap-AI-ML-Solutions/agentic-media-harness.git#subdirectory=packages/amh"
codex plugin marketplace add Kashyap-AI-ML-Solutions/agentic-media-harness
codex plugin add agentic-media@agentic-media-harness
export GEMINI_API_KEY=your_key_here # optional for images; required for video
Puedes poner GEMINI_API_KEY=your_key en el archivo .env del repositorio. Nunca hagas commit de ese archivo.
Luego abre cualquier repositorio y pregunta:
Usa la habilidad de video multimedia para crear un video explicador corto para este repositorio. Lee el README primero. Mi presupuesto es de $2.50.
Descripción general
Este servidor MCP permite a los asistentes de IA interactuar con la mensajería de Webex a través de 52 herramientas diferentes que cubren:
- Mensajes: Enviar, editar, eliminar y recuperar mensajes
- Salas: Crear y gestionar espacios de Webex
- Equipos: Creación de equipos y gestión de membresías
- Personas: Gestión de usuarios y operaciones de directorio
- Webhooks: Notificaciones de eventos e integraciones
- Características empresariales: Carpetas ECM, pestañas de salas y adjuntos
Características
- ✅ Cobertura completa de la API de Webex: 52 herramientas que cubren todas las operaciones principales de mensajería
- ✅ Soporte de Docker: Contenerización lista para producción
- ✅ Transporte dual: Modos STDIO y HTTP (StreamableHTTP)
- ✅ Listo para empresas: Soporta autenticación empresarial de Cisco
- ✅ Seguridad de tipos: Implementación completa en TypeScript/JavaScript con manejo adecuado de errores
- ✅ Configuración centralizada: Gestión fácil de tokens y endpoints
Inicio rápido
Requisitos previos
- Node.js 18+ (20+ recomendado). Advertencia: si ejecutas con una versión inferior de Node,
fetchno estará presente. Las herramientas usanfetchpara hacer llamadas HTTP. Para solucionar esto, puedes modificar las herramientas para usarnode-fetchen su lugar. Asegúrate de quenode-fetchesté instalado como dependencia y luego impórtalo comofetchen cada archivo de herramienta. - Docker (opcional, para despliegue contenerizado)
- Token de API de Webex desde developer.webex.com
Renovación de token
Los tokens Bearer de Webex son de corta duración. Tu token actual expira en 12 horas. Para renovarlo:
- Visita: https://developer.webex.com/messaging/docs/api/v1/rooms/list-rooms
- Inicia sesión con tu correo electrónico
- Copia el nuevo token bearer desde tu perfil
- Actualiza la variable de entorno "WEBEX_PUBLIC_WORKSPACE_API_KEY" con el nuevo token (elimina el prefijo "Bearer ")
Instalación
-
Clonar e instalar dependencias:
git clone <repository-url> cd webex-messaging-mcp-server npm install -
Configurar el entorno:
cp .env.example .env # Edit .env with your Webex API token -
Probar el servidor:
# List available tools node index.js tools # Discover tools with detailed analysis npm run discover-tools # Start MCP server (STDIO mode - default) node mcpServer.js # Start MCP server (HTTP mode) npm run start:http
🔍 Descubrimiento de herramientas
El servidor incluye capacidades integrales de descubrimiento de herramientas:
Comandos de descubrimiento de herramientas
# Human-readable tool analysis
npm run discover-tools
# JSON output for programmatic use
npm run discover-tools -- --json
# Filter tools by category
ENABLED_TOOLS=create_message,list_rooms npm run discover-tools
# Get help
npm run discover-tools -- --help
Manifiesto de herramientas
El archivo tools-manifest.json proporciona:
- Categorías de herramientas: Mensajes, Salas, Equipos, Membresías, Personas, Webhooks, Empresarial
- 52 herramientas en total: Cobertura completa de la API de mensajería de Webex
- Configuración del entorno: Variables requeridas y opcionales
- Información de pruebas: Detalles de cobertura y validación
- Historial de migración: Documentación de actualización del protocolo MCP
Organización de herramientas
Las herramientas están organizadas por funcionalidad:
- Mensajes (6 herramientas): Crear, listar, editar, eliminar mensajes
- Salas (6 herramientas): Gestión y configuración de salas
- Equipos (5 herramientas): Creación y gestión de equipos
- Membresías (10 herramientas): Operaciones de membresía en salas y equipos
- Personas (6 herramientas): Perfil de usuario y gestión de directorio
- Webhooks (7 herramientas): Notificaciones de eventos y gestión de webhooks
- Empresarial (12 herramientas): Carpetas ECM, pestañas de salas, adjuntos
Metadatos de selección y comportamiento de herramientas
Las 52 herramientas publican anotaciones MCP más orientación compacta de selección y comportamiento a través de tools/list. La oración de propósito original y el esquema de entrada permanecen sin cambios; la orientación adjunta identifica la herramienta hermana más cercana, si la operación lee o cambia el estado de Webex, y cómo se devuelven los errores de API y los límites de velocidad.
Las anotaciones son sugerencias descriptivas para clientes MCP, no controles de autorización. El token de acceso de Webex y las políticas de la organización siguen siendo autoritativos.
Uso de Docker
-
Construir y ejecutar:
docker build -t webex-mcp-server . docker run -i --rm --env-file .env webex-mcp-server -
Usando docker-compose:
docker-compose up webex-mcp-server
Configuración
Variables de entorno
| Variable | Requerida | Descripción | Predeterminado |
|---|---|---|---|
WEBEX_PUBLIC_WORKSPACE_API_KEY | Sí | Token de API de Webex (sin prefijo "Bearer ") | - |
WEBEX_API_BASE_URL | No | URL base de la API de Webex | https://webexapis.com/v1 |
WEBEX_USER_EMAIL | No | Tu correo de Webex (para referencia) | - |
PORT | No | Puerto para modo HTTP | 3001 |
MCP_MODE | No | Modo de transporte (stdio o http) | stdio |
Obtener un token de API de Webex
- Visita developer.webex.com
- Inicia sesión con tu cuenta de Cisco/Webex
- Copia el token bearer desde la documentación de la API
- Importante: Elimina el prefijo "Bearer " al agregarlo a tu archivo
.env
Integración con clientes MCP
Claude Desktop (modo STDIO)
Agrega a la configuración de tu Claude Desktop:
{
"mcpServers": {
"webex-messaging": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"WEBEX_PUBLIC_WORKSPACE_API_KEY",
"-e",
"WEBEX_USER_EMAIL",
"-e",
"WEBEX_API_BASE_URL",
"webex-mcp-server"
],
"env": {
"WEBEX_USER_EMAIL": "your.email@company.com",
"WEBEX_API_BASE_URL": "https://webexapis.com/v1",
"WEBEX_PUBLIC_WORKSPACE_API_KEY": "your_token_here"
}
}
}
}
Integración en modo HTTP
Para clientes MCP basados en HTTP, inicia el servidor en modo HTTP:
# Start HTTP server
npm run start:http
# Server endpoints:
# Health check: http://localhost:3001/health
# MCP endpoint: http://localhost:3001/mcp
El servidor soporta el protocolo MCP 2025-11-25 con transporte StreamableHTTP, incluyendo:
- Configuración CORS adecuada con exposición del encabezado
mcp-session-id - Gestión de sesiones para conexiones con estado
- Formato de respuesta Server-Sent Events (SSE)
Otros clientes MCP
Para modo STDIO:
docker run -i --rm --env-file .env webex-mcp-server
Para modo HTTP:
docker run -p 3001:3001 --rm --env-file .env webex-mcp-server --http
Herramientas disponibles
Mensajería principal
create_message- Enviar mensajes a salaslist_messages- Recuperar historial de mensajesedit_message- Modificar mensajes existentesdelete_message- Eliminar mensajesget_message_details- Obtener información de mensajes específicos
Gestión de salas
create_room- Crear nuevos espacios de Webexlist_rooms- Explorar salas disponiblesget_room_details- Obtener información de salasupdate_room- Modificar configuraciones de salasdelete_room- Eliminar salas
Operaciones de equipos
create_team- Crear equiposlist_teams- Explorar equiposget_team_details- Obtener información de equiposupdate_team- Modificar configuraciones de equiposdelete_team- Eliminar equipos
Gestión de membresías
create_membership- Agregar personas a salaslist_memberships- Ver miembros de salasupdate_membership- Cambiar roles de miembrosdelete_membership- Eliminar miembroscreate_team_membership- Agregar miembros de equiposlist_team_memberships- Ver miembros de equipos
Personas y directorio
get_my_own_details- Obtener tu perfillist_people- Buscar usuariosget_person_details- Obtener información de usuarioscreate_person- Agregar nuevos usuarios (solo administrador)update_person- Modificar detalles de usuariosdelete_person- Eliminar usuarios (solo administrador)
Webhooks y eventos
create_webhook- Configurar notificaciones de eventoslist_webhooks- Gestionar webhooksget_webhook_details- Obtener información de webhooksupdate_webhook- Modificar webhooksdelete_webhook- Eliminar webhookslist_events- Obtener registros de actividadget_event_details- Obtener información de eventos específicos
Características empresariales
create_room_tab- Agregar pestañas a salaslist_room_tabs- Ver pestañas de salasget_room_tab_details- Obtener información de pestañasupdate_room_tab- Modificar pestañasdelete_room_tab- Eliminar pestañascreate_attachment_action- Manejar envíos de formulariosget_attachment_action_details- Obtener detalles de adjuntoslist_ecm_folder- Gestión de contenido empresarialget_ecm_folder_details- Obtener detalles de carpetas ECMcreate_ecm_folder- Crear configuraciones ECMupdate_ecm_linked_folder- Modificar carpetas ECMunlink_ecm_linked_folder- Eliminar enlaces ECM
Modos de transporte
Modo STDIO (predeterminado)
El modo de transporte predeterminado para clientes MCP como Claude Desktop:
# Start in STDIO mode
node mcpServer.js
# or
npm start
Modo HTTP (StreamableHTTP)
Transporte basado en HTTP que soporta el protocolo MCP 2025-11-25:
# Start in HTTP mode
npm run start:http
# or
node mcpServer.js --http
Características del modo HTTP:
- Verificación de salud:
GET http://localhost:3001/health - Endpoint MCP:
POST http://localhost:3001/mcp - Gestión de sesiones: Manejo automático de ID de sesión
- Soporte CORS: Configuración adecuada de origen cruzado
- Protocolo: MCP 2025-11-25 con transporte StreamableHTTP
Variables de entorno:
MCP_MODE=http- Forzar modo HTTPPORT=3001- Puerto personalizado (predeterminado: 3001)
Integración con Smithery
El servidor está configurado para despliegue automático a través de Smithery con runtime HTTP:
# smithery.yaml
runtime: "nodejs"
main: "mcpServer.js"
envMapping:
webexApiKey: "WEBEX_PUBLIC_WORKSPACE_API_KEY"
webexApiBaseUrl: "WEBEX_API_BASE_URL"
Desplegar con: smithery deploy
Desarrollo
Estructura del proyecto
├── lib/
│ ├── tools.js # Tool discovery and loading
│ └── webex-config.js # Centralized API configuration
├── tools/
│ └── webex-public-workspace/webex-messaging/
│ ├── create-a-message.js
│ ├── list-messages.js
│ └── ... (50 more tools)
├── scripts/
│ └── update-webex-tools.js # Automated tool updates
├── mcpServer.js # Main MCP server
├── index.js # CLI interface
├── Dockerfile # Container configuration
└── docker-compose.yml # Multi-container setup
Agregar nuevas herramientas
- Crea un nuevo archivo de herramienta en
tools/webex-public-workspace/webex-messaging/ - Sigue el patrón de herramientas existente con importaciones adecuadas
- Agrega la ruta de la herramienta a
tools/paths.js - Prueba con
node index.js tools
Seguridad
- Contenedor no root: Se ejecuta como usuario
mcp(UID 1001) - Construcción de múltiples etapas: Imagen de producción optimizada
- Aislamiento del entorno: Secretos pasados a través de variables de entorno
- Verificaciones de salud: Soporte de monitoreo de contenedores
Pruebas
🧪 Suite de pruebas integral
- 118 pruebas unitarias en 53 suites de pruebas
- Tasa de aprobación del 100% con cobertura integral
- Más de 50 endpoints de API probados de extremo a extremo
- Más de 20 correcciones de errores críticos validadas
# Run all tests
npm test
# Run with coverage
npm run test:coverage
# Run tests locally (same as npm test)
npm run test:local
# Validate code quality + tests
npm run validate
🔒 Puertas de calidad previas al commit
Aseguramiento automático de calidad usando hooks de pre-commit de Husky:
# Automatically runs on git commit:
🚀 Running pre-commit validation...
🔍 Checking code quality and running 118 unit tests...
✅ All validations passed! Commit proceeding...
Lo que se valida:
- Verificación de sintaxis de JavaScript
- Las 118 pruebas unitarias deben pasar
- Estándares de calidad de código
- Corrección de la implementación de la API
Consulta tests/README.md para documentación detallada de pruebas.
Contribuciones
- Haz un fork del repositorio
- Crea una rama de características
- Haz tus cambios
- Las pruebas se ejecutan automáticamente al hacer commit a través de hooks de pre-commit
- Asegúrate de que las 118 pruebas pasen
- Envía una solicitud de extracción
Licencia
Licencia MIT - consulta el archivo LICENSE para más detalles
Soporte
- Problemas: Reporta errores y solicitudes de características a través de los problemas de GitHub
- Documentación: Consulta SETUP-COMPLETE.md para instrucciones detalladas de configuración
- Comunidad: Únete a las discusiones en los canales de la comunidad MCP
