AppSignal MCP server
AppSignal in any MCP client, through Memtro: AppSignal does not publish this server. Memtro's AppSignal connector reads AppSignal through its API with the credentials you connect, and one endpoint hands those tools, every other system you connect and Memtro's memory tools to Claude Code, Cursor, Claude Desktop or anything else that speaks Streamable HTTP, as you.
What the model can do
AppSignal application monitoring: error and performance incidents with their state, severity, namespace, actions, first backtrace line and occurrence counts, deploys with revision, who deployed and error counts, per-action performance (mean duration, throughput, error rate, N+1 queries), a revision's deploy statistics, uptime monitors and their alerts, and metric timeseries. Can open, close or re-triage incidents, add notes to incidents and performance actions, and create, update or delete custom markers, each only when asked. Receives deploys, new incidents and alerts as events.
Reads
appsignal_incidentsAppSignal error incidents for the app: number, exception class, state (OPEN, WIP, CLOSED), severity, namespace, the actions it happened in…appsignal_incidentOne AppSignal incident by its number (as shown in AppSignal), error or performance: state, severity, namespace, actions, exception class…appsignal_deploysAppSignal deploys of the app, most recent first as AppSignal returns them: when each was deployed, its revision, who deployed it…appsignal_action_performanceAppSignal performance per action (controller action, background job) in a time window: mean duration in ms, throughput (requests or jobs)…appsignal_deploy_statsAppSignal statistics for one deployed revision over all retained data: requests and jobs recorded, mean duration in ms and error rate in percent.appsignal_uptime_monitorsAppSignal uptime monitors for the app: name, URL checked, description, regions, and their alerts with state, message and when each opened…appsignal_metric_namesThe names of the metrics AppSignal records for the app (built-in ones such as transaction_duration and error_count, and custom ones)…appsignal_metric_timeseriesAn AppSignal metric over time: one or more series of a metric's field (GAUGE, COUNTER, MEAN, COUNT, P95 ...) filtered by tags (e.g. namespace: web…
Acts, when you ask
These change something in AppSignal. The model is told to use them only when you ask for exactly that, and each one is granted by name: per team on a shared connection, by the owner on a personal one.
appsignal_update_incidentChange an AppSignal incident's state (OPEN, WIP for in progress, CLOSED) or severity (UNTRIAGED, CRITICAL, HIGH, LOW, NONE, INFORMATIONAL).appsignal_add_incident_noteAdd a note to an AppSignal incident's logbook (error, anomaly and log incidents; for a performance incident use appsignal_add_action_note).appsignal_add_action_noteAdd a note to the logbook of an AppSignal performance action (one logbook per action, kept after its traces expire).appsignal_save_markerCreate a custom marker on the AppSignal app's graphs (a point in time annotated with an icon and a message, such as a configuration change)…appsignal_delete_markerDelete a custom marker from the AppSignal app's graphs.
Connect it
First connect AppSignal on Dashboard → Connections, then add Memtro to your client once. The AppSignal tools appear alongside the tools of everything else you have connected; nothing is configured per connector.
Claude Code
The Memtro plugin registers the server and a skill for when to use it; the tools are then available in every session.
claude plugin marketplace add memtro-org/claude-memtro
claude plugin install memtro@memtro --config api_key=sk-memtro-...Cursor
Add the server to .cursor/mcp.json in the project, or to the global file under ~/.cursor/.
{
"mcpServers": {
"memtro": {
"url": "https://platform.memtro.com/api/mcp",
"headers": {
"Authorization": "Bearer sk-memtro-..."
}
}
}
}Claude Desktop
Create a personal API key on Dashboard → Profile → API keys. In Claude Desktop add an MCP server of type HTTP with URL https://platform.memtro.com/api/mcp and the header Authorization: Bearer sk-memtro-…
OpenCode
A remote server in opencode.json.
{
"mcp": {
"memtro": {
"type": "remote",
"url": "https://platform.memtro.com/api/mcp",
"headers": {
"Authorization": "Bearer sk-memtro-..."
}
}
}
}Pi
One command: pi mcp add memtro --url https://platform.memtro.com/api/mcp --bearer-token-env-var MEMTRO_API_KEY. Tools arrive as mcp__memtro__*. The pi-memtro extension registers it for you, alongside Memtro as the model.
Any other client
Add an MCP server of type HTTP (Streamable HTTP, stateless) at https://platform.memtro.com/api/mcp with the header Authorization: Bearer sk-memtro-.... Codex, Zed, Windsurf, Cline and the SDKs all take a remote server this way.
Who may use it
The key identifies the person, and the server offers that person the tools they may use everywhere else in Memtro. A shared AppSignal connection is used by the teams an administrator granted it to, tool by tool, on the Permissions page; a personal connection is used by its owner alone, and its tools that act stay off until the owner allows them. See Teams and permissions and Connectors.
Ask it like this
- › Which incidents are open in production?
- › Did the error rate go up after the last deploy?
- › Which actions were slowest over the last 24 hours?
- › Are any uptime monitors alerting right now?
- › Close incident 42 and note that the fix shipped this morning
Questions
- Is this an official AppSignal MCP server?
- No. It is Memtro's MCP server with Memtro's AppSignal connector behind it: the connector reads AppSignal through its API with the credentials you connect on Dashboard → Connections, and AppSignal publishes nothing here. The same endpoint carries every other system you connect and Memtro's memory tools.
- What does it cost?
- Nothing on top of Memtro. One price per organisation by its number of users, from $50 a month for up to 10 users after a 7-day free trial, with every connector, the MCP server, jobs and memory included. You bring your own model keys.
- Can it change anything in AppSignal?
- Only when you ask, and only what it has been granted: change an incident's state (open, in progress, closed) or severity; add a note to an incident's logbook; add a note to a performance action's logbook; create or update a custom marker on the app's graphs; delete a custom marker. Every other tool reads, searches or lists. An administrator grants each acting tool by name per team, and a personal connection acts only after its owner allows it.
- Which clients work?
- Any MCP client that speaks Streamable HTTP: Claude Code, Cursor, Claude Desktop, OpenCode, Codex, Zed, Windsurf, Cline and the Anthropic and OpenAI SDKs. There is no local process to run; the server is remote and authenticated with your key.