Skip to content

EMS MCP Server

Introduction

The EMS MCP Server exposes the capabilities of the Event Management System (EMS) to any MCP-compatible AI host. Through this server, AI assistants can query active alerts, inspect event details, correlate incidents to devices or customers, and retrieve mapping rule information — all using natural language.

EMS (Event Management System) is the central monitoring platform for WxCDI/CCE infrastructure. It supports multiple ingress methods (API, SNMP, Email) and integrates with ServiceNow for ticket management.

What You Can Do with EMS MCP

Capability Example Prompt
List active alerts "Show me all critical alerts in the last hour"
Get alert details "What triggered alert fingerprint abc123?"
Inspect alert history & activity "Show the history and audit timeline for alert abc123"
Acknowledge & Self-assign alerts "Ack and assign alert abc123 to me"
Unassign alerts "Unassign alert abc123"
Resolve alerts "Resolve alerts with fingerprints fp1, fp2"
Enrich alerts with custom fields "Mark alerts matching severity == 'low' as change related"
Read AI analysis reports "Show the AI report for alert abc123"
Get mapping rules "What mapping rule handles CUCM SNMP traps?"
Get extraction rules "Show me all extraction rules"
Get deduplication rules "List all deduplication rules"
Manage drop rules "Create a drop rule for low severity prometheus alerts"
Manage maintenance windows "Put alerts from site-a into a 4 hour maintenance window"
Browse runbooks "Show all runbooks and their scores"
Discover & execute workflows "List workflows, then run wf1 on group alert ga1"
Create correlation rules "Create a correlation rule for CUCM alerts grouped by device"
Submit AI feedback "Submit positive feedback for analysis report exec123"

Installation

EMS MCP Install Guide


Available Tools

Once installed, the following tools are exposed to the AI host:

Alert Tools

Tool name Description
query_alerts Query alerts from EMS using CEL filter expression, status, and limit
query_alerts_fingerprint Query alert fingerprints from EMS using CEL filter, status, and limit
query_activity_logs Get the audit timeline for a specific alert (by fingerprint) or group alert (by UUID)
get_alert_history Get the history of an alert via alert fingerprint, with optional instance enrichment
ack_assign_alert Acknowledge and assign an alert to yourself via alert fingerprint
unassign_alert Unassign (clear the assignee of) an alert via alert fingerprint
assign_alert Batch assign alerts to a specific user via alert fingerprints
update_alert_status Update alert status (firing, resolved, acknowledged, suppressed, pending) via fingerprints
batch_enrich_alert_ticket Batch enrich alerts with ticket number and URL via alert fingerprints
enrich_alerts Add or update arbitrary enrichment key-value pairs on alerts selected by fingerprints or CEL
execute_alert_workflow Execute a workflow on an alert via alert fingerprint and workflow ID or name

Workflow Tools

Tool name Description
list_workflows List all available workflows in EMS to discover workflow IDs and display names

Group Alert Tools

Tool name Description
list_group_alerts List group alerts with optional CEL filtering, sorting, limit, and offset
get_group_alert Get details of a specific group alert by its UUID
get_group_alert_alerts Get the list of sub-alerts associated with a group alert
get_group_alert_audit Get audit log (activity history) for a specific group alert
create_group_alert Create a new group alert with name, description, severity, status, and assignee
add_alerts_to_group_alert Move alerts into an existing group alert by fingerprints (removes them from their current group)
assign_group_alerts Assign or unassign one or more group alerts to a user
change_group_alert_status Batch-change the status of one or more group alerts, optionally updating sub-alerts
enrich_group_alerts Add or update enrichment key-value pairs on one or more group alerts
execute_group_alert_workflow Execute a workflow on a group alert via group alert ID and workflow ID

Correlation Rule Tools

Tool name Description
get_rules Get all correlation rules from EMS
create_correlation_rule Create a new correlation rule with CEL query, SQL query, grouping criteria, and name template

Mapping Rule Tools

Tool name Description
get_all_mapping Get all mapping rules in EMS
get_mapping_rule Get mapping rule details by rule ID
get_mapping_rule_executions Get execution history of a mapping rule by rule ID
get_mapping_rule_execution_details Get details of a specific execution of a mapping rule
get_mapping_rule_versions Get all versions of a mapping rule by rule ID
get_mapping_rule_version_details Get details of a specific revision of a mapping rule

Extraction Rule Tools

Tool name Description
get_all_extractions Get all extraction rules in EMS
get_extraction_rule Get extraction rule details (latest version) by rule ID
get_extraction_rule_executions Get execution history of an extraction rule by rule ID
get_extraction_rule_execution_details Get details of a specific execution of an extraction rule
get_extraction_rule_version_details Get details of a specific revision of an extraction rule

Deduplication Rule Tools

Tool name Description
get_all_deduplications Get all deduplication rules in EMS

Drop Rule Tools

Tool name Description
list_drop_rules List all drop rules in EMS
get_drop_rule Get a specific drop rule by its ID
create_drop_rule Create a drop rule with name, provider type, CEL condition, and optional drop interval
enable_drop_rule Enable a drop rule by its ID
disable_drop_rule Disable a drop rule by its ID

Maintenance Rule Tools

Tool name Description
list_maintenance_rules List all maintenance window rules in EMS
create_maintenance_rule Create a maintenance window that marks or suppresses alerts matching a CEL query
update_maintenance_rule Update an existing maintenance window rule (replaces all fields)
delete_maintenance_rule Delete a maintenance window rule by its ID

Runbook Tools

Tool name Description
get_all_runbooks Get all runbooks in EMS
get_runbook_score Get runbook score details by runbook ID

AI Analysis Tools

Tool name Description
get_alert_ai_report Get the AI-generated analysis report for an alert by its fingerprint
submit_analysis_feedback Submit feedback (good/bad with comments) for an AI analysis report by execution ID

Authorization

EMS use Personal Access Tokens (PAT) for authentication. To generate a PAT, follow the guide here: EMS MCP Guide


Troubleshooting

401 Unauthorized — Verify your PAT is correct and has not expired.

Connection refused — Confirm EMS_API_URL is reachable from your machine. Check VPN or firewall rules.

No tools available in VS Code — Ensure the MCP extension is enabled and the server entry in mcp.json has no JSON syntax errors.