AI CodeOps for Claude Code
Connect Claude Code to the AI CodeOps MCP server: hand tasks to gated sessions, check the release gate before a merge and read findings, from your terminal.
Claude Code is a coding agent you run in your terminal. AI CodeOps is a browser-based platform where AI agents plan, write, test and review a change, and the change becomes a pull request only after its quality gates pass and a person approves it. Connect the two through the AI CodeOps MCP server, and Claude Code can hand a task to a gated AI CodeOps session, follow it, read its findings and ask whether a pull request may ship.
What AI CodeOps gates, and what it doesn't
Be clear about this before you set anything up. AI CodeOps gates the changes made in its own sessions. A pull request that Claude Code opens by itself, from your terminal or from Claude Code GitHub Actions, is an ordinary pull request: AI CodeOps doesn't review it, and the release check denies it with "No workflow runs found for …", because no AI CodeOps session made it.
So there are two ways to put Claude Code's work through the gates:
- Hand the task over. From Claude Code, call
start_sessionwith the task. An AI CodeOps session writes the change, runs your tests, reviews it with several agents and opens the pull request only when the gate passes. - Check before you merge. Ask
check_release_gateabout a pull request, or run the same check in CI, so nothing merges without an allowed verdict.
Connect Claude Code
- In AI CodeOps, create a workspace API key under Configure → API Keys. It starts with
sk-and is shown once. To let Claude Code start sessions, choose Scope on the key and tick Start sessions from the MCP server (/mcp). Tick Evidence packs from the MCP server (/mcp) too if you want evidence packs. See API keys. - Add the server. Claude Code's MCP docs give this form for a remote HTTP server with a header:
``bash claude mcp add --transport http aicodeops https://console.aicodeops.dev/mcp \ --header "Authorization: Bearer sk-..." ``
- Run
/mcpin Claude Code.aicodeopsis listed as connected, with six tools.
By default the server is added for you, in the current project only. To share it with your team, add --scope project: Claude Code writes the server to .mcp.json in the repository root. Claude Code expands environment variables in that file, so the key stays out of version control:
{
"mcpServers": {
"aicodeops": {
"type": "http",
"url": "https://console.aicodeops.dev/mcp",
"headers": { "Authorization": "Bearer ${AICODEOPS_API_KEY}" }
}
}
}
What Claude Code can do
| Tool | What it does |
|---|---|
list_projects | Lists the workspace's projects and their repositories. |
start_session | Starts a session on a project with a task, by default the plan-build-review-test workflow. |
get_session | A session's status, its steps, the pull request it opened and its change. |
check_release_gate | Whether a pull request or commit may ship, with the reasons. |
list_findings | Security and quality findings, filtered by severity or category. |
get_evidence_pack | The signed evidence pack of a change. |
Each tool acts as the key's creator, through the same checks as the console: their role, the workspace budget and the agent's work-in-progress limit. A session started from Claude Code opens its pull request like any other, so approvals and the release gate still apply. The full reference is in the MCP server guide.
Things you can ask Claude Code once it is connected:
List my AI CodeOps projects, then start a session on the api project to add rate limiting to the login route.
Check on that session until it finishes, and tell me what the reviewers found.
Ask the AI CodeOps release gate whether https://github.com/acme/api/pull/42 may ship, and list the reasons.
Gate merges in CI
The release check is also an HTTP API, so CI can ask the same question before a merge. This GitHub Actions job fails when the gate denies the pull request:
name: AI CodeOps release gate
on: pull_request
jobs:
gate:
runs-on: ubuntu-latest
steps:
- name: Ask the release gate
env:
AICODEOPS_API_KEY: ${{ secrets.AICODEOPS_API_KEY }}
PR_URL: ${{ github.event.pull_request.html_url }}
run: |
curl -sf -X POST "https://console.aicodeops.dev/api/release/check" \
-H "Authorization: Bearer $AICODEOPS_API_KEY" \
-H "Content-Type: application/json" \
-d "{\"pullRequestURL\":\"$PR_URL\"}" > gate.json
jq -r '.summary' gate.json
jq -e '.allowed == true' gate.json
The endpoint answers 200 with allowed set to true or false, a summary and reasons. You can add a coverage floor, required workflows, disallowed licenses and a required staging deployment; the fields are on the API page. Remember what it means as a required check: a pull request no AI CodeOps session made is denied, including one Claude Code opened by itself.
Limits
- 120 MCP requests a minute from one address; the CI check allows 60 a minute per workspace.
- The MCP server is stateless and sends no notifications, so Claude Code polls
get_sessionto follow a session. - Workspace API keys only. OAuth sign-in isn't supported yet.
Getting started
- Create a free account: AI CodeOps is in open beta and runs in your browser.
- Connect your Git host and create a project, using the quickstart.
- Create an API key and add the server to Claude Code as above.
Using another coding agent? See AI CodeOps for Codex, Cursor or GitHub Copilot. For the other direction, where AI CodeOps sessions call your MCP servers, see AI CodeOps and MCP.
Frequently asked questions
Does AI CodeOps review the pull requests Claude Code opens?
No. AI CodeOps gates the changes its own sessions make. A pull request Claude Code opens by itself isn't reviewed, and the release check denies it because no session made it. To gate the work, hand the task to an AI CodeOps session from Claude Code.
How does Claude Code sign in to AI CodeOps?
With a workspace API key sent as a Bearer header. The key acts as the member who created it, with that member's role and budget. OAuth sign-in isn't supported yet.
Can Claude Code start sessions without asking me?
Only with a key whose scope lists Start sessions from the MCP server. A key with no scope can use the four read tools and nothing more.
Can I share the setup with my team?
Yes. Add the server with --scope project and Claude Code writes it to .mcp.json in the repository. Keep the key itself in an environment variable, not in the file.