mcpField
W
Webex MCP

Webex MCP

本地服务
github.com其他21 天前更新

关于 Webex MCP

Webex MCP 是通过 stdio 将 AI 助手连接到 Cisco Webex Messaging 的服务,涵盖空间、消息、人员、团队、成员关系、webhook 和附件处理,并支持机器人令牌或 OAuth 认证。

主要功能

  1. 01管理空间、消息、团队和成员关系
  2. 02按关键词搜索空间和消息
  3. 03查找人员并管理 webhook
  4. 04读取、上传和保存附件
  5. 05使用机器人令牌或 OAuth 认证

适用场景

  1. 01搜索 Webex 空间中的消息
  2. 02发送带文件附件的消息
  3. 03查看空间收到的图像或文本
  4. 04管理团队成员和 webhook

MCP 相关

通过 stdio 向 MCP 客户端提供 Cisco Webex Messaging 工具。客户端以本地进程启动服务,并提供机器人令牌或 OAuth 凭据。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"yuryev89-webex": {
"command": "npx",
"args": [
"-y",
"@yuryev89/webex-mcp"
],
"env": {
"WEBEX_ACCESS_TOKEN": "<WEBEX_ACCESS_TOKEN>"
}
}
}
}
启动命令npx -y @yuryev89/webex-mcp
需要配置的环境变量
WEBEX_ACCESS_TOKEN密钥Webex bot token. Alternatively, authenticate via Webex OAuth as documented in the README.

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@yuryev89/webex-mcp0.3.0

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

webex-mcp

维护者:有关 GitHub Releases 和 npm 设置,请参阅发布版本。

npm version npm downloads license

用于 Cisco Webex Messaging 的 MCP 服务——将 AI 助手连接到 Webex 空间、消息和人员。

精简的 MCP 服务,通过 stdio 提供 Webex 消息工具。可与 Cursor、Claude Desktop、Codex、Claude Code、OpenCode 及其他 MCP 客户端配合使用。

功能

  • 全面支持 Webex Messaging 核心 API:空间、消息、成员、人员、团队、webhook、附件操作和文件下载
  • 面向 Agent 接收附件:图片内联显示、文本分页内联显示、ZIP/JAR 文件列表,以及将任意文件保存到本地磁盘
  • 按关键字搜索空间和消息(客户端扫描)
  • 通过 webex-node SDK 使用 Bearer 令牌进行身份验证,并为选定端点提供 REST 回退
  • OAuth 2.0 Integration 登录,支持自动刷新令牌

要求

  • Node.js >= 18
  • Webex Bot 访问令牌或 Webex Integration(OAuth)——developer.webex.com

快速开始

选项 A — Bot 令牌
# Run via npx (recommended)
npx -y @yuryev89/webex-mcp@latest --token YOUR_ACCESS_TOKEN

# Or install globally
npm install -g @yuryev89/webex-mcp
webex-mcp --token YOUR_ACCESS_TOKEN
选项 B — OAuth Integration
# 1. Set credentials (or use a .env file in your working directory)
export WEBEX_CLIENT_ID="your-client-id"
export WEBEX_CLIENT_SECRET="your-client-secret"

# 2. Authenticate once (opens browser)
npx -y @yuryev89/webex-mcp@latest login

# 3. Start MCP server (reads saved tokens, auto-refreshes)
npx -y @yuryev89/webex-mcp@latest

Cursor 配置

Bot 令牌
{
  "mcpServers": {
    "webex": {
      "command": "bash",
      "args": [
        "-lc",
        "npx -y @yuryev89/webex-mcp@latest --token \"$WEBEX_ACCESS_TOKEN\""
      ],
      "env": {
        "WEBEX_ACCESS_TOKEN": "YOUR_BOT_ACCESS_TOKEN"
      }
    }
  }
}
OAuth Integration
{
  "mcpServers": {
    "webex": {
      "command": "npx",
      "args": ["-y", "@yuryev89/webex-mcp@latest"],
      "env": {
        "WEBEX_CLIENT_ID": "YOUR_CLIENT_ID",
        "WEBEX_CLIENT_SECRET": "YOUR_CLIENT_SECRET"
      }
    }
  }
}

在启动 Cursor 前,先运行一次 npx -y @yuryev89/webex-mcp@latest login(设置好 WEBEX_CLIENT_ID 和 WEBEX_CLIENT_SECRET)。

Codex 配置

将以下任一配置添加到 ~/.codex/config.toml(与已有配置合并)。

Bot 令牌
[mcp_servers.webex]
command = "npx"
args = ["-y", "@yuryev89/webex-mcp@latest"]

[mcp_servers.webex.env]
WEBEX_ACCESS_TOKEN = "YOUR_BOT_ACCESS_TOKEN"
OAuth Integration

先完成选项 B — OAuth Integration,然后使用:

[mcp_servers.webex]
command = "npx"
args = ["-y", "@yuryev89/webex-mcp@latest"]

[mcp_servers.webex.env]
WEBEX_CLIENT_ID = "YOUR_CLIENT_ID"
WEBEX_CLIENT_SECRET = "YOUR_CLIENT_SECRET"

或者,将凭据保存在 shell 环境中,并在 [mcp_servers.webex] 内用 env_vars = ["WEBEX_ACCESS_TOKEN"] 替换 [mcp_servers.webex.env] 表(OAuth 则使用 ["WEBEX_CLIENT_ID", "WEBEX_CLIENT_SECRET"])。从该 shell 启动 Codex。

运行 codex mcp list 验证注册情况,然后在 Codex 中使用 /mcp 检查当前启用的服务。

参考:Codex MCP 文档。

Claude Code 配置

以下命令会为你的用户账户注册 Webex,适用于所有项目。选择一种身份验证模式。

Bot 令牌
claude mcp add --scope user \
  --env WEBEX_ACCESS_TOKEN=YOUR_BOT_ACCESS_TOKEN \
  --transport stdio webex -- npx -y @yuryev89/webex-mcp@latest
OAuth Integration

先完成选项 B — OAuth Integration,然后注册:

claude mcp add --scope user \
  --env WEBEX_CLIENT_ID=YOUR_CLIENT_ID \
  --env WEBEX_CLIENT_SECRET=YOUR_CLIENT_SECRET \
  --transport stdio webex -- npx -y @yuryev89/webex-mcp@latest

运行 claude mcp list 或 claude mcp get webex 检查连接。在 Claude Code 中,使用 /mcp 检查状态和工具。要切换模式,请使用 claude mcp remove --scope user webex 移除现有条目,然后重新注册。

参考:Claude Code MCP 文档。

OpenCode 配置

将以下任一示例合并到项目中的 opencode.json,或合并到供所有项目使用的 ~/.config/opencode/opencode.json。

Bot 令牌
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "webex": {
      "type": "local",
      "command": ["npx", "-y", "@yuryev89/webex-mcp@latest"],
      "enabled": true,
      "environment": {
        "WEBEX_ACCESS_TOKEN": "{env:WEBEX_ACCESS_TOKEN}"
      }
    }
  }
}

启动 OpenCode 前,在环境中设置 WEBEX_ACCESS_TOKEN;{env:...} 会读取该变量。

OAuth Integration

先完成选项 B — OAuth Integration,然后使用:

{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "webex": {
      "type": "local",
      "command": ["npx", "-y", "@yuryev89/webex-mcp@latest"],
      "enabled": true,
      "environment": {
        "WEBEX_CLIENT_ID": "{env:WEBEX_CLIENT_ID}",
        "WEBEX_CLIENT_SECRET": "{env:WEBEX_CLIENT_SECRET}"
      }
    }
  }
}

启动 OpenCode 时,确保已导出 WEBEX_CLIENT_ID 和 WEBEX_CLIENT_SECRET。运行 opencode mcp list 检查服务。

参考:OpenCode MCP 文档和配置文档。

客户端设置说明

  • 每个客户端都会将服务作为本地 stdio 进程启动;无需单独打开服务终端或使用 HTTP URL。
  • OAuth 登录由 npx -y @yuryev89/webex-mcp@latest login 处理。请使用与客户端相同的 OS 用户和令牌存储配置运行此命令。客户端原生的 MCP OAuth 登录命令不能替代此步骤。
  • 使用 OAuth 时,请从客户端配置、继承的环境变量以及任何已加载的 .env 中移除 WEBEX_ACCESS_TOKEN:静态令牌的优先级高于已保存的 OAuth 令牌。
  • 请在本地替换凭据占位符。不要将真实凭据提交到版本控制;命令行参数也可能保留在 shell 历史记录中。
  • 确保客户端能够使用 Node.js 和 npx,并在配置更改后重启客户端。
  • 试试:“使用 Webex 列出我的空间。” 若要搜索消息,请先确定一个空间;webex_search_messages 一次只会搜索一个空间。

CLI 选项

选项 / 命令说明默认值
--tokenWebex 访问令牌(Bot 模式)$WEBEX_ACCESS_TOKEN
--fedramp使用 FedRAMP 端点false
--debug将启动日志写入 stderrfalse
loginOAuth 浏览器登录并保存令牌—
logout移除已存储的 OAuth 令牌—
auth-status显示 OAuth 过期元数据—

工具

空间
工具说明
webex_list_spaces列出已认证用户的空间(聊天室)
webex_search_spaces按标题/名称搜索空间(不区分大小写)
webex_get_space按 ID 获取空间详情
webex_create_space创建新空间
webex_update_space更新空间
webex_delete_space删除空间
webex_get_space_meeting_info获取空间的会议详情
消息
工具说明
webex_get_messages列出空间中的消息,或按 ID 获取一条消息(includeFileDetails 会添加附件名称/类型/大小)
webex_search_messages在单个空间内搜索关键词
webex_create_message向空间或私信发送文本和/或文件附件
webex_update_message更新现有消息
webex_delete_message删除消息
webex_list_direct_messages列出 1:1 直接聊天室中的消息(includeFileDetails 同上)
webex_create_attachment_action提交附件卡片操作
webex_get_attachment_action获取附件操作详情
发送文件附件

对于可公开访问的 HTTP(S) URL,请在 webex_create_message 中使用 files:

{
  "roomId": "SPACE_ID",
  "text": "Here is the report",
  "files": ["https://example.com/report.pdf"]
}

对于本地文件,请改用 filePath。服务会使用 multipart 上传文件内容;文件必须位于运行 MCP 服务的机器上,使用绝对路径,且大小不超过 100 MB:

{
  "toPersonEmail": "[email protected]",
  "filePath": "/absolute/path/to/report.pdf"
}

在 Windows 上,请使用绝对 Windows 路径,例如 C:\\Reports\\report.pdf。 附加文件时,文本和 Markdown 均为可选项。files 必须非空,且不能与 filePath 同时使用。收件人字段(roomId、toPersonId、 toPersonEmail)和用于回复线程的 parentId 均可像发送文本消息时一样使用。 Webex 会强制执行 URL 下载和附件限制;需要额外凭据的私有 URL 不能用作公开文件 URL。请参阅 Webex 附件指南。

文件
工具说明
webex_get_file_details获取消息 files[] URL 的元数据(文件名、类型、大小)
webex_download_file读取文件(最大 10 MB):图片内嵌显示,文本按 offset/maxChars 分页,ZIP/JAR 以条目列表形式显示
webex_get_message_images下载消息中的所有图片附件,供大模型视觉处理
webex_save_file将单个文件保存到本地磁盘(最大 100 MB)并返回其路径
webex_save_message_files将消息中的所有文件保存到本地磁盘
读取收到的附件

webex_download_file 的返回内容取决于文件类型:

文件结果
PNG、JPEG、GIF、WebP内联 ImageContent
文本:text/*、JSON、XML、SQL、diff/patch、源代码JSON 摘要(totalChars、nextOffset 等)+ 文本;每次调用的 maxChars(默认值为 50 000)
ZIP、JAR、WAR、EAR条目列表(名称、大小、是否加密);不会解压任何内容
其他文件(PDF、docx、xlsx 等)元数据,以及使用 webex_save_file 的提示

对于 PDF 和 Office 文档,请保存文件并使用客户端自己的工具打开 (许多 Agent 可以直接读取 PDF 和图像;docx/xlsx 请使用脚本)。保存的文件位于 <download dir>/<message-uuid>/<filename>,其中下载目录为 WEBEX_DOWNLOAD_DIR 或 ~/.cache/webex-mcp/downloads。文件名取自 Webex,经过解码并处理以确保文件系统安全;再次保存会替换原文件,而 webex_save_message_files 会为同一条消息中重名的文件添加 (1)。文件内容会流式写入 <name>.part,并仅在完整写入后重命名。请将保存的文件视为不可信输入:可以打开或列出文件,但切勿运行它们。

如果 Webex 仍在对文件进行病毒扫描,则会返回 423 Locked;下载会等待 Retry-After(最长 10 s),并重试三次后失败。

成员关系
工具描述
webex_list_memberships列出空间成员关系
webex_get_membership获取成员关系详情
webex_add_membership邀请人员加入空间
webex_update_membership更新成员关系(例如,设置主持人)
webex_remove_membership将人员移出空间
人员
工具描述
webex_get_people按电子邮件、姓名或 ID 搜索人员
webex_get_person按 ID 获取人员信息(使用 me 表示自己)
团队
工具描述
webex_list_teams列出团队
webex_create_team创建团队
webex_get_team获取团队详情
webex_update_team更新团队
webex_delete_team删除团队
webex_list_team_memberships列出团队成员关系
webex_add_team_membership将人员添加到团队
webex_get_team_membership获取团队成员关系详情
webex_update_team_membership更新团队成员关系
webex_remove_team_membership将人员移出团队
Webhook
工具描述
webex_list_webhooks列出 Webhook
webex_create_webhook创建 Webhook
webex_get_webhook获取 Webhook 详情
webex_update_webhook更新 Webhook
webex_delete_webhook删除 Webhook

限制

  • webex_search_messages 仅适用于单个空间(Webex REST API 不支持全局搜索)
  • 搜索会逐页扫描消息历史记录,在较大的空间中可能较慢
  • Bot 必须是空间的成员,才能读取或发布消息
  • OAuth 使用用户委派令牌;Bot 模式使用长期有效的 Bot 令牌
  • 消息 files[] URL 需要访问令牌;请使用 webex_get_message_images / webex_download_file / webex_save_file,不要直接获取该 URL
  • 内联视觉图像仅支持 PNG、JPEG、GIF 和 WebP,每张最大 10 MB;内联文本和归档文件列表也限制为 10 MB
  • 服务端不会解析 PDF 和 Office 文档;请保存后在本地打开
  • ZIP64 归档无法内联列出;请改为保存

身份验证模式

模式设置适用场景
Bot token从开发者门户复制令牌简单的 Cursor 设置、Bot 身份
OAuth Integrationwebex-mcp login + client ID/secret自动刷新的用户委派访问

完整指南

分步设置说明请参阅 docs/HOWTO.md:包括创建 Bot、配置范围、Cursor 配置、提示词示例和故障排除。

本地开发

git clone https://github.com/yuryev89/webexmcp
cd webexmcp
npm install
cp .env.example .env
npm run dev -- --token "$WEBEX_ACCESS_TOKEN"
npm test

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。