Observer
Observer

MCP server

Observer runs a remote Model Context Protocol server at mcp.use.observer. Connect Claude, Cursor, or any MCP client and let an assistant read your metrics, services, SLOs, incidents, and maintenance windows, and run operations, using your Observer API key.

Observer runs a remote Model Context Protocol server at https://mcp.use.observer/mcp. It lets any MCP-compatible assistant (Claude, Cursor, and other MCP clients) work with your Observer data: read metrics, services, SLOs, incidents, and maintenance windows, and run write operations such as opening an incident or applying config.

Every tool maps one-to-one to a public API operation and is governed by the same API key, the same scopes, and the same plan entitlement as the REST API. The server is stateless and holds no data: it forwards each call to the API with the key you supply on the connection.

Connect

  1. Create an API key. In the console, open Settings → API keys, create a key, and grant only the scopes you need (see the catalog below). Copy the obs_pub_… value.

  2. Add the server to your MCP client. The server speaks Streamable HTTP and reads your key from the Authorization header. Most clients accept a remote server like this:

    {
      "mcpServers": {
        "observer": {
          "url": "https://mcp.use.observer/mcp",
          "headers": { "Authorization": "Bearer obs_pub_your_key_here" }
        }
      }
    }

    Config shapes vary by client. Some expect a "type": "http" field alongside the url; check your client's remote-MCP documentation. The endpoint and the Authorization: Bearer header are the same in every case.

  3. Confirm the connection. Ask the assistant to list your metrics. It should call listMetrics and return your metric definitions. If a call fails with a scope message, add the named scope to the key (or confirm your plan includes public API access).

Tool catalog

Metrics

ToolScopeWhat it does
listMetricsread:metricsList metric definitions.
getMetricread:metricsGet a metric by id.
getMetricHistoryread:metricsAggregated metric values over a window (max 30 days).
setManualMetricStatuswrite:metricsSet the status on a manually-managed metric.

Services and SLOs

ToolScopeWhat it does
listServicesread:servicesList services.
getServiceread:servicesGet a service by id.
listSlosread:slosList SLOs.
getSloread:slosGet an SLO with its latest burn event.

Incidents

ToolScopeWhat it does
listIncidentsread:incidentsList incidents.
getIncidentread:incidentsGet an incident.
createIncidentwrite:incidentsCreate an incident (draft or published).
patchIncidentwrite:incidentsEdit title, severity, affected services, visibility.
publishIncidentwrite:incidentsPublish a draft incident.
resolveIncidentwrite:incidentsResolve an incident, with an optional final message.
appendIncidentMessagewrite:incidentsAppend a timeline message (a Resolved message auto-resolves the parent).
draftIncidentFromMetricwrite:incidentsPre-fill a draft incident from a metric's current state (idempotent within 30 minutes).
deleteIncidentwrite:incidentsSoft-delete an incident.

Maintenance

ToolScopeWhat it does
listMaintenancesread:maintenancesList maintenance windows.
getMaintenanceread:maintenancesGet a maintenance window.
createMaintenancewrite:maintenancesSchedule a maintenance window.
patchMaintenancewrite:maintenancesEdit a maintenance (only before it has started).
startMaintenancewrite:maintenancesMove a scheduled maintenance to in-progress.
completeMaintenancewrite:maintenancesMove an in-progress maintenance to completed.
cancelMaintenancewrite:maintenancesCancel a maintenance before completion.

Config as code

ToolScopeWhat it does
exportConfigread:configExport the org's configuration as a canonical apply document.
applyConfigwrite:configApply a config-as-code document (idempotent upsert by config key).

Change events

ToolScopeWhat it does
createChangeEventwrite:change_eventsRecord a deploy, commit, or release event for status-transition correlation.

Notes

  • The server is stateless: it opens a fresh session per request and keeps nothing. Your key is read from the connection header on each call and never stored.
  • Tool inputs and outputs match the REST API one-to-one. For full field shapes, request/response bodies, and error codes, see the API reference.
  • For safe exploration, connect a key with only read:* scopes. Add write:* scopes when you want an assistant to open incidents, schedule maintenance, or apply config.
Was this page helpful?