---
title: MCP
description: Connect AI assistants to OpenPerf through its MCP server to read telemetry and triage errors.
---

An owner or admin turns the MCP server on in **Settings → API**. It is off by default. Examples below use `https://mcp.example.com/mcp`; the dashboard shows your address.

## Claude.ai and ChatGPT

Add the address as a custom connector. They connect through OAuth:

- **Claude.ai**: Settings → Connectors → Add custom connector.
- **ChatGPT**: Settings → Apps & Connectors → Create, with OAuth authentication.

You sign in, pick one organization and allow access. Access tokens last an hour and refresh for 30 days, until you revoke them.

## Claude Code, Cursor and other clients

Clients that take a header can use an API token from **Settings → API**. With Claude Code:

```bash
claude mcp add --transport http openperf https://mcp.example.com/mcp \
  --header "Authorization: Bearer opt_…"
```

With Cursor, in `.cursor/mcp.json`:

```json
{
  "mcpServers": {
    "openperf": {
      "url": "https://mcp.example.com/mcp",
      "headers": { "Authorization": "Bearer opt_…" }
    }
  }
}
```

## Tools

| Tool                        | Returns                                                         |
| --------------------------- | --------------------------------------------------------------- |
| `list_projects`             | Projects.                                                       |
| `list_error_groups`         | Error groups, by project, status, level, release and time.      |
| `get_error_group`           | One error group.                                                |
| `list_error_events`         | Events of one error group.                                      |
| `list_traces`               | Traces, by project, name, failures and duration.                |
| `get_trace`                 | One trace with its spans and logs.                              |
| `list_logs`                 | Logs, by project, severity, trace and message.                  |
| `list_releases`             | Releases.                                                       |
| `get_release`               | One release with its projects, health and new issues.           |
| `list_audit_events`         | The audit log. Listed only for organization owners using OAuth. |
| `update_error_group_status` | Resolves, reopens, ignores or archives error groups.            |

Tools see only the token's organization. Time ranges default to the last 24 hours and span 90 days at most.

`update_error_group_status` is the only tool that writes. It is listed only for an API token with the `write` scope, or an OAuth user who granted `mcp:write`. The audit log records each change.
