mirror of
https://github.com/BerriAI/litellm.git
synced 2026-10-08 03:08:45 +00:00
* fix(ui): stop a deselected MCP server keeping its grant on a virtual key The key editor sent `mcp_tool_permissions` unfiltered, and the MCP resolver counts a server named only under `mcp_tool_permissions` as entitled, unioning `tool_perm_servers` into `all_servers` at four sites in `user_api_key_auth_mcp.py`. Deselecting a server, or removing the access group that supplied it, therefore left a stale entry that kept the key reaching that server with its old tool allowlist attached. Reuse `extractMcpEntitlement`, which already landed for the internal-user surface, so the key surface drops an entry only once the server is known and no longer granted, and keeps it whenever a retained access group or toolset could still supply it. The helper moves to a shared module so the key template does not import a users page component. Setting the map unconditionally is part of the same fix: the old `Object.keys(...).length > 0` guard let the previous map ride through the `object_permission` spread, which filtering to an empty map would otherwise hit in exactly the case the fix is for. * fix(ui): resolve retained MCP groups and toolsets per server when pruning tool permissions Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> * test(ui): mock the MCP toolsets hook in the key update suite Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> --------- Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> |
||
|---|---|---|
| .. | ||
| litellm-dashboard | ||
| Dockerfile | ||
| nginx.conf | ||