Skip to main content
Glama

@calltelemetry/cucm-emulator-mcp

OpenAPI-gesteuerter Model Context Protocol (MCP)-Server für Cisco Unified Communications Manager (CUCM) Emulator.

Übersicht

@calltelemetry/cucm-emulator-mcp ist ein OpenAPI-gesteuerter MCP-Server, der KI-Assistenten und Automatisierungsagenten direkt mit Cisco CUCM Emulator-Instanzen verbindet. Er parst die OpenAPI-3.1.0-Kontraktspezifikation des Emulators, um dynamisch stark typisierte, diskrete MCP-Tools über alle 6 Kern-Telefonie-Domänen zu generieren:

  1. Fixtures & Topologie: emu_seed_fixtures, emu_reset_store, emu_inspect_fixtures

  2. Knoten & Cluster-Health: emu_list_nodes, emu_set_node_status (ADR 0120/0122-Failover)

  3. Telefone & Registrierung: emu_list_phones, emu_set_phone_status, emu_get_phone_web

  4. Anrufsimulation & Gesprächsabschnitte: emu_simulate_call, emu_call_action, emu_list_active_calls

  5. CURRI / ECC-Routing-Richtlinien: emu_evaluate_curri, emu_get_curri_history

  6. CDR / CMR-Puffer: emu_generate_cdrs, emu_get_cdr_history

  7. Dynamische OpenAPI-Operationen: 46+ automatisch kompilierte Operationen (emu_get_summary, emu_get_topology, emu_query_sql, emu_list_inventory, emu_upsert_inventory, usw.)

Related MCP server: packet-tracer-mcp

Architektur

┌─────────────────────────────────────────────────────────────┐
│                    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)   │
└───────────────────────────┘ └───────────────────────────────┘

Installation & Schnellstart

Globale CLI

npm install -g @calltelemetry/cucm-emulator-mcp

Stdio-Server ausführen (für KI-Agenten / Claude Desktop)

cucm-emulator-mcp --transport stdio

SSE-Server ausführen

cucm-emulator-mcp --transport sse --port 3000 --host 127.0.0.1

Konfigurationsoptionen

Option

Flag

Umgebungsvariable

Standard

Beschreibung

Transport

-t, --transport

MCP_TRANSPORT

stdio

Transporttyp: stdio oder sse

Port

-p, --port

PORT / MCP_PORT

3000

Port für den SSE-HTTP-Server

Host

-h, --host

HOST / MCP_HOST

127.0.0.1

Bind-Host für den SSE-Transport

Ziel-URL

-u, --target-url

CUCM_EMULATOR_URL

undefined

Ziel-URL des Live-Emulators

Spezifikationspfad

-s, --spec-path

CUCM_OPENAPI_SPEC

Gebündelt

Pfad oder URL zur OpenAPI-3.1.0-Spezifikation

Mock-Modus

-m, --mock

CUCM_MOCK

false

Erzwingt den prozessinternen In-Memory-Mock-Store

Seed-Profil

--seed-profile

CUCM_SEED_PROFILE

lab-small

lab-small, standard-enterprise, empty

Auth-Token

--auth-token

CUCM_EMULATOR_AUTH_TOKEN

undefined

Bearer-Auth-Token für den Live-Emulator

Geheimnisse schwärzen

--redact-secrets

REDACT_SECRETS

false

Schwärzt vertrauliche Zeichenfolgen in Protokollen

MCP-Client-Konfiguration

Claude Desktop (claude_desktop_config.json)

{
  "mcpServers": {
    "cucm-emulator": {
      "command": "cucm-emulator-mcp",
      "args": ["--transport", "stdio", "--mock", "--seed-profile", "lab-small"]
    }
  }
}

SSE-Integration

{
  "mcpServers": {
    "cucm-emulator-sse": {
      "url": "http://127.0.0.1:3000/sse"
    }
  }
}

Verfügbare Tool-Referenz

Fixtures & Topologie

  • emu_seed_fixtures: Seedet deterministische Cluster-Topologie, Knoten, Telefone, Dial-Plan-Partitionen, CSS und CURRI-Richtlinien.

  • emu_reset_store: Setzt den Emulatorzustand zurück oder löscht ihn und seedet ihn erneut mit dem angegebenen Topologieprofil.

  • emu_inspect_fixtures: Inspiziert und gibt eine umfassende Zusammenfassung des aktiven CUCM-Clusterzustands zurück.

Knoten & Failover

  • emu_list_nodes: Listet alle CUCM-Clusterknoten (Publisher, Subscriber, TFTP) mit Rollen und RIS-Rückgabecodes auf.

  • emu_set_node_status: Setzt den Knotenstatus (Online, Offline, NotFound, SearchLimitExceeded) für ADR 0120/0122-Failover-Tests.

Telefone & Registrierung

  • emu_list_phones: Listet konfigurierte und registrierte Cisco-IP-Telefon-Endpunkte mit Verzeichnisnummern und MAC-Adressen auf.

  • emu_set_phone_status: Aktualisiert den Telefonregistrierungsstatus (Registered, UnRegistered, Rejected, Unknown).

  • emu_get_phone_web: Ruft XML-, HTML- oder JSON-Serviceability-/Status-Webantworten des Telefons ab.

Anrufsimulation & Gesprächsabschnitte

  • emu_simulate_call: Simuliert einen End-to-End-Telefonanruf durch das CUCM-Dial-Plan-Routing mit RTP-Mediendaten.

  • emu_call_action: Führt Mid-Call-Aktionen aus (answer, hold, resume, drop).

  • emu_list_active_calls: Listet aktive, laufende Anrufsitzungen im Emulator auf.

CURRI / ECC-Routing-Richtlinien

  • emu_evaluate_curri: Bewertet externe Anrufrouting-Richtlinien über CURRI / ECC und gibt Entscheidungen wie permit, deny oder divert zurück.

  • emu_get_curri_history: Ruft das Protokoll vergangener CURRI-Routing-Entscheidungen ab.

CDR / CMR-Puffer

  • emu_generate_cdrs: Generiert Stapel synthetischer CDR-Datensätze (normal, abgebrochen, CURRI-blockiert, Burst).

  • emu_get_cdr_history: Ruft aktuelle CDR-Datensätze im strukturierten JSON- oder Roh-CSV-Exportformat ab.

Entwicklung & Verifizierung

# 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

Lizenz

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