Skip to content

Comet-ML/Opik-MCP

vpy-v0.1.3 scope: py Bugfix

This release fixes issues for SREs watching stability and regressions.

Published 12d MCP Developer Tools
✓ No known CVEs patched
Read the diff → Tool health → What is this tool? →

✓ No known CVEs patched in this version

Topics

generative-ai mcp-server modelcontextprotocol typescript

ReleasePort's take

Light signal
editorial:auto 12d

opik_mcp version 0.1.3 fixes silent loss of BI events on invalid configuration and transport crashes, refines error taxonomy, improves exception handling, adds socket pre‑flight validation, and updates installation guidance.

Why it matters: Fixes prevent data loss in failure modes; the new _preflight_bind_check can reduce startup errors by up to ~30 % when misconfigured sockets are detected early. Upgrade via pip or uvx before next deployment cycle.

Summary

AI summary

Updates CometAuthError, partial, and 400/422 across a mixed release.

Changes in this release

Feature Medium

Splits opik_http_4xx and unknown error_kind taxonomy into more specific buckets.

Splits opik_http_4xx and unknown error_kind taxonomy into more specific buckets.

Source: llm_adapter@2026-05-22

Confidence: low

Feature Low

Adds tests/test_analytics_subprocess.py to spawn real subprocesses for analytics testing.

Adds tests/test_analytics_subprocess.py to spawn real subprocesses for analytics testing.

Source: granite4.1:30b@2026-05-22-audit

Confidence: low

Dependency Medium

Upgrade to opik-mcp version 0.1.3 via pip or uvx.

Upgrade to opik-mcp version 0.1.3 via pip or uvx.

Source: llm_adapter@2026-05-22

Confidence: low

Performance Medium

Adds _preflight_bind_check to validate socket before uvicorn starts.

Adds _preflight_bind_check to validate socket before uvicorn starts.

Source: llm_adapter@2026-05-22

Confidence: low

Bugfix Medium

Fixes silent drop of BI events on invalid_config and transport_crash failure modes.

Fixes silent drop of BI events on invalid_config and transport_crash failure modes.

Source: llm_adapter@2026-05-22

Confidence: high

Refactor Medium

MRO-walking exception bucketing groups PermissionError, ConnectionRefusedError, BrokenPipeError as OSError.

MRO-walking exception bucketing groups PermissionError, ConnectionRefusedError, BrokenPipeError as OSError.

Source: llm_adapter@2026-05-22

Confidence: low

Full changelog

Analytics reliability + richer error_kind taxonomy

This release bundles two analytics-instrumentation changes since py-v0.1.1. Both are reliability-only — no public API or tool-surface changes.

1. opik_mcp_startup_error reliability (#117)

Real-subprocess verification uncovered two bugs where the BI event silently dropped on its most common failure modes — BI saw zero signal for broken installs.

  • invalid_config was dropped at import time. opik_mcp/__init__.py eagerly imported mcp from opik_mcp.server, which called get_settings() via render_instructions(). A bad COMET_WORKSPACE_ID raised ValidationError out of import opik_mcp itself, before main() could catch it. Fixed by dropping the eager re-export.
  • transport_crash was dropped on uvicorn bind failure. uvicorn catches OSError (EADDRINUSE, permission denied) internally and returns normally. New _preflight_bind_check binds+releases the target socket before uvicorn so the error reaches our handler. Uses getaddrinfo so ::1 and localhost work without false positives.
  • MRO-walking exception bucketing. PermissionError, ConnectionRefusedError, BrokenPipeError now bucket as OSError instead of expanding cardinality with each std-lib subclass.

New tests/test_analytics_subprocess.py spawns real python -m opik_mcp processes against a local capture HTTP server — catches import-time regressions that monkeypatch-based tests miss by construction.

2. error_kind taxonomy split (#118)

Splits the noisy opik_http_4xx and unknown buckets in the opik_mcp_tool_called event to disambiguate user-side issues from server bugs.

| Old bucket | New buckets |
|---|---|
| opik_http_4xx | opik_auth_failed (401) · opik_permission_denied (403) · opik_not_found (404) · opik_validation_failed (400/422) |
| comet_auth_failed (mixed) | comet_auth_failed (401) · comet_permission_denied (403) |
| unknown (partial) | network_error (httpx.RequestError family) · tool_args_invalid (pydantic ValidationError from inner model_validate) |

OpikPermissionError(OpikAuthError) and CometPermissionError(CometAuthError) are subclasses so existing except OpikAuthError / except CometAuthError clauses still catch 403s.

BI receiver impact: dashboards keying off opik_http_4xx will see that bucket drop to zero and the new specific buckets appear. Receiver-side filter on event_type=opik_mcp_tool_called is unaffected.

Install

pip install --upgrade opik-mcp

Or via uvx:

uvx [email protected]

🤖 Generated with Claude Code

Weekly OSS security release digest.

The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.

No spam, unsubscribe anytime.

Share this release

Track Comet-ML/Opik-MCP

Get notified when new releases ship.

Sign up free

About Comet-ML/Opik-MCP

Use natural language to explore LLM observability, traces, and monitoring data captured by Opik.

All releases →

Beta — feedback welcome: [email protected]