---
title: "Opsgenie MCP server for AI agents - actionlake"
description: "Give Claude 205 Opsgenie actions through one MCP server: users, incidents, teams, services. Your agent never holds the credential. 100,000 calls a month free."
canonical: https://actionlake.com/connectors/opsgenie
updated: 2026-10-11
---

Connectors · Service desk & support

# Opsgenie MCP server for AI agents.

actionlake is an MCP gateway: one remote MCP server that connects Claude and other MCP clients to Opsgenie and the rest of your systems. It gives your agent 205 Opsgenie actions (77 reads, 95 writes and 33 that wait for a confirmation) and holds the Opsgenie credential itself, so the agent never does. It paces Opsgenie's limits and records every call.

[Connect Opsgenie free](https://actionlake.com/console?start=sandbox) [See pricing](https://actionlake.com/pricing)

100,000 free calls a month. No card, no email, no password: press Start a free sandbox on the next screen and keep the key it shows you.

`claude mcp add --transport http actionlake https://connect.actionlake.com/mcp`

the first call

```
do {
  action: "opsgenie.account.get",
  intent: "check which Opsgenie account is connected"
}
# Get account info · read · 1 upstream call
```

- 205 actions in one signed file
- 77 read look, never change
- 95 write create and update
- 33 wait for a yes destructive, confirmed first

Set up

## Connect Opsgenie in three steps.

1. 01
   ### Add actionlake to Claude.
   Run the command once in Claude Code; its consent page can create a free sandbox: 100,000 calls a month, no card. In the Claude app, add a custom connector with the URL below and paste your key on the consent page. Creating a new sandbox from the Claude app is not yet tested by us.
   `https://connect.actionlake.com/mcp`
2. 02
   ### Connect Opsgenie.
   API key. No consent screen: your agent can connect it for you, but the key then passes through your chat. To keep it out of the model's context, paste it in the console instead. actionlake stores what you paste write-only, sealed under your tenant's key.
   - `api_key` Opsgenie API key (Settings > API key management, or an API integration's key)
   - `api_base` Where your Opsgenie lives: your api base
   ```
   account { op: "connections.requirements", service: "opsgenie" }
   # free: exactly what to paste, and what is found for you
   ```
3. 03
   ### Make the first call. Check before a write.
   Ask in plain words; Claude picks the action. Before anything changes, `check` validates the call and prices it, for free.
   ```
   do    { action: "opsgenie.account.get" }
   # get account info · read · 1 upstream call
   check { action: "opsgenie.users.create", input: { … } }
   # free: inputs, permissions, cost and confirmations, nothing sent
   ```

Opsgenie at a glance

**Sign-in**

API key. No consent screen: your agent can connect it for you, but the key then passes through your chat. To keep it out of the model's context, paste it in the console instead.

**You provide**

`api_key`

**Setup fields**

`api_base`

**Limits we pace to**

100 calls a minute, per connection

**API covered**

Atlassian Opsgenie (on-call and alerting; end-of-life 2027-04-05) API v2`api.opsgenie.com`

**Built from**

Opsgenie's documentation, read 20 September 2026[OpenAPI spec (GitHub)](https://raw.githubusercontent.com/opsgenie/opsgenie-oas/master/swagger.json) [docs.opsgenie.com](https://docs.opsgenie.com/docs/api-overview) [docs.opsgenie.com](https://docs.opsgenie.com/docs/incident-api)

**Service file**

Version 1.0.0, signed (Ed25519)

**Cached reads**

76 of 77 reads, for up to an hour; a write clears what it affects

**Ready-made plans**

9 in the store

**Shared entities**

5, so ask can line Opsgenie up with your other systems

**Data**

Processed and stored in Sydney, Australia. No US region yet

Capabilities

## What an AI agent can do in Opsgenie.

205 actions in 1 area. Every one carries its effect, so a key can allow the reads and hold the rest.

- **77** read look, never change
- **95** write create and update
- **33** destructive wait for a confirmation

1. ### Oncall
   205
   77 read · 95 write · 33 destructive
   List users · List incidents · List teams · List services

Top actions

## The Opsgenie API, shaped for agents.

The ids your agent types, what each does, and the one name it shares with other systems. 127 of Opsgenie's 130 action names are shared with at least one other connector, so an agent learns them once.

| Action | What it does | Effect | Same name in |
| --- | --- | --- | --- |
| `opsgenie.users.list` List users | Users on the account with role, contacts and state; offset paged. | read | `identity.user.list` 474 connectors |
| `opsgenie.incidents.list` List incidents | Search and list incidents; offset paged, max 100 per page. | read | `monitoring.incident.list` 19 connectors |
| `opsgenie.teams.list` List teams | All teams on the account (the vendor does not page this list). | read | `identity.group.list` 262 connectors |
| `opsgenie.services.list` List services | Services on the account (or of the key's team); offset paged, max 100 per page. | read | `monitoring.service.list` 12 connectors |
| `opsgenie.custom_user_roles.list` List custom user roles | Custom user roles on the account. | read | `identity.role.list` 184 connectors |
| `opsgenie.users.create` Create user | Create a user (invitation emailed unless disabled). | write | `identity.user.create` 262 connectors |
| `opsgenie.user_teams.list` List user teams | Teams a user belongs to. | read | `identity.group.list` 262 connectors |
| `opsgenie.incidents.create` Create incident | Create an incident (asynchronous, answers a requestId). Incident API needs a Standard or Enterprise plan. | write | `monitoring.incident.create` 13 connectors |
| `opsgenie.team_roles.list` List team roles | Custom roles defined on a team. | read | `identity.role.list` 184 connectors |
| `opsgenie.services.create` Create service | Create a service owned by a team. Service API needs a Standard or Enterprise plan. | write | `monitoring.service.create` 11 connectors |
| `opsgenie.alerts.list` List alerts | Search and list alerts with the Opsgenie alert query syntax; offset paged, max 100 per page, offset+limit under 20000. | read | `monitoring.alert.list` 51 connectors |
| `opsgenie.users.delete` Delete user | Delete a user. | destructive | `identity.user.delete` 253 connectors |

Try it

## Prompts to paste into Claude.

Each one names the Opsgenie actions it will call, so you know what it reads and what it changes before you send it.

1. Read read
   Which Opsgenie incidents are open, and how long has each been open?
   calls `opsgenie.incidents.list`
2. Plan write
   Onboard a new responder onto a team and its pager in Opsgenie.
   calls `opsgenie.users.create` `opsgenie.team_members.add` `opsgenie.contacts.create` `opsgenie.contacts.enable` `opsgenie.user_teams.list` +1 more
3. Plan write
   Resolve an incident and leave a closing record in Opsgenie. Ask me before anything is sent or changed.
   calls `opsgenie.incidents.get` `opsgenie.incident_associated_alerts.list` `opsgenie.incident_timeline_entries.create` `opsgenie.incident_tags.add` `opsgenie.incidents.resolve`
4. Write write
   Create user in Opsgenie. Show me exactly what you will send before you save it.
   calls `opsgenie.users.create`

The plan store

## Ready-made plans for Opsgenie.

9 plans in the store. Install one and your agent runs it by name; the reply says which connections are still missing. A schedule can run a plan on a timetable. There are no triggers or webhooks, by design.

1. ### Sweep heartbeats and raise an alert for the dead ones
   Use it when Someone wants to know which heartbeat-monitored jobs have stopped reporting and be alerted about them.
   **Effect**
   write
   **Steps**
   2 · loops
   **Install**
   `opsgenie-heartbeat-health-sweep`
2. ### Triage open alerts and acknowledge the noisy ones
   Use it when A flood of open alerts needs a first pass of acknowledgement so paging stops while a human investigates.
   **Effect**
   write
   **Steps**
   3 · loops
   **Needs**
   query
   **Install**
   `opsgenie-triage-open-alerts`
3. ### Close stale acknowledged alerts after approval
   Use it when The open alert list is full of acknowledged alerts nobody has closed and someone wants a supervised sweep.
   A person decides Close _stale count_ stale acknowledged Opsgenie alerts matching _query_.
   **Effect**
   write
   **Steps**
   4 · loops
   **Needs**
   query
   **Install**
   `opsgenie-close-stale-alerts`
4. ### Declare an incident from an existing alert
   Use it when An alert has turned out to be a real customer-affecting problem and needs to become a tracked incident.
   A person decides Declare an Opsgenie incident for alert _alert id_. Alert: _alert_.
   **Effect**
   write
   **Steps**
   5
   **Needs**
   alert id and responder team
   **Install**
   `opsgenie-declare-incident-from-alert`
5. ### Open a maintenance window and snooze alerts during it
   Use it when Planned work is about to start and alerting for the affected systems should be suppressed for its duration.
   A person decides Open an Opsgenie maintenance window and suppress alerting until _end time_.
   **Effect**
   write
   **Steps**
   5 · loops
   **Needs**
   time, rules and end time
   **Install**
   `opsgenie-maintenance-window-mute`
6. ### Escalate a P1 alert that nobody acknowledged
   Use it when A high severity alert has been sitting unacknowledged and needs to be pushed up the escalation chain.
   **Effect**
   write
   **Steps**
   6
   **Needs**
   alert id, escalation and team
   **Install**
   `opsgenie-escalate-unacked-p1`
7. ### Onboard a new responder onto a team and its pager
   Use it when A new engineer is joining an on-call team and needs an Opsgenie account wired up to be paged.
   **Effect**
   write
   **Steps**
   6
   **Needs**
   username, full name, team and mobile
   **Install**
   `opsgenie-onboard-responder`
8. ### Cover an on-call gap with an approved schedule override
   Use it when Someone on call is unavailable and another engineer must take their shift for a defined window.
   A person decides Put _user_ on call for schedule _schedule_ from _start date_ to _end date_.
   **Effect**
   write
   **Steps**
   6
   **Needs**
   schedule, user, start date and end date
   **Install**
   `opsgenie-schedule-coverage-override`
9. ### Resolve an incident and leave a closing record
   Use it when An incident is believed fixed and needs resolving with a proper record and its alerts cleared.
   A person decides Resolve incident _incident id_ (_incident_) and close its _number of items_ associated alerts.
   **Effect**
   write
   **Steps**
   8
   **Needs**
   incident id and cause
   **Install**
   `opsgenie-resolve-incident-with-record`

install a plan

```
account { op: "plans.install", slug: "opsgenie-heartbeat-health-sweep" }
# then ask for it by name; a schedule can run it on a timetable
```

Governance for Opsgenie

## Destructive actions wait for a yes.

33 Opsgenie actions are destructive. The first 10:

- Delete user `opsgenie.users.delete`
- Delete team `opsgenie.teams.delete`
- Delete service `opsgenie.services.delete`
- Delete incident `opsgenie.incidents.delete`
- Delete team role `opsgenie.team_roles.delete`
- Delete custom user role `opsgenie.custom_user_roles.delete`
- Delete heartbeat `opsgenie.heartbeats.delete`
- Execute custom alert action `opsgenie.alert_custom_actions.execute`
- Delete user contact `opsgenie.contacts.delete`
- Delete action channel `opsgenie.action_channels.delete`

A destructive action runs only with `confirm: true`. Under the `human` policy the agent cannot confirm for itself: the run stops until a named person approves, in the console or from a signed link in an email. The cap on a key is refused before the call is sent, never after.

do opsgenie.users.delete confirm_policy: **human**

Delete user?

**intent:** the user asked me to delete user

run suspended · waiting for a named person · key _opsgenie-agent_ cannot confirm itself

In the console, or from an emailed signed link.

a key for this connector

```
account {
  op: "keys.create", name: "opsgenie-agent",
  allowed_actions: ["opsgenie.*"], cap_calls: 2000,
  confirm_policy: "human_for_writes",
  approval_rules: [
    { match: "opsgenie.users.delete", approver: "lead@example.com" },
    { match: "opsgenie.teams.delete", approver: "lead@example.com" },
    { match: "opsgenie.services.delete", approver: "lead@example.com" }
  ]
}
```

Illustrative. Scoped to Opsgenie only, capped at 2,000 upstream calls, every write confirmed, and the destructive ones approved by a named person.

Cost

## What Opsgenie costs on actionlake.

Every Opsgenie action is one upstream call, the only thing actionlake bills. Searching, `check`, `cost`, `account` and any call Opsgenie refused with 401, 403, 429 or a 5xx are free. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.

- 1 upstream call per action all 205 Opsgenie actions
- 205 actions page each page of a long list is one call
- 76 reads can be cached a cache hit costs nothing
- 100,000 calls a month, free paid plans from US$49 a month for 250,000

[See pricing](https://actionlake.com/pricing)

Action index

## Every Opsgenie action.

205 actions by area: the id your agent calls, what it does, and its effect.

**Oncall 205**

- `opsgenie.account.get` Get account info read
- `opsgenie.action_channels.create` Create action channel write
- `opsgenie.action_channels.delete` Delete action channel destructive
- `opsgenie.action_channels.get` Get action channel read
- `opsgenie.action_channels.list` List action channels read
- `opsgenie.action_channels.update` Update action channel write
- `opsgenie.action_executions.create` Execute action write
- `opsgenie.action_executions.get` Get action execution read
- `opsgenie.actions.create` Create action write
- `opsgenie.actions.delete` Delete action destructive
- `opsgenie.actions.get` Get action read
- `opsgenie.actions.list` List actions read
- `opsgenie.actions.update` Update action write
- `opsgenie.alert_attachments.delete` Remove alert attachment destructive
- `opsgenie.alert_attachments.get` Get alert attachment read
- `opsgenie.alert_attachments.list` List alert attachments read
- `opsgenie.alert_custom_actions.execute` Execute custom alert action destructive
- `opsgenie.alert_description.update` Update alert description write
- `opsgenie.alert_details.add` Add details to alert write
- `opsgenie.alert_details.remove` Remove details from alert destructive
- `opsgenie.alert_logs.list` List alert logs read
- `opsgenie.alert_message.update` Update alert message write
- `opsgenie.alert_notes.create` Add note to alert write
- `opsgenie.alert_notes.list` List alert notes read
- `opsgenie.alert_policies.list` List alert policies read
- `opsgenie.alert_priority.update` Update alert priority write
- `opsgenie.alert_recipients.list` List alert recipients read
- `opsgenie.alert_requests.get` Get alert request status read
- `opsgenie.alert_responders.add` Add responder to alert write
- `opsgenie.alert_saved_searches.create` Create alert saved search write
- `opsgenie.alert_saved_searches.delete` Delete alert saved search destructive
- `opsgenie.alert_saved_searches.get` Get alert saved search read
- `opsgenie.alert_saved_searches.list` List alert saved searches read
- `opsgenie.alert_saved_searches.update` Update alert saved search write
- `opsgenie.alert_tags.add` Add tags to alert write
- `opsgenie.alert_tags.remove` Remove tags from alert destructive
- `opsgenie.alert_teams.add` Add team to alert write
- `opsgenie.alerts.acknowledge` Acknowledge alert write
- `opsgenie.alerts.assign` Assign alert write
- `opsgenie.alerts.close` Close alert write
- `opsgenie.alerts.count` Count alerts read
- `opsgenie.alerts.create` Create alert write
- `opsgenie.alerts.delete` Delete alert destructive
- `opsgenie.alerts.escalate` Escalate alert to next write
- `opsgenie.alerts.get` Get alert read
- `opsgenie.alerts.list` List alerts read
- `opsgenie.alerts.snooze` Snooze alert write
- `opsgenie.alerts.unacknowledge` Unacknowledge alert write
- `opsgenie.contacts.create` Create user contact write
- `opsgenie.contacts.delete` Delete user contact destructive
- `opsgenie.contacts.disable` Disable user contact write
- `opsgenie.contacts.enable` Enable user contact write
- `opsgenie.contacts.get` Get user contact read
- `opsgenie.contacts.list` List user contacts read
- `opsgenie.contacts.update` Update user contact write
- `opsgenie.custom_user_roles.create` Create custom user role write
- `opsgenie.custom_user_roles.delete` Delete custom user role destructive
- `opsgenie.custom_user_roles.get` Get custom user role read
- `opsgenie.custom_user_roles.list` List custom user roles read
- `opsgenie.custom_user_roles.update` Update custom user role write
- `opsgenie.escalations.create` Create escalation write
- `opsgenie.escalations.delete` Delete escalation destructive
- `opsgenie.escalations.get` Get escalation read
- `opsgenie.escalations.list` List escalations read
- `opsgenie.escalations.update` Update escalation write
- `opsgenie.forwarding_rules.create` Create forwarding rule write
- `opsgenie.forwarding_rules.delete` Delete forwarding rule destructive
- `opsgenie.forwarding_rules.get` Get forwarding rule read
- `opsgenie.forwarding_rules.list` List forwarding rules read
- `opsgenie.forwarding_rules.update` Update forwarding rule write
- `opsgenie.heartbeats.create` Create heartbeat write
- `opsgenie.heartbeats.delete` Delete heartbeat destructive
- `opsgenie.heartbeats.disable` Disable heartbeat write
- `opsgenie.heartbeats.enable` Enable heartbeat write
- `opsgenie.heartbeats.get` Get heartbeat read
- `opsgenie.heartbeats.list` List heartbeats read
- `opsgenie.heartbeats.ping` Ping heartbeat write
- `opsgenie.heartbeats.update` Update heartbeat write
- `opsgenie.incident_associated_alerts.list` List incident associated alert ids read
- `opsgenie.incident_description.update` Update incident description write
- `opsgenie.incident_details.add` Add details to incident write
- `opsgenie.incident_details.remove` Remove details from incident destructive
- `opsgenie.incident_logs.list` List incident logs read
- `opsgenie.incident_message.update` Update incident message write
- `opsgenie.incident_notes.create` Add note to incident write
- `opsgenie.incident_notes.list` List incident notes read
- `opsgenie.incident_priority.update` Update incident priority write
- `opsgenie.incident_requests.get` Get incident request status read
- `opsgenie.incident_responder_alerts.list` List incident responder alert ids read
- `opsgenie.incident_responders.add` Add responder to incident write
- `opsgenie.incident_tags.add` Add tags to incident write
- `opsgenie.incident_tags.remove` Remove tags from incident destructive
- `opsgenie.incident_timeline_entries.create` Add incident timeline entry write
- `opsgenie.incident_timeline_entries.delete` Delete incident timeline entry destructive
- `opsgenie.incident_timeline_entries.get` Get incident timeline entry read
- `opsgenie.incident_timeline_entries.hide` Hide incident timeline entry write
- `opsgenie.incident_timeline_entries.list` List incident timeline entries read
- `opsgenie.incident_timeline_entries.unhide` Unhide incident timeline entry write
- `opsgenie.incident_timeline_entries.update` Update incident timeline entry write
- `opsgenie.incidents.close` Close incident write
- `opsgenie.incidents.create` Create incident write
- `opsgenie.incidents.delete` Delete incident destructive
- `opsgenie.incidents.get` Get incident read
- `opsgenie.incidents.list` List incidents read
- `opsgenie.incidents.reopen` Reopen incident write
- `opsgenie.incidents.resolve` Resolve incident write
- `opsgenie.integration_actions.create` Create integration action write
- `opsgenie.integration_actions.list` List integration actions read
- `opsgenie.integration_actions.replace` Replace integration actions write
- `opsgenie.integrations.authenticate` Authenticate integration read
- `opsgenie.integrations.create` Create integration write
- `opsgenie.integrations.delete` Delete integration destructive
- `opsgenie.integrations.disable` Disable integration write
- `opsgenie.integrations.enable` Enable integration write
- `opsgenie.integrations.get` Get integration read
- `opsgenie.integrations.list` List integrations read
- `opsgenie.integrations.update` Update integration write
- `opsgenie.log_files.list` List log files read
- `opsgenie.maintenance.cancel` Cancel maintenance destructive
- `opsgenie.maintenance.create` Create maintenance write
- `opsgenie.maintenance.delete` Delete maintenance destructive
- `opsgenie.maintenance.get` Get maintenance read
- `opsgenie.maintenance.list` List maintenances read
- `opsgenie.maintenance.update` Update maintenance write
- `opsgenie.notification_policies.list` List notification policies read
- `opsgenie.notification_rule_steps.create` Create notification rule step write
- `opsgenie.notification_rule_steps.delete` Delete notification rule step destructive
- `opsgenie.notification_rule_steps.disable` Disable notification rule step write
- `opsgenie.notification_rule_steps.enable` Enable notification rule step write
- `opsgenie.notification_rule_steps.get` Get notification rule step read
- `opsgenie.notification_rule_steps.list` List notification rule steps read
- `opsgenie.notification_rule_steps.update` Update notification rule step write
- `opsgenie.notification_rules.change_order` Change notification rule order write
- `opsgenie.notification_rules.create` Create notification rule write
- `opsgenie.notification_rules.delete` Delete notification rule destructive
- `opsgenie.notification_rules.disable` Disable notification rule write
- `opsgenie.notification_rules.enable` Enable notification rule write
- `opsgenie.notification_rules.get` Get notification rule read
- `opsgenie.notification_rules.list` List notification rules read
- `opsgenie.notification_rules.update` Update notification rule write
- `opsgenie.on_calls.get` Get who is on call read
- `opsgenie.on_calls.list` List who is on call read
- `opsgenie.on_calls.next` Get next on call read
- `opsgenie.policies.change_order` Change policy order write
- `opsgenie.policies.create` Create policy write
- `opsgenie.policies.delete` Delete policy destructive
- `opsgenie.policies.disable` Disable policy write
- `opsgenie.policies.enable` Enable policy write
- `opsgenie.policies.get` Get policy read
- `opsgenie.policies.update` Update policy write
- `opsgenie.schedule_overrides.create` Create schedule override write
- `opsgenie.schedule_overrides.delete` Delete schedule override destructive
- `opsgenie.schedule_overrides.get` Get schedule override read
- `opsgenie.schedule_overrides.list` List schedule overrides read
- `opsgenie.schedule_overrides.update` Update schedule override write
- `opsgenie.schedule_rotations.create` Create schedule rotation write
- `opsgenie.schedule_rotations.delete` Delete schedule rotation destructive
- `opsgenie.schedule_rotations.get` Get schedule rotation read
- `opsgenie.schedule_rotations.list` List schedule rotations read
- `opsgenie.schedule_rotations.update` Update schedule rotation write
- `opsgenie.schedule_timeline.get` Get schedule timeline read
- `opsgenie.schedules.create` Create schedule write
- `opsgenie.schedules.delete` Delete schedule destructive
- `opsgenie.schedules.get` Get schedule read
- `opsgenie.schedules.list` List schedules read
- `opsgenie.schedules.update` Update schedule write
- `opsgenie.service_audience_templates.get` Get service audience template read
- `opsgenie.service_audience_templates.update` Update service audience template write
- `opsgenie.service_incident_rules.create` Create service incident rule write
- `opsgenie.service_incident_rules.delete` Delete service incident rule destructive
- `opsgenie.service_incident_rules.list` List service incident rules read
- `opsgenie.service_incident_rules.update` Update service incident rule write
- `opsgenie.services.create` Create service write
- `opsgenie.services.delete` Delete service destructive
- `opsgenie.services.get` Get service read
- `opsgenie.services.list` List services read
- `opsgenie.services.update` Update service write
- `opsgenie.team_logs.list` List team logs read
- `opsgenie.team_members.add` Add team member write
- `opsgenie.team_members.delete` Remove team member destructive
- `opsgenie.team_roles.create` Create team role write
- `opsgenie.team_roles.delete` Delete team role destructive
- `opsgenie.team_roles.get` Get team role read
- `opsgenie.team_roles.list` List team roles read
- `opsgenie.team_roles.update` Update team role write
- `opsgenie.team_routing_rules.change_order` Change team routing rule order write
- `opsgenie.team_routing_rules.create` Create team routing rule write
- `opsgenie.team_routing_rules.delete` Delete team routing rule destructive
- `opsgenie.team_routing_rules.get` Get team routing rule read
- `opsgenie.team_routing_rules.list` List team routing rules read
- `opsgenie.team_routing_rules.update` Update team routing rule write
- `opsgenie.teams.create` Create team write
- `opsgenie.teams.delete` Delete team destructive
- `opsgenie.teams.get` Get team read
- `opsgenie.teams.list` List teams read
- `opsgenie.teams.update` Update team write
- `opsgenie.user_escalations.list` List user escalations read
- `opsgenie.user_forwarding_rules.list` List user forwarding rules read
- `opsgenie.user_schedules.list` List user schedules read
- `opsgenie.user_teams.list` List user teams read
- `opsgenie.users.create` Create user write
- `opsgenie.users.delete` Delete user destructive
- `opsgenie.users.get` Get user read
- `opsgenie.users.list` List users read
- `opsgenie.users.update` Update user write

Questions

## The Opsgenie MCP server, answered.

**Is there an Opsgenie MCP server for Claude?**

Yes. actionlake is an MCP gateway: a remote MCP server that gives Claude, or another MCP client, 205 Opsgenie actions, through the same eight tools it uses for every other connector. actionlake is independent; it is not made or endorsed by Opsgenie.

**What do I need to connect Opsgenie?**

Opsgenie API key (Settings > API key management, or an API integration's key). Plus your api base. The free call account { op: "connections.requirements", service: "opsgenie" } lists exactly what to paste.

**Can an AI agent delete or change things in Opsgenie?**

Only if its key allows it, and only with an explicit confirmation. 33 Opsgenie actions are destructive, including delete user, delete team and delete service. Each runs only with confirm: true. Under the human confirm policy, or an approval rule on the key, the run waits until a named person approves it.

**Will an AI agent use up my Opsgenie API limit?**

actionlake paces every call to the limits in the Opsgenie service file: 100 calls a minute per connection. Repeated reads are answered from cache (76 Opsgenie actions can be), which never reaches Opsgenie.

**What does an Opsgenie action cost?**

One upstream call, the only unit actionlake bills. A list that pages bills one call per page (205 Opsgenie actions page). Cache hits, searches, dry runs and calls Opsgenie refused with 401, 403, 429 or a 5xx are free. The Free plan includes 100,000 calls a month with no card. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.

**Which Opsgenie API does it cover?**

The Atlassian Opsgenie (on-call and alerting; end-of-life 2027-04-05) API v2 at api.opsgenie.com by default, or the base URL set when you connect. It is built from Opsgenie's documentation as read on 20 September 2026. 205 actions in 1 area, each one in the signed service file (version 1.0.0).

**Does actionlake keep my Opsgenie data, and where?**

actionlake processes and stores data in Sydney, Australia; there is no US region yet. Reads may be cached for up to an hour, and a write clears the reads it affects. Each run's request and response is kept, sealed, for your plan's trace window: 1 day on Free, 3 days on Starter, 7 days on Pro, 14 days on Team, 30 days on Business and 30 days on Enterprise. Your Opsgenie credential is sealed under your tenant's key, never logged and never returned. Your traffic is not used to train models.

**Which AI clients can use it?**

Claude Code, tested by us end to end, and the Claude app as a custom connector, tested by us with an existing key. Other MCP clients that support remote servers over Streamable HTTP (MCP revisions 2025-06-18 and 2025-11-25) and OAuth dynamic client registration, or a bearer header, should connect the same way; we have not tested them. Or plain REST, under the same action names.

## More connectors like Opsgenie

Shares the most action names with

- [PagerDuty 84](https://actionlake.com/connectors/pagerduty)
- [FireHydrant 45](https://actionlake.com/connectors/firehydrant)
- [Squadcast 42](https://actionlake.com/connectors/squadcast)
- [ilert 41](https://actionlake.com/connectors/ilert)
- [Better Stack Uptime 39](https://actionlake.com/connectors/better-stack-uptime)
- [Rootly 27](https://actionlake.com/connectors/rootly)

Joins with, on shared entities

- [Zabbix 4](https://actionlake.com/connectors/zabbix)
- [Palo Alto Networks Cortex XDR 4](https://actionlake.com/connectors/palo-alto-networks-cortex-xdr)
- [Palo Alto Networks Cortex XSOAR 4](https://actionlake.com/connectors/palo-alto-networks-cortex-xsoar)
- [HaloPSA 3](https://actionlake.com/connectors/halopsa)
- [Microsoft 365 Users 3](https://actionlake.com/connectors/microsoft-365-users)
- [Fortinet FortiGate 3](https://actionlake.com/connectors/fortinet-fortigate)

Browse

- [All Service desk & support connectors](https://actionlake.com/connectors/category/service-desk-and-support)
- [All connectors](https://actionlake.com/connectors)
- [How actionlake compares](https://actionlake.com/compare)

actionlake is independent. It is not made or endorsed by Opsgenie; the name is the vendor's own. Counts are from the Opsgenie service file, version 1.0.0.

## Give your agent Opsgenie today.

[Connect Opsgenie free](https://actionlake.com/console?start=sandbox) [See pricing](https://actionlake.com/pricing)

Start free - 100,000 calls/month, no card. No signup. Hard caps on every key. Cached answers are free.

---

Source: https://actionlake.com/connectors/opsgenie
More: https://actionlake.com/llms.txt
