Yuta Saito
1fbbe0a983
test: restore global MCP server manager after access-group test
2026-01-19 12:29:37 +09:00
Yuta Saito
df37770a70
test: add permission test
2026-01-14 07:58:21 +09:00
Yuta Saito
35f9a75d55
feat: add UI support for configuring meta URLs
2026-01-02 15:07:37 +09:00
Yuta Saito
34b500c7f5
feat: support MCP stdio header env overrides
2025-12-22 12:58:31 +09:00
YutaSaito
b72b49757e
feat: add backend support for OAuth2 auth_type registration via UI ( #17006 )
2025-11-23 21:52:18 -08:00
YutaSaito
f0b10b854b
chore: remove unused MCP_PROTOCOL_VERSION_HEADER_NAME constant ( #17008 )
2025-11-23 21:51:11 -08:00
Ishaan Jaffer
0c28af8705
test MCP server
2025-11-22 10:02:15 -08:00
Ishaan Jaffer
fc0eac2d10
test_get_tools_from_mcp_servers
2025-11-22 10:02:15 -08:00
YutaSaito
93affcb732
[Feat] mcp resources support ( #16800 )
...
* feat: mcp prompts support
* feat: mcp resources support
2025-11-20 14:53:44 -08:00
YutaSaito
0b586d26fc
refactor: drop MCPClient.connect and use run_with_session lifecycle ( #16696 )
...
Surface detailed connection errors by handling HTTP failures
2025-11-15 17:54:27 -08:00
yuneng-jiang
00ecb99f3e
[Fix] UI MCP Tool Test Regression ( #16695 )
...
* Fix UI MCP testing tool regression
* Fixed linting
2025-11-15 15:31:04 -08:00
YutaSaito
f487f4e3a9
feat: add dynamic OAuth2 metadata discovery for MCP servers ( #16676 )
...
* feat: add dynamic OAuth2 metadata discovery for MCP servers
* fix: lint error
2025-11-14 18:14:43 -08:00
YutaSaito
8e0b66a814
fix: exclude unauthorized MCP servers from allowed server list ( #16551 )
...
* fix: exclude unauthorized MCP servers from allowed server list
* fix: test after resolving merge conflicts
2025-11-13 12:33:54 -08:00
YutaSaito
2843dab7fe
fix: allow tool call even when server name prefix is missing ( #16425 )
...
* fix: allow tool call even when server name prefix is missing
* fix: test
* fix: test
* fix: test
2025-11-12 13:50:52 -08:00
YutaSaito
6eb74bd62a
Feat/persist mcp credentials in db ( #16308 )
...
* feat: persist mcp credentials in db
* feat: remove Auth Value field from MCP Tool Testing Playground
* fix: test
2025-11-07 19:22:49 -08:00
YutaSaito
8e27b6c0b4
[MCP] configure static mcp header ( #16179 )
...
* feat: configure extra mcp headers in ui
* doc: static header
* build: add new migration file
* chore: add missing image file
* fix: test
2025-11-03 21:06:36 -08:00
YutaSaito
c0890e7d33
[Feat] add support for dynamic client registration ( #15921 ) (enables Atlassian MCP to work via Oauth on LiteLLM)
...
* feat: add support for dynamic client registration #13856
* fix: test
* feat: return 401 when oauth2_header is missing for OAuth2-based MCP servers
2025-10-26 10:13:46 -07:00
Yuta Saito
be5010a675
test: fix tests
2025-09-29 07:21:32 +09:00
Krrish Dholakia
9403efa511
test: fix tests
2025-09-28 08:54:15 -07:00
Krrish Dholakia
1256dd53d9
test: update tests
2025-09-28 08:53:11 -07:00
Krrish Dholakia
340262c85f
feat(server.py): only show allowed mcp tools
2025-09-27 20:57:12 -07:00
Krrish Dholakia
5d6889dc92
test: update tests
2025-09-27 10:40:06 -07:00
Ishaan Jaffer
dec15a80a2
test: mcp test fix
2025-09-19 17:52:32 -07:00
Ishaan Jaffer
c3f150b13d
mcp test fix
2025-09-19 17:41:15 -07:00
Yuta Saito
654f1d3290
fix: stop including spec_version in MCP server registration inserts
2025-09-19 07:06:15 +09:00
Yuta Saito
6c291093e9
fix: remove adding Mcp-Protocol-Version header ( #14069 )
...
The Mcp-Protocol-Version header is already handled in the MCP Python SDK, so the explicit addition on LiteLLM Proxy was redundant.
2025-09-19 07:05:20 +09:00
Jugal D. Bhatt
b8fe5f7b17
[MCP Gateway] LiteLLM Fix MCP gateway key auth ( #13630 )
...
* Fix - add safe divide by 0 for most places to prevent crash
* Enhance MCPRequestHandler to support permission inheritance and intersection logic for access groups. Added integration tests to verify behavior when keys have no permissions and when both keys and teams have overlapping permissions.
* Remove redundant assertions for permission checks in test_user_api_key_auth_mcp.py to streamline test logic.
* Refactor integration tests for MCPRequestHandler to simplify mocking. Replace complex database mocks with direct function mocks for permission inheritance and intersection scenarios, improving test clarity and maintainability.
* Revert "Fix - add safe divide by 0 for most places to prevent crash"
This reverts commit 265d40e39051e148996b9fb7f354730c57ff23ac.
2025-08-14 16:32:18 -07:00
Jugal Bhatt
f487816b9f
[fix] Enhance MCPServerManager with access groups and description support
...
* Added access_groups and description fields to MCPServerManager for better server configuration.
* Implemented tests to verify integration of config-based servers with database servers, ensuring correct handling of access_groups and description.
* Updated add_update_server method to accommodate new fields and validate server addition in the registry.
2025-08-12 14:22:40 -07:00
Thiago Salvatore
c2ad858c83
fix(access group): allow access group on mcp tool retrieval ( #13425 )
...
* fix(access group): allow access group on mcp tool retrieval
* fix(test): fix broken tests and add test case for access group
* fix(mypy): fix typing issues
2025-08-08 08:55:46 -07:00
Jugal D. Bhatt
b1a8968895
[MCP Gateway] fix auth on ui for bearer servers ( #13312 )
...
* fix auth on ui for bearer servers
* add tests and fixes
* fix tests
2025-08-06 09:46:10 -07:00
Jugal D. Bhatt
5db4862cbf
[MCP Gateway] Litellm mcp client list fail ( #13114 )
...
* fix headers
* fix test
* fix ruff
* added try except for catching errors which lead to client failures
* fix mypy
* fix ruff
* fix tests
* fix python error
* fix test
* fix test
* fixed the MCP Call Tool result
2025-07-30 15:23:19 -07:00
Jugal D. Bhatt
eb8a338d9b
[MCP Guardrails] move pre and during hooks to ProxyLoggin ( #13109 )
...
* move pre and during hooks t o ProxyLoggin
* fix lint
* fix ruff
* fix tests
2025-07-30 13:58:41 -07:00
Ishaan Jaff
1af0743e58
Revert "Revert "[MCP Gateway] Add protocol headers ( #13062 )""
...
This reverts commit acd915f2db .
2025-07-29 18:14:31 -07:00
Ishaan Jaff
acd915f2db
Revert "[MCP Gateway] Add protocol headers ( #13062 )"
...
This reverts commit 8de24bab7c .
2025-07-29 17:26:00 -07:00
Jugal D. Bhatt
8de24bab7c
[MCP Gateway] Add protocol headers ( #13062 )
...
* Add protocol headers
* fix mypy
* fix tests
* fix tests
2025-07-29 16:03:23 -07:00
Jugal D. Bhatt
ae9a02d7d5
[MCP gateway] add pre and during call hooks init ( #13067 )
...
* add hook init
* add during hook
* added logging
2025-07-29 11:06:58 -07:00
Jugal D. Bhatt
b921e22594
[MCP Gateway] Litellm mcp multi header propagation ( #13003 )
...
* change alias-> server_name
* add server alias uses
* add tests
* schema
* ruff fix
* fix alias for config
* fix tests
* add alias
* fix tests
* add multi server header support
* add and fix tests
* fix tests
* fix tests
* add a common util
* ruff fix
* fix ruff
* fix tests
* fix migration
* mypy fix
* change server py
2025-07-26 11:45:14 -07:00
Jugal D. Bhatt
10595ea077
[MCP Gateway] add Litellm mcp alias for prefixing ( #12994 )
...
* change alias-> server_name
* add server alias uses
* add tests
* schema
* ruff fix
* fix alias for config
* fix tests
* add alias
* fix tests
* fix tests
* add a common util
* ruff fix
* fix migration
2025-07-25 17:57:52 -07:00
Jugal D. Bhatt
a7d0b122b9
[MCP Gateway] List tools from access list for keys ( #12657 )
...
* fix tools fetch for keys
* add unit test
2025-07-16 14:28:53 -07:00
Jugal D. Bhatt
b3a214bce7
[MCP Gateway] Allow MCP access groups to be added via the config LIT-312 ( #12654 )
...
* allow mcp access groups to be added via the config
* fix code and doc quality
* fix mypy
* create helpers:
2025-07-16 13:57:43 -07:00
Ishaan Jaff
50b106be11
[MCP Gateway] Ensure we use the same param for specifying groups ( #12561 )
...
* just use 1 param for mcp groups
* fix just use 1 param for access groups
* test_get_tools_from_mcp_servers
* docs access groups
* group MCPs
* test fix
* fix screenshots on docs
* TestMCPAccessGroupsE2E
* update img
* fix MCP connect
2025-07-12 16:41:58 -07:00
Jugal D. Bhatt
9fe9e1cd6e
[MCP Gateway] Allow mcp access groups on test key and tool calls ( #12529 )
...
* added mcp tools on internal user and divide it by teams
* add support for server api call
* Added frontend for test key
* added tools used output
* fix ui for servers
* All servers to personal
* change columns format
* revert ui logic
* Added vertical align
* fix mapped tests
* fix lint
* fix lint
* remove extra file
* fix ui test
* comments fixes
* change query type
* change query type
* mcp acces group init
* add ability to change server display on ui through access groups
* Mcp access group names UI (#12486 )
* Added ui changes to reflect mcp_access_groups
* fix edit mcp page
* change to string array (#12491 )
* change to string array
* Remove print
* add ability to change server display on ui through access groups
* Litellm mcp access groups accesses (#12498 )
* added mcp access groups for keys and teams
* added access groups above servers
* fixed ruff
* fixed mypy
* revert couple changes
* fix test
* fixed double asterisks
* Litellm mcp groups UI (#12522 )
* add ui for teams
* fix object permissions
* fix mcp servers test object permission
* remove print
* add helper method
* add tests + remove logs
* add mcp access group servers to test key
* add mcp access group support for headers
* lint fix
* add tests and helper function
* fixed test
* change list -> List
* tests
2025-07-12 10:36:42 -07:00
Ishaan Jaff
35bfa7c9ee
[MCP Gateway] - Allow using custom post call MCP hook for cost tracking ( #12469 )
...
* add async_post_mcp_tool_call_hook to custom logger
* instrument call_mcp_tool
* add async_post_mcp_tool_call_hook
* fixes for MCP tests
* test fix MCP tests
* allow adding custom cost for MCP response
* fix LiteLLM_MCPTextContent
* add MCPPostCallResponseObject
* fix _handle_local_mcp_tool
* async_post_mcp_tool_call_hook
* fix typing loc
* fix call_mcp_tool
* fix server.py
* fix MCPPostCallResponseObject
* async_post_mcp_tool_call_hook
* docs mcp cost hook
* fix import path
2025-07-09 18:41:08 -07:00
Jugal D. Bhatt
62946e58d2
Segregate MCP tools on connections using headers ( #12296 )
...
* Add get tools segregation
* add ui changes (#12302 )
* resolve comments
* add mapped tests
* remove advanced settings (#12323 )
2025-07-04 11:45:51 -07:00
Jugal D. Bhatt
df161f1e45
Litellm mcp tool prefix ( #12289 )
...
* prefix all server tools from the backend
* change var name
* fix tests
2025-07-03 11:39:37 -07:00
Jugal Bhatt
27e6ef5f39
added error handling for MCP tools not found
2025-07-01 17:12:01 -07:00
Ishaan Jaff
b90d3ca8d0
[Feat] MCP - Allow connecting to MCP with authentication headers + Allow clients to specify MCP headers ( #11890 ) ( #11891 )
...
* initial mcp auth with special header (#11890 )
Co-authored-by: wagnerjt <wagnerjt@github.com >
* add mcp auth header
* fixes MCP client for litellm proxy
* fixes loc of MCP types
* fixes use MCP client for auth to MCPs
* fix organization
* fix mcp auth header
* add MCP auth header to litellm auth
* fixes for MCP auth
* Add MCP auth to list tools
* fix MCP call tool
* fixes for MCP auth header
* tests for MCP transport
* TestMCPClientUnitTests
* docs MCP auth
* fix types
* docs fix
* fix MCP auth import
* fix code qa check
* test fix mcp auth token check
---------
Co-authored-by: wagnerjt <wagnerjt@github.com >
2025-06-19 20:07:08 -07:00
Ishaan Jaff
a8196159b9
[Bug Fixes] MCP - using MCPs defined on config.yaml + fix for MCP error Team doesn't exist in cache ( #11824 )
...
* fix - dont allow missing team to block MCP list response
* use HTTP as default transport
* _generate_stable_server_id
* fix list MCP servers
* ui fix
* test_list_mcp_servers_empty_result
* test_generate_stable_server_id
* _generate_stable_server_id
* fix code QA
* fix code QA
2025-06-17 16:25:12 -07:00
Ishaan Jaff
19a8b23644
[Feat] Add Authentication + Permission Management for MCP List, Call Tool Ops ( #11682 )
...
* add basic auth checks for MCP
* working MCP auth
* fix MCP
* add get_allowed_mcp_servers for key, team
* add get_allowed_mcp_servers
* TOOLS FROM MCP SERVERS
* fix - working context vars for handling auth to MCPs
* fix imports
* working _get_allowed_mcp_servers_for_key
* TestUserAPIKeyAuthMCP
* test_user_api_key_auth_mcp
* fix code qa check
* fix imports
* test_mcp_server.py
* fix: fix - working permission mgmt
* Update litellm/proxy/_experimental/mcp_server/auth/user_api_key_auth_mcp.py
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-06-13 10:13:51 -07:00
Ishaan Jaff
7947139913
[Feat] MCP expose streamable https endpoint for LiteLLM Proxy ( #11645 )
...
* feat - add https mcp support
* fixes for MCP http integration
* fix code QA
* bump mcp dep
* test_mcp_server_manager_https_server
* test mcp server https
* fix linting error
* bump mcp in poetry
* fix import streamablehttp_client
* fix streamablehttp_client
* fix streamablehttp_client
* add streamablehttp_client
* add simple https server
* working mounted app
* working HTTPS mcp streamable
* fix code QA check
* feat: add MCP Server
* fix - init just as fastapi app
* add LITELLM_MCP_SERVER_DESCRIPTION
* fix importing / init litellm app
* Update litellm/proxy/_experimental/mcp_server/server.py
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Update litellm/proxy/_experimental/mcp_server/server.py
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Update server.py
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* fixes based on review + code check
* fix linting
* test_streamable_http_mcp_handler_mock
* fix python 3.13 install
* fix deps test
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-06-12 16:32:04 -07:00