Skip to main content

Signal MCP Tools

Tools available in the Signal MCP server for alerting and incident management.

signal_list_alerts

List active alerts.

Parameters

NameTypeRequiredDescription
statusstringNoFilter: firing, acknowledged, all
severitystringNoFilter: info, warning, critical
sourcestringNoFilter by source
limitnumberNoMax results

Examples

“Are there any active alerts?”
signal_list_alerts(status: "firing")
“Show critical alerts from Reflex”
signal_list_alerts(
  status: "firing",
  severity: "critical",
  source: "reflex"
)

signal_acknowledge

Acknowledge an alert.

Parameters

NameTypeRequiredDescription
alert_idstringYesAlert ID
notestringNoAcknowledgment note

Examples

“Acknowledge alert alert_abc123”
signal_acknowledge(
  alert_id: "alert_abc123",
  note: "Investigating the issue"
)

signal_create_rule

Create a new alert rule.

Parameters

NameTypeRequiredDescription
namestringYesRule name
sourcestringYesData source
source_namestringYesMetric/event name
rule_typestringYesRule type
thresholdnumberConditionalFor threshold rules
operatorstringConditionalComparison operator
windowstringYesEvaluation window
severitystringYesAlert severity

Examples

“Create an alert for high error rates”
signal_create_rule(
  name: "High Error Rate",
  source: "reflex",
  source_name: "error_count",
  rule_type: "threshold",
  operator: "gt",
  threshold: 100,
  window: "5m",
  severity: "critical"
)
“Alert me when response time P95 exceeds 500ms”
signal_create_rule(
  name: "Slow Response Time",
  source: "pulse",
  source_name: "response_time.p95",
  rule_type: "threshold",
  operator: "gt",
  threshold: 500,
  window: "5m",
  severity: "warning"
)

signal_mute

Mute a rule temporarily.

Parameters

NameTypeRequiredDescription
rule_idstringYesRule ID
durationstringYesMute duration (e.g., “1h”, “30m”)
reasonstringNoReason for muting

Examples

“Mute the high error rate rule for 2 hours”
signal_mute(
  rule_id: "rule_xyz",
  duration: "2h",
  reason: "Deploying fix"
)

signal_incidents

List incidents.

Parameters

NameTypeRequiredDescription
statusstringNoFilter: open, acknowledged, resolved, all
severitystringNoFilter by severity
fromstringNoStart time
limitnumberNoMax results

Examples

“Any open incidents?”
signal_incidents(status: "open")
“Show incidents from today”
signal_incidents(
  status: "all",
  from: "today"
)

signal_oncall

Check who is on-call.

Parameters

NameTypeRequiredDescription
schedulestringNoSchedule name or ID

Examples

“Who is on-call right now?”
signal_oncall()
“Who is on-call for the backend team?”
signal_oncall(schedule: "backend-oncall")

Common Patterns

Incident Response

// Check active alerts
signal_list_alerts(status: "firing", severity: "critical")

// Acknowledge the issue
signal_acknowledge(alert_id: "alert_123", note: "Looking into it")

// Check who else is on-call
signal_oncall()

Setting Up Monitoring

// Create error rate alert
signal_create_rule(
  name: "API Error Rate",
  source: "reflex",
  source_name: "error_count",
  rule_type: "threshold",
  operator: "gt",
  threshold: 50,
  window: "5m",
  severity: "warning"
)

// Create latency alert
signal_create_rule(
  name: "API Latency P95",
  source: "pulse",
  source_name: "response_time.p95",
  rule_type: "threshold",
  operator: "gt",
  threshold: 1000,
  window: "5m",
  severity: "critical"
)

During Deployments

// Mute alerts during deployment
signal_mute(rule_id: "rule_errors", duration: "30m", reason: "Deploying v2.0")
signal_mute(rule_id: "rule_latency", duration: "30m", reason: "Deploying v2.0")