一个用于与Webex Calling API交互的MCP(模型上下文协议)服务器。此服务器使您能够通过与AI助手(如Claude Desktop)进行自然语言对话来查询Webex Calling数据并执行管理功能。
MCP(模型上下文协议)是一种标准化协议,允许AI助手安全地连接到外部服务和数据源。无需手动导航API或编写脚本,MCP服务器将功能暴露为工具,这些工具可以被AI助手理解并代表您使用。
通过传统方法管理Webex Calling可能会耗费时间:
使用MCP,您可以:
这使得Webex Calling管理对任何人都易于访问,无论其技术专长如何。
MCP Webex Calling服务器提供85+工具,按以下类别组织:
服务器提供了两种设备配置方法:
配置设备最简单的方法是生成一个激活码。此方法仅需用户的人员ID,不需要MAC地址:
示例:
激活码在设定的时间段后过期(通常几个月),因此用户有足够的时间来设置他们的设备。
对于已知MAC地址的设备,可以直接创建设备条目:
示例:
MAC地址格式:
AABBCCDDEEFF)AA:BB:CC:DD:EE:FF 或 AA-BB-CC-DD-EE-FF)克隆仓库:
git clone https://github.com/lutztalk/mcp-webexcalling.git
cd mcp-webexcalling
创建虚拟环境:
python3 -m venv venv
source venv/bin/activate # 在Windows上:venv\Scripts\activate
安装依赖项:
pip install -r requirements.txt
安装包:
pip install -e .
注意: 个人访问令牌在12小时后过期。对于生产用途,请参阅下文生产设置。
在项目根目录创建一个.env文件:
WEBEX_ACCESS_TOKEN=your_token_here
WEBEX_BASE_URL=https://webexapis.com/v1
安全提示: 切勿将您的.env文件提交到版本控制。它已经在.gitignore中。
可以直接运行服务器:
python -m mcp_webexcalling.server
或者与Claude Desktop一起使用(参见下文[连接到Claude Desktop](#连接到Claude Desktop))。
按照以下步骤将MCP Webex Calling服务器连接到Claude Desktop。
macOS/Linux:
which python3
# 或
which python
Windows(PowerShell):
where python
记下路径(例如,/opt/homebrew/bin/python3.12 或 C:\Python312\python.exe)。
macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
Linux:
~/.config/Claude/claude_desktop_config.json
Windows:
%APPDATA%\Claude\claude_desktop_config.json
编辑配置文件并添加MCP服务器配置:
{
"mcpServers": {
"webex-calling": {
"command": "/path/to/your/venv/bin/python",
"args": ["-m", "mcp_webexcalling.server"],
"cwd": "/path/to/mcp-webexcalling",
"env": {
"WEBEX_ACCESS_TOKEN": "your_token_here",
"WEBEX_BASE_URL": "https://webexapis.com/v1"
}
}
}
}
重要:
/path/to/your/venv/bin/python替换为您从第一步得到的实际Python路径/path/to/mcp-webexcalling替换为此项目的实际路径your_token_here替换为您的Webex访问令牌关闭并重新打开Claude Desktop以加载新配置。
打开Claude Desktop并检查服务器是否已连接。您应该看到MCP服务器列表中的“webex-calling”。
服务器断开连接:
cwd路径是否正确.env文件中的令牌正确(或使用配置中的env部分)导入错误:
pip install -e .pip install -r requirements.txt权限错误:
个人访问令牌在12小时后过期,不适合生产用途。本节解释如何设置永久的Webex Bot或集成,以实现长期、生产就绪的身份验证。
mcp-webex-calling-bot).env文件中使用机器人令牌:
WEBEX_ACCESS_TOKEN=your_bot_token_here
优点:
spark-admin:people_readspark-admin:people_writespark-admin:devices_readspark-admin:devices_writespark-admin:telephony_config_readspark-admin:telephony_config_write优点:
设置自动化通知,每当代码推送到主分支时,使用GitHub Actions向Webex空间发送通知。
WEBEX_BOT_TOKEN(您的机器人令牌)WEBEX_ROOM_ID(您的房间ID).github/workflows/webex-notifications.yml中配置当代码推送到main时,工作流将自动发送通知。
服务器提供85+ MCP工具,按类别组织。请参见上文它能做什么?部分中的完整列表。
一旦连接,您可以提出如下问题:
您也可以直接在Python中使用客户端:
from mcp_webexcalling.webex_client import WebexClient
client = WebexClient(access_token="your_token")
# 获取组织信息
org_info = await client.get_organization_info()
# 获取呼叫队列
queues = await client.list_call_queues()
# 获取呼叫统计
stats = await client.get_call_statistics_from_cdr(
start_time="2024-01-01T00:00:00Z",
end_time="2024-01-31T23:59:59Z"
)
# 为用户生成激活码
activation_code = await client.generate_activation_code(person_id="user_id_here")
print(f"激活码:{activation_code['code']}")
print(f"过期时间:{activation_code['expiryTime']}")
# 根据MAC地址创建设备
device = await client.create_device_by_mac(
mac_address="AABBCCDDEEFF",
model="Cisco 8841"
)
欢迎贡献!请随时提交Pull Request。
本项目根据MIT许可证授权。