diff --git a/litellm/model_prices_and_context_window_backup.json b/litellm/model_prices_and_context_window_backup.json index 47a9d99e180..78b0964a182 100644 --- a/litellm/model_prices_and_context_window_backup.json +++ b/litellm/model_prices_and_context_window_backup.json @@ -2096,14 +2096,12 @@ "input_cost_per_image_token": 8e-06, "litellm_provider": "azure_ai", "mode": "image_generation", - "output_cost_per_token": 1e-05, "output_cost_per_image_token": 3e-05, "supported_endpoints": [ "/v1/images/generations", "/v1/images/edits" ], - "supports_vision": true, - "supports_pdf_input": true + "supports_vision": true }, "azure_ai/gpt-image-to-image": { "cache_read_input_image_token_cost": 2e-06, @@ -2112,14 +2110,12 @@ "input_cost_per_image_token": 8e-06, "litellm_provider": "azure_ai", "mode": "image_generation", - "output_cost_per_token": 1e-05, "output_cost_per_image_token": 3e-05, "supported_endpoints": [ "/v1/images/generations", "/v1/images/edits" ], - "supports_vision": true, - "supports_pdf_input": true + "supports_vision": true }, "azure_ai/model_router": { "input_cost_per_token": 1.4e-07, diff --git a/litellm/proxy/_lazy_openapi_snapshot.json b/litellm/proxy/_lazy_openapi_snapshot.json index eb35dd6cb3e..01f073446c4 100644 --- a/litellm/proxy/_lazy_openapi_snapshot.json +++ b/litellm/proxy/_lazy_openapi_snapshot.json @@ -3616,7 +3616,7 @@ }, "get": { "description": "[Docs](https://docs.litellm.ai/docs/pass_through/anthropic_completion)", - "operationId": "anthropic_proxy_route_anthropic__endpoint__delete", + "operationId": "anthropic_proxy_route_anthropic__endpoint__get", "parameters": [ { "in": "path", @@ -3660,7 +3660,7 @@ }, "patch": { "description": "[Docs](https://docs.litellm.ai/docs/pass_through/anthropic_completion)", - "operationId": "anthropic_proxy_route_anthropic__endpoint__delete", + "operationId": "anthropic_proxy_route_anthropic__endpoint__patch", "parameters": [ { "in": "path", @@ -3704,7 +3704,7 @@ }, "post": { "description": "[Docs](https://docs.litellm.ai/docs/pass_through/anthropic_completion)", - "operationId": "anthropic_proxy_route_anthropic__endpoint__delete", + "operationId": "anthropic_proxy_route_anthropic__endpoint__post", "parameters": [ { "in": "path", @@ -3748,7 +3748,7 @@ }, "put": { "description": "[Docs](https://docs.litellm.ai/docs/pass_through/anthropic_completion)", - "operationId": "anthropic_proxy_route_anthropic__endpoint__delete", + "operationId": "anthropic_proxy_route_anthropic__endpoint__put", "parameters": [ { "in": "path", @@ -5454,7 +5454,7 @@ }, "/cloudzero/settings": { "get": { - "description": "View current CloudZero settings.\n\nReturns the current CloudZero configuration with the API key masked for security.\nOnly the first 4 and last 4 characters of the API key are shown.\nReturns null/empty values when settings are not configured (consistent with other settings endpoints).\n\nOnly admin users can view CloudZero settings.", + "description": "View current CloudZero settings.\n\nReturns the current CloudZero configuration with the API key masked for security.\nOnly the first 4 and last 4 characters of the API key are shown.\nReturns null/empty values when settings are not configured (consistent with other settings endpoints).\n\nOnly admin users (Proxy Admin or Admin Viewer) can view CloudZero settings.", "operationId": "get_cloudzero_settings_cloudzero_settings_get", "responses": { "200": { @@ -13299,7 +13299,7 @@ }, "get": { "description": "Call Langfuse via LiteLLM proxy. Works with Langfuse SDK.\n\n[Docs](https://docs.litellm.ai/docs/pass_through/langfuse)", - "operationId": "langfuse_proxy_route_langfuse__endpoint__delete", + "operationId": "langfuse_proxy_route_langfuse__endpoint__get", "parameters": [ { "in": "path", @@ -13338,7 +13338,7 @@ }, "patch": { "description": "Call Langfuse via LiteLLM proxy. Works with Langfuse SDK.\n\n[Docs](https://docs.litellm.ai/docs/pass_through/langfuse)", - "operationId": "langfuse_proxy_route_langfuse__endpoint__delete", + "operationId": "langfuse_proxy_route_langfuse__endpoint__patch", "parameters": [ { "in": "path", @@ -13377,7 +13377,7 @@ }, "post": { "description": "Call Langfuse via LiteLLM proxy. Works with Langfuse SDK.\n\n[Docs](https://docs.litellm.ai/docs/pass_through/langfuse)", - "operationId": "langfuse_proxy_route_langfuse__endpoint__delete", + "operationId": "langfuse_proxy_route_langfuse__endpoint__post", "parameters": [ { "in": "path", @@ -13416,7 +13416,7 @@ }, "put": { "description": "Call Langfuse via LiteLLM proxy. Works with Langfuse SDK.\n\n[Docs](https://docs.litellm.ai/docs/pass_through/langfuse)", - "operationId": "langfuse_proxy_route_langfuse__endpoint__delete", + "operationId": "langfuse_proxy_route_langfuse__endpoint__put", "parameters": [ { "in": "path", @@ -13458,728 +13458,9 @@ }, "mcp_app": { "components": { - "schemas": { - "HTTPValidationError": { - "properties": { - "detail": { - "items": { - "$ref": "#/components/schemas/ValidationError" - }, - "title": "Detail", - "type": "array" - } - }, - "title": "HTTPValidationError", - "type": "object" - }, - "MCPCredentials": { - "properties": { - "auth_value": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Auth Value" - }, - "aws_access_key_id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Aws Access Key Id" - }, - "aws_region_name": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Aws Region Name" - }, - "aws_role_name": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Aws Role Name" - }, - "aws_secret_access_key": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Aws Secret Access Key" - }, - "aws_service_name": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Aws Service Name" - }, - "aws_session_name": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Aws Session Name" - }, - "aws_session_token": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Aws Session Token" - }, - "client_id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Client Id" - }, - "client_secret": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Client Secret" - }, - "scopes": { - "anyOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "type": "null" - } - ], - "title": "Scopes" - } - }, - "title": "MCPCredentials", - "type": "object" - }, - "NewMCPServerRequest": { - "properties": { - "alias": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Alias" - }, - "allow_all_keys": { - "default": false, - "title": "Allow All Keys", - "type": "boolean" - }, - "allowed_tools": { - "anyOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "type": "null" - } - ], - "title": "Allowed Tools" - }, - "approval_status": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Server-managed: set by the endpoint; caller values are overridden.", - "title": "Approval Status" - }, - "args": { - "items": { - "type": "string" - }, - "title": "Args", - "type": "array" - }, - "auth_type": { - "anyOf": [ - { - "enum": [ - "none", - "api_key", - "bearer_token", - "basic", - "authorization", - "oauth2", - "aws_sigv4", - "token" - ], - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Auth Type" - }, - "authorization_url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Authorization Url" - }, - "available_on_public_internet": { - "default": true, - "title": "Available On Public Internet", - "type": "boolean" - }, - "byok_api_key_help_url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Byok Api Key Help Url" - }, - "byok_description": { - "items": { - "type": "string" - }, - "title": "Byok Description", - "type": "array" - }, - "command": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Command" - }, - "credentials": { - "anyOf": [ - { - "$ref": "#/components/schemas/MCPCredentials" - }, - { - "type": "null" - } - ] - }, - "description": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Description" - }, - "env": { - "additionalProperties": { - "type": "string" - }, - "title": "Env", - "type": "object" - }, - "extra_headers": { - "anyOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "type": "null" - } - ], - "title": "Extra Headers" - }, - "instructions": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Instructions" - }, - "is_byok": { - "default": false, - "title": "Is Byok", - "type": "boolean" - }, - "mcp_access_groups": { - "items": { - "type": "string" - }, - "title": "Mcp Access Groups", - "type": "array" - }, - "mcp_info": { - "anyOf": [ - { - "additionalProperties": true, - "type": "object" - }, - { - "type": "null" - } - ], - "title": "Mcp Info" - }, - "oauth2_flow": { - "anyOf": [ - { - "enum": [ - "client_credentials", - "authorization_code" - ], - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Oauth2 Flow" - }, - "registration_url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Registration Url" - }, - "server_id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Server Id" - }, - "server_name": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Server Name" - }, - "source_url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Source Url" - }, - "spec_path": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Spec Path" - }, - "static_headers": { - "anyOf": [ - { - "additionalProperties": { - "type": "string" - }, - "type": "object" - }, - { - "type": "null" - } - ], - "title": "Static Headers" - }, - "submitted_at": { - "anyOf": [ - { - "format": "date-time", - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Server-managed: set by the endpoint; caller values are overridden.", - "title": "Submitted At" - }, - "submitted_by": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Server-managed: set by the endpoint; caller values are overridden.", - "title": "Submitted By" - }, - "token_url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Token Url" - }, - "tool_name_to_description": { - "anyOf": [ - { - "additionalProperties": { - "type": "string" - }, - "type": "object" - }, - { - "type": "null" - } - ], - "title": "Tool Name To Description" - }, - "tool_name_to_display_name": { - "anyOf": [ - { - "additionalProperties": { - "type": "string" - }, - "type": "object" - }, - { - "type": "null" - } - ], - "title": "Tool Name To Display Name" - }, - "transport": { - "default": "sse", - "enum": [ - "sse", - "http", - "stdio" - ], - "title": "Transport", - "type": "string" - }, - "url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Url" - } - }, - "title": "NewMCPServerRequest", - "type": "object" - }, - "ValidationError": { - "properties": { - "loc": { - "items": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "integer" - } - ] - }, - "title": "Location", - "type": "array" - }, - "msg": { - "title": "Message", - "type": "string" - }, - "type": { - "title": "Error Type", - "type": "string" - } - }, - "required": [ - "loc", - "msg", - "type" - ], - "title": "ValidationError", - "type": "object" - } - } + "schemas": {} }, - "paths": { - "/mcp-rest/test/connection": { - "post": { - "description": "Test if we can connect to the provided MCP server before adding it", - "operationId": "test_connection_mcp_rest_test_connection_post_2", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/NewMCPServerRequest" - } - } - }, - "required": true - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": {} - } - }, - "description": "Successful Response" - }, - "422": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - }, - "description": "Validation Error" - } - }, - "security": [ - { - "APIKeyHeader": [] - } - ], - "summary": "Test Connection", - "tags": [ - "mcp_app" - ] - } - }, - "/mcp-rest/test/tools/list": { - "post": { - "description": "Preview tools available from MCP server before adding it", - "operationId": "test_tools_list_mcp_rest_test_tools_list_post_2", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/NewMCPServerRequest" - } - } - }, - "required": true - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": {} - } - }, - "description": "Successful Response" - }, - "422": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - }, - "description": "Validation Error" - } - }, - "security": [ - { - "APIKeyHeader": [] - } - ], - "summary": "Test Tools List", - "tags": [ - "mcp_app" - ] - } - }, - "/mcp-rest/tools/call": { - "post": { - "description": "REST API to call a specific MCP tool with the provided arguments", - "operationId": "call_tool_rest_api_mcp_rest_tools_call_post_2", - "responses": { - "200": { - "content": { - "application/json": { - "schema": {} - } - }, - "description": "Successful Response" - } - }, - "security": [ - { - "APIKeyHeader": [] - } - ], - "summary": "Call Tool Rest Api", - "tags": [ - "mcp_app" - ] - } - }, - "/mcp-rest/tools/list": { - "get": { - "description": "List all available tools with information about the server they belong to.\n\nExample response:\n{\n \"tools\": [\n {\n \"name\": \"create_zap\",\n \"description\": \"Create a new zap\",\n \"inputSchema\": \"tool_input_schema\",\n \"mcp_info\": {\n \"server_name\": \"zapier\",\n \"logo_url\": \"https://www.zapier.com/logo.png\",\n }\n }\n ],\n \"error\": null,\n \"message\": \"Successfully retrieved tools\"\n}", - "operationId": "list_tool_rest_api_mcp_rest_tools_list_get_2", - "parameters": [ - { - "description": "The server id to list tools for", - "in": "query", - "name": "server_id", - "required": false, - "schema": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "The server id to list tools for", - "title": "Server Id" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "additionalProperties": true, - "title": "Response List Tool Rest Api Mcp Rest Tools List Get", - "type": "object" - } - } - }, - "description": "Successful Response" - }, - "422": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - }, - "description": "Validation Error" - } - }, - "security": [ - { - "APIKeyHeader": [] - } - ], - "summary": "List Tool Rest Api", - "tags": [ - "mcp_app" - ] - } - } - } + "paths": {} }, "mcp_byok_oauth": { "components": { @@ -14281,3812 +13562,9 @@ }, "mcp_management": { "components": { - "schemas": { - "HTTPValidationError": { - "properties": { - "detail": { - "items": { - "$ref": "#/components/schemas/ValidationError" - }, - "title": "Detail", - "type": "array" - } - }, - "title": "HTTPValidationError", - "type": "object" - }, - "LiteLLM_MCPServerTable": { - "description": "Represents a LiteLLM_MCPServerTable record", - "properties": { - "alias": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Alias" - }, - "allow_all_keys": { - "default": false, - "title": "Allow All Keys", - "type": "boolean" - }, - "allowed_tools": { - "items": { - "type": "string" - }, - "title": "Allowed Tools", - "type": "array" - }, - "approval_status": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "default": "active", - "description": "Approval status: 'pending_review', 'active', 'rejected'", - "title": "Approval Status" - }, - "args": { - "items": { - "type": "string" - }, - "title": "Args", - "type": "array" - }, - "auth_type": { - "anyOf": [ - { - "enum": [ - "none", - "api_key", - "bearer_token", - "basic", - "authorization", - "oauth2", - "aws_sigv4", - "token" - ], - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Auth Type" - }, - "authorization_url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Authorization Url" - }, - "available_on_public_internet": { - "default": true, - "title": "Available On Public Internet", - "type": "boolean" - }, - "byok_api_key_help_url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Byok Api Key Help Url" - }, - "byok_description": { - "items": { - "type": "string" - }, - "title": "Byok Description", - "type": "array" - }, - "command": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Command" - }, - "created_at": { - "anyOf": [ - { - "format": "date-time", - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Created At" - }, - "created_by": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Created By" - }, - "credentials": { - "anyOf": [ - { - "$ref": "#/components/schemas/MCPCredentials" - }, - { - "type": "null" - } - ] - }, - "description": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Description" - }, - "env": { - "additionalProperties": { - "type": "string" - }, - "title": "Env", - "type": "object" - }, - "extra_headers": { - "items": { - "type": "string" - }, - "title": "Extra Headers", - "type": "array" - }, - "has_user_credential": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" - } - ], - "title": "Has User Credential" - }, - "health_check_error": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Health Check Error" - }, - "instructions": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Instructions" - }, - "is_byok": { - "default": false, - "title": "Is Byok", - "type": "boolean" - }, - "last_health_check": { - "anyOf": [ - { - "format": "date-time", - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Last Health Check" - }, - "mcp_access_groups": { - "items": { - "type": "string" - }, - "title": "Mcp Access Groups", - "type": "array" - }, - "mcp_info": { - "anyOf": [ - { - "additionalProperties": true, - "type": "object" - }, - { - "type": "null" - } - ], - "title": "Mcp Info" - }, - "registration_url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Registration Url" - }, - "review_notes": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Review Notes" - }, - "reviewed_at": { - "anyOf": [ - { - "format": "date-time", - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Reviewed At" - }, - "server_id": { - "title": "Server Id", - "type": "string" - }, - "server_name": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Server Name" - }, - "source_url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Source Url" - }, - "spec_path": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Spec Path" - }, - "static_headers": { - "anyOf": [ - { - "additionalProperties": { - "type": "string" - }, - "type": "object" - }, - { - "type": "null" - } - ], - "title": "Static Headers" - }, - "status": { - "anyOf": [ - { - "enum": [ - "healthy", - "unhealthy", - "unknown" - ], - "type": "string" - }, - { - "type": "null" - } - ], - "default": "unknown", - "description": "Health status: 'healthy', 'unhealthy', 'unknown'", - "title": "Status" - }, - "submitted_at": { - "anyOf": [ - { - "format": "date-time", - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Submitted At" - }, - "submitted_by": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Submitted By" - }, - "teams": { - "items": { - "additionalProperties": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "type": "object" - }, - "title": "Teams", - "type": "array" - }, - "token_url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Token Url" - }, - "tool_name_to_description": { - "anyOf": [ - { - "additionalProperties": { - "type": "string" - }, - "type": "object" - }, - { - "type": "null" - } - ], - "title": "Tool Name To Description" - }, - "tool_name_to_display_name": { - "anyOf": [ - { - "additionalProperties": { - "type": "string" - }, - "type": "object" - }, - { - "type": "null" - } - ], - "title": "Tool Name To Display Name" - }, - "transport": { - "enum": [ - "sse", - "http", - "stdio" - ], - "title": "Transport", - "type": "string" - }, - "updated_at": { - "anyOf": [ - { - "format": "date-time", - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Updated At" - }, - "updated_by": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Updated By" - }, - "url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Url" - } - }, - "required": [ - "server_id", - "transport" - ], - "title": "LiteLLM_MCPServerTable", - "type": "object" - }, - "MCPCredentials": { - "properties": { - "auth_value": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Auth Value" - }, - "aws_access_key_id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Aws Access Key Id" - }, - "aws_region_name": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Aws Region Name" - }, - "aws_role_name": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Aws Role Name" - }, - "aws_secret_access_key": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Aws Secret Access Key" - }, - "aws_service_name": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Aws Service Name" - }, - "aws_session_name": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Aws Session Name" - }, - "aws_session_token": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Aws Session Token" - }, - "client_id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Client Id" - }, - "client_secret": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Client Secret" - }, - "scopes": { - "anyOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "type": "null" - } - ], - "title": "Scopes" - } - }, - "title": "MCPCredentials", - "type": "object" - }, - "MCPOAuthUserCredentialRequest": { - "description": "Stores a user's OAuth2 token for an OpenAPI MCP server.", - "properties": { - "access_token": { - "title": "Access Token", - "type": "string" - }, - "expires_in": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ], - "title": "Expires In" - }, - "refresh_token": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Refresh Token" - }, - "scopes": { - "anyOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "type": "null" - } - ], - "title": "Scopes" - } - }, - "required": [ - "access_token" - ], - "title": "MCPOAuthUserCredentialRequest", - "type": "object" - }, - "MCPOAuthUserCredentialStatus": { - "description": "Describes whether the calling user has a stored OAuth credential.", - "properties": { - "connected_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Connected At" - }, - "expires_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Expires At" - }, - "has_credential": { - "title": "Has Credential", - "type": "boolean" - }, - "is_expired": { - "default": false, - "title": "Is Expired", - "type": "boolean" - }, - "server_id": { - "title": "Server Id", - "type": "string" - } - }, - "required": [ - "server_id", - "has_credential" - ], - "title": "MCPOAuthUserCredentialStatus", - "type": "object" - }, - "MCPSubmissionsSummary": { - "properties": { - "active": { - "title": "Active", - "type": "integer" - }, - "items": { - "items": { - "$ref": "#/components/schemas/LiteLLM_MCPServerTable" - }, - "title": "Items", - "type": "array" - }, - "pending_review": { - "title": "Pending Review", - "type": "integer" - }, - "rejected": { - "title": "Rejected", - "type": "integer" - }, - "total": { - "title": "Total", - "type": "integer" - } - }, - "required": [ - "total", - "pending_review", - "active", - "rejected", - "items" - ], - "title": "MCPSubmissionsSummary", - "type": "object" - }, - "MCPToolsetTool": { - "properties": { - "server_id": { - "title": "Server Id", - "type": "string" - }, - "tool_name": { - "title": "Tool Name", - "type": "string" - } - }, - "required": [ - "server_id", - "tool_name" - ], - "title": "MCPToolsetTool", - "type": "object" - }, - "MCPUserCredentialListItem": { - "description": "One entry in the /user-credentials list.", - "properties": { - "alias": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Alias" - }, - "connected_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Connected At" - }, - "credential_type": { - "title": "Credential Type", - "type": "string" - }, - "expires_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Expires At" - }, - "has_credential": { - "title": "Has Credential", - "type": "boolean" - }, - "server_id": { - "title": "Server Id", - "type": "string" - }, - "server_name": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Server Name" - } - }, - "required": [ - "server_id", - "credential_type", - "has_credential" - ], - "title": "MCPUserCredentialListItem", - "type": "object" - }, - "MCPUserCredentialRequest": { - "properties": { - "credential": { - "title": "Credential", - "type": "string" - }, - "save": { - "default": true, - "title": "Save", - "type": "boolean" - } - }, - "required": [ - "credential" - ], - "title": "MCPUserCredentialRequest", - "type": "object" - }, - "MCPUserCredentialResponse": { - "properties": { - "has_credential": { - "title": "Has Credential", - "type": "boolean" - }, - "server_id": { - "title": "Server Id", - "type": "string" - } - }, - "required": [ - "server_id", - "has_credential" - ], - "title": "MCPUserCredentialResponse", - "type": "object" - }, - "MakeMCPServersPublicRequest": { - "properties": { - "mcp_server_ids": { - "items": { - "type": "string" - }, - "title": "Mcp Server Ids", - "type": "array" - } - }, - "required": [ - "mcp_server_ids" - ], - "title": "MakeMCPServersPublicRequest", - "type": "object" - }, - "NewMCPServerRequest": { - "properties": { - "alias": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Alias" - }, - "allow_all_keys": { - "default": false, - "title": "Allow All Keys", - "type": "boolean" - }, - "allowed_tools": { - "anyOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "type": "null" - } - ], - "title": "Allowed Tools" - }, - "approval_status": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Server-managed: set by the endpoint; caller values are overridden.", - "title": "Approval Status" - }, - "args": { - "items": { - "type": "string" - }, - "title": "Args", - "type": "array" - }, - "auth_type": { - "anyOf": [ - { - "enum": [ - "none", - "api_key", - "bearer_token", - "basic", - "authorization", - "oauth2", - "aws_sigv4", - "token" - ], - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Auth Type" - }, - "authorization_url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Authorization Url" - }, - "available_on_public_internet": { - "default": true, - "title": "Available On Public Internet", - "type": "boolean" - }, - "byok_api_key_help_url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Byok Api Key Help Url" - }, - "byok_description": { - "items": { - "type": "string" - }, - "title": "Byok Description", - "type": "array" - }, - "command": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Command" - }, - "credentials": { - "anyOf": [ - { - "$ref": "#/components/schemas/MCPCredentials" - }, - { - "type": "null" - } - ] - }, - "description": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Description" - }, - "env": { - "additionalProperties": { - "type": "string" - }, - "title": "Env", - "type": "object" - }, - "extra_headers": { - "anyOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "type": "null" - } - ], - "title": "Extra Headers" - }, - "instructions": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Instructions" - }, - "is_byok": { - "default": false, - "title": "Is Byok", - "type": "boolean" - }, - "mcp_access_groups": { - "items": { - "type": "string" - }, - "title": "Mcp Access Groups", - "type": "array" - }, - "mcp_info": { - "anyOf": [ - { - "additionalProperties": true, - "type": "object" - }, - { - "type": "null" - } - ], - "title": "Mcp Info" - }, - "oauth2_flow": { - "anyOf": [ - { - "enum": [ - "client_credentials", - "authorization_code" - ], - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Oauth2 Flow" - }, - "registration_url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Registration Url" - }, - "server_id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Server Id" - }, - "server_name": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Server Name" - }, - "source_url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Source Url" - }, - "spec_path": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Spec Path" - }, - "static_headers": { - "anyOf": [ - { - "additionalProperties": { - "type": "string" - }, - "type": "object" - }, - { - "type": "null" - } - ], - "title": "Static Headers" - }, - "submitted_at": { - "anyOf": [ - { - "format": "date-time", - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Server-managed: set by the endpoint; caller values are overridden.", - "title": "Submitted At" - }, - "submitted_by": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Server-managed: set by the endpoint; caller values are overridden.", - "title": "Submitted By" - }, - "token_url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Token Url" - }, - "tool_name_to_description": { - "anyOf": [ - { - "additionalProperties": { - "type": "string" - }, - "type": "object" - }, - { - "type": "null" - } - ], - "title": "Tool Name To Description" - }, - "tool_name_to_display_name": { - "anyOf": [ - { - "additionalProperties": { - "type": "string" - }, - "type": "object" - }, - { - "type": "null" - } - ], - "title": "Tool Name To Display Name" - }, - "transport": { - "default": "sse", - "enum": [ - "sse", - "http", - "stdio" - ], - "title": "Transport", - "type": "string" - }, - "url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Url" - } - }, - "title": "NewMCPServerRequest", - "type": "object" - }, - "NewMCPToolsetRequest": { - "properties": { - "description": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Description" - }, - "tools": { - "default": [], - "items": { - "$ref": "#/components/schemas/MCPToolsetTool" - }, - "title": "Tools", - "type": "array" - }, - "toolset_name": { - "title": "Toolset Name", - "type": "string" - } - }, - "required": [ - "toolset_name" - ], - "title": "NewMCPToolsetRequest", - "type": "object" - }, - "RejectMCPServerRequest": { - "properties": { - "review_notes": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Review Notes" - } - }, - "title": "RejectMCPServerRequest", - "type": "object" - }, - "UpdateMCPServerRequest": { - "properties": { - "alias": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Alias" - }, - "allow_all_keys": { - "default": false, - "title": "Allow All Keys", - "type": "boolean" - }, - "allowed_tools": { - "anyOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "type": "null" - } - ], - "title": "Allowed Tools" - }, - "args": { - "items": { - "type": "string" - }, - "title": "Args", - "type": "array" - }, - "auth_type": { - "anyOf": [ - { - "enum": [ - "none", - "api_key", - "bearer_token", - "basic", - "authorization", - "oauth2", - "aws_sigv4", - "token" - ], - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Auth Type" - }, - "authorization_url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Authorization Url" - }, - "available_on_public_internet": { - "default": true, - "title": "Available On Public Internet", - "type": "boolean" - }, - "byok_api_key_help_url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Byok Api Key Help Url" - }, - "byok_description": { - "items": { - "type": "string" - }, - "title": "Byok Description", - "type": "array" - }, - "command": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Command" - }, - "credentials": { - "anyOf": [ - { - "$ref": "#/components/schemas/MCPCredentials" - }, - { - "type": "null" - } - ] - }, - "description": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Description" - }, - "env": { - "additionalProperties": { - "type": "string" - }, - "title": "Env", - "type": "object" - }, - "extra_headers": { - "anyOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "type": "null" - } - ], - "title": "Extra Headers" - }, - "instructions": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Instructions" - }, - "is_byok": { - "default": false, - "title": "Is Byok", - "type": "boolean" - }, - "mcp_access_groups": { - "items": { - "type": "string" - }, - "title": "Mcp Access Groups", - "type": "array" - }, - "mcp_info": { - "anyOf": [ - { - "additionalProperties": true, - "type": "object" - }, - { - "type": "null" - } - ], - "title": "Mcp Info" - }, - "registration_url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Registration Url" - }, - "server_id": { - "title": "Server Id", - "type": "string" - }, - "server_name": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Server Name" - }, - "source_url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Source Url" - }, - "spec_path": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Spec Path" - }, - "static_headers": { - "anyOf": [ - { - "additionalProperties": { - "type": "string" - }, - "type": "object" - }, - { - "type": "null" - } - ], - "title": "Static Headers" - }, - "token_url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Token Url" - }, - "tool_name_to_description": { - "anyOf": [ - { - "additionalProperties": { - "type": "string" - }, - "type": "object" - }, - { - "type": "null" - } - ], - "title": "Tool Name To Description" - }, - "tool_name_to_display_name": { - "anyOf": [ - { - "additionalProperties": { - "type": "string" - }, - "type": "object" - }, - { - "type": "null" - } - ], - "title": "Tool Name To Display Name" - }, - "transport": { - "default": "sse", - "enum": [ - "sse", - "http", - "stdio" - ], - "title": "Transport", - "type": "string" - }, - "url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Url" - } - }, - "required": [ - "server_id" - ], - "title": "UpdateMCPServerRequest", - "type": "object" - }, - "UpdateMCPToolsetRequest": { - "properties": { - "description": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Description" - }, - "tools": { - "anyOf": [ - { - "items": { - "$ref": "#/components/schemas/MCPToolsetTool" - }, - "type": "array" - }, - { - "type": "null" - } - ], - "title": "Tools" - }, - "toolset_id": { - "title": "Toolset Id", - "type": "string" - }, - "toolset_name": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Toolset Name" - } - }, - "required": [ - "toolset_id" - ], - "title": "UpdateMCPToolsetRequest", - "type": "object" - }, - "ValidationError": { - "properties": { - "loc": { - "items": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "integer" - } - ] - }, - "title": "Location", - "type": "array" - }, - "msg": { - "title": "Message", - "type": "string" - }, - "type": { - "title": "Error Type", - "type": "string" - } - }, - "required": [ - "loc", - "msg", - "type" - ], - "title": "ValidationError", - "type": "object" - } - } + "schemas": {} }, - "paths": { - "/v1/mcp/access_groups": { - "get": { - "description": "Get all available MCP access groups from the database AND config", - "operationId": "get_mcp_access_groups_v1_mcp_access_groups_get", - "responses": { - "200": { - "content": { - "application/json": { - "schema": {} - } - }, - "description": "Successful Response" - } - }, - "security": [ - { - "APIKeyHeader": [] - } - ], - "summary": "Get Mcp Access Groups", - "tags": [ - "mcp_management" - ] - } - }, - "/v1/mcp/discover": { - "get": { - "description": "Returns a curated list of well-known MCP servers for discovery UI", - "operationId": "discover_mcp_servers_v1_mcp_discover_get", - "parameters": [ - { - "description": "Search filter for server names and descriptions", - "in": "query", - "name": "query", - "required": false, - "schema": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Search filter for server names and descriptions", - "title": "Query" - } - }, - { - "description": "Filter by category", - "in": "query", - "name": "category", - "required": false, - "schema": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Filter by category", - "title": "Category" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": {} - } - }, - "description": "Successful Response" - }, - "422": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - }, - "description": "Validation Error" - } - }, - "security": [ - { - "APIKeyHeader": [] - } - ], - "summary": "Discover Mcp Servers", - "tags": [ - "mcp_management" - ] - } - }, - "/v1/mcp/make_public": { - "post": { - "description": "Allows making MCP servers public for AI Hub", - "operationId": "make_mcp_servers_public_v1_mcp_make_public_post", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/MakeMCPServersPublicRequest" - } - } - }, - "required": true - }, - "responses": { - "202": { - "content": { - "application/json": { - "schema": {} - } - }, - "description": "Successful Response" - }, - "422": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - }, - "description": "Validation Error" - } - }, - "security": [ - { - "APIKeyHeader": [] - } - ], - "summary": "Make Mcp Servers Public", - "tags": [ - "mcp_management" - ] - } - }, - "/v1/mcp/network/client-ip": { - "get": { - "description": "Returns the caller's IP address as seen by the proxy.", - "operationId": "get_client_ip_v1_mcp_network_client_ip_get", - "responses": { - "200": { - "content": { - "application/json": { - "schema": {} - } - }, - "description": "Successful Response" - } - }, - "security": [ - { - "APIKeyHeader": [] - } - ], - "summary": "Get Client Ip", - "tags": [ - "mcp_management" - ] - } - }, - "/v1/mcp/openapi-registry": { - "get": { - "description": "Returns well-known OpenAPI APIs with OAuth 2.0 metadata for the OpenAPI MCP picker", - "operationId": "get_openapi_registry_v1_mcp_openapi_registry_get", - "responses": { - "200": { - "content": { - "application/json": { - "schema": {} - } - }, - "description": "Successful Response" - } - }, - "security": [ - { - "APIKeyHeader": [] - } - ], - "summary": "Get Openapi Registry", - "tags": [ - "mcp_management" - ] - } - }, - "/v1/mcp/registry.json": { - "get": { - "description": "MCP registry endpoint. Spec: https://github.com/modelcontextprotocol/registry", - "operationId": "get_mcp_registry_v1_mcp_registry_json_get", - "responses": { - "200": { - "content": { - "application/json": { - "schema": {} - } - }, - "description": "Successful Response" - } - }, - "summary": "Get Mcp Registry", - "tags": [ - "mcp_management" - ] - } - }, - "/v1/mcp/server": { - "get": { - "description": "Returns the mcp server list with associated teams", - "operationId": "fetch_all_mcp_servers_v1_mcp_server_get", - "parameters": [ - { - "description": "Filter MCP servers by team scope. When provided, returns only servers the team has access to plus globally available (allow_all_keys) servers. Used by the Create Key UI to show team-scoped MCP servers.", - "in": "query", - "name": "team_id", - "required": false, - "schema": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Filter MCP servers by team scope. When provided, returns only servers the team has access to plus globally available (allow_all_keys) servers. Used by the Create Key UI to show team-scoped MCP servers.", - "title": "Team Id" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "items": { - "$ref": "#/components/schemas/LiteLLM_MCPServerTable" - }, - "title": "Response Fetch All Mcp Servers V1 Mcp Server Get", - "type": "array" - } - } - }, - "description": "Successful Response" - }, - "422": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - }, - "description": "Validation Error" - } - }, - "security": [ - { - "APIKeyHeader": [] - } - ], - "summary": "Fetch All Mcp Servers", - "tags": [ - "mcp_management" - ] - }, - "post": { - "description": "Allows creation of mcp servers", - "operationId": "add_mcp_server_v1_mcp_server_post", - "parameters": [ - { - "description": "The litellm-changed-by header enables tracking of actions performed by authorized users on behalf of other users, providing an audit trail for accountability", - "in": "header", - "name": "litellm-changed-by", - "required": false, - "schema": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "The litellm-changed-by header enables tracking of actions performed by authorized users on behalf of other users, providing an audit trail for accountability", - "title": "Litellm-Changed-By" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/NewMCPServerRequest" - } - } - }, - "required": true - }, - "responses": { - "201": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/LiteLLM_MCPServerTable" - } - } - }, - "description": "Successful Response" - }, - "422": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - }, - "description": "Validation Error" - } - }, - "security": [ - { - "APIKeyHeader": [] - } - ], - "summary": "Add Mcp Server", - "tags": [ - "mcp_management" - ] - }, - "put": { - "description": "Allows deleting mcp serves in the db", - "operationId": "edit_mcp_server_v1_mcp_server_put", - "parameters": [ - { - "description": "The litellm-changed-by header enables tracking of actions performed by authorized users on behalf of other users, providing an audit trail for accountability", - "in": "header", - "name": "litellm-changed-by", - "required": false, - "schema": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "The litellm-changed-by header enables tracking of actions performed by authorized users on behalf of other users, providing an audit trail for accountability", - "title": "Litellm-Changed-By" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UpdateMCPServerRequest" - } - } - }, - "required": true - }, - "responses": { - "202": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/LiteLLM_MCPServerTable" - } - } - }, - "description": "Successful Response" - }, - "422": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - }, - "description": "Validation Error" - } - }, - "security": [ - { - "APIKeyHeader": [] - } - ], - "summary": "Edit Mcp Server", - "tags": [ - "mcp_management" - ] - } - }, - "/v1/mcp/server/health": { - "get": { - "description": "Health check for MCP servers", - "operationId": "health_check_servers_v1_mcp_server_health_get", - "parameters": [ - { - "description": "Server IDs to check. If not provided, checks all accessible servers.", - "in": "query", - "name": "server_ids", - "required": false, - "schema": { - "anyOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "type": "null" - } - ], - "description": "Server IDs to check. If not provided, checks all accessible servers.", - "title": "Server Ids" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": {} - } - }, - "description": "Successful Response" - }, - "422": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - }, - "description": "Validation Error" - } - }, - "security": [ - { - "APIKeyHeader": [] - } - ], - "summary": "Health Check Servers", - "tags": [ - "mcp_management" - ] - } - }, - "/v1/mcp/server/oauth/session": { - "post": { - "description": "Temporarily cache an MCP server in memory without writing to the database", - "operationId": "add_session_mcp_server_v1_mcp_server_oauth_session_post", - "parameters": [ - { - "description": "The litellm-changed-by header enables tracking of actions performed by authorized users on behalf of other users, providing an audit trail for accountability", - "in": "header", - "name": "litellm-changed-by", - "required": false, - "schema": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "The litellm-changed-by header enables tracking of actions performed by authorized users on behalf of other users, providing an audit trail for accountability", - "title": "Litellm-Changed-By" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/NewMCPServerRequest" - } - } - }, - "required": true - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": {} - } - }, - "description": "Successful Response" - }, - "422": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - }, - "description": "Validation Error" - } - }, - "security": [ - { - "APIKeyHeader": [] - } - ], - "summary": "Add Session Mcp Server", - "tags": [ - "mcp_management" - ] - } - }, - "/v1/mcp/server/register": { - "post": { - "description": "Submit a new MCP server for admin review (non-admin users). Mirrors POST /guardrails/register.", - "operationId": "register_mcp_server_v1_mcp_server_register_post", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/NewMCPServerRequest" - } - } - }, - "required": true - }, - "responses": { - "201": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/LiteLLM_MCPServerTable" - } - } - }, - "description": "Successful Response" - }, - "422": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - }, - "description": "Validation Error" - } - }, - "security": [ - { - "APIKeyHeader": [] - } - ], - "summary": "Register Mcp Server", - "tags": [ - "mcp_management" - ] - } - }, - "/v1/mcp/server/submissions": { - "get": { - "description": "Returns all MCP servers submitted by non-admin users (admin review queue). Mirrors GET /guardrails/submissions.", - "operationId": "get_mcp_server_submissions_v1_mcp_server_submissions_get", - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/MCPSubmissionsSummary" - } - } - }, - "description": "Successful Response" - } - }, - "security": [ - { - "APIKeyHeader": [] - } - ], - "summary": "Get Mcp Server Submissions", - "tags": [ - "mcp_management" - ] - } - }, - "/v1/mcp/server/{server_id}": { - "delete": { - "description": "Allows deleting mcp serves in the db", - "operationId": "remove_mcp_server_v1_mcp_server__server_id__delete", - "parameters": [ - { - "in": "path", - "name": "server_id", - "required": true, - "schema": { - "title": "Server Id", - "type": "string" - } - }, - { - "description": "The litellm-changed-by header enables tracking of actions performed by authorized users on behalf of other users, providing an audit trail for accountability", - "in": "header", - "name": "litellm-changed-by", - "required": false, - "schema": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "The litellm-changed-by header enables tracking of actions performed by authorized users on behalf of other users, providing an audit trail for accountability", - "title": "Litellm-Changed-By" - } - } - ], - "responses": { - "202": { - "content": { - "application/json": { - "schema": {} - } - }, - "description": "Successful Response" - }, - "422": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - }, - "description": "Validation Error" - } - }, - "security": [ - { - "APIKeyHeader": [] - } - ], - "summary": "Remove Mcp Server", - "tags": [ - "mcp_management" - ] - }, - "get": { - "description": "Returns the mcp server info", - "operationId": "fetch_mcp_server_v1_mcp_server__server_id__get", - "parameters": [ - { - "in": "path", - "name": "server_id", - "required": true, - "schema": { - "title": "Server Id", - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/LiteLLM_MCPServerTable" - } - } - }, - "description": "Successful Response" - }, - "422": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - }, - "description": "Validation Error" - } - }, - "security": [ - { - "APIKeyHeader": [] - } - ], - "summary": "Fetch Mcp Server", - "tags": [ - "mcp_management" - ] - } - }, - "/v1/mcp/server/{server_id}/approve": { - "put": { - "description": "Approve a pending MCP server submission (admin only). Mirrors PUT /guardrails/{id}/approve.", - "operationId": "approve_mcp_server_submission_v1_mcp_server__server_id__approve_put", - "parameters": [ - { - "in": "path", - "name": "server_id", - "required": true, - "schema": { - "title": "Server Id", - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/LiteLLM_MCPServerTable" - } - } - }, - "description": "Successful Response" - }, - "422": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - }, - "description": "Validation Error" - } - }, - "security": [ - { - "APIKeyHeader": [] - } - ], - "summary": "Approve Mcp Server Submission", - "tags": [ - "mcp_management" - ] - } - }, - "/v1/mcp/server/{server_id}/oauth-user-credential": { - "delete": { - "description": "Revoke the calling user's stored OAuth2 token for an MCP server", - "operationId": "delete_mcp_oauth_user_credential_v1_mcp_server__server_id__oauth_user_credential_delete", - "parameters": [ - { - "in": "path", - "name": "server_id", - "required": true, - "schema": { - "title": "Server Id", - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/MCPOAuthUserCredentialStatus" - } - } - }, - "description": "Successful Response" - }, - "422": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - }, - "description": "Validation Error" - } - }, - "security": [ - { - "APIKeyHeader": [] - } - ], - "summary": "Delete Mcp Oauth User Credential", - "tags": [ - "mcp_management" - ] - }, - "post": { - "description": "Store the calling user's OAuth2 token for an OpenAPI MCP server", - "operationId": "store_mcp_oauth_user_credential_v1_mcp_server__server_id__oauth_user_credential_post", - "parameters": [ - { - "in": "path", - "name": "server_id", - "required": true, - "schema": { - "title": "Server Id", - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/MCPOAuthUserCredentialRequest" - } - } - }, - "required": true - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/MCPOAuthUserCredentialStatus" - } - } - }, - "description": "Successful Response" - }, - "422": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - }, - "description": "Validation Error" - } - }, - "security": [ - { - "APIKeyHeader": [] - } - ], - "summary": "Store Mcp Oauth User Credential", - "tags": [ - "mcp_management" - ] - } - }, - "/v1/mcp/server/{server_id}/oauth-user-credential/status": { - "get": { - "description": "Check whether the calling user has a stored OAuth2 credential for this MCP server", - "operationId": "get_mcp_oauth_user_credential_status_v1_mcp_server__server_id__oauth_user_credential_status_get", - "parameters": [ - { - "in": "path", - "name": "server_id", - "required": true, - "schema": { - "title": "Server Id", - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/MCPOAuthUserCredentialStatus" - } - } - }, - "description": "Successful Response" - }, - "422": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - }, - "description": "Validation Error" - } - }, - "security": [ - { - "APIKeyHeader": [] - } - ], - "summary": "Get Mcp Oauth User Credential Status", - "tags": [ - "mcp_management" - ] - } - }, - "/v1/mcp/server/{server_id}/reject": { - "put": { - "description": "Reject a pending MCP server submission (admin only). Mirrors PUT /guardrails/{id}/reject.", - "operationId": "reject_mcp_server_submission_v1_mcp_server__server_id__reject_put", - "parameters": [ - { - "in": "path", - "name": "server_id", - "required": true, - "schema": { - "title": "Server Id", - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/RejectMCPServerRequest" - } - } - }, - "required": true - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/LiteLLM_MCPServerTable" - } - } - }, - "description": "Successful Response" - }, - "422": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - }, - "description": "Validation Error" - } - }, - "security": [ - { - "APIKeyHeader": [] - } - ], - "summary": "Reject Mcp Server Submission", - "tags": [ - "mcp_management" - ] - } - }, - "/v1/mcp/server/{server_id}/user-credential": { - "delete": { - "description": "Delete the calling user's stored API key for a BYOK MCP server", - "operationId": "delete_mcp_user_credential_v1_mcp_server__server_id__user_credential_delete", - "parameters": [ - { - "in": "path", - "name": "server_id", - "required": true, - "schema": { - "title": "Server Id", - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/MCPUserCredentialResponse" - } - } - }, - "description": "Successful Response" - }, - "422": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - }, - "description": "Validation Error" - } - }, - "security": [ - { - "APIKeyHeader": [] - } - ], - "summary": "Delete Mcp User Credential", - "tags": [ - "mcp_management" - ] - }, - "post": { - "description": "Store or update the calling user's API key for a BYOK MCP server", - "operationId": "store_mcp_user_credential_v1_mcp_server__server_id__user_credential_post", - "parameters": [ - { - "in": "path", - "name": "server_id", - "required": true, - "schema": { - "title": "Server Id", - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/MCPUserCredentialRequest" - } - } - }, - "required": true - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/MCPUserCredentialResponse" - } - } - }, - "description": "Successful Response" - }, - "422": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - }, - "description": "Validation Error" - } - }, - "security": [ - { - "APIKeyHeader": [] - } - ], - "summary": "Store Mcp User Credential", - "tags": [ - "mcp_management" - ] - } - }, - "/v1/mcp/tools": { - "get": { - "description": "Get all MCP tools available for the current key, including those from access groups", - "operationId": "get_mcp_tools_v1_mcp_tools_get", - "responses": { - "200": { - "content": { - "application/json": { - "schema": {} - } - }, - "description": "Successful Response" - } - }, - "security": [ - { - "APIKeyHeader": [] - } - ], - "summary": "Get Mcp Tools", - "tags": [ - "mcp_management" - ] - } - }, - "/v1/mcp/toolset": { - "get": { - "description": "List MCP toolsets accessible to the calling key", - "operationId": "fetch_mcp_toolsets_v1_mcp_toolset_get", - "responses": { - "200": { - "content": { - "application/json": { - "schema": {} - } - }, - "description": "Successful Response" - } - }, - "security": [ - { - "APIKeyHeader": [] - } - ], - "summary": "Fetch Mcp Toolsets", - "tags": [ - "mcp_management" - ] - }, - "post": { - "description": "Create a new MCP toolset (admin only)", - "operationId": "add_mcp_toolset_v1_mcp_toolset_post", - "parameters": [ - { - "in": "header", - "name": "litellm-changed-by", - "required": false, - "schema": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Litellm-Changed-By" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/NewMCPToolsetRequest" - } - } - }, - "required": true - }, - "responses": { - "201": { - "content": { - "application/json": { - "schema": {} - } - }, - "description": "Successful Response" - }, - "422": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - }, - "description": "Validation Error" - } - }, - "security": [ - { - "APIKeyHeader": [] - } - ], - "summary": "Add Mcp Toolset", - "tags": [ - "mcp_management" - ] - }, - "put": { - "description": "Update an existing MCP toolset (admin only)", - "operationId": "edit_mcp_toolset_v1_mcp_toolset_put", - "parameters": [ - { - "in": "header", - "name": "litellm-changed-by", - "required": false, - "schema": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Litellm-Changed-By" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UpdateMCPToolsetRequest" - } - } - }, - "required": true - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": {} - } - }, - "description": "Successful Response" - }, - "422": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - }, - "description": "Validation Error" - } - }, - "security": [ - { - "APIKeyHeader": [] - } - ], - "summary": "Edit Mcp Toolset", - "tags": [ - "mcp_management" - ] - } - }, - "/v1/mcp/toolset/{toolset_id}": { - "delete": { - "description": "Delete an MCP toolset (admin only)", - "operationId": "remove_mcp_toolset_v1_mcp_toolset__toolset_id__delete", - "parameters": [ - { - "in": "path", - "name": "toolset_id", - "required": true, - "schema": { - "title": "Toolset Id", - "type": "string" - } - }, - { - "in": "header", - "name": "litellm-changed-by", - "required": false, - "schema": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Litellm-Changed-By" - } - } - ], - "responses": { - "202": { - "content": { - "application/json": { - "schema": {} - } - }, - "description": "Successful Response" - }, - "422": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - }, - "description": "Validation Error" - } - }, - "security": [ - { - "APIKeyHeader": [] - } - ], - "summary": "Remove Mcp Toolset", - "tags": [ - "mcp_management" - ] - }, - "get": { - "description": "Get a specific MCP toolset by ID", - "operationId": "fetch_mcp_toolset_v1_mcp_toolset__toolset_id__get", - "parameters": [ - { - "in": "path", - "name": "toolset_id", - "required": true, - "schema": { - "title": "Toolset Id", - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": {} - } - }, - "description": "Successful Response" - }, - "422": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - }, - "description": "Validation Error" - } - }, - "security": [ - { - "APIKeyHeader": [] - } - ], - "summary": "Fetch Mcp Toolset", - "tags": [ - "mcp_management" - ] - } - }, - "/v1/mcp/user-credentials": { - "get": { - "description": "List all OAuth2 MCP credentials stored for the calling user", - "operationId": "list_mcp_user_credentials_v1_mcp_user_credentials_get", - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "items": { - "$ref": "#/components/schemas/MCPUserCredentialListItem" - }, - "title": "Response List Mcp User Credentials V1 Mcp User Credentials Get", - "type": "array" - } - } - }, - "description": "Successful Response" - } - }, - "security": [ - { - "APIKeyHeader": [] - } - ], - "summary": "List Mcp User Credentials", - "tags": [ - "mcp_management" - ] - } - } - } - }, - "mcp_rest": { - "components": { - "schemas": { - "HTTPValidationError": { - "properties": { - "detail": { - "items": { - "$ref": "#/components/schemas/ValidationError" - }, - "title": "Detail", - "type": "array" - } - }, - "title": "HTTPValidationError", - "type": "object" - }, - "MCPCredentials": { - "properties": { - "auth_value": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Auth Value" - }, - "aws_access_key_id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Aws Access Key Id" - }, - "aws_region_name": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Aws Region Name" - }, - "aws_role_name": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Aws Role Name" - }, - "aws_secret_access_key": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Aws Secret Access Key" - }, - "aws_service_name": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Aws Service Name" - }, - "aws_session_name": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Aws Session Name" - }, - "aws_session_token": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Aws Session Token" - }, - "client_id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Client Id" - }, - "client_secret": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Client Secret" - }, - "scopes": { - "anyOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "type": "null" - } - ], - "title": "Scopes" - } - }, - "title": "MCPCredentials", - "type": "object" - }, - "NewMCPServerRequest": { - "properties": { - "alias": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Alias" - }, - "allow_all_keys": { - "default": false, - "title": "Allow All Keys", - "type": "boolean" - }, - "allowed_tools": { - "anyOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "type": "null" - } - ], - "title": "Allowed Tools" - }, - "approval_status": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Server-managed: set by the endpoint; caller values are overridden.", - "title": "Approval Status" - }, - "args": { - "items": { - "type": "string" - }, - "title": "Args", - "type": "array" - }, - "auth_type": { - "anyOf": [ - { - "enum": [ - "none", - "api_key", - "bearer_token", - "basic", - "authorization", - "oauth2", - "aws_sigv4", - "token" - ], - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Auth Type" - }, - "authorization_url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Authorization Url" - }, - "available_on_public_internet": { - "default": true, - "title": "Available On Public Internet", - "type": "boolean" - }, - "byok_api_key_help_url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Byok Api Key Help Url" - }, - "byok_description": { - "items": { - "type": "string" - }, - "title": "Byok Description", - "type": "array" - }, - "command": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Command" - }, - "credentials": { - "anyOf": [ - { - "$ref": "#/components/schemas/MCPCredentials" - }, - { - "type": "null" - } - ] - }, - "description": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Description" - }, - "env": { - "additionalProperties": { - "type": "string" - }, - "title": "Env", - "type": "object" - }, - "extra_headers": { - "anyOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "type": "null" - } - ], - "title": "Extra Headers" - }, - "instructions": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Instructions" - }, - "is_byok": { - "default": false, - "title": "Is Byok", - "type": "boolean" - }, - "mcp_access_groups": { - "items": { - "type": "string" - }, - "title": "Mcp Access Groups", - "type": "array" - }, - "mcp_info": { - "anyOf": [ - { - "additionalProperties": true, - "type": "object" - }, - { - "type": "null" - } - ], - "title": "Mcp Info" - }, - "oauth2_flow": { - "anyOf": [ - { - "enum": [ - "client_credentials", - "authorization_code" - ], - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Oauth2 Flow" - }, - "registration_url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Registration Url" - }, - "server_id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Server Id" - }, - "server_name": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Server Name" - }, - "source_url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Source Url" - }, - "spec_path": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Spec Path" - }, - "static_headers": { - "anyOf": [ - { - "additionalProperties": { - "type": "string" - }, - "type": "object" - }, - { - "type": "null" - } - ], - "title": "Static Headers" - }, - "submitted_at": { - "anyOf": [ - { - "format": "date-time", - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Server-managed: set by the endpoint; caller values are overridden.", - "title": "Submitted At" - }, - "submitted_by": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Server-managed: set by the endpoint; caller values are overridden.", - "title": "Submitted By" - }, - "token_url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Token Url" - }, - "tool_name_to_description": { - "anyOf": [ - { - "additionalProperties": { - "type": "string" - }, - "type": "object" - }, - { - "type": "null" - } - ], - "title": "Tool Name To Description" - }, - "tool_name_to_display_name": { - "anyOf": [ - { - "additionalProperties": { - "type": "string" - }, - "type": "object" - }, - { - "type": "null" - } - ], - "title": "Tool Name To Display Name" - }, - "transport": { - "default": "sse", - "enum": [ - "sse", - "http", - "stdio" - ], - "title": "Transport", - "type": "string" - }, - "url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Url" - } - }, - "title": "NewMCPServerRequest", - "type": "object" - }, - "ValidationError": { - "properties": { - "loc": { - "items": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "integer" - } - ] - }, - "title": "Location", - "type": "array" - }, - "msg": { - "title": "Message", - "type": "string" - }, - "type": { - "title": "Error Type", - "type": "string" - } - }, - "required": [ - "loc", - "msg", - "type" - ], - "title": "ValidationError", - "type": "object" - } - } - }, - "paths": { - "/mcp-rest/test/connection": { - "post": { - "description": "Test if we can connect to the provided MCP server before adding it", - "operationId": "test_connection_mcp_rest_test_connection_post", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/NewMCPServerRequest" - } - } - }, - "required": true - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": {} - } - }, - "description": "Successful Response" - }, - "422": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - }, - "description": "Validation Error" - } - }, - "security": [ - { - "APIKeyHeader": [] - } - ], - "summary": "Test Connection", - "tags": [ - "mcp_rest" - ] - } - }, - "/mcp-rest/test/tools/list": { - "post": { - "description": "Preview tools available from MCP server before adding it", - "operationId": "test_tools_list_mcp_rest_test_tools_list_post", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/NewMCPServerRequest" - } - } - }, - "required": true - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": {} - } - }, - "description": "Successful Response" - }, - "422": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - }, - "description": "Validation Error" - } - }, - "security": [ - { - "APIKeyHeader": [] - } - ], - "summary": "Test Tools List", - "tags": [ - "mcp_rest" - ] - } - }, - "/mcp-rest/tools/call": { - "post": { - "description": "REST API to call a specific MCP tool with the provided arguments", - "operationId": "call_tool_rest_api_mcp_rest_tools_call_post", - "responses": { - "200": { - "content": { - "application/json": { - "schema": {} - } - }, - "description": "Successful Response" - } - }, - "security": [ - { - "APIKeyHeader": [] - } - ], - "summary": "Call Tool Rest Api", - "tags": [ - "mcp_rest" - ] - } - }, - "/mcp-rest/tools/list": { - "get": { - "description": "List all available tools with information about the server they belong to.\n\nExample response:\n{\n \"tools\": [\n {\n \"name\": \"create_zap\",\n \"description\": \"Create a new zap\",\n \"inputSchema\": \"tool_input_schema\",\n \"mcp_info\": {\n \"server_name\": \"zapier\",\n \"logo_url\": \"https://www.zapier.com/logo.png\",\n }\n }\n ],\n \"error\": null,\n \"message\": \"Successfully retrieved tools\"\n}", - "operationId": "list_tool_rest_api_mcp_rest_tools_list_get", - "parameters": [ - { - "description": "The server id to list tools for", - "in": "query", - "name": "server_id", - "required": false, - "schema": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "The server id to list tools for", - "title": "Server Id" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "additionalProperties": true, - "title": "Response List Tool Rest Api Mcp Rest Tools List Get", - "type": "object" - } - } - }, - "description": "Successful Response" - }, - "422": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - }, - "description": "Validation Error" - } - }, - "security": [ - { - "APIKeyHeader": [] - } - ], - "summary": "List Tool Rest Api", - "tags": [ - "mcp_rest" - ] - } - } - } + "paths": {} }, "policies": { "components": { @@ -26922,7 +22400,7 @@ }, "get": { "description": "Namespace a toolset as its own MCP endpoint.\n\nConnecting to /toolset//mcp exposes exactly the tools defined in\nthe toolset. Access is enforced: non-admin API keys must have the toolset\nlisted in their object_permission.mcp_toolsets grant list, or the request\nwill be rejected with a 403.", - "operationId": "toolset_mcp_route_toolset__toolset_name__mcp_delete", + "operationId": "toolset_mcp_route_toolset__toolset_name__mcp_get", "parameters": [ { "in": "path", @@ -26961,7 +22439,7 @@ }, "head": { "description": "Namespace a toolset as its own MCP endpoint.\n\nConnecting to /toolset//mcp exposes exactly the tools defined in\nthe toolset. Access is enforced: non-admin API keys must have the toolset\nlisted in their object_permission.mcp_toolsets grant list, or the request\nwill be rejected with a 403.", - "operationId": "toolset_mcp_route_toolset__toolset_name__mcp_delete", + "operationId": "toolset_mcp_route_toolset__toolset_name__mcp_head", "parameters": [ { "in": "path", @@ -27000,7 +22478,7 @@ }, "options": { "description": "Namespace a toolset as its own MCP endpoint.\n\nConnecting to /toolset//mcp exposes exactly the tools defined in\nthe toolset. Access is enforced: non-admin API keys must have the toolset\nlisted in their object_permission.mcp_toolsets grant list, or the request\nwill be rejected with a 403.", - "operationId": "toolset_mcp_route_toolset__toolset_name__mcp_delete", + "operationId": "toolset_mcp_route_toolset__toolset_name__mcp_options", "parameters": [ { "in": "path", @@ -27039,7 +22517,7 @@ }, "patch": { "description": "Namespace a toolset as its own MCP endpoint.\n\nConnecting to /toolset//mcp exposes exactly the tools defined in\nthe toolset. Access is enforced: non-admin API keys must have the toolset\nlisted in their object_permission.mcp_toolsets grant list, or the request\nwill be rejected with a 403.", - "operationId": "toolset_mcp_route_toolset__toolset_name__mcp_delete", + "operationId": "toolset_mcp_route_toolset__toolset_name__mcp_patch", "parameters": [ { "in": "path", @@ -27078,7 +22556,7 @@ }, "post": { "description": "Namespace a toolset as its own MCP endpoint.\n\nConnecting to /toolset//mcp exposes exactly the tools defined in\nthe toolset. Access is enforced: non-admin API keys must have the toolset\nlisted in their object_permission.mcp_toolsets grant list, or the request\nwill be rejected with a 403.", - "operationId": "toolset_mcp_route_toolset__toolset_name__mcp_delete", + "operationId": "toolset_mcp_route_toolset__toolset_name__mcp_post", "parameters": [ { "in": "path", @@ -27117,7 +22595,7 @@ }, "put": { "description": "Namespace a toolset as its own MCP endpoint.\n\nConnecting to /toolset//mcp exposes exactly the tools defined in\nthe toolset. Access is enforced: non-admin API keys must have the toolset\nlisted in their object_permission.mcp_toolsets grant list, or the request\nwill be rejected with a 403.", - "operationId": "toolset_mcp_route_toolset__toolset_name__mcp_delete", + "operationId": "toolset_mcp_route_toolset__toolset_name__mcp_put", "parameters": [ { "in": "path", @@ -28202,7 +23680,7 @@ }, "/vantage/settings": { "get": { - "description": "View current Vantage settings.\n\nReturns the current Vantage configuration with the API key masked for security.\nOnly admin users can view Vantage settings.", + "description": "View current Vantage settings.\n\nReturns the current Vantage configuration with the API key masked for security.\nOnly admin users (Proxy Admin or Admin Viewer) can view Vantage settings.", "operationId": "get_vantage_settings_vantage_settings_get", "responses": { "200": { diff --git a/model_prices_and_context_window.json b/model_prices_and_context_window.json index 2a6e4c4ac34..0f08752fc06 100644 --- a/model_prices_and_context_window.json +++ b/model_prices_and_context_window.json @@ -2110,14 +2110,12 @@ "input_cost_per_image_token": 8e-06, "litellm_provider": "azure_ai", "mode": "image_generation", - "output_cost_per_token": 1e-05, "output_cost_per_image_token": 3e-05, "supported_endpoints": [ "/v1/images/generations", "/v1/images/edits" ], - "supports_vision": true, - "supports_pdf_input": true + "supports_vision": true }, "azure_ai/gpt-image-to-image": { "cache_read_input_image_token_cost": 2e-06, @@ -2126,14 +2124,12 @@ "input_cost_per_image_token": 8e-06, "litellm_provider": "azure_ai", "mode": "image_generation", - "output_cost_per_token": 1e-05, "output_cost_per_image_token": 3e-05, "supported_endpoints": [ "/v1/images/generations", "/v1/images/edits" ], - "supports_vision": true, - "supports_pdf_input": true + "supports_vision": true }, "azure_ai/model_router": { "input_cost_per_token": 1.4e-07, diff --git a/tests/test_litellm/test_utils.py b/tests/test_litellm/test_utils.py index a0e876ba7bc..d22e202d1d9 100644 --- a/tests/test_litellm/test_utils.py +++ b/tests/test_litellm/test_utils.py @@ -4014,3 +4014,5 @@ def test_azure_ai_gpt_image_models_in_cost_map(): assert info["output_cost_per_image_token"] == 3e-05 assert info["cache_read_input_image_token_cost"] == 2e-06 assert info["supports_vision"] is True + assert info.get("output_cost_per_token") is None, f"Spurious output_cost_per_token found for {key}" + assert info.get("supports_pdf_input") is None, f"Unexpected supports_pdf_input found for {key}"