From 6ca01a54e893d40fa24dfa52af50857c48ceb7ef Mon Sep 17 00:00:00 2001 From: Ishaan Jaffer Date: Thu, 19 Feb 2026 09:48:59 -0800 Subject: [PATCH] add spec_path to MCP request types and table model --- litellm/proxy/_types.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/litellm/proxy/_types.py b/litellm/proxy/_types.py index 9a208d48392..337255d826d 100644 --- a/litellm/proxy/_types.py +++ b/litellm/proxy/_types.py @@ -1077,6 +1077,7 @@ class NewMCPServerRequest(LiteLLMPydanticObjectBase): auth_type: Optional[MCPAuthType] = None credentials: Optional[MCPCredentials] = None url: Optional[str] = None + spec_path: Optional[str] = None mcp_info: Optional[MCPInfo] = None mcp_access_groups: List[str] = Field(default_factory=list) allowed_tools: Optional[List[str]] = None @@ -1103,8 +1104,8 @@ class NewMCPServerRequest(LiteLLMPydanticObjectBase): if not values.get("args"): raise ValueError("args is required for stdio transport") elif transport in [MCPTransport.http, MCPTransport.sse]: - if not values.get("url"): - raise ValueError("url is required for HTTP/SSE transport") + if not values.get("url") and not values.get("spec_path"): + raise ValueError("url or spec_path is required for HTTP/SSE transport") return values @model_validator(mode="before") @@ -1139,6 +1140,7 @@ class UpdateMCPServerRequest(LiteLLMPydanticObjectBase): auth_type: Optional[MCPAuthType] = None credentials: Optional[MCPCredentials] = None url: Optional[str] = None + spec_path: Optional[str] = None mcp_info: Optional[MCPInfo] = None mcp_access_groups: List[str] = Field(default_factory=list) allowed_tools: Optional[List[str]] = None @@ -1165,8 +1167,8 @@ class UpdateMCPServerRequest(LiteLLMPydanticObjectBase): if not values.get("args"): raise ValueError("args is required for stdio transport") elif transport in [MCPTransport.http, MCPTransport.sse]: - if not values.get("url"): - raise ValueError("url is required for HTTP/SSE transport") + if not values.get("url") and not values.get("spec_path"): + raise ValueError("url or spec_path is required for HTTP/SSE transport") return values @@ -1178,6 +1180,7 @@ class LiteLLM_MCPServerTable(LiteLLMPydanticObjectBase): alias: Optional[str] = None description: Optional[str] = None url: Optional[str] = None + spec_path: Optional[str] = None transport: MCPTransportType auth_type: Optional[MCPAuthType] = None credentials: Optional[MCPCredentials] = None