cucm-emulator-mcp
@calltelemetry/cucm-emulator-mcp
Servidor de Protocolo de Contexto de Modelo (MCP) impulsado por OpenAPI para el Emulador de Cisco Unified Communications Manager (CUCM).
Descripción general
@calltelemetry/cucm-emulator-mcp es un servidor MCP impulsado por OpenAPI que conecta asistentes de codificación de IA y agentes de automatización directamente a instancias del Emulador de Cisco CUCM. Analiza la especificación de contrato OpenAPI 3.1.0 del emulador para generar dinámicamente herramientas MCP discretas fuertemente tipadas en los 6 dominios principales de telefonía:
Fixtures y Topología:
emu_seed_fixtures,emu_reset_store,emu_inspect_fixturesNodos y Salud del Clúster:
emu_list_nodes,emu_set_node_status(conmutación por error ADR 0120/0122)Teléfonos y Registro:
emu_list_phones,emu_set_phone_status,emu_get_phone_webSimulación de Llamadas y Patas:
emu_simulate_call,emu_call_action,emu_list_active_callsEnrutamiento de Políticas CURRI / ECC:
emu_evaluate_curri,emu_get_curri_historyBuffers CDR / CMR:
emu_generate_cdrs,emu_get_cdr_historyOperaciones Dinámicas OpenAPI: 46+ operaciones compiladas automáticamente (
emu_get_summary,emu_get_topology,emu_query_sql,emu_list_inventory,emu_upsert_inventory, etc.)
Related MCP server: packet-tracer-mcp
Arquitectura
┌─────────────────────────────────────────────────────────────┐
│ 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) │
└───────────────────────────┘ └───────────────────────────────┘Instalación e Inicio Rápido
CLI Global
npm install -g @calltelemetry/cucm-emulator-mcpEjecutar Servidor Stdio (para Agentes de IA / Claude Desktop)
cucm-emulator-mcp --transport stdioEjecutar Servidor SSE
cucm-emulator-mcp --transport sse --port 3000 --host 127.0.0.1Opciones de Configuración
Opción | Bandera | Variable de Entorno | Predeterminado | Descripción |
Transporte |
|
|
| Tipo de transporte: |
Puerto |
|
|
| Puerto para el servidor HTTP SSE |
Host |
|
|
| Host de enlace para el transporte SSE |
URL de Destino |
|
|
| URL del emulador en vivo de destino |
Ruta de Espec |
|
| Incluida | Ruta o URL a la especificación OpenAPI 3.1.0 |
Modo Simulado |
|
|
| Forzar almacén simulado en memoria en el proceso |
Perfil de Semilla |
|
|
|
|
Token de Autenticación |
|
|
| Token de autenticación Bearer para el emulador en vivo |
Redactar Secretos |
|
|
| Redactar cadenas sensibles en los registros |
Configuración del Cliente MCP
Claude Desktop (claude_desktop_config.json)
{
"mcpServers": {
"cucm-emulator": {
"command": "cucm-emulator-mcp",
"args": ["--transport", "stdio", "--mock", "--seed-profile", "lab-small"]
}
}
}Integración SSE
{
"mcpServers": {
"cucm-emulator-sse": {
"url": "http://127.0.0.1:3000/sse"
}
}
}Referencia de Herramientas Disponibles
Fixtures y Topología
emu_seed_fixtures: Siembra topología de clúster determinista, nodos, teléfonos, particiones de plan de marcado, CSS y políticas CURRI.emu_reset_store: Restablece o borra el estado del emulador y vuelve a sembrar con un perfil de topología especificado.emu_inspect_fixtures: Inspecciona y devuelve un resumen completo del estado activo del clúster CUCM.
Nodos y Conmutación por Error
emu_list_nodes: Lista todos los nodos del clúster CUCM (Publisher, Subscribers, TFTP) con roles y códigos de retorno RIS.emu_set_node_status: Establece el estado del nodo (Online,Offline,NotFound,SearchLimitExceeded) para pruebas de conmutación por error ADR 0120/0122.
Teléfonos y Registro
emu_list_phones: Lista los endpoints de teléfonos IP Cisco configurados y registrados con números de directorio y MACs.emu_set_phone_status: Actualiza el estado de registro del teléfono (Registered,UnRegistered,Rejected,Unknown).emu_get_phone_web: Obtiene respuestas web de servicio/estado del teléfono en XML, HTML o JSON.
Simulación de Llamadas
emu_simulate_call: Simula una llamada telefónica de extremo a extremo a través del enrutamiento del plan de marcado CUCM con métricas de medios RTP.emu_call_action: Ejecuta acciones durante la llamada (answer,hold,resume,drop).emu_list_active_calls: Lista las sesiones de llamadas activas en curso en el emulador.
Enrutamiento de Políticas CURRI / ECC
emu_evaluate_curri: Evalúa políticas de enrutamiento de llamadas externas a través de CURRI / ECC, devolviendo veredictos de permitir, denegar o desviar.emu_get_curri_history: Recupera el registro de decisiones de evaluación de enrutamiento CURRI pasadas.
Buffers CDR / CMR
emu_generate_cdrs: Genera lotes de registros CDR sintéticos (normal, abandonado, bloqueado por curri, ráfaga).emu_get_cdr_history: Recupera registros CDR recientes en JSON estructurado o formato de exportación CSV crudo de Cisco.
Desarrollo y Verificación
# 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-runLicencia
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