A Model Context Protocol (MCP) implementation for the Opik platform with support for multiple transport mechanisms, enabling seamless integration with IDEs and providing a unified interface for Opik's capabilities.
Website • Slack community • Twitter • Documentation
⚠️ Notice: SSE (Server-Sent Events) transport support is currently experimental and untested. For production use, we recommend using the direct process execution approach shown in the IDE integration examples.
Opik MCP Server is an open-source implementation of the Model Context Protocol for the Opik platform. It provides a unified interface for interacting with Opik's capabilities, supporting multiple transport mechanisms for flexible integration into various environments.
You can use Opik MCP Server for:
-
IDE Integration:
- Seamlessly integrate with Cursor and other compatible IDEs
- Provide direct access to Opik's capabilities from your development environment
-
Unified API Access:
- Access all Opik features through a standardized protocol
- Leverage multiple transport options (stdio, SSE) for different integration scenarios
-
Platform Management:
- Manage prompts, projects, traces, and metrics through a consistent interface
- Organize and monitor your LLM applications efficiently
- Prompts Management: Create, list, update, and delete prompts
- Projects/Workspaces Management: Organize and manage projects
- Traces: Track and analyze trace data
- Metrics: Gather and query metrics data
To integrate with Cursor IDE, open to the Cursor settings page and navigate
to the Features tab. If you scroll down to the MCP section you will see the
button + Add new MCP server
that will allow you to add the Opik MCP server.
Once the New MCP server
modal is open, select command
as the server type and
enter the command: npx -y opik-mcp --apiKey YOUR_API_KEY
.
Alternatively, you can create a .cursor/mcp.json
in your project and add:
{
"mcpServers": {
"opik": {
"command": "npx",
"args": [
"-y",
"opik-mcp",
"--apiKey",
"YOUR_API_KEY"
]
}
}
}
Note: If you are using the Open-Source version of Opik, you will need to specify
the apiBaseUrl
parameter as http://localhost:5173/api
.
To install the MCP server in Windsurf, you will need to open the Windsurf settings
and navigate to the MCP section. From there, click on View raw config
and update
the configuration object to be:
{
"mcpServers": {
"opik": {
"command": "npx",
"args": [
"-y",
"opik-mcp",
"--apiKey",
"YOUR_API_KEY"
]
}
}
}
Note: If you are using the Open-Source version of Opik, you will need to specify
the apiBaseUrl
parameter as http://localhost:5173/api
.
# Clone the repository
git clone https://github.com/comet-ml/opik-mcp.git
cd opik-mcp
# Install dependencies and build
npm install
npm run build
Configuration
Create a .env
file based on the example:
cp .env.example .env
# Edit .env with your specific configuration
Starting the Server
# Start with stdio transport (default)
npm run start:stdio
# Start with SSE transport for network access (experimental)
npm run start:sse
Ideal for local integration where the client and server run on the same machine.
make start-stdio
Enables remote access and multiple simultaneous clients over HTTP. Note that this transport option is experimental.
make start-sse
For detailed information about the SSE transport, see docs/sse-transport.md.
# Run all tests
npm test
# Run specific test suite
npm test -- tests/transports/sse-transport.test.ts
This project uses pre-commit hooks to ensure code quality:
# Run pre-commit checks manually
make precommit
- SSE Transport - Details on using the SSE transport
- API Reference - Complete API documentation
- Configuration - Advanced configuration options
- IDE Integration - Integration with Cursor IDE
If you use this project in your research, please cite it as follows:
Comet ML, Inc, Koc, V., & Boiko, Y. (2025). Opik MCP Server. Github. https://doi.org/10.5281/zenodo.15411156
Or use the following BibTeX entry:
@software{CometML_Opik_MCP_Server_2025,
author = {{Comet ML, Inc} and Koc, V. and Boiko, Y.},
title = {{Opik MCP Server}},
year = {2025},
publisher = {GitHub},
url = {https://doi.org/10.5281/zenodo.15411156},
doi = {10.5281/zenodo.15411156}
}
You can also find citation information in the CITATION.cff
file in this repository.
Apache 2.0