# The AI CodeOps MCP server

> Connect Claude Code, Cursor or any MCP client to AI CodeOps: start sessions, read findings, check the release gate and fetch evidence packs from your editor.

Source: https://aicodeops.dev/docs/mcp-server · Last updated: 2026-10-21

AI CodeOps runs a remote [MCP](https://modelcontextprotocol.io) server, so the AI coding tool you already use can work with your workspace: start a session from your editor, follow it, check whether a pull request may ship, and pull the signed record of a change.

It is separate from [MCP servers](https://aicodeops.dev/docs/mcp-servers), where AI CodeOps connects to other servers so the agents in your sessions can use their tools. Here, AI CodeOps is the server.

## Connect

You need a workspace API key. Create one under **Configure → API Keys**; it starts with `sk-` and is shown once. See [API keys](https://aicodeops.dev/docs/api#workspace-api-keys).

**Claude Code:**

```bash
claude mcp add --transport http aicodeops https://console.aicodeops.dev/mcp \
  --header "Authorization: Bearer sk-..."
```

Then run `/mcp` in Claude Code: `aicodeops` is listed as connected, with its six tools.

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

```json
{
  "mcpServers": {
    "aicodeops": {
      "url": "https://console.aicodeops.dev/mcp",
      "headers": { "Authorization": "Bearer sk-..." }
    }
  }
}
```

**Any other client:** the address is `https://console.aicodeops.dev/mcp`, the transport is Streamable HTTP, and the key goes in the `Authorization: Bearer` header.

Keep the key out of files you commit: most clients read it from an environment variable.

## Tools

| Tool                 | What it does                                                                                                            | Key needs              |
| -------------------- | ----------------------------------------------------------------------------------------------------------------------- | ---------------------- |
| `list_projects`      | Lists the workspace's projects and their repositories.                                                                  | `workspace:read`       |
| `start_session`      | Starts a session on a project with a task. Optional: a `workflow` (default `plan-build-review-test`) and an `agent`.    | `workflow_run:manage`  |
| `get_session`        | A session's status, its steps, the pull request it opened and its change.                                               | `workspace:read`       |
| `check_release_gate` | Whether a pull request or commit may ship, with the reasons. The same check as [the API](https://aicodeops.dev/docs/api#release-gate-check). | `workspace:read`       |
| `list_findings`      | Security and quality findings, filtered by `severity` or `category`.                                                    | `workspace:read`       |
| `get_evidence_pack`  | The signed [evidence pack](https://aicodeops.dev/docs/evidence-packs) of a change, by `changeID` or by the session that started it.          | `workspace:audit.read` |

A tool the key may not use answers with an error that says why, and the other tools keep working. `start_session` and `get_evidence_pack` also need their permission listed on the key's scope (see below).

## What a tool can do

Each tool acts as the key's creator, through the same checks as the console:

- **Roles:** a member who can't start sessions in the console can't start them here. A viewer's key can read, nothing more.
- **Key scope:** any key can use the four read tools. `start_session` and `get_evidence_pack` work only for a key whose scope lists their permission: choose **Scope** on the key under **Configure → API Keys** and tick **Start sessions from the MCP server (/mcp)** or **Evidence packs from the MCP server (/mcp)**. A key with no scope can't start sessions here, so keys already made for CI or the model gateway don't gain that by themselves. Key scoping depends on your plan.
- **Spend:** sessions count against the workspace's budget and the agent's work-in-progress limit, as they do in the console.
- **Audit:** a session records who started it, the key's creator. Exporting an evidence pack is recorded in the [audit log](https://aicodeops.dev/docs/audit-logs).

A session started here opens its pull request like any other, so your approvals and the release gate still apply before it merges.

## Limits

- 120 requests a minute from one address.
- Stateless: each request stands alone. The server doesn't send notifications or open an event stream.
- Workspace API keys only. OAuth sign-in isn't supported yet.

## Frequently asked questions

### How does the MCP server sign in?

With a workspace API key sent as a Bearer token. The key acts as the member who created it, with that member's current role. OAuth sign-in isn't supported yet.

### Can the MCP server change my code directly?

No. start_session starts a session, and the session works the way it does from the console, through a pull request that your approvals and release gate still apply to. Every other tool only reads.

### Which clients work?

Any MCP client that supports the Streamable HTTP transport and a custom header, including Claude Code and Cursor.
