diff --git a/litellm/proxy/_lazy_openapi_snapshot.json b/litellm/proxy/_lazy_openapi_snapshot.json index 06e157498aa..f3ad934c889 100644 --- a/litellm/proxy/_lazy_openapi_snapshot.json +++ b/litellm/proxy/_lazy_openapi_snapshot.json @@ -23294,6 +23294,46 @@ ] } }, + "/.well-known/oauth-authorization-server/mcp-connect/{bootstrap}": { + "get": { + "operationId": "connection_authorization_metadata__well_known_oauth_authorization_server_mcp_connect__bootstrap__get", + "parameters": [ + { + "in": "path", + "name": "bootstrap", + "required": true, + "schema": { + "title": "Bootstrap", + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": {} + } + }, + "description": "Successful Response" + }, + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + }, + "description": "Validation Error" + } + }, + "summary": "Connection Authorization Metadata", + "tags": [ + "mcp_byok_oauth" + ] + } + }, "/.well-known/oauth-authorization-server/mcp/{mcp_server_name}": { "get": { "description": "OAuth authorization server discovery endpoint using standard MCP URL pattern.\n\nStandard pattern: /mcp/{server_name}\nDiscovery path: /.well-known/oauth-authorization-server/mcp/{server_name}", @@ -23463,6 +23503,24 @@ "get": { "description": "OAuth protected resource discovery for the aggregate /mcp endpoint.\n\nThe single-segment ``/mcp`` path does not collide with any per-server PRM pattern\n(those are two-segment: ``/mcp/{server}`` or ``/{server}/mcp``), so this unambiguously\ndescribes the aggregate resource.", "operationId": "oauth_protected_resource_aggregate__well_known_oauth_protected_resource_mcp_get", + "parameters": [ + { + "in": "query", + "name": "connection", + "required": false, + "schema": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Connection" + } + } + ], "responses": { "200": { "content": { @@ -23471,6 +23529,16 @@ } }, "description": "Successful Response" + }, + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + }, + "description": "Validation Error" } }, "summary": "Oauth Protected Resource Aggregate", @@ -23619,6 +23687,24 @@ "title": "Body_authorize_complete_authorize_complete_post", "type": "object" }, + "Body_complete_connection_authorize_connection_complete_post": { + "properties": { + "decision": { + "title": "Decision", + "type": "string" + }, + "flow": { + "title": "Flow", + "type": "string" + } + }, + "required": [ + "flow", + "decision" + ], + "title": "Body_complete_connection_authorize_connection_complete_post", + "type": "object" + }, "Body_introspect_endpoint_introspect_post": { "properties": { "token": { @@ -25568,6 +25654,46 @@ ] } }, + "/.well-known/oauth-authorization-server/mcp-connect/{bootstrap}": { + "get": { + "operationId": "connection_authorization_metadata__well_known_oauth_authorization_server_mcp_connect__bootstrap__get_2", + "parameters": [ + { + "in": "path", + "name": "bootstrap", + "required": true, + "schema": { + "title": "Bootstrap", + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": {} + } + }, + "description": "Successful Response" + }, + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + }, + "description": "Validation Error" + } + }, + "summary": "Connection Authorization Metadata", + "tags": [ + "mcp_discoverable" + ] + } + }, "/.well-known/oauth-authorization-server/mcp/{mcp_server_name}": { "get": { "description": "OAuth authorization server discovery endpoint using standard MCP URL pattern.\n\nStandard pattern: /mcp/{server_name}\nDiscovery path: /.well-known/oauth-authorization-server/mcp/{server_name}", @@ -25737,6 +25863,24 @@ "get": { "description": "OAuth protected resource discovery for the aggregate /mcp endpoint.\n\nThe single-segment ``/mcp`` path does not collide with any per-server PRM pattern\n(those are two-segment: ``/mcp/{server}`` or ``/{server}/mcp``), so this unambiguously\ndescribes the aggregate resource.", "operationId": "oauth_protected_resource_aggregate__well_known_oauth_protected_resource_mcp_get_2", + "parameters": [ + { + "in": "query", + "name": "connection", + "required": false, + "schema": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Connection" + } + } + ], "responses": { "200": { "content": { @@ -25745,6 +25889,16 @@ } }, "description": "Successful Response" + }, + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + }, + "description": "Validation Error" } }, "summary": "Oauth Protected Resource Aggregate", @@ -26063,6 +26217,45 @@ ] } }, + "/authorize/connection/complete": { + "post": { + "operationId": "complete_connection_authorize_connection_complete_post", + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "$ref": "#/components/schemas/Body_complete_connection_authorize_connection_complete_post" + } + } + }, + "required": true + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": {} + } + }, + "description": "Successful Response" + }, + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + }, + "description": "Validation Error" + } + }, + "summary": "Complete Connection", + "tags": [ + "mcp_discoverable" + ] + } + }, "/authorize/flow": { "get": { "operationId": "authorize_flow_authorize_flow_get", @@ -26501,6 +26694,22 @@ ], "title": "Mcp Server Name" } + }, + { + "in": "query", + "name": "connection", + "required": false, + "schema": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Connection" + } } ], "responses": { @@ -26855,6 +27064,22 @@ ], "title": "Mcp Server Name" } + }, + { + "in": "query", + "name": "connection", + "required": false, + "schema": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Connection" + } } ], "responses": { diff --git a/ui/litellm-dashboard/src/lib/http/schema.d.ts b/ui/litellm-dashboard/src/lib/http/schema.d.ts index 29b7cd206eb..b5dd0bf0fbb 100644 --- a/ui/litellm-dashboard/src/lib/http/schema.d.ts +++ b/ui/litellm-dashboard/src/lib/http/schema.d.ts @@ -155,6 +155,23 @@ export interface paths { patch?: never; trace?: never; }; + "/.well-known/oauth-authorization-server/mcp-connect/{bootstrap}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Connection Authorization Metadata */ + get: operations["connection_authorization_metadata__well_known_oauth_authorization_server_mcp_connect__bootstrap__get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; "/.well-known/oauth-authorization-server/mcp/{mcp_server_name}": { parameters: { query?: never; @@ -1200,6 +1217,23 @@ export interface paths { patch?: never; trace?: never; }; + "/authorize/connection/complete": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Complete Connection */ + post: operations["complete_connection_authorize_connection_complete_post"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; "/authorize/flow": { parameters: { query?: never; @@ -24765,6 +24799,13 @@ export interface components { /** Team Id */ team_id?: string | null; }; + /** Body_complete_connection_authorize_connection_complete_post */ + Body_complete_connection_authorize_connection_complete_post: { + /** Decision */ + decision: string; + /** Flow */ + flow: string; + }; /** Body_convert_prompt_file_to_json_utils_dotprompt_json_converter_post */ Body_convert_prompt_file_to_json_utils_dotprompt_json_converter_post: { /** File */ @@ -42160,6 +42201,37 @@ export interface operations { }; }; }; + connection_authorization_metadata__well_known_oauth_authorization_server_mcp_connect__bootstrap__get: { + parameters: { + query?: never; + header?: never; + path: { + bootstrap: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": unknown; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; oauth_authorization_server_mcp_standard__well_known_oauth_authorization_server_mcp__mcp_server_name__get: { parameters: { query?: never; @@ -42277,7 +42349,9 @@ export interface operations { }; oauth_protected_resource_aggregate__well_known_oauth_protected_resource_mcp_get: { parameters: { - query?: never; + query?: { + connection?: string | null; + }; header?: never; path?: never; cookie?: never; @@ -42293,6 +42367,15 @@ export interface operations { "application/json": unknown; }; }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; }; }; oauth_protected_resource_mcp_standard__well_known_oauth_protected_resource_mcp__mcp_server_name__get: { @@ -43614,6 +43697,39 @@ export interface operations { }; }; }; + complete_connection_authorize_connection_complete_post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/x-www-form-urlencoded": components["schemas"]["Body_complete_connection_authorize_connection_complete_post"]; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": unknown; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; authorize_flow_authorize_flow_get: { parameters: { query: { @@ -58510,6 +58626,7 @@ export interface operations { parameters: { query?: { mcp_server_name?: string | null; + connection?: string | null; }; header?: never; path?: never; @@ -72032,7 +72149,9 @@ export interface operations { }; register_client__mcp_server_name__register_post: { parameters: { - query?: never; + query?: { + connection?: string | null; + }; header?: never; path: { mcp_server_name: string | null;