MCP Tool Reference
The AppSignal MCP server exposes 18 tools across five areas: error incidents, anomaly detection, metrics, dashboards, and app discovery. Tools include both read and write operations.
Workflows
These examples show how tools compose together for common tasks.
Investigating a production incident
- List recent open exceptions: "Show me all open incidents in production from the last 24 hours"
- Get full details on a specific one: "Get the details for incident #847 including the stack trace"
- Document your findings: "Add a note to incident #847: investigated the database timeout — connection pool was exhausted during peak traffic"
- Close it out: "Close incident #847 and mark it resolved"
Triaging a batch of incidents
- "Find all open incidents in the background namespace from the last week"
- "Mark incidents #120, #121, and #122 as work in progress and assign them to Jana"
- "Close all incidents related to ActionMailer — they were fixed in the last deploy"
Reviewing anomaly health
- "What anomaly triggers are configured for response_time in production?"
- "Show me all open anomaly alerts"
- "Get all incidents from the high error rate trigger over the last 48 hours"
Building a monitoring dashboard
- "What metrics are available for my production app?"
- "Create a dashboard called 'API Health' in production"
- "Add a line chart of p95 response time by action to the API Health dashboard"
- "Add an area chart of error rate broken down by namespace"
Tool reference
App discovery
get_applications
Get all AppSignal applications the user has access to.
Returns applications in app_name/app_environment format. Use this first to discover available applications before calling other tools.
No parameters required.
get_app_resources
Discover available resources in an AppSignal application, such as namespaces, dashboards, users, and notifiers.
Use this when you need to discover what resources are available in an application — particularly useful when setting up triggers, investigating incidents, or understanding the structure of an application.
| Parameter | Required | Description |
|---|---|---|
app_name | yes | Name of the AppSignal application. Must match exactly. |
app_environment | yes | Environment (e.g. production, staging). Case-sensitive. |
sections | no | List of sections to retrieve: users, notifiers, namespaces, dashboards. Returns all if not specified. |
Error incidents
get_exception_incidents
List and search AppSignal exceptions and errors.
Use this to get an overview of recent exceptions, search within a time period, find incidents by state, or check which incidents need attention. Returns 50 incidents per page.
| Parameter | Required | Description |
|---|---|---|
app_name | yes | Name of the AppSignal application. |
app_environment | yes | Environment (e.g. production, staging). |
namespaces | no | Comma-separated list of namespaces to filter by (e.g. web,background). |
start | no | Start of time range in ISO 8601 format. If omitted, shows incidents since last deploy. |
end | no | End of time range in ISO 8601 format. Required if start is provided. |
states | no | Comma-separated states: open, closed, wip. Shows all states if not specified. |
page | no | Page number (1-based, defaults to 1). |
get_incident
Get detailed information about an AppSignal incident.
Use this to view current state, assignment, first/last occurrence, error messages, stack traces, or anomaly alert details. Supports exception and anomaly incidents.
| Parameter | Required | Description |
|---|---|---|
app_name | yes | Name of the AppSignal application. |
app_environment | yes | Environment. Case-sensitive. |
number | yes | The numeric incident ID shown in AppSignal URLs and incident lists. |
update_incidents
Bulk update incidents for an AppSignal application.
Use this to change incident state, update severity, or assign and unassign team members across multiple incidents at once. Use get_app_resources with sections: ["users"] to find user IDs for assignment.
| Parameter | Required | Description |
|---|---|---|
app_name | yes | Name of the AppSignal application. |
app_environment | yes | Environment. |
incidents | no | List of incident numbers to update (e.g. [123, 456, 789]). |
state | no | open, closed, or wip (work in progress). |
severity | no | critical, high, low, none, informational, or untriaged. |
assign_users | no | List of user IDs to assign as handlers. |
unassign_users | no | List of user IDs to remove from the incident. |
create_incident_note
Create a note on an AppSignal incident.
Use this to add comments, status updates, investigation findings, or resolution steps to an incident. Markdown is supported.
| Parameter | Required | Description |
|---|---|---|
app_name | yes | Name of the AppSignal application. |
app_environment | yes | Environment. |
number | yes | The numeric incident ID. |
content | yes | Note content. Markdown formatting is supported. |
Anomaly detection
get_anomaly_incidents
List and search AppSignal anomaly detection alerts.
Use this to get an overview of recent anomaly alerts, filter by state, or view all incidents from a specific trigger. Returns 50 alerts per page.
| Parameter | Required | Description |
|---|---|---|
app_name | yes | Name of the AppSignal application. |
app_environment | yes | Environment. |
state | no | open, closed, warmup, cooldown, or archived. Shows all if not specified. |
trigger_id | no | Filter to incidents from a specific trigger. Use get_triggers to find trigger IDs. |
page | no | Page number (1-based, defaults to 1). |
get_triggers
List anomaly detection triggers for an AppSignal application.
Use this to view configured anomaly detection triggers, check which metrics are being monitored, review thresholds and conditions, or get trigger IDs. Returns active (non-archived) triggers with their complete configuration.
| Parameter | Required | Description |
|---|---|---|
app_name | yes | Name of the AppSignal application. |
app_environment | yes | Environment. |
metric_name | no | Filter by metric name (e.g. response_time, error_rate). |
kind | no | Filter by trigger kind. |
tags | no | Filter by tags, e.g. [{"key": "hostname", "value": "web-1"}]. |
page | no | Page number (1-based, defaults to 1). |
Metrics
discover_metrics
Discover available metric categories and their metrics for monitoring.
Use this to get an overview of available metric categories, find metrics within a specific category, or understand what you can monitor for an application.
| Parameter | Required | Description |
|---|---|---|
app_name | yes | Name of the AppSignal application. |
app_environment | yes | Environment. |
metric_subject | no | Metric category name to list metrics for (e.g. performance_metrics, host_metrics). |
get_metric_names
Get the names of all metrics for the given application.
Returns metric names as a comma-separated string. Use these names as input to get_metric_tags, get_metrics_timeseries, and get_metrics_list.
| Parameter | Required | Description |
|---|---|---|
app_name | yes | Name of the AppSignal application. |
app_environment | yes | Environment. |
get_metric_tags
Get the tags for a metric in the given application.
Returns all tag combinations and the metric type (Gauge, Counter, etc.) for a metric. Use the results to build valid queries with get_metrics_timeseries and get_metrics_list.
| Parameter | Required | Description |
|---|---|---|
app_name | yes | Name of the AppSignal application. |
app_environment | yes | Environment. |
metric_name | yes | Name of the metric. Use get_metric_names to find available metrics. |
get_metrics_timeseries
Get a timeseries for a metric in the given application.
Retrieves time-series data for a given time range, metric, metric type, and tag combination. Use get_metric_names to find metric names and get_metric_tags to find the metric type and valid tag combinations. Supports wildcard * matching on tag values.
| Parameter | Required | Description |
|---|---|---|
app_name | yes | Name of the AppSignal application. |
app_environment | yes | Environment. |
metric_name | yes | Name of the metric. |
metric_type | yes | COUNT, COUNTER, GAUGE, MEAN, P90, or P95. Use get_metric_tags to find the valid type for your metric. |
start | yes | Start of time range in ISO 8601 format. |
end | yes | End of time range in ISO 8601 format. |
tags | no | Tag filters, e.g. [{"key": "hostname", "value": "web*"}]. Supports * wildcards on values. |
get_metrics_list
Get an aggregated value for a metric in the given application.
Retrieves a single aggregated value for a metric over a time range, rather than a point-by-point timeseries. Useful for summary views and dashboard values.
| Parameter | Required | Description |
|---|---|---|
app_name | yes | Name of the AppSignal application. |
app_environment | yes | Environment. |
metric_name | yes | Name of the metric. |
metric_type | yes | COUNT, COUNTER, GAUGE, MEAN, P90, or P95. |
start | yes | Start of time range in ISO 8601 format. |
end | yes | End of time range in ISO 8601 format. |
tags | no | Tag filters, e.g. [{"key": "hostname", "value": "frontend1"}]. |
Dashboards
manage_dashboard
Create or update an AppSignal dashboard.
Use this to create a new dashboard or update an existing dashboard's title and description. This tool manages dashboard metadata only — use create_dashboard_visual and update_dashboard_visual to add charts.
| Parameter | Required | Description |
|---|---|---|
app_name | yes | Name of the AppSignal application. |
app_environment | yes | Environment. |
title | yes | Dashboard title. |
description | no | Description of the dashboard's purpose and contents. |
id | no | Dashboard ID for updating an existing dashboard. Omit to create a new dashboard. |
create_dashboard_visual
Create a visual component on an AppSignal dashboard.
Use this to add a new chart or graph to an existing dashboard, create metric visualizations for monitoring KPIs, or configure metric aggregations and display options. Use discover_metrics or get_metrics_list to find available metrics.
| Parameter | Required | Description |
|---|---|---|
app_name | yes | Name of the AppSignal application. |
app_environment | yes | Environment. |
dashboard_id | yes | ID of the dashboard to add the visual to. |
title | yes | Chart title. |
metrics | yes | Array of metrics to display. Each requires name, fields (e.g. mean, p90, p95, count), and optionally tags. |
description | no | Additional context about the visual. |
display | no | line (default), area, or area_relative. |
line_label | no | Custom label for chart lines. Supports %name%, %field%, %tag% replacements. |
format | no | Value format, e.g. duration, size, percentage. |
draw_null_as_zero | no | Whether to draw missing data points as zero. Default: false. |
min_y_axis | no | Minimum Y-axis value. |
tags | no | Global tags applied to all metrics in this visual. |
update_dashboard_visual
Update a visual component on an AppSignal dashboard.
Use this to modify an existing chart — update metrics, change display type, adjust labels or formatting. All fields are optional except the identifiers; unspecified fields retain their current values.
| Parameter | Required | Description |
|---|---|---|
app_name | yes | Name of the AppSignal application. |
app_environment | yes | Environment. |
visual_id | yes | ID of the visual component to update. |
title | no | New title. Current title kept if not provided. |
description | no | New description. Set to empty string to remove. |
metrics | no | Updated metrics array. Replaces all existing metrics if provided. |
display | no | line, area, or area_relative. |
line_label | no | Custom label for chart lines. Supports %name%, %field%, %tag% replacements. |
format | no | Value format, e.g. duration, size, percentage. |
draw_null_as_zero | no | Whether to draw missing data points as zero. |
min_y_axis | no | Minimum Y-axis value. |
tags | no | Global tags. Replaces existing global tags if provided. |
Token permissions
Each MCP token has configurable permissions by toolset. Toolsets are: app, exceptions, metrics, anomalies, dashboards. Each can be set to read, write, or disabled.
By default, tokens have write access to exceptions and dashboards, and read access to app discovery. Tokens can also be scoped to specific applications and set to automatically expose new tools as they are added.
To generate a token: click your profile, go to Account Settings, then navigate to MCP Tokens.