19024e0602
[Feat] MCP Oauth2 Fixes - Add support for MCP M2M Oauth2 support ( #20788 )
...
* add has_client_credentials
* MCPOAuth2TokenCache
* init MCP Oauth2 constants
* MCPOAuth2TokenCache
* resolve_mcp_auth
* test fixes
* docs fix
* address greptile review: min TTL, env-configurable constants, tests, docs
- Fix zero-TTL edge case: floor at MCP_OAUTH2_TOKEN_CACHE_MIN_TTL (10s)
- Make all MCP OAuth2 constants env-configurable via os.getenv()
- Move test file to follow 1:1 mapping convention (test_oauth2_token_cache.py)
- Add MCP OAuth doc page (mcp_oauth.md) with M2M and PKCE sections
- Update FAQ in mcp.md to reflect M2M support
- Add E2E test script and config
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
* fix mypy lint
* fix oauth2
* remove old files
* docs fix
* address greptile comments
* fix: atomic lock creation + validate JSON response shape
- Use dict.setdefault() for atomic per-server lock creation
- Add isinstance(body, dict) check before accessing token response fields
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
* fix: replace asserts with proper guards, wrap HTTP errors with context
- Replace `assert` statements with `if/raise ValueError` (asserts can be
disabled with python -O in production)
- Wrap `httpx.HTTPStatusError` to provide a clear error message with
server_id and status code
- Add tests for HTTP error and non-dict JSON response error paths
- Remove unused imports
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
---------
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-09 17:35:11 -08:00
YutaSaito and GitHub
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
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
Ishaan Jaff and GitHub
1f42e41c8d
[Bug]: Fix Authorization header not being sent to configured MCP servers ( #14422 )
...
* test: test_mcp_server_config_auth_value_header_used
* fix: authentication_token
* docs: fix instructions on using responses api with MCPs
* mcp fixes
2025-09-10 16:41:08 -07:00
Ishaan Jaff and GitHub
68d250973c
[Feature]: Support "Token" MCPAuth ( #14359 )
...
* add MCPAuth.authorization type
* test: Token Auth MCP
* fix: _get_auth_headers to handle auth_type == MCPAuth.authorization
* docs auth types with MCP on config.yaml
* test_mcp_server_works_without_config_auth_value
2025-09-08 18:25:41 -07:00