Skip to main content
Glama

@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 工具:

  1. 夹具与拓扑emu_seed_fixturesemu_reset_storeemu_inspect_fixtures

  2. 节点与集群健康emu_list_nodesemu_set_node_status(ADR 0120/0122 故障转移)

  3. 电话与注册emu_list_phonesemu_set_phone_statusemu_get_phone_web

  4. 呼叫模拟与话路emu_simulate_callemu_call_actionemu_list_active_calls

  5. CURRI / ECC 策略路由emu_evaluate_curriemu_get_curri_history

  6. CDR / CMR 缓冲区emu_generate_cdrsemu_get_cdr_history

  7. 动态 OpenAPI 操作:46+ 个自动编译操作(emu_get_summaryemu_get_topologyemu_query_sqlemu_list_inventoryemu_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

配置选项

选项

标志

环境变量

默认值

描述

传输方式

-t, --transport

MCP_TRANSPORT

stdio

传输类型:stdiosse

端口

-p, --port

PORT / MCP_PORT

3000

SSE HTTP 服务器端口

主机

-h, --host

HOST / MCP_HOST

127.0.0.1

SSE 传输的绑定主机

目标 URL

-u, --target-url

CUCM_EMULATOR_URL

undefined

目标实时模拟器 URL

规范路径

-s, --spec-path

CUCM_OPENAPI_SPEC

内置

OpenAPI 3.1.0 规范的路径或 URL

模拟模式

-m, --mock

CUCM_MOCK

false

强制使用进程内内存模拟存储

种子配置

--seed-profile

CUCM_SEED_PROFILE

lab-small

lab-smallstandard-enterpriseempty

认证令牌

--auth-token

CUCM_EMULATOR_AUTH_TOKEN

undefined

实时模拟器的 Bearer 认证令牌

脱敏机密

--redact-secrets

REDACT_SECRETS

false

在日志中脱敏敏感字符串

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:设置节点状态(OnlineOfflineNotFoundSearchLimitExceeded),用于 ADR 0120/0122 故障转移测试。

电话与注册

  • emu_list_phones:列出已配置和已注册的 Cisco IP 电话端点,包含目录号码和 MAC 地址。

  • emu_set_phone_status:更新电话注册状态(RegisteredUnRegisteredRejectedUnknown)。

  • emu_get_phone_web:获取电话 XML、HTML 或 JSON 格式的可服务性 / 状态 Web 响应。

呼叫模拟

  • emu_simulate_call:通过 CUCM 拨号计划路由模拟端到端电话呼叫,包含 RTP 媒体指标。

  • emu_call_action:执行呼叫中操作(answerholdresumedrop)。

  • 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

Install Server
A
license - permissive license
C
quality
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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

  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables 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.
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables AI assistants to interact with Cisco Modeling Labs (CML) using natural language, allowing creation, management, and automation of network labs.
    69
    BSD 2-Clause "Simplified"

View all related MCP servers

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.

View all MCP Connectors

Latest Blog Posts

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