litellm/ui/litellm-dashboard/src
ryan-crabbe-berri 9b10543427
feat(mcp): scope a key to zero MCP servers with no-mcp-servers sentinel (#31029)
* feat(mcp): scope a key to zero MCP servers with no-mcp-servers sentinel

A key under a team that has MCP servers had no way to opt out of them;
an empty list has always meant "inherit the team". This adds a
no-mcp-servers sentinel (mirroring no-default-models for models) so a key
can declare an explicit zero that overrides team inheritance, additive
grants, and allow_all_keys servers, surfaced as an exclusive "No MCP
Servers" option in the key create/edit UI.

* refactor(ui): centralize no-mcp-servers sentinel in a shared constant

The sentinel string was defined under two different local names and
inlined in two more files; a single exported constant removes the drift
risk flagged in review.

* fix(mcp): enforce no-mcp-servers sentinel on toolset-scoped routes

Toolset scoping replaced a key's mcp_servers with the toolset's servers,
dropping the no-mcp-servers sentinel, so a key opted out of all MCP could
still execute a granted toolset's tools via /toolset/{name}/mcp. Deny
toolset access when the key carries the sentinel, checked before the admin
branch to match get_allowed_mcp_servers.

(cherry picked from commit 19a29e0579)
2026-06-23 20:00:04 -07:00
..
app style(ui): run prettier --write across the dashboard (#29622) 2026-06-04 11:37:54 -07:00
components feat(mcp): scope a key to zero MCP servers with no-mcp-servers sentinel (#31029) 2026-06-23 20:00:04 -07:00
contexts style(ui): run prettier --write across the dashboard (#29622) 2026-06-04 11:37:54 -07:00
data style(ui): run prettier --write across the dashboard (#29622) 2026-06-04 11:37:54 -07:00
hooks fix(ui/mcp): reset OAuth state on create-server modal close so a prior server's token no longer leaks into the next add-server session (#30000) 2026-06-15 18:21:45 -07:00
lib fix(proxy): list public team model name in /v1/models (#30588) 2026-06-17 18:34:07 -07:00
utils fix(mcp): load MCP tool configuration tools via the OBO/passthrough-aware GET path (#29960) 2026-06-15 18:21:29 -07:00
types.ts added and ran prettier autoformatter 2025-10-04 18:19:48 -07:00