Webex MCP Server

Fornece aos assistentes de IA acesso abrangente às capacidades de mensagens do Cisco Webex.

Documentação

MseeP.ai Security Assessment Badge smithery badge

Webex MCP Server

Um servidor Model Context Protocol (MCP) que fornece aos assistentes de IA acesso abrangente aos recursos de mensagens do Cisco Webex.

Webex Server MCP server

Listed on Spark Install via Spark

Da intenção de negócio à ação no Webex

Agentes de IA podem usar este servidor como uma camada de ação colaborativa: traduzir um objetivo de negócio em uma sequência de operações do Webex, escolher os recursos relevantes e conduzir o fluxo de trabalho até a conclusão. Isso pode significar notificar clientes, montar salas de resposta a incidentes, manter equipes e espaços de clientes, gerenciar pessoas e associações, reagir a eventos do Webex ou conectar conteúdo empresarial e interações de aprovação.

Como o servidor expõe mensagens, salas, equipes, associações, pessoas, webhooks, eventos, abas, ações de anexos e pastas ECM como ferramentas MCP componíveis, os agentes podem criar fluxos de trabalho em torno da necessidade de negócio, em vez de se limitarem a uma automação fixa.

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.
▶ Assista ao vídeo explicativo de 15 segundos com som

Crie mídia pronta para lançamento a partir do Claude ou Codex

Este vídeo explicativo foi criado a partir de uma solicitação em linguagem simples usando o Agentic Media Harness. Seu plugin agentic-media transforma o Claude Code ou Codex em um fluxo de trabalho de mídia de produção: ele lê seu repositório, aprimora o prompt, gera imagens ou vídeos, verifica a precisão do movimento e do roteiro, itera na qualidade e registra cada prompt, pontuação e valor gasto.

Instale o plugin uma vez e crie vídeos de produto, imagens de destaque, infográficos e ativos de lançamento com conhecimento do repositório, sem sair do seu agente de codificação.

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

Você pode colocar GEMINI_API_KEY=your_key no arquivo .env do repositório. Nunca faça commit desse arquivo.

Em seguida, abra qualquer repositório e peça:

Use a habilidade media-video para criar um vídeo explicativo curto para este repositório. Leia o README primeiro. Meu orçamento é de US$ 2,50.

Visão Geral

Este servidor MCP permite que assistentes de IA interajam com mensagens do Webex por meio de 52 ferramentas diferentes que cobrem:

  • Mensagens: Enviar, editar, excluir e recuperar mensagens
  • Salas: Criar e gerenciar espaços do Webex
  • Equipes: Criação de equipes e gerenciamento de associações
  • Pessoas: Gerenciamento de usuários e operações de diretório
  • Webhooks: Notificações de eventos e integrações
  • Recursos Empresariais: Pastas ECM, abas de salas e anexos

Recursos

  • Cobertura Completa da API Webex: 52 ferramentas cobrindo todas as principais operações de mensagens
  • Suporte a Docker: Containerização pronta para produção
  • Transporte Duplo: Modos STDIO e HTTP (StreamableHTTP)
  • Pronto para Empresas: Suporte à autenticação empresarial da Cisco
  • Segurança de Tipos: Implementação completa em TypeScript/JavaScript com tratamento adequado de erros
  • Configuração Centralizada: Gerenciamento fácil de tokens e endpoints

Início Rápido

Pré-requisitos

  • Node.js 18+ (20+ recomendado). Aviso: se você executar com uma versão inferior do Node, fetch não estará presente. As ferramentas usam fetch para fazer chamadas HTTP. Para contornar isso, você pode modificar as ferramentas para usar node-fetch em vez disso. Certifique-se de que node-fetch esteja instalado como dependência e importe-o como fetch em cada arquivo de ferramenta.
  • Docker (opcional, para implantação em contêiner)
  • Token da API Webex em developer.webex.com

Renovação de Token

Os tokens Bearer do Webex têm vida curta. Seu token atual expira em 12 horas. Para renovar:

  1. Visite: https://developer.webex.com/messaging/docs/api/v1/rooms/list-rooms
  2. Faça login com seu e-mail
  3. Copie o novo token bearer do seu perfil
  4. Atualize a variável de ambiente "WEBEX_PUBLIC_WORKSPACE_API_KEY" com o novo token (remova o prefixo "Bearer ")

Instalação

  1. Clone e instale as dependências:

    git clone <repository-url>
    cd webex-messaging-mcp-server
    npm install
    
  2. Configure o ambiente:

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

🔍 Descoberta de Ferramentas

O servidor inclui recursos abrangentes de descoberta de ferramentas:

Comandos de Descoberta de Ferramentas

# 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

Manifesto de Ferramentas

O arquivo tools-manifest.json fornece:

  • Categorias de Ferramentas: Mensagens, Salas, Equipes, Associações, Pessoas, Webhooks, Empresarial
  • 52 Ferramentas no Total: Cobertura completa da API de mensagens do Webex
  • Configuração de Ambiente: Variáveis obrigatórias e opcionais
  • Informações de Teste: Detalhes de cobertura e validação
  • Histórico de Migração: Documentação de atualização do protocolo MCP

Organização das Ferramentas

As ferramentas são organizadas por funcionalidade:

  • Mensagens (6 ferramentas): Criar, listar, editar, excluir mensagens
  • Salas (6 ferramentas): Gerenciamento e configuração de salas
  • Equipes (5 ferramentas): Criação e gerenciamento de equipes
  • Associações (10 ferramentas): Operações de associação em salas e equipes
  • Pessoas (6 ferramentas): Perfil de usuário e gerenciamento de diretório
  • Webhooks (7 ferramentas): Notificações de eventos e gerenciamento de webhooks
  • Empresarial (12 ferramentas): Pastas ECM, abas de salas, anexos

Metadados de seleção e comportamento de ferramentas

Todas as 52 ferramentas publicam anotações MCP, além de orientações compactas de seleção e comportamento por meio de tools/list. A frase de propósito original e o esquema de entrada permanecem inalterados; a orientação anexada identifica a ferramenta irmã mais próxima, se a operação lê ou altera o estado do Webex e como erros de API e limites de taxa são retornados.

As anotações são dicas descritivas para clientes MCP, não controles de autorização. O token de acesso do Webex e as políticas da organização permanecem como autoridade.

Uso com Docker

  1. Construa e execute:

    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
    

Configuração

Variáveis de Ambiente

VariávelObrigatóriaDescriçãoPadrão
WEBEX_PUBLIC_WORKSPACE_API_KEYSimToken da API Webex (sem o prefixo "Bearer ")-
WEBEX_API_BASE_URLNãoURL base da API Webexhttps://webexapis.com/v1
WEBEX_USER_EMAILNãoSeu e-mail Webex (para referência)-
PORTNãoPorta para o modo HTTP3001
MCP_MODENãoModo de transporte (stdio ou http)stdio

Obtendo um Token da API Webex

  1. Visite developer.webex.com
  2. Entre com sua conta Cisco/Webex
  3. Copie o token bearer da documentação da API
  4. Importante: Remova o prefixo "Bearer " ao adicionar ao seu arquivo .env

Integração com Clientes MCP

Claude Desktop (Modo STDIO)

Adicione à configuração do seu 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"
      }
    }
  }
}

Integração em Modo HTTP

Para clientes MCP baseados em HTTP, inicie o servidor no modo HTTP:

# Start HTTP server
npm run start:http

# Server endpoints:
# Health check: http://localhost:3001/health
# MCP endpoint: http://localhost:3001/mcp

O servidor suporta o protocolo MCP 2025-11-25 com transporte StreamableHTTP, incluindo:

  • Configuração adequada de CORS com exposição do cabeçalho mcp-session-id
  • Gerenciamento de sessão para conexões com estado
  • Formato de resposta Server-Sent Events (SSE)

Outros Clientes MCP

Para o modo STDIO:

docker run -i --rm --env-file .env webex-mcp-server

Para o modo HTTP:

docker run -p 3001:3001 --rm --env-file .env webex-mcp-server --http

Ferramentas Disponíveis

Mensagens Principais

  • create_message - Enviar mensagens para salas
  • list_messages - Recuperar histórico de mensagens
  • edit_message - Modificar mensagens existentes
  • delete_message - Remover mensagens
  • get_message_details - Obter informações de mensagens específicas

Gerenciamento de Salas

  • create_room - Criar novos espaços Webex
  • list_rooms - Navegar pelas salas disponíveis
  • get_room_details - Obter informações da sala
  • update_room - Modificar configurações da sala
  • delete_room - Remover salas

Operações de Equipes

  • create_team - Criar equipes
  • list_teams - Navegar pelas equipes
  • get_team_details - Obter informações da equipe
  • update_team - Modificar configurações da equipe
  • delete_team - Remover equipes

Gerenciamento de Associações

  • create_membership - Adicionar pessoas a salas
  • list_memberships - Visualizar membros da sala
  • update_membership - Alterar funções de membros
  • delete_membership - Remover membros
  • create_team_membership - Adicionar membros da equipe
  • list_team_memberships - Visualizar membros da equipe

Pessoas e Diretório

  • get_my_own_details - Obter seu perfil
  • list_people - Pesquisar usuários
  • get_person_details - Obter informações do usuário
  • create_person - Adicionar novos usuários (somente administrador)
  • update_person - Modificar detalhes do usuário
  • delete_person - Remover usuários (somente administrador)

Webhooks e Eventos

  • create_webhook - Configurar notificações de eventos
  • list_webhooks - Gerenciar webhooks
  • get_webhook_details - Obter informações do webhook
  • update_webhook - Modificar webhooks
  • delete_webhook - Remover webhooks
  • list_events - Obter logs de atividades
  • get_event_details - Obter informações de eventos específicos

Recursos Empresariais

  • create_room_tab - Adicionar abas a salas
  • list_room_tabs - Visualizar abas da sala
  • get_room_tab_details - Obter informações da aba
  • update_room_tab - Modificar abas
  • delete_room_tab - Remover abas
  • create_attachment_action - Lidar com envios de formulários
  • get_attachment_action_details - Obter detalhes de anexos
  • list_ecm_folder - Gerenciamento de conteúdo empresarial
  • get_ecm_folder_details - Obter detalhes de pastas ECM
  • create_ecm_folder - Criar configurações ECM
  • update_ecm_linked_folder - Modificar pastas ECM
  • unlink_ecm_linked_folder - Remover links ECM

Modos de Transporte

Modo STDIO (Padrão)

O modo de transporte padrão para clientes MCP como o Claude Desktop:

# Start in STDIO mode
node mcpServer.js
# or
npm start

Modo HTTP (StreamableHTTP)

Transporte baseado em HTTP que suporta o protocolo MCP 2025-11-25:

# Start in HTTP mode
npm run start:http
# or
node mcpServer.js --http

Recursos do Modo HTTP:

  • Verificação de Saúde: GET http://localhost:3001/health
  • Endpoint MCP: POST http://localhost:3001/mcp
  • Gerenciamento de Sessão: Tratamento automático de ID de sessão
  • Suporte a CORS: Configuração adequada de origem cruzada
  • Protocolo: MCP 2025-11-25 com transporte StreamableHTTP

Variáveis de Ambiente:

  • MCP_MODE=http - Forçar modo HTTP
  • PORT=3001 - Porta personalizada (padrão: 3001)

Integração com Smithery

O servidor está configurado para implantação automática via Smithery com runtime HTTP:

# smithery.yaml
runtime: "nodejs"
main: "mcpServer.js"
envMapping:
  webexApiKey: "WEBEX_PUBLIC_WORKSPACE_API_KEY"
  webexApiBaseUrl: "WEBEX_API_BASE_URL"

Implante com: smithery deploy

Desenvolvimento

Estrutura do Projeto

├── 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

Adicionando Novas Ferramentas

  1. Crie um novo arquivo de ferramenta em tools/webex-public-workspace/webex-messaging/
  2. Siga o padrão de ferramenta existente com as importações adequadas
  3. Adicione o caminho da ferramenta a tools/paths.js
  4. Teste com node index.js tools

Segurança

  • Contêiner não raiz: Executa como usuário mcp (UID 1001)
  • Build em múltiplas etapas: Imagem de produção otimizada
  • Isolamento de ambiente: Segredos passados por variáveis de ambiente
  • Verificações de saúde: Suporte ao monitoramento de contêineres

Testes

🧪 Suíte de Testes Abrangente

  • 118 testes unitários em 53 suítes de teste
  • Taxa de aprovação de 100% com cobertura abrangente
  • Mais de 50 endpoints de API testados de ponta a ponta
  • Mais de 20 correções críticas de bugs 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

🔒 Portões de Qualidade Pré-Commit

Garantia de qualidade automática usando hooks de pré-commit do Husky:

# Automatically runs on git commit:
🚀 Running pre-commit validation...
🔍 Checking code quality and running 118 unit tests...
✅ All validations passed! Commit proceeding...

O que é validado:

  • Verificação de sintaxe JavaScript
  • Todos os 118 testes unitários devem passar
  • Padrões de qualidade de código
  • Correção da implementação da API

Consulte tests/README.md para documentação detalhada de testes.

Contribuindo

  1. Faça um fork do repositório
  2. Crie um branch de recurso
  3. Faça suas alterações
  4. Os testes são executados automaticamente no commit via hooks de pré-commit
  5. Garanta que todos os 118 testes passem
  6. Envie um pull request

Licença

Licença MIT - consulte o arquivo LICENSE para obter detalhes

Suporte

  • Problemas: Relate bugs e solicitações de recursos por meio de issues no GitHub
  • Documentação: Consulte SETUP-COMPLETE.md para instruções detalhadas de configuração
  • Comunidade: Participe de discussões nos canais da comunidade MCP