MCP server · Engineering and operations

Grafana OnCall MCP server

Grafana OnCall in any MCP client, through Memtro: Grafana OnCall does not publish this server. Memtro's Grafana OnCall connector reads Grafana OnCall 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

Grafana OnCall (on-call and alert management in Grafana Cloud IRM): alert groups by state, integration, team, label and time with resolution notes, schedules and who is on call now, next or before, integrations and their maintenance, users, teams and shift swap requests; can acknowledge, resolve, silence and reverse those, advance an escalation, attach an alert group to another, label or delete one, add a resolution note, page a team or people, start or stop maintenance on an integration, and request or take a shift swap.

Reads

  • grafanaoncall_list_alert_groupsGrafana OnCall alert groups: number, title, state (new, acknowledged, resolved, silenced), alert count, when created, acknowledged and resolved…
  • grafanaoncall_get_alert_groupOne Grafana OnCall alert group with its resolution notes (author id, text, when).
  • grafanaoncall_list_schedulesGrafana OnCall schedules: name, type (web, calendar, ical), team and the user ids on call right now.
  • grafanaoncall_get_on_callWho is on call in Grafana OnCall for a schedule, a team or an escalation chain: now, for the next shift, or for the last one (looking up to 30 days).
  • grafanaoncall_list_integrationsGrafana OnCall integrations (the monitoring sources that raise alerts): name, type, team, the escalation chain of its default route…
  • grafanaoncall_list_usersGrafana OnCall users: id, username, role (admin, user, observer), timezone and team ids.
  • grafanaoncall_list_teamsGrafana OnCall teams: id and name, and whether the team's resources are visible to everyone.
  • grafanaoncall_list_shift_swapsGrafana OnCall shift swap requests: schedule, the period, description, status (open, taken…), who asked (beneficiary) and who took it (benefactor)…

Acts, when you ask

These change something in Grafana OnCall. 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.

  • grafanaoncall_acknowledge_alert_groupAcknowledges a Grafana OnCall alert group as the token's identity, which stops its escalation (nobody else is paged for it).
  • grafanaoncall_unacknowledge_alert_groupRemoves the acknowledgement from a Grafana OnCall alert group, which starts its escalation chain again from the beginning…
  • grafanaoncall_resolve_alert_groupResolves a Grafana OnCall alert group, ending its escalation; connected channels (Slack and others) show it resolved.
  • grafanaoncall_unresolve_alert_groupReopens a resolved Grafana OnCall alert group, so it is active again.
  • grafanaoncall_unsilence_alert_groupEnds the silence on a Grafana OnCall alert group, so its escalation resumes.
  • grafanaoncall_silence_alert_groupSilences a Grafana OnCall alert group for a number of seconds, or for good (forever true), pausing its escalation; nobody is notified meanwhile.
  • grafanaoncall_escalate_alert_groupAdvances a Grafana OnCall alert group's escalation to its next step at once, notifying the next people in the chain.
  • grafanaoncall_attach_alert_groupAttaches a Grafana OnCall alert group to another (the root), so it follows the root's acknowledge and silence state and stops escalating on its own.
  • grafanaoncall_add_alert_group_labelAdds a label (key and value that already exist in Grafana's label repository) to a Grafana OnCall alert group; at most 50 per group.
  • grafanaoncall_delete_alert_groupPermanently removes a Grafana OnCall alert group.
  • grafanaoncall_add_resolution_noteAdds a resolution note to a Grafana OnCall alert group, as the token's identity, shown on the alert group's timeline.
  • grafanaoncall_pagePages people through Grafana OnCall: either a team (team_id or team_name, through its direct paging route) or named users (by id or username…
  • grafanaoncall_start_maintenanceStarts a maintenance window on a Grafana OnCall integration for a number of seconds: silence_escalations (alerts arrive, nobody is paged)…
  • grafanaoncall_stop_maintenanceEnds the maintenance window on a Grafana OnCall integration now, so its alerts escalate normally again.
  • grafanaoncall_request_shift_swapOpens a shift swap request on a Grafana OnCall schedule for the beneficiary's shifts in a period, so teammates can offer to take them…
  • grafanaoncall_take_shift_swapTakes an open Grafana OnCall shift swap request on behalf of the benefactor…

Connect it

First connect Grafana OnCall on Dashboard → Connections, then add Memtro to your client once. The Grafana OnCall 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 Grafana OnCall 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

  • › Who is on call for the platform team right now?
  • › Which alert groups have not been acknowledged in the last day?
  • › Which integrations are in maintenance?
  • › What resolution notes were left on alert group 1423?
  • › Which shift swap requests are still open this week?

Questions

Is this an official Grafana OnCall MCP server?
No. It is Memtro's MCP server with Memtro's Grafana OnCall connector behind it: the connector reads Grafana OnCall through its API with the credentials you connect on Dashboard → Connections, and Grafana OnCall 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 Grafana OnCall?
Only when you ask, and only what it has been granted: acknowledge an alert group (stops its escalation); unacknowledge an alert group (restarts its escalation); resolve an alert group; reopen a resolved alert group; silence an alert group for a time or for good; unsilence an alert group; advance an alert group's escalation to the next step (notifies people); attach an alert group to another; add an existing label to an alert group; delete or wipe an alert group (permanent); add a resolution note to an alert group; page a team or people (notifies them); start maintenance on an integration; stop maintenance on an integration; request a shift swap; take a shift swap request (changes who is on call). 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.

Other MCP servers · Engineering and operations

Where agents remember your company

Sign in, add a provider key, create an API key and point your tools at Memtro. It takes about five minutes.

7-day free trial · card on file, nothing charged until it ends · cancel any time