Commit graph

35901 commits

Author SHA1 Message Date
Ishaan Jaffer
b1c682dd53 fix(mcp): replace x-mcp-toolset-id header with ContextVar to prevent client forgery 2026-03-21 20:17:23 -07:00
Ishaan Jaffer
253fd08b72 docs(mcp): add mcp_toolsets to sidebar 2026-03-21 19:01:35 -07:00
Ishaan Jaffer
a6c66625e9 docs(mcp): add MCP Toolsets documentation 2026-03-21 19:01:31 -07:00
Ishaan Jaffer
ab5854d0bf feat(mcp): generate correct server_url for toolsets in playground API calls 2026-03-21 19:01:27 -07:00
Ishaan Jaffer
0de013a06e feat(mcp): pass mcpToolsets to playground chat and responses API calls 2026-03-21 19:01:20 -07:00
Ishaan Jaffer
9d16008ba5 feat(mcp): add Toolsets tab to mcp_servers.tsx 2026-03-21 19:01:16 -07:00
Ishaan Jaffer
b9d8dd5fc5 feat(mcp): add MCPToolsetsTab component for creating and managing toolsets 2026-03-21 19:01:12 -07:00
Ishaan Jaffer
e8cdca5dc9 feat(mcp): pass mcp_toolsets through object_permissions_view 2026-03-21 19:01:06 -07:00
Ishaan Jaffer
a722d95493 feat(mcp): show toolsets section in MCPServerPermissions read view 2026-03-21 19:01:03 -07:00
Ishaan Jaffer
1ef54d25c1 feat(mcp): extract toolsets from combined MCP field in team form 2026-03-21 19:00:58 -07:00
Ishaan Jaffer
b66c20438f feat(mcp): extract toolsets from combined MCP field in key form 2026-03-21 19:00:53 -07:00
Ishaan Jaffer
716aaacad1 feat(mcp): add toolsets (purple) as third option type in MCPServerSelector 2026-03-21 19:00:49 -07:00
Ishaan Jaffer
b448c44001 feat(mcp): add useMCPToolsets React Query hook 2026-03-21 19:00:43 -07:00
Ishaan Jaffer
95c4c7097a feat(mcp): add fetchMCPToolsets, createMCPToolset, updateMCPToolset, deleteMCPToolset API functions 2026-03-21 19:00:38 -07:00
Ishaan Jaffer
3de93154d3 feat(mcp): add MCPToolset and MCPToolsetTool TypeScript types 2026-03-21 19:00:31 -07:00
Ishaan Jaffer
261471ff91 feat(mcp): register toolset routes in proxy_server.py 2026-03-21 19:00:12 -07:00
Ishaan Jaffer
fc1558f6a9 feat(mcp): validate mcp_toolsets in key-vs-team permission check 2026-03-21 18:59:37 -07:00
Ishaan Jaffer
7ac2e590be feat(mcp): register LiteLLM_MCPToolsetTable in prisma client initialization 2026-03-21 18:59:20 -07:00
Ishaan Jaffer
8b338cdf39 feat(mcp): add mcp_toolsets field to LiteLLM_ObjectPermissionTable type 2026-03-21 18:59:05 -07:00
Ishaan Jaffer
848f3666d0 fix(mcp): resolve toolset names in responses API before fetching tools 2026-03-21 18:58:41 -07:00
Ishaan Jaffer
4f3c46bf0c feat(mcp): add _apply_toolset_scope and toolset route handling in server.py 2026-03-21 18:58:04 -07:00
Ishaan Jaffer
bdeb94627e fix(mcp): skip allow_all_keys servers when explicit mcp_servers permission is set (toolset scope fix) 2026-03-21 18:57:23 -07:00
Ishaan Jaffer
0d47695948 feat(mcp): add toolset CRUD endpoints to mcp_management_endpoints 2026-03-21 18:56:52 -07:00
Ishaan Jaffer
0785b3a33a feat(mcp): add toolset_db.py with CRUD helpers for MCPToolset 2026-03-21 18:56:01 -07:00
Ishaan Jaffer
5f82916fbb feat(mcp): add MCPToolset Python types 2026-03-21 18:55:52 -07:00
Ishaan Jaffer
ef5b7bc62d feat(mcp): add prisma migration for MCPToolset table 2026-03-21 18:55:48 -07:00
Ishaan Jaffer
ed47c9464b feat(mcp): add LiteLLM_MCPToolsetTable and mcp_toolsets to ObjectPermissionTable 2026-03-21 18:55:42 -07:00
yuneng-jiang
d8e4fc4dd0
Merge pull request #24260 from BerriAI/litellm_yj_march_19_2026
[Infra] Merge internal dev branch with main
2026-03-20 17:35:19 -07:00
yuneng-jiang
2ca4fa6189
Merge branch 'main' into litellm_yj_march_19_2026 2026-03-20 17:28:41 -07:00
yuneng-jiang
e6e3085845
Merge pull request #24258 from joereyna/fix/anthropic-file-content-test-mock
fix(test): mock get_auth_header instead of get_api_key in anthropic file content test
2026-03-20 16:14:59 -07:00
yuneng-jiang
e678ddea43 Fix unreachable special MCP server name guard in add_mcp_server
The special name check (all_team_servers, all_proxy_servers) was an elif
after the server_id-is-not-None check, making it unreachable since special
names are non-None strings. Split into separate if blocks so the special
name guard runs before the duplicate-ID check.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-20 16:12:48 -07:00
joereyna
f0e0d98f86 fix(test): mock get_auth_header instead of get_api_key in anthropic file content test 2026-03-20 16:07:09 -07:00
yuneng-jiang
6862930538 Revert test to match reverted team MCP manager feature
The team MCP manager feature was reverted in PR #24255, so the test
needs to go back to the original single auth failure test that expects
a 403 for non-admin users.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-20 15:44:00 -07:00
yuneng-jiang
1fad0d557d
Merge pull request #24255 from BerriAI/revert-24171-litellm_/awesome-dhawan
Revert "[Feature] Team MCP Server Manager Role"
2026-03-20 15:42:10 -07:00
yuneng-jiang
c9683c6f97
Revert "[Feature] Team MCP Server Manager Role" 2026-03-20 15:41:57 -07:00
ryan-crabbe
72c307df0e
Merge pull request #24217 from BerriAI/litellm_ryan_march_18
feat: add control plane for multi-proxy worker management
2026-03-20 14:05:19 -07:00
Ryan Crabbe
541863a566 Merge branch 'litellm_ryan_march_18' of https://github.com/BerriAI/litellm into litellm_ryan_march_18 2026-03-20 13:58:32 -07:00
Ryan Crabbe
6f81eb01fe fix: apply Black formatting to ui_sso.py 2026-03-20 13:57:26 -07:00
ryan-crabbe
59b4a05782
Merge branch 'main' into litellm_ryan_march_18 2026-03-20 13:36:37 -07:00
yuneng-jiang
ba4aae02c7 Fix outdated MCP server auth test for team MCP manager flow
The test_create_mcp_server_auth_failure test expected a 403 for non-admin
users, but the team MCP manager feature changed the auth flow to first
check for team_id (400) before checking permissions. Split into two tests:
one for missing team_id (400) and one for non-manager rejection (403).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-20 13:10:10 -07:00
yuneng-jiang
5d317c3a5c Merge remote-tracking branch 'origin' into litellm_yj_march_19_2026 2026-03-20 12:59:21 -07:00
yuneng-jiang
50f88c8642
Merge pull request #24243 from BerriAI/litellm_/gifted-spence
[Docs] Add missing team_member_budget_duration param to new_team docstring
2026-03-20 12:51:13 -07:00
yuneng-jiang
4d198558c8
Merge branch 'main' into litellm_/gifted-spence 2026-03-20 12:44:20 -07:00
yuneng-jiang
404c68c74b Add missing team_member_budget_duration param to new_team docstring
Fixes CI failure in test_api_docs.py which validates that all Pydantic
model fields are documented in endpoint docstrings.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-20 12:42:35 -07:00
yuneng-jiang
3ea69c9539 Merge remote-tracking branch 'origin' into litellm_yj_march_19_2026 2026-03-20 12:37:26 -07:00
yuneng-jiang
b36269e2c1
Merge pull request #24171 from BerriAI/litellm_/awesome-dhawan
[Feature] Team MCP Server Manager Role
2026-03-20 12:30:50 -07:00
yuneng-jiang
700fd86de9 Fix importorskip guard and add LiteLLM_TeamTableCachedObj import
- Add pytest.importorskip("mcp") at module level so tests skip cleanly
  in CI environments without the mcp package (instead of ImportError)
- Import LiteLLM_TeamTableCachedObj into MCP_AVAILABLE block so type
  annotations resolve for static analysis and get_type_hints()
- Remove string quotes from type annotations now that the import exists

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-20 12:13:09 -07:00
yuneng-jiang
c6ffda9671
Merge pull request #23484 from michelligabriele/fix/team-member-budget-duration-on-create
fix(proxy): add team_member_budget_duration to NewTeamRequest
2026-03-20 11:56:30 -07:00
yuneng-jiang
f884e4ac66
Merge branch 'main' into fix/team-member-budget-duration-on-create 2026-03-20 11:48:08 -07:00
ryan-crabbe
d381b58570
Merge branch 'main' into litellm_ryan_march_18 2026-03-20 11:44:45 -07:00