Skip to main content
Glama

@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 도구를 동적으로 생성합니다:

  1. Fixture 및 토폴로지: emu_seed_fixtures, emu_reset_store, emu_inspect_fixtures

  2. 노드 및 클러스터 상태: emu_list_nodes, emu_set_node_status(ADR 0120/0122 장애 조치)

  3. 전화기 및 등록: emu_list_phones, emu_set_phone_status, emu_get_phone_web

  4. 통화 시뮬레이션 및 레그: emu_simulate_call, emu_call_action, emu_list_active_calls

  5. CURRI / ECC 정책 라우팅: emu_evaluate_curri, emu_get_curri_history

  6. CDR / CMR 버퍼: emu_generate_cdrs, emu_get_cdr_history

  7. 동적 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

구성 옵션

옵션

플래그

환경 변수

기본값

설명

전송 방식

-t, --transport

MCP_TRANSPORT

stdio

전송 유형: stdio 또는 sse

포트

-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

Mock 모드

-m, --mock

CUCM_MOCK

false

프로세스 내 인메모리 mock 저장소 강제 사용

Seed 프로필

--seed-profile

CUCM_SEED_PROFILE

lab-small

lab-small, standard-enterprise, empty

인증 토큰

--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"
    }
  }
}

사용 가능한 도구 참조

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

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