get_more_tools, lets an agent ask for additional capabilities or file feedback about how a task went.
You don’t call these tools yourself. You describe what you want in your agent’s chat, for example: “which actions are slowest in production right now?”
The agent will pick the appropriate tool and fill in its parameters. This reference is here so you can check whether a capability exists at all, and name a parameter when the agent reaches for the wrong one.
For examples of how these tools compose together for a task, see AppSignal MCP workflows.
Tool reference
Most tools takeapp_name and app_environment to identify which application to target. Both are matched case-insensitively, so MyApp/Production and myapp/production resolve to the same application. If the name doesn’t match an application you can access, the tool returns an error naming what you asked for and suggesting the closest matches, so the agent can retry with a valid name.
Every tool also takes a context string so the agent can say why it is making the call. Agents usually fill that in automatically, so the tables below focus on the task-specific parameters.
manage_trigger, manage_log_line_action, and manage_check_in_trigger each cover several operations behind a required action parameter, so which of their fields you need depends on the action you pass. In those tables, yes (upsert) marks a field required on every upsert, and yes (create) one required only when the upsert creates something rather than updating it.
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 task-specific parameters beyond context.
get_app_resources
Discover available resources in an AppSignal application — namespaces, dashboards, users, notifiers, log sources, log views, log line actions, deploy markers, and uptime monitors.
Particularly useful when setting up triggers, assigning incidents, or understanding the structure of an application.
The
deploy_markers section returns up to 100 recent deploys, each with its full revision and the time range it was live. Narrow it with deploy_marker_namespace or deploy_marker_revision. To find the errors a deploy introduced, pass its revision to get_exception_incidents (or use revision: "last" for the most recent deploy).
The uptime_monitors section lists each monitored URL and its settings. Uptime itself is not stored — it is computed from metrics, so query the uptime_monitor_error_count counter with get_metrics_timeseries to calculate it.
Check-ins
These two tools cover the same monitors as process monitoring: cron monitors that expect a run on a schedule, and heartbeat monitors that expect a continuous signal.get_check_in_triggers
List check-in (cron and heartbeat) monitors, or inspect one monitor with its recent runs.
Use this to see which scheduled jobs or services are expected to report in, check whether they are on time, or find a monitor ID before updating it.
manage_check_in_trigger
Create, update, or delete a check-in monitor.
Unlike anomaly detection triggers, check-in monitors are updated in place. When you update one, omitted fields keep their current values.
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.
get_incident
Get detailed information about an AppSignal incident.
Returns current state, assignment, first and last occurrence, error messages, stack traces, or anomaly alert details. Supports exception and anomaly incidents.
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.
manage_incident_note
Create or update a note on an AppSignal incident. Markdown is supported.
Use this to add comments, status updates, investigation findings, or resolution steps. Include a full GitHub issue URL in the note to link that issue to the incident, when the app has GitHub configured.
This tool was previously named
create_incident_note. The old name still works as an alias, so existing prompts and configurations keep working.Performance
get_performance
Performance overview: sample-based performance traces and slow actions from traces.
For standard Ruby and Elixir apps, returns sample-based performance traces. For apps that also send OpenTelemetry traces, additionally returns a ranked list of actions with mean duration, throughput, and error rate. Apps being migrated to OpenTelemetry may return both.
Follow-up tools: use get_incident to inspect a specific performance incident, get_traces to pull traces for a slow action, and update_incidents to change state, severity, or assignees.
get_traces
Query performance and error traces, inspect span trees, and view span details.
Supports two trace types:
- Performance traces — identified by namespace and
action_name. Use these to investigate slow requests. - Error traces — identified by digest. Get the digest from
get_incidentorget_exception_incidents, then use it here to see the actual error traces.
- List mode — find traces and get trace IDs. Provide namespace +
action_name, ordigest. - Tree mode — pass a
trace_idto see all spans as a compact tree, along with the root span’s metadata and a duration breakdown. The breakdown reports self time by category: what the spans in each category spent working, rather than waiting on a child. - Span detail mode — pass
trace_idandspan_idfor full span attributes, events, and resource info. Long attribute values are truncated at 500 characters. Database query text is the exception, and comes through in full up to 10,000 characters.
Anomaly detection
get_anomaly_incidents
List and search AppSignal anomaly detection alerts.
Returns 50 alerts per page, including timestamps and values for each alert.
get_triggers
List anomaly detection triggers for an AppSignal application.
Returns active (non-archived) triggers with their complete configuration — conditions, notifiers, and dashboard links. Use this to find trigger IDs before calling manage_trigger.
manage_trigger
Create, update, or archive an anomaly detection trigger.
Triggers are immutable. When you update a trigger, AppSignal archives the existing one, closing all its alerts and incidents, and creates a replacement. Provide all fields for both create and update operations.
Use get_metric_names and get_metric_tags to discover available metrics and fields. Use get_app_resources(sections: ["notifiers"]) to find notifier IDs.
This tool replaces the older
archive_trigger flow. The old name still works as a backward-compatibility alias, but manage_trigger is the primary tool.Logging
get_log_lines
Query log lines using AppSignal’s expression syntax.
Supports exact match, contains, negation, numeric comparisons, boolean logic, and nested attributes. Returns up to 100 lines per call, newest-first by default. For large time ranges, split into multiple calls and iterate forward.
Each line is headed by a 120-character preview of its message. When the message is longer than that, the response adds a separate Message row with the full text, capped at 2000 characters.
Query syntax:
Available fields:
severity, hostname, group, message, and any custom attributes.
manage_log_line_action
Create, update, reorder, or delete a log line action.
Log line actions run during log ingestion, in the order you define. There are three types:
- filter — discards matching log lines so they are never stored or processed further
- trigger — fires alerts and incidents when the query matches
- metrics — extracts counter, gauge, or distribution metrics from matching log lines
This tool replaces the older
reorder_log_line_actions and delete_log_line_action flows. Those names still work as backward-compatibility aliases, but manage_log_line_action is the primary tool.Metrics
discover_metrics
Discover available metric categories and their metrics for monitoring.
Use this to get an overview of what you can monitor, or drill into a specific category. Also accepts a dashboard:<dashboard_id> reference to show metrics used in a specific dashboard.
get_metric_names
Get the names of all metrics for the given application.
Returns metric names as a comma-separated string. Use these as input to get_metric_tags, get_metrics_timeseries, and get_metrics_list.
get_metric_tags
Get the tags and metric type (Gauge, Counter, etc.) for a specific metric.
Use the results to build valid queries with get_metrics_timeseries and get_metrics_list.
get_metrics_timeseries
Get a timeseries for a metric in the given application.
Returns point-by-point data for a given time range, metric type, and tag combination. Tag values support wildcard matching with *.
get_metrics_list
Get an aggregated value for a metric over a time range.
Returns a single aggregated value rather than a point-by-point timeseries. Useful for summary views.
Dashboards
manage_dashboard
Create or update an AppSignal dashboard.
This tool manages dashboard metadata only (title and description). Use create_dashboard_visual and update_dashboard_visual to add charts.
MCP adds and updates, but does not remove. To delete a chart or a whole dashboard, open your app’s dashboards on AppSignal.
create_dashboard_visual
Add a new chart to an existing dashboard. Two visual types are available:
timeseries(default) — a line or area graph plotting one or more metrics over time.number— a Big Number tile showing a single aggregated metric, useful for a total, the latest reading, or a mean at a glance.
discover_metrics or get_metrics_list to find available metrics first.
These parameters apply to both visual types:
These parameters apply to
timeseries visuals only:
These parameters apply to
number visuals only:
A Big Number tile takes one metric and one aggregation across the dashboard’s selected time range. Ask for it in plain language:
Text
create_dashboard_visual call:
update_dashboard_visual
Update an existing chart on a dashboard. This works for both timeseries and Big Number visuals — the type is read from the existing visual, so you don’t pass type.
All fields are optional except the identifiers, and unspecified fields keep their current values. Passing metrics or metric replaces the whole metric definition on that visual rather than merging into it.
Read and write tools
Every tool either only reads your data or can change it, and its name tells you which:get_ and discover_ tools only read, while create_, update_, and manage_ tools write. Deleting sits inside the manage_ tools rather than in tools of its own, manage_log_line_action removes an action, manage_check_in_trigger removes a monitor, and manage_trigger archives one. This split is what MCP clients group by, so you can configure in your agent which tools to allow, which to approve case by case, and which to block.
Token permissions
Each MCP token is scoped to specific applications and to the tools you expose on that token. If you want a narrower setup for an agent, this is where you limit it. For example, you might expose onlyget_applications, get_app_resources, and get_exception_incidents for an incident-triage agent, or get_log_lines and manage_log_line_action for log-ingestion work.
You can also set a token to automatically expose new tools as they are added later. For the steps to create one, see Authentication.
Missing a tool?
Alongside the product areas above, AppSignal MCP exposesget_more_tools, a discovery and feedback tool. It does two jobs:
- Log a request for a capability you could not find
- File feedback about how a task or tool call went
get_more_tools takes these parameters:
Most agents will not reach for it on their own, so ask explicitly:
“Use the AppSignal
get_more_tools tool to request a way to bulk-export incidents to CSV.”
Or, when a task partially worked:
“Use the AppSignal get_more_tools tool to file feedback that get_log_lines found the right logs, but I still needed a second step to summarize them.”