cucm-emulator-mcp
@calltelemetry/cucm-emulator-mcp
基于 OpenAPI 驱动的模型上下文协议(MCP)服务器,用于 Cisco Unified Communications Manager(CUCM)模拟器。
概述
@calltelemetry/cucm-emulator-mcp 是一个基于 OpenAPI 驱动的 MCP 服务器,可将 AI 编码助手和自动化代理直接连接到 Cisco CUCM 模拟器实例。它解析模拟器的 OpenAPI 3.1.0 契约规范,动态生成跨全部 6 个核心电话域的类型化离散 MCP 工具:
夹具与拓扑:
emu_seed_fixtures、emu_reset_store、emu_inspect_fixtures节点与集群健康:
emu_list_nodes、emu_set_node_status(ADR 0120/0122 故障转移)电话与注册:
emu_list_phones、emu_set_phone_status、emu_get_phone_web呼叫模拟与话路:
emu_simulate_call、emu_call_action、emu_list_active_callsCURRI / ECC 策略路由:
emu_evaluate_curri、emu_get_curri_historyCDR / CMR 缓冲区:
emu_generate_cdrs、emu_get_cdr_history动态 OpenAPI 操作:46+ 个自动编译操作(
emu_get_summary、emu_get_topology、emu_query_sql、emu_list_inventory、emu_upsert_inventory等)
Related MCP server: packet-tracer-mcp
架构
┌─────────────────────────────────────────────────────────────┐
│ AI Agents / MCP Clients │
│ (Claude Code, Cursor, Windsurf) │
└──────────────────────────────┬──────────────────────────────┘
│ JSON-RPC 2.0 (Stdio / SSE)
┌──────────────────────────────▼──────────────────────────────┐
│ CucmEmulatorMcpServer │
│ │
│ ┌───────────────────────┐ ┌────────────────────────┐ │
│ │ Tool Registry │ │ OpenAPI Spec Parser │ │
│ │ (15 Domain + Dynamic) │◄─────┤ (Dereferencer/Build) │ │
│ └───────────┬───────────┘ └────────────────────────┘ │
│ │ │
│ ┌───────────▼───────────────────────────────────────────┐ │
│ │ ICucmEmulatorClient Abstraction │ │
│ └───────────┬───────────────────────────┬───────────────┘ │
└──────────────┼───────────────────────────┼──────────────────┘
│ │
┌──────────────▼────────────┐ ┌────────────▼──────────────────┐
│ HttpCucmClient │ │ DirectStoreCucmClient │
│ Live In-Guest / Container│ │ In-Memory Mock Store State │
│ (http://127.0.0.1:8443) │ │ (100% Offline Zero-Config) │
└───────────────────────────┘ └───────────────────────────────┘安装与快速开始
全局 CLI
npm install -g @calltelemetry/cucm-emulator-mcp运行 Stdio 服务器(用于 AI 代理 / Claude Desktop)
cucm-emulator-mcp --transport stdio运行 SSE 服务器
cucm-emulator-mcp --transport sse --port 3000 --host 127.0.0.1配置选项
选项 | 标志 | 环境变量 | 默认值 | 描述 |
传输方式 |
|
|
| 传输类型: |
端口 |
|
|
| SSE HTTP 服务器端口 |
主机 |
|
|
| SSE 传输的绑定主机 |
目标 URL |
|
|
| 目标实时模拟器 URL |
规范路径 |
|
| 内置 | OpenAPI 3.1.0 规范的路径或 URL |
模拟模式 |
|
|
| 强制使用进程内内存模拟存储 |
种子配置 |
|
|
|
|
认证令牌 |
|
|
| 实时模拟器的 Bearer 认证令牌 |
脱敏机密 |
|
|
| 在日志中脱敏敏感字符串 |
MCP 客户端配置
Claude Desktop(claude_desktop_config.json)
{
"mcpServers": {
"cucm-emulator": {
"command": "cucm-emulator-mcp",
"args": ["--transport", "stdio", "--mock", "--seed-profile", "lab-small"]
}
}
}SSE 集成
{
"mcpServers": {
"cucm-emulator-sse": {
"url": "http://127.0.0.1:3000/sse"
}
}
}可用工具参考
夹具与拓扑
emu_seed_fixtures:播种确定性的集群拓扑、节点、电话、拨号计划分区、CSS 和 CURRI 策略。emu_reset_store:重置或清除模拟器状态,并使用指定的拓扑配置重新播种。emu_inspect_fixtures:检查并返回活动 CUCM 集群状态的综合摘要。
节点与故障转移
emu_list_nodes:列出所有 CUCM 集群节点(Publisher、Subscribers、TFTP),包含角色和 RIS 返回码。emu_set_node_status:设置节点状态(Online、Offline、NotFound、SearchLimitExceeded),用于 ADR 0120/0122 故障转移测试。
电话与注册
emu_list_phones:列出已配置和已注册的 Cisco IP 电话端点,包含目录号码和 MAC 地址。emu_set_phone_status:更新电话注册状态(Registered、UnRegistered、Rejected、Unknown)。emu_get_phone_web:获取电话 XML、HTML 或 JSON 格式的可服务性 / 状态 Web 响应。
呼叫模拟
emu_simulate_call:通过 CUCM 拨号计划路由模拟端到端电话呼叫,包含 RTP 媒体指标。emu_call_action:执行呼叫中操作(answer、hold、resume、drop)。emu_list_active_calls:列出模拟器中当前进行中的活动呼叫会话。
CURRI / ECC 策略路由
emu_evaluate_curri:通过 CURRI / ECC 评估外部呼叫路由策略,返回允许、拒绝或转移裁决。emu_get_curri_history:检索过往 CURRI 路由评估决策的日志。
CDR / CMR 缓冲区
emu_generate_cdrs:生成批量合成 CDR 记录(正常、放弃、curri 阻止、突发)。emu_get_cdr_history:以结构化 JSON 或原始 Cisco CSV 导出格式检索最近的 CDR 记录。
开发与验证
# Typecheck
npm run typecheck
# Build TypeScript
npm run build
# Run Full Test Suite (155 Tests)
npm test
# Run with Coverage
npm run test:coverage
# Verify Packaging
npm pack --dry-run许可证
MIT © Call Telemetry
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables AI agents to make real-world phone calls with AI voice technology and provides tools to track call status, transcripts, and summaries. It supports automated communication with both live numbers and simulated businesses for testing and demonstration purposes.
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to control Cisco Packet Tracer in real time, allowing natural language-driven creation and configuration of network topologies.4MIT
- AlicenseNot gradedqualityAmaintenanceAn MCP server that enables AI assistants to manage Cisco Unified Communications Manager (CUCM) via AXL SOAP API, supporting provisioning, configuration, and database queries through natural language.117MIT
- AlicenseNot gradedqualityAmaintenanceEnables AI assistants to interact with Cisco Modeling Labs (CML) using natural language, allowing creation, management, and automation of network labs.69BSD 2-Clause "Simplified"
Related MCP Connectors
Simulation, evaluation and monitoring for voice agents.
Phone, SMS & email for AI agents — one remote MCP endpoint, OAuth login, zero install.
Give your AI agent a phone: place calls, navigate IVRs, wait on hold, get structured answers.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/calltelemetry/cucm-emulator-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server