AppSignal MCP connector
OAuth2.1/DCRMonitoringDeveloper ToolsAppSignal is an application monitoring and performance management platform providing error tracking, performance monitoring, and alerting for Ruby...
AppSignal MCP connector
-
Install the SDK
Section titled “Install the SDK”Terminal window npm install @scalekit-sdk/nodeTerminal window pip install scalekit -
Set your credentials
Section titled “Set your credentials”Add your Scalekit credentials to your
.envfile. Find values in app.scalekit.com > Developers > API Credentials..env SCALEKIT_ENVIRONMENT_URL=<your-environment-url>SCALEKIT_CLIENT_ID=<your-client-id>SCALEKIT_CLIENT_SECRET=<your-client-secret> -
Authorize and make your first call
Section titled “Authorize and make your first call”quickstart.ts import { ScalekitClient } from '@scalekit-sdk/node'import 'dotenv/config'const scalekit = new ScalekitClient(process.env.SCALEKIT_ENV_URL,process.env.SCALEKIT_CLIENT_ID,process.env.SCALEKIT_CLIENT_SECRET,)const actions = scalekit.actionsconst connector = 'appsignalmcp'const identifier = 'user_123'// Generate an authorization link for the userconst { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })console.log('Authorize AppSignal MCP:', link)process.stdout.write('Press Enter after authorizing...')await new Promise(r => process.stdin.once('data', r))// Make your first callconst result = await actions.executeTool({connector,identifier,toolName: 'appsignalmcp_get_applications',toolInput: { context: {} },})console.log(result)quickstart.py import osfrom scalekit.client import ScalekitClientfrom dotenv import load_dotenvload_dotenv()scalekit_client = ScalekitClient(env_url=os.getenv("SCALEKIT_ENV_URL"),client_id=os.getenv("SCALEKIT_CLIENT_ID"),client_secret=os.getenv("SCALEKIT_CLIENT_SECRET"),)actions = scalekit_client.actionsconnection_name = "appsignalmcp"identifier = "user_123"# Generate an authorization link for the userlink_response = actions.get_authorization_link(connection_name=connection_name,identifier=identifier,)print("Authorize AppSignal MCP:", link_response.link)input("Press Enter after authorizing...")# Make your first callresult = actions.execute_tool(tool_input={"context":{}},tool_name="appsignalmcp_get_applications",connection_name=connection_name,identifier=identifier,)print(result)
What you can do
Section titled “What you can do”Connect this agent connector to let your agent:
- Update incidents, dashboard visual — Bulk update AppSignal incidents: change state, severity, assign or unassign team members
- Actions reorder log line — Reorder log line actions to change their execution order during log ingestion
- Trigger manage, archive — Create or update an anomaly detection trigger to monitor a metric threshold
- Action manage log line — Create or update a log line action (trigger, filter, or metrics type)
- Note manage incident — Create or update a note on an AppSignal incident
- Dashboard manage — Create or update an AppSignal dashboard (title and description only)
Tool list
Section titled “Tool list”Use the exact tool names from the Tool list below when you call execute_tool. If you’re not sure which name to use, list the tools available for the current user first.
appsignalmcp_archive_trigger#Archive an anomaly detection trigger by providing the trigger ID. This closes all associated alerts and incidents.4 params
Archive an anomaly detection trigger by providing the trigger ID. This closes all associated alerts and incidents.
app_environmentstringrequiredThe environment of the AppSignal application (e.g. production, staging).app_namestringrequiredThe name of the AppSignal application.contextobjectrequiredAppSignal context object (app name, environment, org token)idstringrequiredThe ID of the anomaly detection trigger to archive.appsignalmcp_create_dashboard_visual#Create a visual component (timeseries or Big Number tile) on an AppSignal dashboard.9 params
Create a visual component (timeseries or Big Number tile) on an AppSignal dashboard.
app_environmentstringrequiredThe environment of the AppSignal application (e.g. production, staging).app_namestringrequiredThe name of the AppSignal application.contextobjectrequiredAppSignal context object (app name, environment, org token)dashboard_idstringrequiredThe ID of the dashboard on which to create the visual.titlestringrequiredThe title of the dashboard visual component.kindstringoptionalThe kind of visual to create: 'timeseries' or 'big_number'.metric_namestringoptionalThe name of the metric to visualize.metric_typestringoptionalThe type/aggregation of the metric (e.g. mean, count, p90).tagsobjectoptionalKey-value tag filters to scope the metric query.appsignalmcp_delete_log_line_action#Delete a log line action by providing the action ID.4 params
Delete a log line action by providing the action ID.
app_environmentstringrequiredThe environment of the AppSignal application (e.g. production, staging).app_namestringrequiredThe name of the AppSignal application.contextobjectrequiredAppSignal context object (app name, environment, org token)idstringrequiredThe ID of the log line action to delete.appsignalmcp_discover_metrics#Retrieve metric categories, available metrics within a category, or visuals on a specific dashboard.5 params
Retrieve metric categories, available metrics within a category, or visuals on a specific dashboard.
app_environmentstringrequiredThe environment of the AppSignal application (e.g. production, staging).app_namestringrequiredThe name of the AppSignal application.contextobjectrequiredAppSignal context object (app name, environment, org token)categorystringoptionalOptional metric category to filter available metrics.dashboard_idstringoptionalOptional dashboard ID to retrieve visuals for a specific dashboard.appsignalmcp_get_anomaly_incidents#List AppSignal anomaly detection alerts, filtered by state or trigger ID.6 params
List AppSignal anomaly detection alerts, filtered by state or trigger ID.
app_environmentstringrequiredThe environment of the AppSignal application (e.g. production, staging).app_namestringrequiredThe name of the AppSignal application.contextobjectrequiredAppSignal context object (app name, environment, org token)limitintegeroptionalMaximum number of incidents to return.statestringoptionalFilter incidents by state (e.g. open, closed, wontfix).trigger_idstringoptionalFilter incidents associated with a specific trigger ID.appsignalmcp_get_app_resources#Discover available resources in an AppSignal application: users, notifiers, namespaces, dashboards, log sources, log views, log line actions, deploy markers.4 params
Discover available resources in an AppSignal application: users, notifiers, namespaces, dashboards, log sources, log views, log line actions, deploy markers.
app_environmentstringrequiredThe environment of the AppSignal application (e.g. production, staging).app_namestringrequiredThe name of the AppSignal application.contextobjectrequiredAppSignal context object (app name, environment, org token)resource_typestringoptionalOptional filter to return only a specific resource type (e.g. users, notifiers, namespaces, dashboards, log_sources, log_views, log_line_actions, deploy_markers).appsignalmcp_get_applications#Retrieve all AppSignal applications the user has access to.1 param
Retrieve all AppSignal applications the user has access to.
contextobjectrequiredAppSignal context object (app name, environment, org token)appsignalmcp_get_exception_incidents#List and search AppSignal exception incidents with optional date range, state, namespace, and deploy revision filters.9 params
List and search AppSignal exception incidents with optional date range, state, namespace, and deploy revision filters.
app_environmentstringrequiredThe environment of the AppSignal application (e.g. production, staging).app_namestringrequiredThe name of the AppSignal application.contextobjectrequiredAppSignal context object (app name, environment, org token)deploy_revisionstringoptionalFilter incidents introduced in a specific deploy revision.endstringoptionalISO 8601 end date/time for filtering incidents by occurrence time.limitintegeroptionalMaximum number of incidents to return.namespacestringoptionalFilter incidents by namespace (e.g. web, background).startstringoptionalISO 8601 start date/time for filtering incidents by occurrence time.statestringoptionalFilter incidents by state (e.g. open, closed, wontfix).appsignalmcp_get_incident#Get detailed information about a specific AppSignal incident by incident number.4 params
Get detailed information about a specific AppSignal incident by incident number.
app_environmentstringrequiredThe environment of the AppSignal application (e.g. production, staging).app_namestringrequiredThe name of the AppSignal application.contextobjectrequiredAppSignal context object (app name, environment, org token)numberintegerrequiredThe incident number to retrieve details for.appsignalmcp_get_log_lines#Query log lines from an AppSignal application using AppSignal expression syntax.8 params
Query log lines from an AppSignal application using AppSignal expression syntax.
app_environmentstringrequiredThe environment of the AppSignal application (e.g. production, staging).app_namestringrequiredThe name of the AppSignal application.contextobjectrequiredAppSignal context object (app name, environment, org token)querystringrequiredAppSignal log query expression to filter log lines.endstringoptionalISO 8601 end date/time for the log query time range.limitintegeroptionalMaximum number of log lines to return.log_sourcestringoptionalFilter log lines to a specific log source.startstringoptionalISO 8601 start date/time for the log query time range.appsignalmcp_get_metric_names#Retrieve all metric names for the given AppSignal application.5 params
Retrieve all metric names for the given AppSignal application.
app_environmentstringrequiredThe environment of the AppSignal application (e.g. production, staging).app_namestringrequiredThe name of the AppSignal application.contextobjectrequiredAppSignal context object (app name, environment, org token)limitintegeroptionalMaximum number of metric names to return.namespacestringoptionalOptional namespace to filter metric names.appsignalmcp_get_metric_tags#Retrieve all tag combinations and metric type for a specific metric.4 params
Retrieve all tag combinations and metric type for a specific metric.
app_environmentstringrequiredThe environment of the AppSignal application (e.g. production, staging).app_namestringrequiredThe name of the AppSignal application.contextobjectrequiredAppSignal context object (app name, environment, org token)metric_namestringrequiredThe name of the metric to retrieve tag combinations for.appsignalmcp_get_metrics_list#Retrieve aggregated metric data for a given time range, metric, type, and tag combinations.9 params
Retrieve aggregated metric data for a given time range, metric, type, and tag combinations.
app_environmentstringrequiredThe environment of the AppSignal application (e.g. production, staging).app_namestringrequiredThe name of the AppSignal application.contextobjectrequiredAppSignal context object (app name, environment, org token)endstringrequiredEnd of the time range as an ISO 8601 datetime string.metric_namestringrequiredThe name of the metric to retrieve data for.metric_typestringrequiredThe aggregation type for the metric (e.g. gauge, counter, measurement).startstringrequiredStart of the time range as an ISO 8601 datetime string.resolutionstringoptionalTime resolution for aggregation (e.g. minute, hour, day).tagsobjectoptionalTag key-value pairs to filter metric data.appsignalmcp_get_metrics_timeseries#Retrieve timeseries data for a given time range, metric, type, and tag combinations.9 params
Retrieve timeseries data for a given time range, metric, type, and tag combinations.
app_environmentstringrequiredThe environment of the AppSignal application (e.g. production, staging).app_namestringrequiredThe name of the AppSignal application.contextobjectrequiredAppSignal context object (app name, environment, org token)endstringrequiredEnd of the time range as an ISO 8601 datetime string.metric_namestringrequiredThe name of the metric to retrieve timeseries data for.metric_typestringrequiredThe aggregation type for the metric (e.g. gauge, counter, measurement).startstringrequiredStart of the time range as an ISO 8601 datetime string.resolutionstringoptionalTime resolution for the timeseries data points (e.g. minute, hour, day).tagsobjectoptionalTag key-value pairs to filter metric data.appsignalmcp_get_more_tools#Check for additional tools whenever a task might benefit from specialized capabilities.2 params
Check for additional tools whenever a task might benefit from specialized capabilities.
contextobjectrequiredAppSignal context object (app name, environment, org token)descriptionstringrequiredDescription of what you are trying to accomplish.appsignalmcp_get_performance#Performance overview: sample-based performance incidents and slow actions from traces.7 params
Performance overview: sample-based performance incidents and slow actions from traces.
app_environmentstringrequiredThe environment of the AppSignal application (e.g. production, staging).app_namestringrequiredThe name of the AppSignal application.contextobjectrequiredAppSignal context object (app name, environment, org token)endstringoptionalEnd of the time range as an ISO 8601 date string.limitintegeroptionalMaximum number of results to return.namespacestringoptionalOptional namespace to filter performance data.startstringoptionalStart of the time range as an ISO 8601 date string.appsignalmcp_get_traces#Query performance and error traces, inspect span trees, and view span details.8 params
Query performance and error traces, inspect span trees, and view span details.
app_environmentstringrequiredThe environment of the AppSignal application (e.g. production, staging).app_namestringrequiredThe name of the AppSignal application.contextobjectrequiredAppSignal context object (app name, environment, org token)endstringoptionalEnd of the time range as an ISO 8601 date string.limitintegeroptionalMaximum number of traces to return.namespacestringoptionalOptional namespace to filter traces.startstringoptionalStart of the time range as an ISO 8601 date string.trace_idstringoptionalOptional specific trace ID to retrieve.appsignalmcp_get_triggers#List anomaly detection triggers for an AppSignal application.5 params
List anomaly detection triggers for an AppSignal application.
app_environmentstringrequiredThe environment of the AppSignal application (e.g. production, staging).app_namestringrequiredThe name of the AppSignal application.contextobjectrequiredAppSignal context object (app name, environment, org token)limitintegeroptionalMaximum number of triggers to return.statestringoptionalOptional filter for trigger state (e.g. active, inactive).appsignalmcp_manage_dashboard#Create or update an AppSignal dashboard (title and description only).6 params
Create or update an AppSignal dashboard (title and description only).
app_environmentstringrequiredThe environment of the AppSignal application (e.g. production, staging).app_namestringrequiredThe name of the AppSignal application.contextobjectrequiredAppSignal context object (app name, environment, org token)titlestringrequiredThe title of the dashboard.dashboard_idstringoptionalThe ID of an existing dashboard to update. Omit to create a new dashboard.descriptionstringoptionalOptional description for the dashboard.appsignalmcp_manage_incident_note#Create or update a note on an AppSignal incident. Supports linking GitHub issues via URL.7 params
Create or update a note on an AppSignal incident. Supports linking GitHub issues via URL.
app_environmentstringrequiredThe environment of the AppSignal application (e.g. production, staging).app_namestringrequiredThe name of the AppSignal application.contentstringrequiredThe note content to add or update on the incident.contextobjectrequiredAppSignal context object (app name, environment, org token)numberintegerrequiredThe incident number to add or update a note on.github_issue_urlstringoptionalOptional GitHub issue URL to link to the incident note.note_idstringoptionalThe ID of an existing note to update. Omit to create a new note.appsignalmcp_manage_log_line_action#Create or update a log line action (trigger, filter, or metrics type).8 params
Create or update a log line action (trigger, filter, or metrics type).
app_environmentstringrequiredThe environment of the AppSignal app (e.g. production, staging).app_namestringrequiredThe name of the AppSignal app.contextobjectrequiredAppSignal context object (app name, environment, org token)action_idstringoptionalThe ID of the existing log line action to update. Omit to create a new action.kindstringoptionalThe type of log line action: 'trigger', 'filter', or 'metrics'.namestringoptionalThe display name for the log line action.notifier_idstringoptionalThe ID of the notifier to use when this action triggers an alert.querystringoptionalThe log query expression that this action applies to.appsignalmcp_manage_trigger#Create or update an anomaly detection trigger to monitor a metric threshold.14 params
Create or update an anomaly detection trigger to monitor a metric threshold.
app_environmentstringrequiredThe environment of the AppSignal app (e.g. production, staging).app_namestringrequiredThe name of the AppSignal app.comparison_operatorstringrequiredThe comparison operator for the threshold condition (e.g. 'gt', 'lt', 'gte', 'lte').condition_valuenumberrequiredThe threshold value that triggers the alert.contextobjectrequiredAppSignal context object (app name, environment, org token)cooldown_durationintegerrequiredDuration in seconds to suppress re-alerts after a trigger fires.fieldstringrequiredThe field within the metric to evaluate.kindstringrequiredThe aggregation kind for the trigger (e.g. 'mean', 'count', 'p90').metric_namestringrequiredThe name of the metric to monitor with this trigger.warmup_durationintegerrequiredDuration in seconds to wait before evaluating the trigger after it first fires.namespacestringoptionalThe namespace to scope the trigger to (e.g. 'web', 'background').notifier_idsarrayoptionalList of notifier IDs to alert when this trigger fires.tagsobjectoptionalKey-value tag pairs to filter which metric series this trigger applies to.trigger_idstringoptionalThe ID of an existing trigger to update. Omit to create a new trigger.appsignalmcp_reorder_log_line_actions#Reorder log line actions to change their execution order during log ingestion.4 params
Reorder log line actions to change their execution order during log ingestion.
action_idsarrayrequiredOrdered list of log line action IDs defining the new execution order.app_environmentstringrequiredThe environment of the AppSignal app (e.g. production, staging).app_namestringrequiredThe name of the AppSignal app.contextobjectrequiredAppSignal context object (app name, environment, org token)appsignalmcp_update_dashboard_visual#Update a visual component on an AppSignal dashboard.10 params
Update a visual component on an AppSignal dashboard.
app_environmentstringrequiredThe environment of the AppSignal app (e.g. production, staging).app_namestringrequiredThe name of the AppSignal app.contextobjectrequiredAppSignal context object (app name, environment, org token)visual_idstringrequiredThe ID of the dashboard visual component to update.dashboard_idstringoptionalThe ID of the dashboard that contains this visual.kindstringoptionalThe type of visual component (e.g. 'line', 'bar', 'gauge').metric_namestringoptionalThe name of the metric to display in this visual.metric_typestringoptionalThe aggregation type for the metric (e.g. 'mean', 'count', 'p99').tagsobjectoptionalKey-value tag pairs to filter which metric series this visual shows.titlestringoptionalThe new display title for the visual.appsignalmcp_update_incidents#Bulk update AppSignal incidents: change state, severity, assign or unassign team members.8 params
Bulk update AppSignal incidents: change state, severity, assign or unassign team members.
app_environmentstringrequiredThe environment of the AppSignal app (e.g. production, staging).app_namestringrequiredThe name of the AppSignal app.contextobjectrequiredAppSignal context object (app name, environment, org token)assignee_idstringoptionalThe user ID of the team member to assign to the incidents.incident_numbersarrayoptionalList of incident numbers to update. Omit to apply updates to all matching incidents.severitystringoptionalThe new severity level for the incidents (e.g. 'low', 'medium', 'high', 'critical').statestringoptionalThe new state for the incidents (e.g. 'open', 'closed', 'ignored').unassignbooleanoptionalIf true, removes the current assignee from the incidents.