From 931f73b09a83ae3cb3fa76992e11da07e00c24e9 Mon Sep 17 00:00:00 2001 From: mrinal Date: Tue, 3 Nov 2026 20:54:00 +0000 Subject: [PATCH] refactor(mcp): name provider-only catalog records explicitly Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> --- litellm/proxy/mcp_server/catalog.py | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/litellm/proxy/mcp_server/catalog.py b/litellm/proxy/mcp_server/catalog.py index 01ec5ea41af..4c44be6e4a4 100644 --- a/litellm/proxy/mcp_server/catalog.py +++ b/litellm/proxy/mcp_server/catalog.py @@ -126,7 +126,7 @@ def validate_provider_registration_conflicts( def _snapshot( manager: MCPServerManager, database_identity: str, - registration_only_servers: Mapping[str, LiteLLM_MCPServerTable], + provider_native_servers: Mapping[str, LiteLLM_MCPServerTable], ) -> CatalogSnapshot: from litellm.proxy.mcp_server.tool_registry import global_mcp_tool_registry @@ -150,7 +150,7 @@ def _snapshot( { **{key: value.model_copy(deep=True) for key, value in manager.catalog.config_registrations.items()}, **{key: manager.build_mcp_server_table(value) for key, value in servers.items()}, - **{key: value.model_copy(deep=True) for key, value in registration_only_servers.items()}, + **{key: value.model_copy(deep=True) for key, value in provider_native_servers.items()}, } ), ) @@ -161,7 +161,7 @@ class CatalogSnapshots: self.manager = manager self._refresh_lock = asyncio.Lock() self._database_identity = "" - self._registration_only_servers: Mapping[str, LiteLLM_MCPServerTable] = MappingProxyType({}) + self._provider_native_servers: Mapping[str, LiteLLM_MCPServerTable] = MappingProxyType({}) self.config_registrations: Mapping[str, LiteLLM_MCPServerTable] = MappingProxyType({}) self._arrival_ticket = 0 self._completed_ticket = 0 @@ -179,7 +179,7 @@ class CatalogSnapshots: def validate_config_inventory(self, servers: Sequence[LiteLLM_MCPServerTable]) -> None: database_servers: Final = ( *(self.manager.build_mcp_server_table(server) for server in self.manager.registry.values()), - *self._registration_only_servers.values(), + *self._provider_native_servers.values(), ) validate_provider_registration_conflicts(servers, database_servers) @@ -215,11 +215,11 @@ class CatalogSnapshots: from litellm.proxy.proxy_server import prisma_client if prisma_client is None: - return _snapshot(self.manager, self._database_identity, self._registration_only_servers) + return _snapshot(self.manager, self._database_identity, self._provider_native_servers) from litellm.proxy.proxy_server import should_load_db_object if not should_load_db_object("mcp"): - return _snapshot(self.manager, self._database_identity, self._registration_only_servers) + return _snapshot(self.manager, self._database_identity, self._provider_native_servers) from litellm.proxy.mcp_server.db import get_mcp_catalog_revision try: @@ -360,7 +360,7 @@ class CatalogSnapshots: self._completed_ticket = covered raise else: - self._shared_snapshot = _snapshot(self.manager, self._database_identity, self._registration_only_servers) + self._shared_snapshot = _snapshot(self.manager, self._database_identity, self._provider_native_servers) self._applied_revision = revision self._completed_ticket = covered finally: @@ -562,7 +562,7 @@ class CatalogSnapshots: ).hexdigest() verbose_logger.info("Found %s MCP servers in database", len(raw_rows)) - registration_only_servers: Final = MappingProxyType( + provider_native_servers: Final = MappingProxyType( { server.server_id: server for server in ( @@ -576,7 +576,7 @@ class CatalogSnapshots: *self.config_registrations.values(), *(self.manager.build_mcp_server_table(value) for value in self.manager.config_mcp_servers.values()), ) - if self.config_registrations or registration_only_servers: + if self.config_registrations or provider_native_servers: validate_provider_registration_conflicts( config_servers, tuple(LiteLLM_MCPServerTable.model_validate(row.model_dump()) for row in raw_rows) ) @@ -659,7 +659,7 @@ class CatalogSnapshots: ", ".join(sorted(capturing_config_server_ids)), ) self._warned_capturing_config_server_ids = capturing_config_server_ids - self._registration_only_servers = registration_only_servers + self._provider_native_servers = provider_native_servers def catalog_operation(