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

  1. List recent open exceptions: "Show me all open incidents in production from the last 24 hours"
  2. Get full details on a specific one: "Get the details for incident #847 including the stack trace"
  3. Document your findings: "Add a note to incident #847: investigated the database timeout — connection pool was exhausted during peak traffic"
  4. Close it out: "Close incident #847 and mark it resolved"

Triaging a batch of incidents

  1. "Find all open incidents in the background namespace from the last week"
  2. "Mark incidents #120, #121, and #122 as work in progress and assign them to Jana"
  3. "Close all incidents related to ActionMailer — they were fixed in the last deploy"

Reviewing anomaly health

  1. "What anomaly triggers are configured for response_time in production?"
  2. "Show me all open anomaly alerts"
  3. "Get all incidents from the high error rate trigger over the last 48 hours"

Building a monitoring dashboard

  1. "What metrics are available for my production app?"
  2. "Create a dashboard called 'API Health' in production"
  3. "Add a line chart of p95 response time by action to the API Health dashboard"
  4. "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.

ParameterRequiredDescription
app_nameyesName of the AppSignal application. Must match exactly.
app_environmentyesEnvironment (e.g. production, staging). Case-sensitive.
sectionsnoList 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.

ParameterRequiredDescription
app_nameyesName of the AppSignal application.
app_environmentyesEnvironment (e.g. production, staging).
namespacesnoComma-separated list of namespaces to filter by (e.g. web,background).
startnoStart of time range in ISO 8601 format. If omitted, shows incidents since last deploy.
endnoEnd of time range in ISO 8601 format. Required if start is provided.
statesnoComma-separated states: open, closed, wip. Shows all states if not specified.
pagenoPage 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.

ParameterRequiredDescription
app_nameyesName of the AppSignal application.
app_environmentyesEnvironment. Case-sensitive.
numberyesThe 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.

ParameterRequiredDescription
app_nameyesName of the AppSignal application.
app_environmentyesEnvironment.
incidentsnoList of incident numbers to update (e.g. [123, 456, 789]).
statenoopen, closed, or wip (work in progress).
severitynocritical, high, low, none, informational, or untriaged.
assign_usersnoList of user IDs to assign as handlers.
unassign_usersnoList 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.

ParameterRequiredDescription
app_nameyesName of the AppSignal application.
app_environmentyesEnvironment.
numberyesThe numeric incident ID.
contentyesNote 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.

ParameterRequiredDescription
app_nameyesName of the AppSignal application.
app_environmentyesEnvironment.
statenoopen, closed, warmup, cooldown, or archived. Shows all if not specified.
trigger_idnoFilter to incidents from a specific trigger. Use get_triggers to find trigger IDs.
pagenoPage 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.

ParameterRequiredDescription
app_nameyesName of the AppSignal application.
app_environmentyesEnvironment.
metric_namenoFilter by metric name (e.g. response_time, error_rate).
kindnoFilter by trigger kind.
tagsnoFilter by tags, e.g. [{"key": "hostname", "value": "web-1"}].
pagenoPage 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.

ParameterRequiredDescription
app_nameyesName of the AppSignal application.
app_environmentyesEnvironment.
metric_subjectnoMetric 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.

ParameterRequiredDescription
app_nameyesName of the AppSignal application.
app_environmentyesEnvironment.

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.

ParameterRequiredDescription
app_nameyesName of the AppSignal application.
app_environmentyesEnvironment.
metric_nameyesName 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.

ParameterRequiredDescription
app_nameyesName of the AppSignal application.
app_environmentyesEnvironment.
metric_nameyesName of the metric.
metric_typeyesCOUNT, COUNTER, GAUGE, MEAN, P90, or P95. Use get_metric_tags to find the valid type for your metric.
startyesStart of time range in ISO 8601 format.
endyesEnd of time range in ISO 8601 format.
tagsnoTag 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.

ParameterRequiredDescription
app_nameyesName of the AppSignal application.
app_environmentyesEnvironment.
metric_nameyesName of the metric.
metric_typeyesCOUNT, COUNTER, GAUGE, MEAN, P90, or P95.
startyesStart of time range in ISO 8601 format.
endyesEnd of time range in ISO 8601 format.
tagsnoTag 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.

ParameterRequiredDescription
app_nameyesName of the AppSignal application.
app_environmentyesEnvironment.
titleyesDashboard title.
descriptionnoDescription of the dashboard's purpose and contents.
idnoDashboard 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.

ParameterRequiredDescription
app_nameyesName of the AppSignal application.
app_environmentyesEnvironment.
dashboard_idyesID of the dashboard to add the visual to.
titleyesChart title.
metricsyesArray of metrics to display. Each requires name, fields (e.g. mean, p90, p95, count), and optionally tags.
descriptionnoAdditional context about the visual.
displaynoline (default), area, or area_relative.
line_labelnoCustom label for chart lines. Supports %name%, %field%, %tag% replacements.
formatnoValue format, e.g. duration, size, percentage.
draw_null_as_zeronoWhether to draw missing data points as zero. Default: false.
min_y_axisnoMinimum Y-axis value.
tagsnoGlobal 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.

ParameterRequiredDescription
app_nameyesName of the AppSignal application.
app_environmentyesEnvironment.
visual_idyesID of the visual component to update.
titlenoNew title. Current title kept if not provided.
descriptionnoNew description. Set to empty string to remove.
metricsnoUpdated metrics array. Replaces all existing metrics if provided.
displaynoline, area, or area_relative.
line_labelnoCustom label for chart lines. Supports %name%, %field%, %tag% replacements.
formatnoValue format, e.g. duration, size, percentage.
draw_null_as_zeronoWhether to draw missing data points as zero.
min_y_axisnoMinimum Y-axis value.
tagsnoGlobal 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.


Missing a tool?

If your AI agent or editor can't accomplish something you'd expect to be possible, let it know. The MCP server includes a built-in feedback mechanism that logs requests for capabilities that don't yet exist — this helps the AppSignal team prioritize what to build next. You can also post feature requests in the Discord community.