# Clients

OptBench is a remote MCP server (Streamable HTTP) at `https://app.optbench.com/mcp`. Any client that speaks MCP over HTTP can use it. Sign in with OAuth (recommended, your browser opens to approve) or send a workspace key ([MCP server](/docs/mcp-server)).

## Claude Code

```bash
claude mcp add --transport http optbench https://app.optbench.com/mcp
```

Then run `/mcp`, choose optbench, Authenticate. To share the server with your team, add `--scope project`: that writes `.mcp.json`, which you can commit.

With a key instead (CI, headless):

```bash
claude mcp add --transport http optbench https://app.optbench.com/mcp --header "Authorization: Bearer $OPTBENCH_KEY"
```

## Claude Code plugin

One plugin with the OptBench MCP server (OAuth) and six skills: scan a repo, benchmark a use case, connect traces, write gold, read a verdict, check drift before a merge. It isn't in a public marketplace yet: you install it from a clone of the OptBench repo, where it lives in `integrations/claude-code`.

In Claude Code, from the clone, add the local marketplace and install the plugin:

```text
/plugin marketplace add ./integrations/claude-code
/plugin install optbench@optbench
```

Or load it for one session only, without installing:

```bash
claude --plugin-dir ./integrations/claude-code/optbench
```

Then run `/mcp`, choose `plugin:optbench:optbench` and sign in (your browser opens). The skills show up as `/optbench:scan-repo`, `/optbench:benchmark-use-case`, `/optbench:connect-traces`, `/optbench:write-gold`, `/optbench:read-verdict` and `/optbench:check-drift`, and Claude also picks them on its own when your request fits.

If you already added the server with `claude mcp add`, you have OptBench twice. Remove one with `claude mcp remove optbench`.

## Cursor

Add to `.cursor/mcp.json` in your repo:

```json
{
  "mcpServers": {
    "optbench": { "url": "https://app.optbench.com/mcp" }
  }
}
```

Cursor prompts you to sign in. With a key, add `"headers": { "Authorization": "Bearer ${env:OPTBENCH_KEY}" }` next to `url`.

## Codex

```bash
codex mcp add optbench --url https://app.optbench.com/mcp
```

Then `codex mcp login optbench` to sign in. Or in `~/.codex/config.toml`:

```toml
[mcp_servers.optbench]
url = "https://app.optbench.com/mcp"
```

With a key, add `bearer_token_env_var = "OPTBENCH_KEY"` to that table.

## VS Code

Add to `.vscode/mcp.json`:

```json
{
  "servers": {
    "optbench": { "type": "http", "url": "https://app.optbench.com/mcp" }
  }
}
```

## Any other client

| | |
|---|---|
| URL | `https://app.optbench.com/mcp` |
| Transport | Streamable HTTP |
| Auth | OAuth 2.1 (the server answers 401 with its metadata), or the header `Authorization: Bearer <workspace key>` |

## Check the connection

In Claude Code, `/mcp` should list optbench as connected. Then ask: "Which OptBench workspaces am I in?" (the agent calls `biy_workspaces_list`).
