Webex MCP Server

Proporciona a los asistentes de IA acceso completo a las capacidades de mensajería de Cisco Webex.

Documentación

MseeP.ai Security Assessment Badge smithery badge

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.

Webex Server MCP server

Listed on Spark Install via Spark

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.

Animated diagram showing an AI agent using the Webex MCP Server to activate customer notifications, incident response rooms, customer collaboration, access governance, event automation, and knowledge and approval workflows.

15-second explainer showing how AI agents use the Webex MCP Server for customer notifications, incident response, team and space management, access governance, event automation, and approval workflows.
▶ 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, fetch no estará presente. Las herramientas usan fetch para hacer llamadas HTTP. Para solucionar esto, puedes modificar las herramientas para usar node-fetch en su lugar. Asegúrate de que node-fetch esté instalado como dependencia y luego impórtalo como fetch en 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:

  1. Visita: https://developer.webex.com/messaging/docs/api/v1/rooms/list-rooms
  2. Inicia sesión con tu correo electrónico
  3. Copia el nuevo token bearer desde tu perfil
  4. Actualiza la variable de entorno "WEBEX_PUBLIC_WORKSPACE_API_KEY" con el nuevo token (elimina el prefijo "Bearer ")

Instalación

  1. Clonar e instalar dependencias:

    git clone <repository-url>
    cd webex-messaging-mcp-server
    npm install
    
  2. Configurar el entorno:

    cp .env.example .env
    # Edit .env with your Webex API token
    
  3. 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

  1. Construir y ejecutar:

    docker build -t webex-mcp-server .
    docker run -i --rm --env-file .env webex-mcp-server
    
  2. Usando docker-compose:

    docker-compose up webex-mcp-server
    

Configuración

Variables de entorno

VariableRequeridaDescripciónPredeterminado
WEBEX_PUBLIC_WORKSPACE_API_KEYToken de API de Webex (sin prefijo "Bearer ")-
WEBEX_API_BASE_URLNoURL base de la API de Webexhttps://webexapis.com/v1
WEBEX_USER_EMAILNoTu correo de Webex (para referencia)-
PORTNoPuerto para modo HTTP3001
MCP_MODENoModo de transporte (stdio o http)stdio

Obtener un token de API de Webex

  1. Visita developer.webex.com
  2. Inicia sesión con tu cuenta de Cisco/Webex
  3. Copia el token bearer desde la documentación de la API
  4. 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 salas
  • list_messages - Recuperar historial de mensajes
  • edit_message - Modificar mensajes existentes
  • delete_message - Eliminar mensajes
  • get_message_details - Obtener información de mensajes específicos

Gestión de salas

  • create_room - Crear nuevos espacios de Webex
  • list_rooms - Explorar salas disponibles
  • get_room_details - Obtener información de salas
  • update_room - Modificar configuraciones de salas
  • delete_room - Eliminar salas

Operaciones de equipos

  • create_team - Crear equipos
  • list_teams - Explorar equipos
  • get_team_details - Obtener información de equipos
  • update_team - Modificar configuraciones de equipos
  • delete_team - Eliminar equipos

Gestión de membresías

  • create_membership - Agregar personas a salas
  • list_memberships - Ver miembros de salas
  • update_membership - Cambiar roles de miembros
  • delete_membership - Eliminar miembros
  • create_team_membership - Agregar miembros de equipos
  • list_team_memberships - Ver miembros de equipos

Personas y directorio

  • get_my_own_details - Obtener tu perfil
  • list_people - Buscar usuarios
  • get_person_details - Obtener información de usuarios
  • create_person - Agregar nuevos usuarios (solo administrador)
  • update_person - Modificar detalles de usuarios
  • delete_person - Eliminar usuarios (solo administrador)

Webhooks y eventos

  • create_webhook - Configurar notificaciones de eventos
  • list_webhooks - Gestionar webhooks
  • get_webhook_details - Obtener información de webhooks
  • update_webhook - Modificar webhooks
  • delete_webhook - Eliminar webhooks
  • list_events - Obtener registros de actividad
  • get_event_details - Obtener información de eventos específicos

Características empresariales

  • create_room_tab - Agregar pestañas a salas
  • list_room_tabs - Ver pestañas de salas
  • get_room_tab_details - Obtener información de pestañas
  • update_room_tab - Modificar pestañas
  • delete_room_tab - Eliminar pestañas
  • create_attachment_action - Manejar envíos de formularios
  • get_attachment_action_details - Obtener detalles de adjuntos
  • list_ecm_folder - Gestión de contenido empresarial
  • get_ecm_folder_details - Obtener detalles de carpetas ECM
  • create_ecm_folder - Crear configuraciones ECM
  • update_ecm_linked_folder - Modificar carpetas ECM
  • unlink_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 HTTP
  • PORT=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

  1. Crea un nuevo archivo de herramienta en tools/webex-public-workspace/webex-messaging/
  2. Sigue el patrón de herramientas existente con importaciones adecuadas
  3. Agrega la ruta de la herramienta a tools/paths.js
  4. 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

  1. Haz un fork del repositorio
  2. Crea una rama de características
  3. Haz tus cambios
  4. Las pruebas se ejecutan automáticamente al hacer commit a través de hooks de pre-commit
  5. Asegúrate de que las 118 pruebas pasen
  6. 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