From 07564c8f21a96fd12ab9944c5cb855953a6051cb Mon Sep 17 00:00:00 2001 From: ncttjz Date: Thu, 23 Jul 2026 18:06:39 +0700 Subject: [PATCH] perf: Avoid scanning installed packages when MCP SDK is not installed (#6769) When mcp SDK is not installed, module-level package_version('mcp') at the top of sentry_sdk/integrations/mcp.py scans every installed distribution, slowing sentry_sdk.init() by ~200ms in environments with hundreds of packages. Move the call below the ry/except ImportError guard so it only runs when import mcp succeeds. Environments without mcp skip the scan entirely. Co-Authored-By: Claude Opus 4.6 --- sentry_sdk/integrations/mcp.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sentry_sdk/integrations/mcp.py b/sentry_sdk/integrations/mcp.py index 9a4049bf10..e935533477 100644 --- a/sentry_sdk/integrations/mcp.py +++ b/sentry_sdk/integrations/mcp.py @@ -20,14 +20,14 @@ from sentry_sdk.tracing_utils import has_span_streaming_enabled from sentry_sdk.utils import nullcontext, package_version, safe_serialize -MCP_PACKAGE_VERSION = package_version("mcp") - try: from mcp.server.lowlevel import Server from mcp.server.streamable_http import ( StreamableHTTPServerTransport, ) + MCP_PACKAGE_VERSION = package_version("mcp") + if MCP_PACKAGE_VERSION and MCP_PACKAGE_VERSION < (2, 0, 0): from mcp.server.lowlevel.server import ( # type: ignore[attr-defined] request_ctx,