Advanced setup
uvx opik mcp configure covers the five clients it detects. This page is for
everything else: writing the config yourself, checking what each client points
at, and the difference between the hosted and local server.
Which setup do I need?
Start from where your Opik runs:
The hosted server does not take API keys: there are no headers to add to its URL. If all you have is an API key, use the local server.
Check what’s configured
Each AI client keeps its own copy of the MCP configuration, and it isn’t updated when your Opik configuration changes. To see what every detected client points at:
A client flagged ✗ OUT OF SYNC has drifted from your Opik configuration —
re-run uvx opik mcp configure to fix it.
A client keeps its MCP connection for the lifetime of its process. After changing your Opik configuration or re-running setup, restart your AI client so it reconnects.
Hosted or local server
uvx opik mcp configure picks the right one automatically. The difference
matters when you configure by hand:
On the local server your workspace is written into the client’s config, so it has
to be the right one. If your Opik configuration doesn’t name a workspace and your
account has more than one, setup stops rather than guessing — otherwise your
agent would read real traces from the wrong workspace and report them
confidently. Run uvx opik configure, pick a workspace, then re-run
uvx opik mcp configure.
Set it up by hand
On Opik Cloud, any MCP client can take the hosted server in one line:
add-mcp writes the URL into
Windsurf, Zed, Gemini CLI, Claude Desktop, Goose, Cline, Kiro and a dozen more.
The client has to support browser sign-in (OAuth) for remote MCP servers; without
it the hosted endpoint answers 401.
For the skill pack on a client the CLI doesn’t cover, the community
skills CLI knows the skill directories
for 76+ agents (needs Node.js):
Hosted server
Every client below asks for the same URL:
This URL is Opik Cloud’s. Dedicated and self-hosted Comet deployments don’t run
the hosted server by default, so the same path on your own address, such as
https://<company>.comet-hosted.com/opik/api/v1/mcp, answers 404 Not Found.
Use the local server there. Turning
on MCP OAuth adds the sign-in routes, not the
MCP server itself.
Claude Code
Cursor
VS Code Copilot
Codex
Claude Desktop
Or edit ~/.claude.json:
Restart Claude Code, complete the browser sign-in, then ask your assistant:
Local server
The local server runs on demand via uvx opik-mcp, with your credentials in the
client’s env block.
OPIK_WORKSPACE is optional — omit it and the server uses the default
workspace, which is correct for local and OSS installs. Set it only if you
connect to a named cloud workspace.
Claude Code
Cursor
VS Code Copilot
Codex
opencode
Or edit ~/.claude.json:
Restart Claude Code and verify with /mcp.
Self-hosted and dedicated deployments
On a dedicated or self-hosted Comet deployment, use the local server and tell it where your Comet is. You need three values:
Claude Code
Cursor
Other clients
Or edit ~/.claude.json, or .mcp.json in your project:
Restart Claude Code and verify with /mcp.
Or let the CLI write it. Set OPIK_API_KEY in your environment first; it is not
read from the command line:
Open-source Opik. Set OPIK_URL to the full Opik REST base instead, such as
http://localhost:5173/api, and leave out OPIK_API_KEY and OPIK_WORKSPACE.
Use OPIK_URL as well on a Comet deployment where Opik lives at a non-default
path.
From a script or CI
Setup writes into your AI client’s own configuration, so a run with no terminal writes nothing unless you name the client:
--ai-client takes claude-code (or claude), cursor, vscode, codex,
opencode, or all; repeat it for several. --skills installs the skill pack
without asking, --no-skills skips it.
Credentials come from ~/.opik.config, or from OPIK_API_KEY and
OPIK_WORKSPACE already in the environment, such as a CI secret — do not paste
the key into the command line. A saved Opik that needs a key and has none stops
and asks for OPIK_API_KEY. With no ~/.opik.config, no OPIK_URL_OVERRIDE
or OPIK_API_KEY, and no --deployment, it uses a local Opik that answers at
http://localhost:5173.
--deployment picks which Opik to connect to instead, and sets the saved
configuration aside for that run. cloud needs no API key: the client signs in
through the browser. self-hosted reads the key from OPIK_API_KEY only, and
the workspace from --workspace or OPIK_WORKSPACE.