openapi: 3.2.0 info: title: LiteLLM MCP API description: "Enterprise Edition \n\nProxy Server to call 100+ LLMs in the OpenAI format. [**Customize Swagger Docs**](https://docs.litellm.ai/docs/proxy/enterprise#swagger-docs---custom-routes--branding)\n\n\U0001F449 [```LiteLLM Admin Panel on /ui```](/ui). Create, Edit Keys with SSO. Having issues? Try [```Fallback Login```](/fallback/login)\n\n\U0001F4B8 [```LiteLLM Model Cost Map```](https://models.litellm.ai/).\n\n\U0001F50E [```LiteLLM Model Hub```](/ui/model_hub_table). See available models on the proxy. [**Docs**](https://docs.litellm.ai/docs/proxy/ai_hub)" version: 1.95.0 x-operator: institution x-provenance: method: probed source: https://llmproxy.uva.nl/openapi.json retrieved: '2026-08-19' note: Document is generated by the LiteLLM proxy software the University of Amsterdam self-hosts; the deployment, the key issuance and the host (llmproxy.uva.nl, UvA Azure) are the institution's. servers[] added by API Evangelist because the served document omits it; nothing else altered. servers: - url: https://llmproxy.uva.nl description: University of Amsterdam / Amsterdam University of Applied Sciences shared AI gateway tags: - name: Mcp paths: /{mcp_server_name}/mcp: put: summary: Dynamic Mcp Route description: 'Handle /{name}/mcp for MCP server aliases, toolsets, MCP access group tags, and comma-separated lists. Resolution order: 1. Registered MCP server alias / name 2. Comma-separated list (short-circuits before any DB call) 3. Toolset name (DB lookup, cached) 4. MCP access group tag (DB lookup, cached)' operationId: dynamic_mcp_route__mcp_server_name__mcp_put parameters: - name: mcp_server_name in: path required: true schema: type: string title: Mcp Server Name responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' tags: - Mcp post: summary: Dynamic Mcp Route description: 'Handle /{name}/mcp for MCP server aliases, toolsets, MCP access group tags, and comma-separated lists. Resolution order: 1. Registered MCP server alias / name 2. Comma-separated list (short-circuits before any DB call) 3. Toolset name (DB lookup, cached) 4. MCP access group tag (DB lookup, cached)' operationId: dynamic_mcp_route__mcp_server_name__mcp_post parameters: - name: mcp_server_name in: path required: true schema: type: string title: Mcp Server Name responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' tags: - Mcp patch: summary: Dynamic Mcp Route description: 'Handle /{name}/mcp for MCP server aliases, toolsets, MCP access group tags, and comma-separated lists. Resolution order: 1. Registered MCP server alias / name 2. Comma-separated list (short-circuits before any DB call) 3. Toolset name (DB lookup, cached) 4. MCP access group tag (DB lookup, cached)' operationId: dynamic_mcp_route__mcp_server_name__mcp_patch parameters: - name: mcp_server_name in: path required: true schema: type: string title: Mcp Server Name responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' tags: - Mcp delete: summary: Dynamic Mcp Route description: 'Handle /{name}/mcp for MCP server aliases, toolsets, MCP access group tags, and comma-separated lists. Resolution order: 1. Registered MCP server alias / name 2. Comma-separated list (short-circuits before any DB call) 3. Toolset name (DB lookup, cached) 4. MCP access group tag (DB lookup, cached)' operationId: dynamic_mcp_route__mcp_server_name__mcp_delete parameters: - name: mcp_server_name in: path required: true schema: type: string title: Mcp Server Name responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' tags: - Mcp head: summary: Dynamic Mcp Route description: 'Handle /{name}/mcp for MCP server aliases, toolsets, MCP access group tags, and comma-separated lists. Resolution order: 1. Registered MCP server alias / name 2. Comma-separated list (short-circuits before any DB call) 3. Toolset name (DB lookup, cached) 4. MCP access group tag (DB lookup, cached)' operationId: dynamic_mcp_route__mcp_server_name__mcp_head parameters: - name: mcp_server_name in: path required: true schema: type: string title: Mcp Server Name responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' tags: - Mcp options: summary: Dynamic Mcp Route description: 'Handle /{name}/mcp for MCP server aliases, toolsets, MCP access group tags, and comma-separated lists. Resolution order: 1. Registered MCP server alias / name 2. Comma-separated list (short-circuits before any DB call) 3. Toolset name (DB lookup, cached) 4. MCP access group tag (DB lookup, cached)' operationId: dynamic_mcp_route__mcp_server_name__mcp_options parameters: - name: mcp_server_name in: path required: true schema: type: string title: Mcp Server Name responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' tags: - Mcp get: summary: Dynamic Mcp Route description: 'Handle /{name}/mcp for MCP server aliases, toolsets, MCP access group tags, and comma-separated lists. Resolution order: 1. Registered MCP server alias / name 2. Comma-separated list (short-circuits before any DB call) 3. Toolset name (DB lookup, cached) 4. MCP access group tag (DB lookup, cached)' operationId: dynamic_mcp_route__mcp_server_name__mcp_get parameters: - name: mcp_server_name in: path required: true schema: type: string title: Mcp Server Name responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' tags: - Mcp /v1/mcp/tools: get: tags: - Mcp summary: Get Mcp Tools 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': description: Successful Response content: application/json: schema: {} security: - APIKeyHeader: [] /v1/mcp/access_groups: get: tags: - Mcp summary: Get Mcp Access Groups description: Get all available MCP access groups from the database AND config operationId: get_mcp_access_groups_v1_mcp_access_groups_get responses: '200': description: Successful Response content: application/json: schema: {} security: - APIKeyHeader: [] /v1/mcp/network/client-ip: get: tags: - Mcp summary: Get Client Ip description: Returns the caller's IP address as seen by the proxy. operationId: get_client_ip_v1_mcp_network_client_ip_get responses: '200': description: Successful Response content: application/json: schema: {} security: - APIKeyHeader: [] /v1/mcp/registry.json: get: tags: - Mcp summary: Get Mcp Registry description: 'MCP registry endpoint. Spec: https://github.com/modelcontextprotocol/registry' operationId: get_mcp_registry_v1_mcp_registry_json_get responses: '200': description: Successful Response content: application/json: schema: {} /v1/mcp/server: get: tags: - Mcp summary: Fetch All Mcp Servers description: Returns the mcp server list with associated teams operationId: fetch_all_mcp_servers_v1_mcp_server_get security: - APIKeyHeader: [] parameters: - name: team_id in: query 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 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. responses: '200': description: Successful Response content: application/json: schema: type: array items: $ref: '#/components/schemas/LiteLLM_MCPServerTable' title: Response Fetch All Mcp Servers V1 Mcp Server Get '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' post: tags: - Mcp summary: Add Mcp Server description: Allows creation of mcp servers operationId: add_mcp_server_v1_mcp_server_post security: - APIKeyHeader: [] parameters: - name: litellm-changed-by in: header 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 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 requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/NewMCPServerRequest' responses: '201': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/LiteLLM_MCPServerTable' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' put: tags: - Mcp summary: Edit Mcp Server description: Allows deleting mcp serves in the db operationId: edit_mcp_server_v1_mcp_server_put security: - APIKeyHeader: [] parameters: - name: litellm-changed-by in: header 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 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 requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/UpdateMCPServerRequest' responses: '202': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/LiteLLM_MCPServerTable' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /v1/mcp/server/health: get: tags: - Mcp summary: Health Check Servers description: Health check for MCP servers operationId: health_check_servers_v1_mcp_server_health_get security: - APIKeyHeader: [] parameters: - name: server_ids in: query required: false schema: anyOf: - type: array items: type: string - type: 'null' description: Server IDs to check. If not provided, checks all accessible servers. title: Server Ids description: Server IDs to check. If not provided, checks all accessible servers. responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /v1/mcp/server/register: post: tags: - Mcp summary: Register Mcp Server 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': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/LiteLLM_MCPServerTable' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' security: - APIKeyHeader: [] /v1/mcp/server/submissions: get: tags: - Mcp summary: Get Mcp Server Submissions 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': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/MCPSubmissionsSummary' security: - APIKeyHeader: [] /v1/mcp/server/{server_id}/approve: put: tags: - Mcp summary: Approve Mcp Server Submission 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 security: - APIKeyHeader: [] parameters: - name: server_id in: path required: true schema: type: string title: Server Id responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/LiteLLM_MCPServerTable' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /v1/mcp/server/{server_id}/reject: put: tags: - Mcp summary: Reject Mcp Server Submission 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 security: - APIKeyHeader: [] parameters: - name: server_id in: path required: true schema: type: string title: Server Id requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/RejectMCPServerRequest' responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/LiteLLM_MCPServerTable' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /v1/mcp/server/{server_id}: get: tags: - Mcp summary: Fetch Mcp Server description: Returns the mcp server info operationId: fetch_mcp_server_v1_mcp_server__server_id__get security: - APIKeyHeader: [] parameters: - name: server_id in: path required: true schema: type: string title: Server Id responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/LiteLLM_MCPServerTable' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' delete: tags: - Mcp summary: Remove Mcp Server description: Allows deleting mcp serves in the db operationId: remove_mcp_server_v1_mcp_server__server_id__delete security: - APIKeyHeader: [] parameters: - name: server_id in: path required: true schema: type: string title: Server Id - name: litellm-changed-by in: header 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 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 responses: '202': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /v1/mcp/server/oauth/session: post: tags: - Mcp summary: Add Session Mcp Server description: Temporarily cache an MCP server in memory without writing to the database operationId: add_session_mcp_server_v1_mcp_server_oauth_session_post security: - APIKeyHeader: [] parameters: - name: litellm-changed-by in: header 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 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 requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/NewMCPServerRequest' responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /v1/mcp/server/{server_id}/user-credential: post: tags: - Mcp summary: Store Mcp User Credential 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 security: - APIKeyHeader: [] parameters: - name: server_id in: path required: true schema: type: string title: Server Id requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/MCPUserCredentialRequest' responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/MCPUserCredentialResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' delete: tags: - Mcp summary: Delete Mcp User Credential 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 security: - APIKeyHeader: [] parameters: - name: server_id in: path required: true schema: type: string title: Server Id responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/MCPUserCredentialResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /v1/mcp/server/{server_id}/oauth-user-credential: post: tags: - Mcp summary: Store Mcp Oauth User Credential 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 security: - APIKeyHeader: [] parameters: - name: server_id in: path required: true schema: type: string title: Server Id requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/MCPOAuthUserCredentialRequest' responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/MCPOAuthUserCredentialStatus' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' delete: tags: - Mcp summary: Delete Mcp Oauth User Credential 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 security: - APIKeyHeader: [] parameters: - name: server_id in: path required: true schema: type: string title: Server Id responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/MCPOAuthUserCredentialStatus' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /v1/mcp/server/{server_id}/oauth-user-credential/status: get: tags: - Mcp summary: Get Mcp Oauth User Credential Status 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 security: - APIKeyHeader: [] parameters: - name: server_id in: path required: true schema: type: string title: Server Id responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/MCPOAuthUserCredentialStatus' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /v1/mcp/user-credentials: get: tags: - Mcp summary: List Mcp User Credentials description: List all OAuth2 MCP credentials stored for the calling user operationId: list_mcp_user_credentials_v1_mcp_user_credentials_get responses: '200': description: Successful Response content: application/json: schema: items: $ref: '#/components/schemas/MCPUserCredentialListItem' type: array title: Response List Mcp User Credentials V1 Mcp User Credentials Get security: - APIKeyHeader: [] /v1/mcp/server/{server_id}/user-env-vars: get: tags: - Mcp summary: Get Mcp User Env Vars description: Return the calling user's per-user MCP env var status for this server. operationId: get_mcp_user_env_vars_v1_mcp_server__server_id__user_env_vars_get security: - APIKeyHeader: [] parameters: - name: server_id in: path required: true schema: type: string title: Server Id responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/MCPUserEnvVarsStatus' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' post: tags: - Mcp summary: Store Mcp User Env Vars description: Store the calling user's per-user MCP env var values for this server. Submitted values are merged over any previously stored values, so you only send the fields you want to set or change; a variable omitted (or sent empty) keeps its stored value. Use DELETE to clear all stored values. operationId: store_mcp_user_env_vars_v1_mcp_server__server_id__user_env_vars_post security: - APIKeyHeader: [] parameters: - name: server_id in: path required: true schema: type: string title: Server Id requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/MCPUserEnvVarsRequest' responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/MCPUserEnvVarsStatus' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' delete: tags: - Mcp summary: Clear Mcp User Env Vars description: Clear the calling user's per-user MCP env var values for this server. operationId: clear_mcp_user_env_vars_v1_mcp_server__server_id__user_env_vars_delete security: - APIKeyHeader: [] parameters: - name: server_id in: path required: true schema: type: string title: Server Id responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/MCPUserEnvVarsStatus' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /v1/mcp/user-env-vars/status: get: tags: - Mcp summary: List Mcp User Env Var Status description: Per-user MCP env var status across every server the user can access. Used by the dashboard to highlight servers with missing per-user vars. operationId: list_mcp_user_env_var_status_v1_mcp_user_env_vars_status_get responses: '200': description: Successful Response content: application/json: schema: items: $ref: '#/components/schemas/MCPUserEnvVarsStatus' type: array title: Response List Mcp User Env Var Status V1 Mcp User Env Vars Status Get security: - APIKeyHeader: [] /v1/mcp/make_public: post: tags: - Mcp summary: Make Mcp Servers Public 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': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' security: - APIKeyHeader: [] /v1/mcp/discover: get: tags: - Mcp summary: Discover Mcp Servers description: Returns a curated list of well-known MCP servers for discovery UI operationId: discover_mcp_servers_v1_mcp_discover_get security: - APIKeyHeader: [] parameters: - name: query in: query required: false schema: anyOf: - type: string - type: 'null' description: Search filter for server names and descriptions title: Query description: Search filter for server names and descriptions - name: category in: query required: false schema: anyOf: - type: string - type: 'null' description: Filter by category title: Category description: Filter by category responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /v1/mcp/openapi-registry: get: tags: - Mcp summary: Get Openapi Registry 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': description: Successful Response content: application/json: schema: {} security: - APIKeyHeader: [] /v1/mcp/toolset: post: tags: - Mcp summary: Add Mcp Toolset description: Create a new MCP toolset (admin only) operationId: add_mcp_toolset_v1_mcp_toolset_post security: - APIKeyHeader: [] parameters: - name: litellm-changed-by in: header required: false schema: anyOf: - type: string - type: 'null' title: Litellm-Changed-By requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/NewMCPToolsetRequest' responses: '201': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' get: tags: - Mcp summary: Fetch Mcp Toolsets description: List MCP toolsets accessible to the calling key operationId: fetch_mcp_toolsets_v1_mcp_toolset_get security: - APIKeyHeader: [] responses: '200': description: Successful Response content: application/json: schema: {} put: tags: - Mcp summary: Edit Mcp Toolset description: Update an existing MCP toolset (admin only) operationId: edit_mcp_toolset_v1_mcp_toolset_put security: - APIKeyHeader: [] parameters: - name: litellm-changed-by in: header required: false schema: anyOf: - type: string - type: 'null' title: Litellm-Changed-By requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/UpdateMCPToolsetRequest' responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /v1/mcp/toolset/{toolset_id}: get: tags: - Mcp summary: Fetch Mcp Toolset description: Get a specific MCP toolset by ID operationId: fetch_mcp_toolset_v1_mcp_toolset__toolset_id__get security: - APIKeyHeader: [] parameters: - name: toolset_id in: path required: true schema: type: string title: Toolset Id responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' delete: tags: - Mcp summary: Remove Mcp Toolset description: Delete an MCP toolset (admin only) operationId: remove_mcp_toolset_v1_mcp_toolset__toolset_id__delete security: - APIKeyHeader: [] parameters: - name: toolset_id in: path required: true schema: type: string title: Toolset Id - name: litellm-changed-by in: header required: false schema: anyOf: - type: string - type: 'null' title: Litellm-Changed-By responses: '202': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /mcp-rest/tools/list: get: tags: - Mcp summary: List Tool Rest Api 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 \"server_id\": \"a1b2c3d4-...\",\n \"alias\": \"zapier_prod\",\n }\n }\n ],\n \"error\": null,\n \"message\": \"Successfully retrieved tools\"\n}" operationId: list_tool_rest_api_mcp_rest_tools_list_get security: - APIKeyHeader: [] parameters: - name: server_id in: query required: false schema: anyOf: - type: string - type: 'null' description: The server id to list tools for title: Server Id description: The server id to list tools for - name: mcp_server_name in: query required: false schema: anyOf: - type: string - type: 'null' description: Filter tools to a single MCP server by name or alias title: Mcp Server Name description: Filter tools to a single MCP server by name or alias - name: toolset_name in: query required: false schema: anyOf: - type: string - type: 'null' description: Filter tools to a single toolset by name title: Toolset Name description: Filter tools to a single toolset by name - name: include_disabled_tools in: query required: false schema: type: boolean description: Admin only. Return the full server tool catalog without the allowed_tools filter or per-key tool permissions, so the MCP settings UI can configure the allowlist. Ignored for non-admins. default: false title: Include Disabled Tools description: Admin only. Return the full server tool catalog without the allowed_tools filter or per-key tool permissions, so the MCP settings UI can configure the allowlist. Ignored for non-admins. responses: '200': description: Successful Response content: application/json: schema: type: object additionalProperties: true title: Response List Tool Rest Api Mcp Rest Tools List Get '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /mcp-rest/tools/call: post: tags: - Mcp summary: Call Tool Rest Api 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': description: Successful Response content: application/json: schema: {} security: - APIKeyHeader: [] /mcp-rest/test/connection: post: tags: - Mcp summary: Test Connection 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': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' security: - APIKeyHeader: [] /mcp-rest/test/tools/list: post: tags: - Mcp summary: Test Tools List 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': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' security: - APIKeyHeader: [] components: schemas: HTTPValidationError: properties: detail: items: $ref: '#/components/schemas/ValidationError' type: array title: Detail type: object title: HTTPValidationError ValidationError: properties: loc: items: anyOf: - type: string - type: integer type: array title: Location msg: type: string title: Message type: type: string title: Error Type input: title: Input ctx: type: object title: Context type: object required: - loc - msg - type title: ValidationError LiteLLM_MCPServerTable: properties: server_id: type: string title: Server Id server_name: anyOf: - type: string - type: 'null' title: Server Name alias: anyOf: - type: string - type: 'null' title: Alias description: anyOf: - type: string - type: 'null' title: Description url: anyOf: - type: string - type: 'null' title: Url spec_path: anyOf: - type: string - type: 'null' title: Spec Path transport: type: string enum: - sse - http - stdio title: Transport auth_type: anyOf: - type: string enum: - none - api_key - bearer_token - basic - authorization - oauth2 - aws_sigv4 - token - oauth2_token_exchange - oauth2_id_jag - true_passthrough - oauth_delegate - type: 'null' title: Auth Type credentials: anyOf: - $ref: '#/components/schemas/MCPCredentials' - type: 'null' instructions: anyOf: - type: string - type: 'null' title: Instructions created_at: anyOf: - type: string format: date-time - type: 'null' title: Created At created_by: anyOf: - type: string - type: 'null' title: Created By updated_at: anyOf: - type: string format: date-time - type: 'null' title: Updated At updated_by: anyOf: - type: string - type: 'null' title: Updated By teams: items: additionalProperties: anyOf: - type: string - type: 'null' type: object type: array title: Teams mcp_access_groups: items: type: string type: array title: Mcp Access Groups allowed_tools: items: type: string type: array title: Allowed Tools tool_name_to_display_name: anyOf: - additionalProperties: type: string type: object - type: 'null' title: Tool Name To Display Name tool_name_to_description: anyOf: - additionalProperties: type: string type: object - type: 'null' title: Tool Name To Description extra_headers: items: type: string type: array title: Extra Headers mcp_info: anyOf: - additionalProperties: true type: object - type: 'null' title: Mcp Info static_headers: anyOf: - additionalProperties: type: string type: object - type: 'null' title: Static Headers env_vars: anyOf: - items: $ref: '#/components/schemas/MCPEnvVar' type: array - type: 'null' title: Env Vars status: anyOf: - type: string enum: - healthy - unhealthy - unknown - type: 'null' title: Status description: 'Health status: ''healthy'', ''unhealthy'', ''unknown''' default: unknown last_health_check: anyOf: - type: string format: date-time - type: 'null' title: Last Health Check health_check_error: anyOf: - type: string - type: 'null' title: Health Check Error command: anyOf: - type: string - type: 'null' title: Command args: items: type: string type: array title: Args env: additionalProperties: type: string type: object title: Env issuer: anyOf: - type: string - type: 'null' title: Issuer authorization_url: anyOf: - type: string - type: 'null' title: Authorization Url token_url: anyOf: - type: string - type: 'null' title: Token Url registration_url: anyOf: - type: string - type: 'null' title: Registration Url oauth2_flow: anyOf: - type: string enum: - client_credentials - authorization_code - type: 'null' title: Oauth2 Flow token_exchange_endpoint: anyOf: - type: string - type: 'null' title: Token Exchange Endpoint audience: anyOf: - type: string - type: 'null' title: Audience subject_token_type: anyOf: - type: string - type: 'null' title: Subject Token Type token_exchange_profile: anyOf: - type: string - type: 'null' title: Token Exchange Profile allow_all_keys: type: boolean title: Allow All Keys default: false available_on_public_internet: type: boolean title: Available On Public Internet default: true delegate_auth_to_upstream: type: boolean title: Delegate Auth To Upstream default: false oauth_passthrough: type: boolean title: Oauth Passthrough default: false dcr_bridge: anyOf: - type: boolean - type: 'null' title: Dcr Bridge is_byok: type: boolean title: Is Byok default: false byok_description: items: type: string type: array title: Byok Description byok_api_key_help_url: anyOf: - type: string - type: 'null' title: Byok Api Key Help Url has_user_credential: anyOf: - type: boolean - type: 'null' title: Has User Credential source_url: anyOf: - type: string - type: 'null' title: Source Url timeout: anyOf: - type: number - type: 'null' title: Timeout max_concurrent_requests: anyOf: - type: integer - type: 'null' title: Max Concurrent Requests approval_status: anyOf: - type: string - type: 'null' title: Approval Status description: 'Approval status: ''pending_review'', ''active'', ''rejected''' default: active submitted_by: anyOf: - type: string - type: 'null' title: Submitted By submitted_at: anyOf: - type: string format: date-time - type: 'null' title: Submitted At reviewed_at: anyOf: - type: string format: date-time - type: 'null' title: Reviewed At review_notes: anyOf: - type: string - type: 'null' title: Review Notes type: object required: - server_id - transport title: LiteLLM_MCPServerTable description: Represents a LiteLLM_MCPServerTable record NewMCPServerRequest: properties: server_id: anyOf: - type: string - type: 'null' title: Server Id server_name: anyOf: - type: string - type: 'null' title: Server Name alias: anyOf: - type: string - type: 'null' title: Alias description: anyOf: - type: string - type: 'null' title: Description transport: type: string enum: - sse - http - stdio title: Transport default: sse auth_type: anyOf: - type: string enum: - none - api_key - bearer_token - basic - authorization - oauth2 - aws_sigv4 - token - oauth2_token_exchange - oauth2_id_jag - true_passthrough - oauth_delegate - type: 'null' title: Auth Type credentials: anyOf: - $ref: '#/components/schemas/MCPCredentials' - type: 'null' url: anyOf: - type: string - type: 'null' title: Url spec_path: anyOf: - type: string - type: 'null' title: Spec Path mcp_info: anyOf: - additionalProperties: true type: object - type: 'null' title: Mcp Info mcp_access_groups: items: type: string type: array title: Mcp Access Groups allowed_tools: anyOf: - items: type: string type: array - type: 'null' title: Allowed Tools tool_name_to_display_name: anyOf: - additionalProperties: type: string type: object - type: 'null' title: Tool Name To Display Name tool_name_to_description: anyOf: - additionalProperties: type: string type: object - type: 'null' title: Tool Name To Description extra_headers: anyOf: - items: type: string type: array - type: 'null' title: Extra Headers static_headers: anyOf: - additionalProperties: type: string type: object - type: 'null' title: Static Headers env_vars: anyOf: - items: $ref: '#/components/schemas/MCPEnvVar' type: array - type: 'null' title: Env Vars instructions: anyOf: - type: string - type: 'null' title: Instructions command: anyOf: - type: string - type: 'null' title: Command args: items: type: string type: array title: Args env: additionalProperties: type: string type: object title: Env issuer: anyOf: - type: string - type: 'null' title: Issuer authorization_url: anyOf: - type: string - type: 'null' title: Authorization Url token_url: anyOf: - type: string - type: 'null' title: Token Url registration_url: anyOf: - type: string - type: 'null' title: Registration Url oauth2_flow: anyOf: - type: string enum: - client_credentials - authorization_code - type: 'null' title: Oauth2 Flow token_exchange_endpoint: anyOf: - type: string - type: 'null' title: Token Exchange Endpoint audience: anyOf: - type: string - type: 'null' title: Audience subject_token_type: anyOf: - type: string - type: 'null' title: Subject Token Type token_exchange_profile: anyOf: - type: string - type: 'null' title: Token Exchange Profile allow_all_keys: type: boolean title: Allow All Keys default: false available_on_public_internet: type: boolean title: Available On Public Internet default: true delegate_auth_to_upstream: type: boolean title: Delegate Auth To Upstream default: false oauth_passthrough: type: boolean title: Oauth Passthrough default: false dcr_bridge: anyOf: - type: boolean - type: 'null' title: Dcr Bridge is_byok: type: boolean title: Is Byok default: false byok_description: items: type: string type: array title: Byok Description byok_api_key_help_url: anyOf: - type: string - type: 'null' title: Byok Api Key Help Url source_url: anyOf: - type: string - type: 'null' title: Source Url timeout: anyOf: - type: number - type: 'null' title: Timeout max_concurrent_requests: anyOf: - type: integer - type: 'null' title: Max Concurrent Requests approval_status: anyOf: - type: string - type: 'null' title: Approval Status description: 'Server-managed: set by the endpoint; caller values are overridden.' submitted_by: anyOf: - type: string - type: 'null' title: Submitted By description: 'Server-managed: set by the endpoint; caller values are overridden.' submitted_at: anyOf: - type: string format: date-time - type: 'null' title: Submitted At description: 'Server-managed: set by the endpoint; caller values are overridden.' type: object title: NewMCPServerRequest RejectMCPServerRequest: properties: review_notes: anyOf: - type: string - type: 'null' title: Review Notes type: object title: RejectMCPServerRequest UpdateMCPToolsetRequest: properties: toolset_id: type: string title: Toolset Id toolset_name: anyOf: - type: string - type: 'null' title: Toolset Name description: anyOf: - type: string - type: 'null' title: Description tools: anyOf: - items: $ref: '#/components/schemas/MCPToolsetTool' type: array - type: 'null' title: Tools type: object required: - toolset_id title: UpdateMCPToolsetRequest MCPUserCredentialRequest: properties: credential: type: string title: Credential save: type: boolean title: Save default: true type: object required: - credential title: MCPUserCredentialRequest MCPCredentials: properties: auth_value: anyOf: - type: string - type: 'null' title: Auth Value 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 aws_access_key_id: anyOf: - type: string - type: 'null' title: Aws Access Key Id aws_secret_access_key: anyOf: - type: string - type: 'null' title: Aws Secret Access Key aws_session_token: anyOf: - type: string - type: 'null' title: Aws Session Token aws_region_name: anyOf: - type: string - type: 'null' title: Aws Region Name aws_service_name: anyOf: - type: string - type: 'null' title: Aws Service Name aws_role_name: anyOf: - type: string - type: 'null' title: Aws Role Name aws_session_name: anyOf: - type: string - type: 'null' title: Aws Session Name audience: anyOf: - type: string - type: 'null' title: Audience token_exchange_endpoint: anyOf: - type: string - type: 'null' title: Token Exchange Endpoint subject_token_type: anyOf: - type: string - type: 'null' title: Subject Token Type id_jag_resource_token_endpoint: anyOf: - type: string - type: 'null' title: Id Jag Resource Token Endpoint id_jag_resource: anyOf: - type: string - type: 'null' title: Id Jag Resource upstream_resource: anyOf: - type: string - type: 'null' title: Upstream Resource client_private_key: anyOf: - type: string - type: 'null' title: Client Private Key client_private_key_id: anyOf: - type: string - type: 'null' title: Client Private Key Id client_assertion_signing_alg: anyOf: - type: string - type: 'null' title: Client Assertion Signing Alg token_endpoint_auth_method: anyOf: - type: string enum: - client_secret_basic - client_secret_post - type: 'null' title: Token Endpoint Auth Method redirect_uris: anyOf: - items: type: string type: array - type: 'null' title: Redirect Uris token_exchange_profile: anyOf: - type: string - type: 'null' title: Token Exchange Profile type: object title: MCPCredentials MCPUserCredentialResponse: properties: server_id: type: string title: Server Id has_credential: type: boolean title: Has Credential type: object required: - server_id - has_credential title: MCPUserCredentialResponse MCPUserEnvVarSpec: properties: name: type: string title: Name description: anyOf: - type: string - type: 'null' title: Description is_set: type: boolean title: Is Set default: false type: object required: - name title: MCPUserEnvVarSpec description: 'Describes one per-user env var slot for the calling user. Stored values are write-only: the status only reports whether a value ``is_set`` and never echoes the decrypted secret back to the client.' MCPSubmissionsSummary: properties: total: type: integer title: Total pending_review: type: integer title: Pending Review active: type: integer title: Active rejected: type: integer title: Rejected items: items: $ref: '#/components/schemas/LiteLLM_MCPServerTable' type: array title: Items type: object required: - total - pending_review - active - rejected - items title: MCPSubmissionsSummary MCPUserEnvVarsStatus: properties: server_id: type: string title: Server Id server_name: anyOf: - type: string - type: 'null' title: Server Name alias: anyOf: - type: string - type: 'null' title: Alias required: items: $ref: '#/components/schemas/MCPUserEnvVarSpec' type: array title: Required missing_count: type: integer title: Missing Count default: 0 setup_url: anyOf: - type: string - type: 'null' title: Setup Url type: object required: - server_id title: MCPUserEnvVarsStatus description: Per-user env var status for a single MCP server. NewMCPToolsetRequest: properties: toolset_name: type: string title: Toolset Name description: anyOf: - type: string - type: 'null' title: Description tools: items: $ref: '#/components/schemas/MCPToolsetTool' type: array title: Tools default: [] type: object required: - toolset_name title: NewMCPToolsetRequest MCPOAuthUserCredentialStatus: properties: server_id: type: string title: Server Id has_credential: type: boolean title: Has Credential expires_at: anyOf: - type: string - type: 'null' title: Expires At is_expired: type: boolean title: Is Expired default: false connected_at: anyOf: - type: string - type: 'null' title: Connected At type: object required: - server_id - has_credential title: MCPOAuthUserCredentialStatus description: Describes whether the calling user has a stored OAuth credential. UpdateMCPServerRequest: properties: server_id: type: string title: Server Id server_name: anyOf: - type: string - type: 'null' title: Server Name alias: anyOf: - type: string - type: 'null' title: Alias description: anyOf: - type: string - type: 'null' title: Description transport: type: string enum: - sse - http - stdio title: Transport default: sse auth_type: anyOf: - type: string enum: - none - api_key - bearer_token - basic - authorization - oauth2 - aws_sigv4 - token - oauth2_token_exchange - oauth2_id_jag - true_passthrough - oauth_delegate - type: 'null' title: Auth Type credentials: anyOf: - $ref: '#/components/schemas/MCPCredentials' - type: 'null' url: anyOf: - type: string - type: 'null' title: Url spec_path: anyOf: - type: string - type: 'null' title: Spec Path mcp_info: anyOf: - additionalProperties: true type: object - type: 'null' title: Mcp Info mcp_access_groups: items: type: string type: array title: Mcp Access Groups allowed_tools: anyOf: - items: type: string type: array - type: 'null' title: Allowed Tools tool_name_to_display_name: anyOf: - additionalProperties: type: string type: object - type: 'null' title: Tool Name To Display Name tool_name_to_description: anyOf: - additionalProperties: type: string type: object - type: 'null' title: Tool Name To Description extra_headers: anyOf: - items: type: string type: array - type: 'null' title: Extra Headers static_headers: anyOf: - additionalProperties: type: string type: object - type: 'null' title: Static Headers env_vars: anyOf: - items: $ref: '#/components/schemas/MCPEnvVar' type: array - type: 'null' title: Env Vars instructions: anyOf: - type: string - type: 'null' title: Instructions command: anyOf: - type: string - type: 'null' title: Command args: items: type: string type: array title: Args env: additionalProperties: type: string type: object title: Env issuer: anyOf: - type: string - type: 'null' title: Issuer authorization_url: anyOf: - type: string - type: 'null' title: Authorization Url token_url: anyOf: - type: string - type: 'null' title: Token Url registration_url: anyOf: - type: string - type: 'null' title: Registration Url oauth2_flow: anyOf: - type: string enum: - client_credentials - authorization_code - type: 'null' title: Oauth2 Flow token_exchange_endpoint: anyOf: - type: string - type: 'null' title: Token Exchange Endpoint audience: anyOf: - type: string - type: 'null' title: Audience subject_token_type: anyOf: - type: string - type: 'null' title: Subject Token Type token_exchange_profile: anyOf: - type: string - type: 'null' title: Token Exchange Profile allow_all_keys: type: boolean title: Allow All Keys default: false available_on_public_internet: type: boolean title: Available On Public Internet default: true delegate_auth_to_upstream: type: boolean title: Delegate Auth To Upstream default: false oauth_passthrough: type: boolean title: Oauth Passthrough default: false dcr_bridge: anyOf: - type: boolean - type: 'null' title: Dcr Bridge is_byok: type: boolean title: Is Byok default: false byok_description: items: type: string type: array title: Byok Description byok_api_key_help_url: anyOf: - type: string - type: 'null' title: Byok Api Key Help Url source_url: anyOf: - type: string - type: 'null' title: Source Url timeout: anyOf: - type: number - type: 'null' title: Timeout max_concurrent_requests: anyOf: - type: integer - type: 'null' title: Max Concurrent Requests type: object required: - server_id title: UpdateMCPServerRequest MCPUserCredentialListItem: properties: server_id: type: string title: Server Id server_name: anyOf: - type: string - type: 'null' title: Server Name alias: anyOf: - type: string - type: 'null' title: Alias credential_type: type: string title: Credential Type has_credential: type: boolean title: Has Credential expires_at: anyOf: - type: string - type: 'null' title: Expires At connected_at: anyOf: - type: string - type: 'null' title: Connected At type: object required: - server_id - credential_type - has_credential title: MCPUserCredentialListItem description: One entry in the /user-credentials list. MCPEnvVar: properties: name: type: string title: Name value: type: string title: Value default: '' scope: $ref: '#/components/schemas/MCPEnvVarScope' default: global description: anyOf: - type: string - type: 'null' title: Description type: object required: - name title: MCPEnvVar description: 'One environment variable for an MCP server. Variables can be interpolated into ``static_headers`` using ``${NAME}`` syntax. ``scope=global`` values are stored on the server. ``scope=user`` values are stored per-user in ``LiteLLM_MCPUserEnvVars`` and supplied by each user.' MakeMCPServersPublicRequest: properties: mcp_server_ids: items: type: string type: array title: Mcp Server Ids type: object required: - mcp_server_ids title: MakeMCPServersPublicRequest MCPToolsetTool: properties: server_id: type: string title: Server Id tool_name: type: string title: Tool Name type: object required: - server_id - tool_name title: MCPToolsetTool MCPEnvVarScope: type: string enum: - global - user title: MCPEnvVarScope description: "Scope for an MCP server environment variable.\n\n- ``global``: value is provided by the admin and used for all users.\n- ``user``: each user must provide their own value via the per-user\n env-var endpoint. The admin-supplied ``value`` is treated as a\n placeholder/hint and is not used at request time." MCPOAuthUserCredentialRequest: properties: access_token: type: string title: Access Token refresh_token: anyOf: - type: string - type: 'null' title: Refresh Token expires_in: anyOf: - type: integer - type: 'null' title: Expires In scopes: anyOf: - items: type: string type: array - type: 'null' title: Scopes type: object required: - access_token title: MCPOAuthUserCredentialRequest description: Stores a user's OAuth2 token for an OpenAPI MCP server. MCPUserEnvVarsRequest: properties: values: additionalProperties: type: string type: object title: Values type: object required: - values title: MCPUserEnvVarsRequest description: Payload for storing the calling user's per-user env var values. securitySchemes: APIKeyHeader: type: apiKey description: Bearer token in: header name: x-litellm-api-key