Webex消息协议服务器

一个提供AI助手全面访问Cisco Webex消息功能的模型上下文协议(MCP)服务器,适用于客户通知、事件响应、团队协作等场景。

  • by Kashyap-AI-ML-Solutions
  • JavaScript
  • 本地部署
  • 7 星标
  • 更新于
在 GitHub 查看 Kashyap-AI-ML-Solutions/webex-messaging-mcp-server

使用说明

Webex MCP服务器

模型上下文协议(MCP)服务器,为AI助手提供对Cisco Webex消息传递功能的全面访问。

从业务意图到Webex操作

AI代理可以将此服务器用作协作操作层:将业务目标转换为一系列Webex操作,选择相关功能,并完成工作流。这可能意味着通知客户、组建事件响应室、维护客户团队和空间、管理人员和成员资格、对Webex事件做出反应,或连接企业内容和审批交互。

由于服务器将消息、房间、团队、成员资格、人员、Webhook、事件、选项卡、附件操作和ECM文件夹作为可组合的MCP工具公开,代理可以围绕业务需求构建工作流,而不限于一个硬编码的自动化。


▶ Watch the 15-second explainer with sound

从Claude或Codex创建可启动的媒体

此解释器是使用 代理媒体利用.它 agentic-media 该插件将Claude Code或Codex转化为生产媒体工作流程:它读取您的存储库,增强提示,生成图像或视频,检查动作和脚本的准确性,迭代质量,并记录每个提示、分数和花费的美元。

安装一次插件,然后在不离开编码代理的情况下创建支持存储库的产品视频、英雄图像、信息图表和启动资产。

Claude 代码

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

你可以把 GEMINI_API_KEY=your_key 在存储库中 .env 文件代替。永远不要提交那个文件。

然后打开任何存储库并询问:

使用媒体视频技能为此存储库创建简短的解释视频。请先阅读README。我的预算是2.50美元。

概述

此MCP服务器使AI助手能够通过52种不同的工具与Webex消息交互,包括:

  • 消息:发送、编辑、删除和检索邮件
  • 房间:创建和管理Webex空间
  • 团队:团队创建和成员管理
  • 人们:用户管理和目录操作
  • 网络钩子:事件通知和集成
  • 企业功能:ECM文件夹、房间选项卡和附件

特性

  • ✅ 完整的Webex API覆盖范围:52个工具,涵盖所有主要消息传递操作
  • ✅ Docker支持:生产就绪的集装箱化
  • ✅ 双重运输:STDIO和HTTP(流式HTTP)模式
  • ✅ 企业级就绪:支持Cisco企业身份验证
  • ✅ 类型安全:具有正确错误处理的完整Types/JavaScript实现
  • ✅ 集中式配置:易于令牌和端点管理

快速开始

先决条件

  • Node.js 18+(建议20+)。警告:如果您使用较低版本的Node运行, fetch 不会出席。工具使用 fetch 进行HTTP调用。为了解决这个问题,您可以修改要使用的工具 node-fetch 相反。一定要 node-fetch 作为依赖项安装,然后将其导入为 fetch 在每个工具文件中。
  • Docker(可选,用于容器化部署)
  • 来自的Webex API令牌 developer.webex.com

令牌续订

Webex承载令牌是短暂的。您当前的令牌将在12小时后过期。要续订:

  1. 访问:https://developer.webex.com/messaging/docs/api/v1/rooms/list-rooms
  2. 使用您的电子邮件登录
  3. 从您的个人资料中复制新的承载令牌
  4. 使用新令牌更新环境变量“WEBEX_PUBLIC_WORKSPACE_API_KEY”(删除“Bearer”前缀)

安装

  1. 克隆和安装依赖关系:

    git clone <repository-url>
    cd webex-messaging-mcp-server
    npm install
    
  2. 配置环境:

    cp .env.example .env
    # Edit .env with your Webex API token
    
  3. 测试服务器:

    # 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
    

🔍 工具发现

该服务器包括全面的工具发现功能:

工具发现命令

# 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

工具清单

这个 tools-manifest.json 文件提供:

  • 工具类别:消息、房间、团队、会员资格、人员、Webhooks、企业
  • 52总工具:完整的Webex消息API覆盖范围
  • 环境配置:必需和可选变量
  • 测试信息:覆盖范围和验证细节
  • 迁移历史:MCP协议升级文档

工具组织

工具按功能组织:

  • 消息 (6个工具):创建、列出、编辑、删除消息
  • 房间 (6个工具):房间管理和配置
  • 团队 (5个工具):团队创建和管理
  • 会员资格 (10个工具):房间和团队成员操作
  • 人们 (6个工具):用户配置文件和目录管理
  • 网络钩子 (7个工具):事件通知和webhook管理
  • 企业 (12个工具):ECM文件夹、房间选项卡、附件

工具选择和行为元数据

所有52个工具都发布MCP注释以及紧凑的选择和行为 指导通过 tools/list原始目的句和输入模式 保持不变;附加的指南标识了最接近的兄弟工具, 操作是否读取或更改Webex状态,以及API如何错误和 返回速率限制。

注释是MCP客户端的描述性提示,而不是授权控制。 Webex访问令牌和组织策略仍然具有权威性。

Docker使用

  1. 构建并运行:

    docker build -t webex-mcp-server .
    docker run -i --rm --env-file .env webex-mcp-server
    
  2. 使用docker编写:

    docker-compose up webex-mcp-server
    

配置

环境变量

变量 必填 描述 默认值
WEBEX_PUBLIC_WORKSPACE_API_KEY 是 Webex API令牌(不带“Bearer”前缀) -
WEBEX_API_BASE_URL 否 Webex API基础URL https://webexapis.com/v1
WEBEX_USER_EMAIL 否 您的Webex电子邮件(供参考) -
PORT 否 HTTP模式的端口 3001
MCP_MODE 否 运输方式(stdio 或 http) stdio

获取Webex API令牌

  1. 访问 developer.webex.com
  2. 使用您的Cisco/Wexix帐户登录
  3. 从API文档中复制承载令牌
  4. 重要:添加时删除“Bearer”前缀 .env 文件

MCP客户端集成

克劳德桌面(STDIO模式)

添加到您的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"
      }
    }
  }
}

HTTP模式集成

对于基于HTTP的MCP客户端,以HTTP模式启动服务器:

# Start HTTP server
npm run start:http

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

服务器支持带StreamableHTTP传输的MCP 2025-11-25协议,包括:

  • 正确的CORS配置 mcp-session-id 头部暴露
  • 有状态连接的会话管理
  • 服务器发送事件(SSE)响应格式

其他MCP客户端

对于STDIO模式:

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

对于HTTP模式:

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

可用工具

核心信息

  • create_message -向房间发送消息
  • list_messages -检索消息历史记录
  • edit_message -修改现有消息
  • delete_message -删除邮件
  • get_message_details -获取特定消息信息

客房管理

  • create_room -创建新的Webex空间
  • list_rooms -浏览可用房间
  • get_room_details -获取房间信息
  • update_room -修改房间设置
  • delete_room -删除房间

团队运营

  • create_team -创建团队
  • list_teams -浏览团队
  • get_team_details -获取团队信息
  • update_team -修改团队设置
  • delete_team -删除团队

会员管理

  • create_membership -将人员添加到房间
  • list_memberships -查看房间成员
  • update_membership -更改成员角色
  • delete_membership -删除成员
  • create_team_membership -添加团队成员
  • list_team_memberships -查看团队成员

人员和目录

  • get_my_own_details -获取您的个人资料
  • list_people -搜索用户
  • get_person_details -获取用户信息
  • create_person -添加新用户(仅限管理员)
  • update_person -修改用户详细信息
  • delete_person -删除用户(仅限管理员)

Webhooks和活动

  • create_webhook -设置事件通知
  • list_webhooks -管理webhooks
  • get_webhook_details -获取webhook信息
  • update_webhook -修改webhooks
  • delete_webhook -删除webhooks
  • list_events -获取活动日志
  • get_event_details -获取特定事件信息

企业功能

  • create_room_tab -向房间添加选项卡
  • list_room_tabs -查看房间选项卡
  • get_room_tab_details -获取标签信息
  • update_room_tab -修改选项卡
  • delete_room_tab -删除选项卡
  • create_attachment_action -处理表单提交
  • get_attachment_action_details -获取附件详细信息
  • list_ecm_folder -企业内容管理
  • get_ecm_folder_details -获取ECM文件夹详细信息
  • create_ecm_folder -创建ECM配置
  • update_ecm_linked_folder -修改ECM文件夹
  • unlink_ecm_linked_folder -拆下ECM链接

运输方式

STDIO模式(默认)

MCP客户端(如Claude Desktop)的默认传输模式:

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

HTTP模式(流式HTTP)

支持MCP 2025-11-25协议的基于HTTP的传输:

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

HTTP模式功能:

  • 健康检查: GET http://localhost:3001/health
  • MCP端点: POST http://localhost:3001/mcp
  • 会话管理:自动会话ID处理
  • CORS支持:正确的跨源配置
  • 协议:带流式HTTP传输的MCP 2025-11-25

环境变量:

  • MCP_MODE=http -强制HTTP模式
  • PORT=3001 -自定义端口(默认值:3001)

Smithery集成

服务器已配置为通过以下方式自动部署 铁匠铺 使用HTTP运行时:

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

使用以下方式部署: smithery deploy

发展

项目结构

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

添加新工具

  1. 在中创建新的工具文件 tools/webex-public-workspace/webex-messaging/
  2. 使用适当的导入遵循现有的工具模式
  3. 将刀具路径添加到 tools/paths.js
  4. 测试用 node index.js tools

安全

  • 非根容器:以用户身份运行 mcp (UID 1001)
  • 多阶段构建:优化生产图像
  • 环境隔离:通过环境变量传递的秘密
  • 健康检查:集装箱监控支持

测试

🧪 综合测试套件

  • 118个单元测试 跨越53个测试套件
  • 100%通过率 全面覆盖
  • 50多个API终点 端到端测试
  • 20+关键错误修复 已验证
# 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

🔒 预先提交质量门

使用赫斯基预提交挂钩进行自动质量保证:

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

验证内容:

  • JavaScript语法检查
  • 所有118个单元测试必须通过
  • 代码质量标准
  • API实现正确性

看 tests/README.md 获取详细的测试文档。

贡献

  1. 分叉存储库
  2. 创建要素分支
  3. 进行更改
  4. 测试自动运行 通过预提交钩子进行提交
  5. 确保所有118项测试通过
  6. 提交拉取请求

许可证

MIT许可证-有关详细信息,请参阅许可证文件

支持

  • 问题:通过GitHub问题报告错误和功能请求
  • 文档:有关详细的设置说明,请参阅SETUP-COMPLETE.md
  • 社区:加入MCP社区频道的讨论