Commit Graph

242 Commits

Author SHA1 Message Date
Paul Carleton 2443150d44 merge fix 2025-11-20 20:03:44 +00:00
Jon Shea fe0e62e011 Add client_secret_basic auth support to MCP client
- Implement HTTP Basic auth for OAuth token requests
- Automatically sets selects auth method when OAuthClientProvider is
  configured with OAuthClientMetadata that has
  token_endpoint_auth_method=None.
- Made OAuthClientMetadata.token_endpoint_auth_method optional to
  support the above auto-configuration.
- Removed ` "token_endpoint_auth_method": "client_secret_post"` from the
  simple-auth-client example as is now auto-configured.
2025-11-20 19:45:22 +00:00
Jon Shea eac35d441c Add client_secret_basic authentication support
Add support for HTTP Basic Authentication (client_secret_basic) as a
client authentication method for the token and revoke endpoints, alongside
the existing client_secret_post method. This improves compatibility with
OAuth servers like Keycloak that use Basic auth.

Key changes:
- Update OAuthClientMetadata to accept "client_secret_basic" as valid
  token_endpoint_auth_method
- Return 401 status for authentication failures (was 400)
- Update metadata endpoints to advertise both auth methods
- Add tests for both auth methods and edge cases
2025-11-20 19:44:21 +00:00
Liang Wu 9c8f763aa8 chore: Lazy import jsonschema library (#1596)
Co-authored-by: Max Isbey <224885523+maxisbey@users.noreply.github.com>
2025-11-19 15:30:52 +00:00
Andrii Blyzniuk 5489e8b6fb fix get_client_metadata_scopes on 401 (#1631)
Co-authored-by: Max Isbey <224885523+maxisbey@users.noreply.github.com>
2025-11-16 17:18:50 +00:00
inaku a357380cfa feat: Pass through and expose additional parameters in ClientSessionGroup.call_tool and .connect_to_server (#1576) 2025-11-16 15:57:43 +00:00
Victorien 116c13e2c6 Refactor func_metadata() implementation (#1496) 2025-11-13 20:21:15 +00:00
Max Isbey 91ccdb3d65 Fix OAuth discovery fallback and URL ordering (#1624) 2025-11-13 19:37:24 +00:00
Max Isbey 7d12e83cf4 refactor: extract OAuth helper functions and simplify provider state (#1586) 2025-11-13 13:28:48 +00:00
Max Isbey 89e9c43acf Get baseline 100% clean coverage (#1553) 2025-11-11 14:09:32 +01:00
Camila Rondinini 9eae96a05e Add get_server_capabilities() to ClientSession (#1588)
Main branch checks / checks (push) Failing after 0s
2025-11-06 20:44:40 +00:00
Chris Coutinho 3390e49c01 Implement SEP-985: OAuth Protected Resource Metadata discovery fallback (#1548)
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Paul Carleton <paulc@anthropic.com>
2025-11-05 15:51:02 +00:00
Luca Chang f161149680 Implement RFC 7523 JWT flows (#1247)
Co-authored-by: Yann Jouanin <yann.jouanin@valueandco.com>
2025-10-29 16:48:08 +00:00
Max Isbey db9e451551 fix: Replace remaining manual server polling with wait_for_server helper (#1529) 2025-10-29 11:27:57 +00:00
Max Isbey c44e68f766 Fix flaky timeout test in test_88_random_error (#1525) 2025-10-28 14:45:25 -07:00
Max Isbey 3e86edfb2f fix: Replace arbitrary sleeps with active server readiness checks in tests (#1527)
Co-authored-by: Claude <noreply@anthropic.com>
2025-10-28 21:42:33 +00:00
Max Isbey f97f7c4a7d fix: Replace fixed sleep with active server readiness check in SSE tests (#1526) 2025-10-28 19:49:13 +00:00
adam jones 31ae5f4dc4 Relax Accept header requirement for JSON-only responses (#1500) 2025-10-27 17:46:04 +00:00
mingo007 b7e4ae7542 test: use errno.ENOENT for command not found assertion (#1498) 2025-10-23 16:30:50 -07:00
Brandon Shar 1200ba0082 Allow CallToolResult to be returned directly to support _meta field for OpenAI Apps (#1459)
Co-authored-by: Max Isbey <224885523+maxisbey@users.noreply.github.com>
2025-10-21 18:52:08 +00:00
Samuel Felipe Chenatti 40acbc596c Expose RequestParams._meta in ClientSession.call_tool (#1231)
Co-authored-by: Felix Weinberger <3823880+felixweinberger@users.noreply.github.com>
2025-10-17 17:57:56 +01:00
Mat Leonard 98f82485bd feat: add tool metadata in FastMCP.tool decorator (#1463)
Co-authored-by: Max Isbey <224885523+maxisbey@users.noreply.github.com>
2025-10-17 11:18:34 +00:00
daamitt dcc68ce56b fix: Set the Server session initialization state immediately after respond… (#1478)
Main branch checks / checks (push) Failing after 0s
Co-authored-by: Max Isbey <224885523+maxisbey@users.noreply.github.com>
2025-10-15 13:56:43 +01:00
Felix Weinberger de89457683 fix: send params as empty object for list methods without cursor (#1453) 2025-10-14 11:11:38 +01:00
Fenn Bailey cd7253c593 feat: add resource annotations support to FastMCP (#1468) 2025-10-14 11:07:37 +01:00
AishwaryaKalloli b4e50aa9f9 Handles message type Exception in lowlevel/server.py _handle_message function. Mentioned as TODO on line 528. (#786)
Co-authored-by: Felix Weinberger <fweinberger@anthropic.com>
Co-authored-by: Felix Weinberger <3823880+felixweinberger@users.noreply.github.com>
2025-10-13 14:29:03 +01:00
Dogacan Colak 0e29cc4130 [client] Implement MCP OAuth scope selection and step-up authorization (#1324) 2025-10-13 14:18:00 +01:00
Brandon Wu b8e758b02b feat: add ability to remove tools (#1322)
Co-authored-by: David Soria Parra <167242713+dsp-ant@users.noreply.github.com>
Co-authored-by: Felix Weinberger <3823880+felixweinberger@users.noreply.github.com>
Co-authored-by: Max Isbey <224885523+maxisbey@users.noreply.github.com>
Co-authored-by: Claude <noreply@anthropic.com>
2025-10-06 14:16:50 +01:00
Marcus Shu df3e428ee8 Improve OAuth protected resource metadata URL construction per RFC 9728 (#1407) 2025-10-06 13:52:44 +01:00
Peter Alexander 3e798bfc01 Add icons support for ResourceTemplate (#1412)
Main branch checks / checks (push) Failing after 0s
2025-10-01 13:23:46 +01:00
Lorenzo d648a31359 fix: improve misleading warning for progress callback exceptions (#775) 2025-09-30 14:39:52 +01:00
Peter Alexander 80c0d23d48 Update Icon.sizes to use string array format (#1411) 2025-09-29 14:27:32 +01:00
Peter Alexander 60f4b2d10a Add comprehensive Unicode tests for streamable HTTP transport (#1381) 2025-09-29 14:09:33 +01:00
automaton82 9323efad99 Issue 1379 patch - Fix MCP server OAuth not working with Visual Studio Code and others with extra grant_types (#1380) 2025-09-29 11:13:16 +01:00
Jon Shea 1940040ac3 Accept additional response_types values from OAuth servers (#1323) 2025-09-26 20:29:06 +01:00
Peter Alexander 71889d7387 Implementation of SEP 973 - Additional metadata + icons support (#1357)
Main branch checks / checks (push) Failing after 1s
2025-09-24 20:29:04 +01:00
Tapan Chugh b85e7bd1a9 feat: Add SDK support for SEP-1034 default values in elicitation schemas (#1337)
Co-authored-by: Tapan Chugh <tapanc@cs.washington.edu>
Co-authored-by: Felix Weinberger <3823880+felixweinberger@users.noreply.github.com>
2025-09-24 16:33:45 +01:00
Max Isbey 4fb975c6dc feat: add paginated list decorators for prompts, resources, and tools (#1286)
Co-authored-by: Claude <noreply@anthropic.com>
2025-09-23 14:58:06 +01:00
Yann Jouanin 20596e5f41 Add test for ProtectedResourceMetadataParsing (#1236)
Co-authored-by: Paul Carleton <paulcarletonjr@gmail.com>
Co-authored-by: Marcelo Trylesinski <marcelotryle@gmail.com>
Co-authored-by: Felix Weinberger <3823880+felixweinberger@users.noreply.github.com>
2025-09-23 12:48:21 +01:00
Peter Alexander 7e93a9fc19 Return HTTP 403 for invalid Origin headers (#1353) 2025-09-22 16:44:51 +01:00
pchoudhury22 ca5cb4cb67 fix(fastmcp): propagate mimeType in resource template list (#1186)
Co-authored-by: Felix Weinberger <3823880+felixweinberger@users.noreply.github.com>
2025-09-17 14:50:41 +01:00
David Soria Parra c3717e7ad3 Fix context injection for resources and prompts (#1336)
Main branch checks / checks (push) Failing after 0s
2025-09-11 14:30:06 +01:00
Eleftheria Stein-Kousathana 47d35f0b3c Allow ping requests before initialization (#1312) 2025-09-01 22:37:36 +01:00
jess 1644b822b3 changes structured temperature to not deadly (#1328) 2025-08-31 23:09:49 +00:00
Sreenath Somarajapuram 07ae8c0d4e types: Setting default value for method: Literal (#1292) 2025-08-26 16:22:56 +01:00
Justin Wang 9c6fd15a88 SDK Parity: Avoid Parsing Server Response for non-JsonRPCMessage Requests (#1290) 2025-08-26 16:14:47 +01:00
San Nguyen eaf7cf41d5 fix: error too many values to unpack (expected 2) (#1279)
Signed-off-by: San Nguyen <vinhsannguyen91@gmail.com>
Co-authored-by: Felix Weinberger <fweinberger@anthropic.com>
Co-authored-by: Felix Weinberger <3823880+felixweinberger@users.noreply.github.com>
2025-08-23 21:36:39 +01:00
keurcien e750a06a99 fix: avoid uncessary retries in OAuth authenticated requests (#1206)
Co-authored-by: Felix Weinberger <fweinberger@anthropic.com>
2025-08-22 11:45:54 +01:00
xavier f4b2957a20 Added Audio to FastMCP (#1130) 2025-08-22 11:45:38 +01:00
David Soria Parra 0926613714 Update dependencies and fix type issues (#1268)
Co-authored-by: Marcelo Trylesinski <marcelotryle@gmail.com>
2025-08-14 10:40:47 +01:00