- Enter the exact JWT claim or header values to admit. Every MCP request from any other client, or from one with
- no resolvable identity, gets a 403.
+ The alias is the name shown here and in gateway logs. The value is the exact JWT claim or header value that
+ identifies the client, such as the OAuth client ID your identity provider issues. Leave the list empty to
+ allow every client. Every MCP request from an unlisted client, or from one with no resolvable identity, gets a
+ 403.
diff --git a/ui/litellm-dashboard/src/lib/http/schema.d.ts b/ui/litellm-dashboard/src/lib/http/schema.d.ts
index 19c0e29f17c..45a11aff0bc 100644
--- a/ui/litellm-dashboard/src/lib/http/schema.d.ts
+++ b/ui/litellm-dashboard/src/lib/http/schema.d.ts
@@ -26849,9 +26849,9 @@ export interface components {
maximum_spend_logs_retention_period?: string | null;
/**
* Mcp Allowed Clients
- * @description MCP client applications admitted by the gateway. When set, every MCP request must carry a client identity that matches one of these values exactly: a JWT caller is identified by the claim named in litellm_jwtauth.mcp_client_id_jwt_field, any other caller by the header named in mcp_client_id_header. A request with no resolvable identity, or an unlisted one, is rejected with 403. Unset means every client is admitted.
+ * @description MCP client applications admitted by the gateway, each an {alias, value} pair where alias is the name shown in the dashboard and logs and value is the identity that must match exactly. When set, every MCP request must carry a client identity equal to one of the values: a JWT caller is identified by the claim named in litellm_jwtauth.mcp_client_id_jwt_field, any other caller by the header named in mcp_client_id_header. A request with no resolvable identity, or an unlisted one, is rejected with 403. Unset means every client is admitted.
*/
- mcp_allowed_clients?: string[] | null;
+ mcp_allowed_clients?: components["schemas"]["MCPAllowedClient"][] | null;
/**
* Mcp Client Id Header
* @description Request header whose value names the calling MCP client application (for example 'x-mcp-client') for callers that did not authenticate with a JWT, used only while mcp_allowed_clients is set. The client picks this value itself, so it is a policy control rather than a security boundary; prefer litellm_jwtauth.mcp_client_id_jwt_field where callers use JWTs.
@@ -32491,6 +32491,22 @@ export interface components {
*/
status?: "healthy" | "unhealthy";
};
+ /**
+ * MCPAllowedClient
+ * @description One entry of `general_settings.mcp_allowed_clients`.
+ */
+ MCPAllowedClient: {
+ /**
+ * Alias
+ * @description Human-readable name for this client application, shown in the dashboard and in gateway logs.
+ */
+ alias: string;
+ /**
+ * Value
+ * @description Exact value of the JWT claim named in litellm_jwtauth.mcp_client_id_jwt_field, or of the mcp_client_id_header header, that identifies this client application. Matched case-sensitively.
+ */
+ value: string;
+ };
/** MCPConnectorEntry */
MCPConnectorEntry: {
/** Args */