MCP Updates
Added
- Add the
create_incident_note
tool for the MCP server. This allows AI Agents to comment on incidents.
Changed
- The
update_incident
MCP Tool now acceptsseverity
as an argument (and sets the severity accordingly).
create_incident_note
tool for the MCP server. This allows AI Agents to comment on incidents.
update_incident
MCP Tool now accepts severity
as an argument (and sets the severity accordingly).0
. It should be green, as it has done it's job successfully.
0
for performance and error triggers.
If you have traffic in bursts (e.g. a Cron
job), there's not always enough data to trigger or close an alert. When checking this checkbox, we will simulate the metric, allowing alerts to close.
Add ability for Ai Agents to discover our metrics on our MCP server.
Before this discover_metrics
endpoint, we had our get_metric_names
endpoint, but it was difficult for agents to determine what metric should be used when.
With this new discover_metrics
endpoint, we provide the Agent with a global overview of metric categories, and when they request more information about a category, we describe the metric names/tags/fields, and when to use them.
We also take custom metrics and dashboards into account. Providing descriptive names for dashboards/description and charts on your dashboards helps the agent use those metrics.
Add get_metrics_timeseries
endpoint to the MCP server.
This endpoint exposes timeseries metrics to an AI Agent, enabling queries such as
Show me the load average for all front-end machines on MyApp/production
Here's a summary of the load averages for the two frontend machines: 1. frontend1: - Load average range: 0.83 - 1.6 - Current load: 0.94 2. frontend2: - Load average range: 2.0 - 3.01 - Current load: 2.18 The frontend-ams1 machine appears to have a significantly higher load compared to frontend1, with load averages consistently above 2.0, while frontend2 stays mostly below 1.5.
We are still working on metric discovery. Right now you have to be quite specific to get the desired metrics.
Add kubernetes volume metrics to node page.
REVISION
file in the deployed application, AppSignal will now use that to set the revision config.When a Hash-like value (such as ActiveSupport::HashWithIndifferentAccess
or Sinatra::IndifferentHash
) is passed to a transaction helper (such as add_params
, add_session_data
, ...) it is now converted to a Ruby Hash
before setting it as the value or merging it with the existing value. This allows Hash-like objects to be merged, instead of logging a warning and only storing the new value.
# Example scenario Appsignal.add_params(:key1 => { :abc => "value" }) Appsignal.add_params(ActiveSupport::HashWithIndifferentAccess.new(:key2 => { :def => "value" })) # Params { :key1 => { :abc => "value" }, # Keys from HashWithIndifferentAccess are stored as Strings "key2" => { "def" => "value" } }
View the Ruby gem v4.6.0 changelog for more information.
View the Elixir package v2.15.10 changelog for more information.
getAction
, getNamespace
, getError
, getTags
, getParams
, getBreadcrumbs
, and getEnvironment
methods to access data about the current span. This can be used to make decisions based on the span's properties within decorators or overrides.false
will cause AppSignal to ignore the span.@appsignal/core
and @appsignal/types
packages. Packages depending on these packages should be updated to use @appsignal/javascript
instead.Use returned span in override. Fix an issue where the span returned from an override function was not being used, instead using the original span. This led to confusing behaviour when the override created a new span instead of modifying the original one.
To avoid breaking existing overrides that rely on modifying the original span without returning it, if the override function does not return a span, the original span will still be used.
View the AppSignal JavaScript javascript v1.6.0 changelog for more information.
Dedicated MCP authentication tokens. Instead of providing your personal AppSignal API key, that has access to all your organizations and applications, we're moving to a dedicated MCP authentication token.
This token can be scoped to a specific organization and one or more applications. It also has permissions per "toolset", such as error incidents, metrics, and other sections of AppSignal.
See our documentation for more information on installing the AppSignal MCP Server.
Debug your exceptions with the help of AI Agents through our AppSignal MCP Server.
The MCP server is currently in beta, and we're focusing on (local) debugging of error incidents at this stage.
MCP server endpoints available at this moment are:
get_namespaces
, which can be filtered by app, and returns a list of namespaces to be used with the get_exception_incidents
endpointget_users
, which can be filtered by app, and returns a list of users to be used with the update_incident
endpointget_exception_incidents
, which can be filtered by app/namespace/status, and returns a list of incidentsget_incident
returns detailed incident informationupdate_incidents
(bulk) updates an incident with the assigned user and stateSee our documentation for more information on installing the AppSignal MCP Server.
When an Appsignal::Logger
uses .broadcast_to
to broadcast messages to other loggers, broadcast those messages even if the log level of those messages is lower than the logger's threshold. This allows other loggers to set their own logging thresholds.
When the logger is silenced, messages below the silencing threshold are not broadcasted to other loggers.
When an Appsignal::Logger
uses .broadcast_to
to broadcast messages to other loggers, broadcast the original message received by the logger, without formatting it or converting it to a string.
Call the Appsignal::Logger
formatter with the original message object given, rather than converting it to a string before calling the formatter.
When an error is passed to an Appsignal::Logger
as the message, format it regardless of the logging level. Previously it would only be formatted when passed to #error
.
Ignore Errno::ECONNRESET
errors in the Rack wrapper.
View the Ruby gem v4.5.17 changelog for more information.
View the Ruby gem v4.5.16 changelog for more information.
View the Elixir package v2.15.9 changelog for more information.
nginx_port
configuration option. This configuration option can be used to customize the port on which the AppSignal integration exposes the NGINX metrics server.View the Elixir package v2.15.8 changelog for more information.
nginxPort
configuration option. This configuration option can be used to customize the port on which the AppSignal integration exposes the NGINX metrics server.View the Node.js package v3.6.7 changelog for more information.
AppSignal offers a 30-day free trial, no credit card is required. All features are available in all plans. Start monitoring your application in just a few clicks!