opik-cloud
Ships with opik-mcp: The official Model Context Protocol (MCP) server for Opik, the open-source LLM observability and evaluation platform, built by Comet.
Claude Code
> /plugin marketplace add comet-ml/opik-mcp> /plugin install opik@opik
Codex
$ codex mcp add opik-cloud --url https://www.comet.com/opik/api/v1/mcp
Cursor
{ "mcpServers": { "opik-cloud": { "url": "https://www.comet.com/opik/api/v1/mcp" } } }
Add it to mcp.json.
Gemini CLI
$ gemini mcp add --transport http opik-cloud https://www.comet.com/opik/api/v1/mcp
GitHub Copilot
$ copilot mcp add --transport http opik-cloud https://www.comet.com/opik/api/v1/mcp
OpenCode
{ "mcp": { "opik-cloud": { "type": "remote", "url": "https://www.comet.com/opik/api/v1/mcp" } } }
Add it to opencode.json.
Windsurf
{ "mcpServers": { "opik-cloud": { "serverUrl": "https://www.comet.com/opik/api/v1/mcp" } } }
Add it to mcp_config.json.
Security report
Low risk
Known flaws
Not published
Signed build
Not published
Maintained
Nov 14, 2026
Last push
Licence
Apache-2.0
Runs as
Remote
www.comet.com
Deprecated
Not published
Signals from public registries, not an audit. Checked Nov 15, 2026.
opik-mcp README
Opik MCP Server
The official Model Context Protocol (MCP) server for Opik, the open-source LLM observability and evaluation platform, built by Comet. Plug your AI host (Claude Code, Cursor, VS Code Copilot, Codex, opencode, or any MCP client) directly into your Opik workspace: read traces, log scores, and save prompt versions, all from the chat.
Built for LLM engineers who already run Opik and want to drive it from the same AI assistant they code with.
You: "Which traces in project 'demo' failed today?"
Claude: → list(entity_type="trace", project_name="demo") → "Three traces failed…"
You: "Score trace 7f2e… 0.9 on helpfulness with reason 'great recovery'."
Claude: → write(score.create) → done
Quick start
One command sets Opik up in the AI clients on your machine, Claude Code
included. It finds your Opik (the one saved in ~/.opik.config, one running on
localhost, or it asks which), registers the MCP server, installs the Opik skill
pack, and checks the connection. On Opik Cloud there is no API key to handle:
your client signs in in the browser. It needs uv
and no Opik SDK:
uvx opik@latest mcp configure
Without a terminal, as from a coding agent or a script, name the client:
uvx opik@latest mcp configure --ai-client claude-code --skills
--ai-client also takes codex, cursor, vscode and opencode. Run that
way it uses the Opik saved in ~/.opik.config, API key included, or one
answering on localhost, and otherwise stops and asks for --deployment.
A coding agent asked to "install opik mcp" gets the full steps, including what
to ask the user, from uvx opik-mcp@latest --help. They are the same as
Install with a coding agent below.
Registering the server by hand, with the client commands under Set it up by hand, skips the check of which Opik you use and the skill pack, so it is for clients the installer doesn't support.
| Your Opik | Server | Transport | Sign-in |
|---|---|---|---|
Opik Cloud (www.comet.com) | the hosted server, run by Comet | Streamable HTTP | in the browser (OAuth); no API key |
| Self-hosted Comet, open-source Opik | the local server, this package | stdio | env vars; an API key only where the deployment needs one |
Clients load MCP servers when a session starts, so start a new session afterwards.
Setup guide, troubleshooting and FAQ: comet.com/docs/opik/mcp-server.
Opik Cloud: the hosted server
Comet runs the server at https://www.comet.com/opik/api/v1/mcp. Your client
connects over HTTP and opens a browser sign-in the first time. There is nothing
to install, no API key, and no workspace to set: the server works in the
workspace you pick when you sign in. After adding it, start a new session and
ask: "list my Opik projects".
The Quick start command sets this up for Claude Code, Codex, Cursor, VS Code Copilot and opencode, with the skill pack. In Claude Code, the plugin does the same in one command. The buttons below add it to Cursor or VS Code in one click; other ways to register it by hand are under Set it up by hand.
Claude Code plugin
The opik plugin installs the Opik skills and registers the hosted MCP server
for Opik Cloud:
/plugin install opik --marketplace comet-ml/opik-mcp
On Claude Code before 2.1.275, run /plugin marketplace add comet-ml/opik-mcp,
then /plugin install opik@opik. The skills load as opik:<skill>, such as
opik:opik-instrument, and /mcp shows the server as plugin:opik:opik-cloud.
The server is Opik Cloud's. Start a new session, then sign in from /mcp →
Authenticate. For a self-hosted Comet that runs the MCP OAuth server, add
it with claude mcp add --transport http opik-mcp https://<host>/opik/api/v1/mcp;
for any other self-hosted or open-source Opik, use the
Quick start command. Then disable plugin:opik:opik-cloud in
/mcp. Claude Code does not update a plugin from
this marketplace on its own: run /plugin marketplace update opik, then
/plugin update opik@opik, or turn on auto-update for the marketplace in
/plugin. This marketplace serves main, which can be ahead of the last
release. An update arrives only when the plugin's version changes, at each
release.
If you added opik-mcp before at the same URL, Claude Code keeps your copy and
skips the plugin's. If yours is another server, such as the local
uvx opik-mcp, both load: run claude mcp remove opik-mcp to keep only the
plugin's. Skills from the skill pack also load next to the plugin's copies;
remove them with npx skills remove --global --agent claude-code, which asks
which ones.
Self-hosted and open-source Opik: the local server
opik-mcp runs on your machine: the client starts it with uvx opik-mcp and
talks to it over stdio. The Quick start command sets it up from
your ~/.opik.config or a local Opik; to register it by hand, see
Set it up by hand. Install uv once; it
fetches the package, and Python 3.13 if needed, on first use:
curl -LsSf https://astral.sh/uv/install.sh | sh # macOS / Linux
# or: brew install uv
uvx opik-mcp reuses the copy uv has cached, so it starts quickly;
uv cache clean opik-mcp makes the next start fetch the newest release.
uvx opik-mcp@latest asks PyPI on every start, which adds about a second and a
half. Codex waits mcp_optional_startup_grace_ms (1 s by default) for servers
before it builds the first tool list, so a slower start can leave the tools out
of the first turn. The one-off commands in this README (opik mcp configure,
opik mcp status, --help, --check) carry @latest, so they never run a
copy uv cached months ago.
Env vars point the server at your Opik:
| Your Opik | Env vars |
|---|---|
| Open-source Opik on this machine | OPIK_URL=http://localhost:5173/api |
| Open-source Opik on a server | OPIK_URL=https://<host>/api, plus OPIK_API_KEY only if the deployment adds authentication |
Self-hosted Comet platform (the Opik UI is at https://<host>/opik) | COMET_URL_OVERRIDE=https://<host>, OPIK_WORKSPACE, OPIK_API_KEY |
- Open source serves its API at
/apiand has one workspace,default, so it needs noOPIK_WORKSPACE.COMET_URL_OVERRIDEwould point the server at/opik/api, which open source does not serve. - A self-hosted Comet has named workspaces. Set
OPIK_WORKSPACEto the segment after/opik/in your Opik URL; left out, reads come from your account's default workspace, with no error to say so. - A self-hosted Comet that runs the MCP OAuth server (off by default) can use
the hosted flow instead, at
https://<host>/opik/api/v1/mcp. - Substitute every value. The server refuses a placeholder workspace such as
<your-workspace>or${input:OPIK_WORKSPACE}; a placeholder URL is sent as-is and fails to connect. OPIK_MCP_ANALYTICS_SOURCE=""in theenvblock opts a self-hosted install out of the cloud-Comet source label on telemetry events.
Before adding the server to a client, check the settings: run it with the same
env and --check. It makes one call to Opik and prints the workspace and how
many projects it sees, or what to fix with a link to the docs, and exits 0 or 1.
A client can't tell you this before a new session: Claude Code shows Connected
even with a wrong key, and Codex starts nothing until then.
OPIK_URL=http://localhost:5173/api uvx opik-mcp@latest --check
Then register it with your client: the local server, by hand.
Install with a coding agent
For an AI agent asked to install the server, as in "install opik mcp". The aim
is the server registered for the user's Opik, the Opik skill pack installed,
and the user signed in. Work out which Opik from this machine, and ask the user
only what it can't tell you: one question per message, each answer before the
next. The installer in step 3 does the whole setup in one run, so settle steps
1 and 2 before you run it. uvx opik-mcp@latest --help prints these steps.
-
See what is there.
uvx opik@latest mcp statusIt shows the Opik saved in
~/.opik.config(URL and workspace, never the key) and the clients that already have the server. In Claude Code, also runclaude mcp list: it shows claude.ai connectors and entries under other names. It also prints each entry's command, which for an old npx entry can hold an API key: don't repeat it.- A server for
https://www.comet.com/opik/api/v1/mcpunder any name, such as a claude.ai connector, means it is registered: don't add a second one. Install the skill pack on its own withnpx skills add comet-ml/opik-skills -g --all. Go to step 4 if the server shows! Needs authentication. - The installer replaces an existing
opik-mcpentry without asking, such as one for the old npx server. Ask the user before you run it.
- A server for
-
Find the user's Opik.
- Saved in
~/.opik.config: use it, and tell the user which one you are setting up. The installer reads it, API key included, so don't ask for a key. - No
~/.opik.config:curl -s http://localhost:5173/api/is-alive/ping. An answer is an open-source Opik on this machine. In a sandboxed shell, such as Codex's, no answer can mean the shell has no network rather than no Opik. - Neither: ask, and don't pick one yourself. An Opik URL in the
project, such as
OPIK_URL_OVERRIDEin.env, makes it a yes-or-no question. Otherwise: "Which Opik do you use: Opik Cloud (www.comet.com), an open-source Opik (its URL), or a self-hosted Comet platform (its URL and workspace)?"
- Saved in
-
Run the installer for the client you run in. It installs the Opik skill pack with the server, with or without
--skills; keep the flag in a command you give the user to run later. On Opik Cloud it opens the browser sign-in and waits a minute for it, so tell the user first.uvx opik@latest mcp configure --ai-client claude-code --skills--ai-clientalso takescodex,cursor,vscodeandopencode. For an Opik saved in~/.opik.configor running on localhost, run it as it is:--deploymentsets the saved config aside, API key included. With neither, add the flag for the Opik the user named in step 2:The user's Opik Add Opik Cloud, www.comet.com--deployment cloudOpen-source Opik --deployment local, and--url <url>when it is not on localhostA self-hosted Comet platform, /opik/in its URL--deployment self-hosted --url <url> --workspace <workspace>, withOPIK_API_KEYin the shellIf it fails, as when the Opik doesn't answer, tell the user what it printed and what to check, such as a VPN or the URL. Don't switch to another Opik.
-
Sign-in, for Opik Cloud. If the installer reports the server as not
More MCP servers from other plugins.
Questions about opik-cloud.
- Which coding agents can use opik-cloud?
- opik-cloud works in any agent that reads an MCP config file: Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf. Each agent reads it from its own file; this page names the file for each one.
- How do I add opik-cloud to Claude Code?
- Run these in order, one at a time. 1. In Claude Code: /plugin marketplace add comet-ml/opik-mcp 2. In Claude Code: /plugin install opik@opik
- Is opik-cloud safe to install?
- Low risk. Signals from public registries, not an audit.

