Comet Mcp — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Comet Mcp (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
A comprehensive Model Context Protocol (MCP) server that provides tools for interacting with Comet ML API. This server enables seamless integration with Comet ML's experiment tracking platform through a standardized protocol.
comet_ml.API() instance with robust error handlingpip install comet-mcp --upgradeYou can run the Comet MCP server using Docker to avoid installing Python dependencies on your system.
docker build -t comet-mcp .The server uses standard comet_ml configuration:
comet init; orExample:
export COMET_API_KEY=your_comet_api_key_here
# Optional: Set default workspace (if not provided, uses your default)
export COMET_WORKSPACE=your_workspace_nameexperiment_spreadsheet) create CSV files that are available as MCP resourcesThe server provides access to generated files (like CSV exports) through the MCP resources API. When a tool creates a file, it returns a resource URI that can be accessed using the MCP read_resource method.
Accessing Resources:
resource_uri in their responseread_resource method with the URI to read the file contentExample:
# After calling experiment_spreadsheet, you'll get a resource_uri
# Access it using:
read_resource(uri="file://comet-mcp/experiment_spreadsheet_20251206_103508.csv")Most MCP clients (like Claude Desktop, Cursor, etc.) will automatically handle resource access when you reference the resource URI in your conversation.
Run the server to provide tools to MCP clients:
# Start the MCP server
comet-mcpThe server will:
Create a configuration for your AI system. For example:
Local Installation:
{
"servers": [
{
"name": "comet-mcp",
"description": "Comet ML MCP server for experiment management",
"command": "comet-mcp",
"env": {
"COMET_API_KEY": "${COMET_API_KEY}"
}
}
]
}Docker Installation (Alternative):
{
"mcpServers": {
"comet-mcp": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"COMET_API_KEY",
"-e",
"COMET_WORKSPACE",
"comet-mcp",
"comet-mcp",
"--transport",
"stdio"
],
"env": {
"COMET_API_KEY": "your_api_key_here",
"COMET_WORKSPACE": "your_workspace_name"
}
}
}
}comet-mcp supports "stdio" and "sse" transport modes.
usage: comet-mcp [-h] [--transport {stdio,sse}] [--host HOST] [--port PORT]
Comet ML MCP Server
options:
-h, --help show this help message and exit
--transport {stdio,sse}
Transport method to use (default: stdio)
--host HOST Host for SSE transport (default: localhost)
--port PORT Port for SSE transport (default: 8000)The Comet MCP server includes built-in OpenTelemetry instrumentation for distributed tracing and structured logging. This provides visibility into server operations, tool calls, and Comet ML API interactions.
Telemetry is enabled by default but can be configured via environment variables.
#### General Configuration
# Enable/disable telemetry (default: true)
export OTEL_ENABLED=true
# Service name (default: comet-mcp)
export OTEL_SERVICE_NAME=comet-mcp
# Service version (default: 1.2.0)
export OTEL_SERVICE_VERSION=1.2.0#### File Export Configuration
Export traces and logs to local files in JSON Lines format:
# Path for trace export file (default: traces.jsonl, empty to disable)
export OTEL_TRACES_FILE=traces.jsonl
# Path for log export file (default: logs.jsonl, empty to disable)
export OTEL_LOGS_FILE=logs.jsonlFile Format:
Example: Reading trace files:
import json
with open("traces.jsonl", "r") as f:
for line in f:
span = json.loads(line)
print(f"Span: {span['name']}, Duration: {span['end_time_unix_nano'] - span['start_time_unix_nano']}")#### Opik Export Configuration
Export traces and logs to Opik (Comet's observability platform) for cloud-based observability.
Option 1: Using OTLP Environment Variables
# Opik endpoint
export OTEL_EXPORTER_OTLP_ENDPOINT="https://www.comet.com/opik/api/v1/private/otel"
# Headers (comma-separated key=value pairs)
export OTEL_EXPORTER_OTLP_HEADERS="Authorization=your-api-key,projectName=your-project,Comet-Workspace=your-workspace"Option 2: Using Individual Variables
# Opik endpoint (defaults to Comet Cloud if not set)
export OPIK_ENDPOINT="https://www.comet.com/opik/api/v1/private/otel"
# Opik API key
export OPIK_API_KEY=your-api-key
# Opik project name
export OPIK_PROJECT_NAME=your-project
# Comet workspace name
export OPIK_WORKSPACE=your-workspaceFor Self-Hosted Opik:
export OTEL_EXPORTER_OTLP_ENDPOINT="http://localhost:5173/api/v1/private/otel"For Enterprise Deployment:
export OTEL_EXPORTER_OTLP_ENDPOINT="https://<comet-deployment-url>/opik/api/v1/private/otel"
export OTEL_EXPORTER_OTLP_HEADERS="Authorization=your-api-key,projectName=your-project,Comet-Workspace=your-workspace"File-only export:
export OTEL_TRACES_FILE=traces.jsonl
export OTEL_LOGS_FILE=logs.jsonl
# Opik export disabled (no endpoint configured)Opik-only export:
export OTEL_EXPORTER_OTLP_ENDPOINT="https://www.comet.com/opik/api/v1/private/otel"
export OPIK_API_KEY=your-api-key
export OPIK_PROJECT_NAME=your-project
export OPIK_WORKSPACE=your-workspace
# File export disabled (empty file paths)
export OTEL_TRACES_FILE=""
export OTEL_LOGS_FILE=""Both file and Opik export:
# File export
export OTEL_TRACES_FILE=traces.jsonl
export OTEL_LOGS_FILE=logs.jsonl
# Opik export
export OTEL_EXPORTER_OTLP_ENDPOINT="https://www.comet.com/opik/api/v1/private/otel"
export OPIK_API_KEY=your-api-key
export OPIK_PROJECT_NAME=your-project
export OPIK_WORKSPACE=your-workspaceThe following operations are automatically instrumented:
list_tools, call_tool, list_resources, read_resource)In Opik:
comet-mcpFrom Files:
jq to parse JSON Lines files: cat traces.jsonl | jq '.name, .attributes'Telemetry not appearing:
OTEL_ENABLED=true (or not set, defaults to true)Opik export errors:
For more information about Opik, see the Opik OpenTelemetry documentation.
For complete details on testing this (or any MCP server) see examples/README.
This project is licensed under the MIT License - see the LICENSE file for details.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.