Model Context Protocol (MCP) server for Opik, the open-source LLM observability and evaluation platform, built by Comet. Read traces, log scores, and manage prompts from Claude Code, Cursor, or VS Code.
10K+
13 Tools
Version 4.43 or later needs to be installed to add the server automatically
Use cases
About
Model Context Protocol (MCP) implementation for Opik enabling seamless IDE integration and unified access to prompts, projects, traces, and metrics. .
| Attribute | Details |
|---|---|
| Docker Image | mcp/opik |
| Author | comet-ml |
| Repository | https://github.com/comet-ml/opik-mcp |
| Attribute | Details |
|---|---|
| Dockerfile | https://github.com/comet-ml/opik-mcp/blob/ea3b4862c5d904fd51cacf61a28abf4791864d1e/Dockerfile |
| Commit | ea3b4862c5d904fd51cacf61a28abf4791864d1e |
| Docker Image built by | Docker Inc. |
| Docker Scout Health Score | |
| Verify Signature | COSIGN_REPOSITORY=mcp/signatures cosign verify mcp/opik --key https://raw.githubusercontent.com/docker/keyring/refs/heads/main/public/mcp/latest.pub |
| Licence | Apache License 2.0 |
| Tools provided by this Server | Short Description |
|---|---|
add-trace-feedback | Add feedback scores to a trace for quality evaluation and monitoring. |
create-project | Create a new project |
create-prompt | Create a new prompt |
get-prompt-version | Retrieve a specific version of a prompt |
get-prompts | Get a list of prompts with optional filtering |
get-trace-by-id | Get detailed information about a specific trace including input, output, metadata, and timing information |
get-trace-stats | Get aggregated statistics for traces including counts, costs, token usage, and performance metrics over time |
get-trace-threads | Get trace threads (conversation groupings) to view related traces that belong to the same conversation or session |
list-projects | Get a list of projects with optional filtering |
list-traces | Get a list of traces from a project. |
opik-integration-docs | Provides detailed documentation on how to integrate Opik with your LLM application |
save-prompt-version | Save a new version of a prompt |
search-traces | Advanced search for traces with complex filtering and query capabilities |
add-trace-feedbackAdd feedback scores to a trace for quality evaluation and monitoring. Useful for rating trace quality, relevance, or custom metrics
| Parameters | Type | Description |
|---|---|---|
scores | array | Array of feedback scores to add. Each score should have a name and value between 0-1 |
traceId | string | ID of the trace to add feedback to |
workspaceName | stringoptional | Workspace name to use instead of the default |
create-projectCreate a new project
| Parameters | Type | Description |
|---|---|---|
name | string | Name of the project |
description | stringoptional | Description of the project |
workspaceName | stringoptional | Workspace name to use instead of the default |
create-promptCreate a new prompt
| Parameters | Type | Description |
|---|---|---|
name | string | Name of the prompt |
description | stringoptional | Description of the prompt |
tags | arrayoptional | List of tags for the prompt |
get-prompt-versionRetrieve a specific version of a prompt
| Parameters | Type | Description |
|---|---|---|
name | string | Name of the prompt |
commit | stringoptional | Specific commit/version to retrieve |
get-promptsGet a list of prompts with optional filtering
| Parameters | Type | Description |
|---|---|---|
name | stringoptional | Filter by prompt name |
page | numberoptional | Page number for pagination |
size | numberoptional | Number of items per page |
get-trace-by-idGet detailed information about a specific trace including input, output, metadata, and timing information
| Parameters | Type | Description |
|---|---|---|
traceId | string | ID of the trace to fetch (UUID format, e.g. "123e4567-e89b-12d3-a456-426614174000") |
workspaceName | stringoptional | Workspace name to use instead of the default workspace |
get-trace-statsGet aggregated statistics for traces including counts, costs, token usage, and performance metrics over time
| Parameters | Type | Description |
|---|---|---|
endDate | stringoptional | End date in ISO format (YYYY-MM-DD). Example: "2024-01-31" |
projectId | stringoptional | Project ID to filter traces. If not provided, will use the first available project |
projectName | stringoptional | Project name to filter traces (alternative to projectId) |
startDate | stringoptional | Start date in ISO format (YYYY-MM-DD). Example: "2024-01-01" |
workspaceName | stringoptional | Workspace name to use instead of the default workspace |
get-trace-threadsGet trace threads (conversation groupings) to view related traces that belong to the same conversation or session
| Parameters | Type | Description |
|---|---|---|
page | numberoptional | Page number for pagination |
projectId | stringoptional | Project ID to filter threads |
projectName | stringoptional | Project name to filter threads |
size | numberoptional | Number of threads per page |
threadId | stringoptional | Specific thread ID to retrieve (useful for getting all traces in a conversation) |
workspaceName | stringoptional | Workspace name to use instead of the default |
list-projectsGet a list of projects with optional filtering
| Parameters | Type | Description |
|---|---|---|
page | numberoptional | Page number for pagination |
size | numberoptional | Number of items per page |
workspaceName | stringoptional | Workspace name to use instead of the default |
list-tracesGet a list of traces from a project. Use this for basic trace retrieval and overview
| Parameters | Type | Description |
|---|---|---|
page | numberoptional | Page number for pagination (starts at 1) |
projectId | stringoptional | Project ID to filter traces. If not provided, will use the first available project |
projectName | stringoptional | Project name to filter traces (alternative to projectId). Example: "My AI Assistant" |
size | numberoptional | Number of traces per page (1-100, default 10) |
workspaceName | stringoptional | Workspace name to use instead of the default workspace |
opik-integration-docsProvides detailed documentation on how to integrate Opik with your LLM application
save-prompt-versionSave a new version of a prompt
| Parameters | Type | Description |
|---|---|---|
name | string | Name of the prompt |
template | string | Template content for the prompt version |
change_description | stringoptional | Description of changes in this version |
metadata | objectoptional | Additional metadata for the prompt version |
type | stringoptional | Template type |
search-tracesAdvanced search for traces with complex filtering and query capabilities
| Parameters | Type | Description |
|---|---|---|
filters | objectoptional | Advanced filters as key-value pairs. Examples: {"status": "error"}, {"model": "gpt-4"}, {"duration_ms": {"$gt": 1000}} |
page | numberoptional | Page number for pagination |
projectId | stringoptional | Project ID to search within |
projectName | stringoptional | Project name to search within |
query | stringoptional | Text query to search in trace names, inputs, outputs, and metadata. Example: "error" or "user_query:hello" |
size | numberoptional | Number of traces per page (max 100) |
sortBy | stringoptional | Field to sort by. Options: "created_at", "duration", "name", "status" |
sortOrder | stringoptional | Sort order: ascending or descending |
workspaceName | stringoptional | Workspace name to use instead of the default |
{
"mcpServers": {
"opik": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"OPIK_API_BASE_URL",
"-e",
"OPIK_WORKSPACE_NAME",
"-e",
"OPIK_API_KEY",
"mcp/opik"
],
"env": {
"OPIK_API_BASE_URL": "https://www.comet.com/opik/api",
"OPIK_WORKSPACE_NAME": "default",
"OPIK_API_KEY": "your_api_key"
}
}
}
}