diff --git a/litellm/proxy/_lazy_openapi_snapshot.json b/litellm/proxy/_lazy_openapi_snapshot.json index c76b9be7c33..130a2d01037 100644 --- a/litellm/proxy/_lazy_openapi_snapshot.json +++ b/litellm/proxy/_lazy_openapi_snapshot.json @@ -36650,6 +36650,57 @@ "title": "MCPEnvVarScope", "type": "string" }, + "MCPToolCallRequest": { + "additionalProperties": true, + "description": "Request body for `POST /mcp-rest/tools/call`.\n\nFields stay optional here on purpose: the endpoint answers a missing\n`server_id` or `name` with its 400 `missing_parameter` response rather\nthan a framework 422, and unknown fields pass through to the pre-call\npipeline, matching the previous untyped `request.json()` handling.", + "properties": { + "arguments": { + "additionalProperties": true, + "description": "Arguments to pass to the tool.", + "title": "Arguments", + "type": "object" + }, + "metadata": { + "anyOf": [ + { + "additionalProperties": true, + "type": "object" + }, + { + "type": "null" + } + ], + "description": "Optional request metadata, forwarded to logging and guardrails.", + "title": "Metadata" + }, + "name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Required. The name of the tool to call.", + "title": "Name" + }, + "server_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Required. The id of the MCP server that owns the tool to call.", + "title": "Server Id" + } + }, + "title": "MCPToolCallRequest", + "type": "object" + }, "NewMCPServerRequest": { "properties": { "alias": { @@ -37415,6 +37466,23 @@ "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", + "requestBody": { + "content": { + "application/json": { + "schema": { + "anyOf": [ + { + "$ref": "#/components/schemas/MCPToolCallRequest" + }, + { + "type": "null" + } + ], + "title": "Body" + } + } + } + }, "responses": { "200": { "content": { @@ -37423,6 +37491,16 @@ } }, "description": "Successful Response" + }, + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + }, + "description": "Validation Error" } }, "security": [ @@ -46985,6 +47063,57 @@ "title": "MCPEnvVarScope", "type": "string" }, + "MCPToolCallRequest": { + "additionalProperties": true, + "description": "Request body for `POST /mcp-rest/tools/call`.\n\nFields stay optional here on purpose: the endpoint answers a missing\n`server_id` or `name` with its 400 `missing_parameter` response rather\nthan a framework 422, and unknown fields pass through to the pre-call\npipeline, matching the previous untyped `request.json()` handling.", + "properties": { + "arguments": { + "additionalProperties": true, + "description": "Arguments to pass to the tool.", + "title": "Arguments", + "type": "object" + }, + "metadata": { + "anyOf": [ + { + "additionalProperties": true, + "type": "object" + }, + { + "type": "null" + } + ], + "description": "Optional request metadata, forwarded to logging and guardrails.", + "title": "Metadata" + }, + "name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Required. The name of the tool to call.", + "title": "Name" + }, + "server_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Required. The id of the MCP server that owns the tool to call.", + "title": "Server Id" + } + }, + "title": "MCPToolCallRequest", + "type": "object" + }, "NewMCPServerRequest": { "properties": { "alias": { @@ -47622,6 +47751,23 @@ "post": { "description": "REST API to call a specific MCP tool with the provided arguments", "operationId": "call_tool_rest_api_mcp_rest_tools_call_post", + "requestBody": { + "content": { + "application/json": { + "schema": { + "anyOf": [ + { + "$ref": "#/components/schemas/MCPToolCallRequest" + }, + { + "type": "null" + } + ], + "title": "Body" + } + } + } + }, "responses": { "200": { "content": { @@ -47630,6 +47776,16 @@ } }, "description": "Successful Response" + }, + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + }, + "description": "Validation Error" } }, "security": [ diff --git a/ui/litellm-dashboard/src/lib/http/schema.d.ts b/ui/litellm-dashboard/src/lib/http/schema.d.ts index 960616e2631..c1f9e0ea17f 100644 --- a/ui/litellm-dashboard/src/lib/http/schema.d.ts +++ b/ui/litellm-dashboard/src/lib/http/schema.d.ts @@ -38130,6 +38130,43 @@ export interface components { /** Total */ total: number; }; + /** + * MCPToolCallRequest + * @description Request body for `POST /mcp-rest/tools/call`. + * + * Fields stay optional here on purpose: the endpoint answers a missing + * `server_id` or `name` with its 400 `missing_parameter` response rather + * than a framework 422, and unknown fields pass through to the pre-call + * pipeline, matching the previous untyped `request.json()` handling. + */ + MCPToolCallRequest: { + /** + * Arguments + * @description Arguments to pass to the tool. + */ + arguments?: { + [key: string]: unknown; + }; + /** + * Metadata + * @description Optional request metadata, forwarded to logging and guardrails. + */ + metadata?: { + [key: string]: unknown; + } | null; + /** + * Name + * @description Required. The name of the tool to call. + */ + name?: string | null; + /** + * Server Id + * @description Required. The id of the MCP server that owns the tool to call. + */ + server_id?: string | null; + } & { + [key: string]: unknown; + }; /** * MCPToolSearchSettings * @description `litellm_settings.mcp_tool_search`: how the native `mcp_tool_search` virtual tool ranks the caller's tools. @@ -65191,7 +65228,11 @@ export interface operations { path?: never; cookie?: never; }; - requestBody?: never; + requestBody?: { + content: { + "application/json": components["schemas"]["MCPToolCallRequest"] | null; + }; + }; responses: { /** @description Successful Response */ 200: { @@ -65202,6 +65243,15 @@ export interface operations { "application/json": unknown; }; }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; }; }; list_tool_rest_api_mcp_rest_tools_list_get: {