cucm-emulator-mcp
@calltelemetry/cucm-emulator-mcp
OpenAPI 기반 Cisco Unified Communications Manager(CUCM) 에뮬레이터용 Model Context Protocol(MCP) 서버입니다.
개요
@calltelemetry/cucm-emulator-mcp는 AI 코딩 어시스턴트와 자동화 에이전트를 Cisco CUCM 에뮬레이터 인스턴스에 직접 연결하는 OpenAPI 기반 MCP 서버입니다. 에뮬레이터의 OpenAPI 3.1.0 계약 사양을 파싱하여 6가지 핵심 텔레포니 도메인 전반에 걸쳐 강력한 타입의 개별 MCP 도구를 동적으로 생성합니다:
Fixture 및 토폴로지:
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-mcpStdio 서버 실행(AI 에이전트 / Claude Desktop용)
cucm-emulator-mcp --transport stdioSSE 서버 실행
cucm-emulator-mcp --transport sse --port 3000 --host 127.0.0.1구성 옵션
옵션 | 플래그 | 환경 변수 | 기본값 | 설명 |
전송 방식 |
|
|
| 전송 유형: |
포트 |
|
|
| SSE HTTP 서버용 포트 |
호스트 |
|
|
| SSE 전송용 바인드 호스트 |
대상 URL |
|
|
| 대상 라이브 에뮬레이터 URL |
스펙 경로 |
|
| 번들 제공 | OpenAPI 3.1.0 스펙 경로 또는 URL |
Mock 모드 |
|
|
| 프로세스 내 인메모리 mock 저장소 강제 사용 |
Seed 프로필 |
|
|
|
|
인증 토큰 |
|
|
| 라이브 에뮬레이터용 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"
}
}
}사용 가능한 도구 참조
Fixture 및 토폴로지
emu_seed_fixtures: 노드, 전화기, 다이얼 플랜 파티션, CSS, CURRI 정책을 포함한 fixture를 시드합니다.emu_reset_store: 에뮬레이터 상태를 재설정하거나 초기화하고 지정된 토폴로지 프로필로 다시 시드합니다.emu_inspect_fixtures: 활성 CUCM 클러스터 상태의 포괄적인 요약을 검사하고 반환합니다.
노드 및 장애 조치
emu_list_nodes: 모든 CUCM 클러스터 노드(게시자, 구독자, TFTP)를 역할과 함께 나열합니다.emu_set_node_status: ADR 0120/0122 장애 조치 테스트를 위해 노드 상태(Online,Offline,NotFound,SearchLimitExceeded)를 설정합니다.
전화기 및 등록
emu_list_phones: 구성되고 등록된 Cisco IP 전화기 엔드포인트를 디렉터리 번호 및 MAC과 함께 나열합니다.emu_set_phone_status: 전화기 등록 상태(Registered,UnRegistered,Rejected,Unknown)를 업데이트합니다.emu_get_phone_web: 전화기 XML, HTML 또는 JSON 서비스 가능성/상태 웹 응답을 가져옵니다.
통화 시뮬레이션
emu_simulate_call: 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: 최근 CDR 레코드를 Cisco CSV 내보내기 형식으로 검색합니다.
개발 및 검증
# 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