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
aa509768ff
Code review feedback
...
- Use hmac.compare_digest() for secret validation
- url decode client_secret_basic username / password
- Narrow the `except` clause on `client_secret_basic` validation
2025-11-20 19:44:34 +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
adam jones
fcffa14b5b
docs: Update examples to use stateless HTTP with JSON responses ( #1499 )
Main branch checks / checks (push) Failing after 0s
v1.22.0
2025-11-20 15:06:37 +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
Max Isbey
9724ad1ce6
Fix CI highest resolution test to actually test highest versions ( #1609 )
Main branch checks / checks (push) Failing after 0s
v1.21.1
2025-11-13 20:25: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
5e1aa4072b
Add client_id_metadata_document_supported to OAuthMetadata ( #1603 )
2025-11-13 17:13:55 +00:00
Max Isbey
7d12e83cf4
refactor: extract OAuth helper functions and simplify provider state ( #1586 )
2025-11-13 13:28:48 +00:00
Felix Weinberger
be730674ad
Add SEP-1034 conformance test support to everything-server ( #1604 )
...
Co-authored-by: Max Isbey <224885523+maxisbey@users.noreply.github.com >
2025-11-11 17:44:23 +00:00
Max Isbey
720d7130e2
Add coverage baseline commit to git-blame-ignore ( #1613 )
2025-11-11 14:03:51 +00:00
Max Isbey
a864840825
Add end-of-file-fixer pre-commit hook ( #1610 )
2025-11-11 13:23:08 +00:00
Max Isbey
89e9c43acf
Get baseline 100% clean coverage ( #1553 )
2025-11-11 14:09:32 +01:00
Felix Weinberger
da4fce2195
Add everything-server for comprehensive MCP conformance testing ( #1587 )
2025-11-09 13:45:37 +00:00
Camila Rondinini
9eae96a05e
Add get_server_capabilities() to ClientSession ( #1588 )
Main branch checks / checks (push) Failing after 0s
v1.21.0
2025-11-06 20:44:40 +00:00
Max Isbey
b7b0f8eebb
Add --frozen flag to uv run commands in Claude config ( #1583 )
2025-11-06 16:07:15 +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
inaku
de2289dc93
Fix typo in ClientSessionGroup doc string ( #1572 )
2025-11-04 13:33:26 +00:00
Cole Murray
3a9f118e34
Update Starlette to 0.49.1 in uv.lock ( #1559 )
2025-11-03 08:15:08 +00:00
Koichi ITO
202af49857
docs: use article "an" before "MCP" instead of "a" ( #1558 )
2025-10-31 09:55:12 +01:00
Paul Carleton
6f2cd0cef0
Fix auth client example URL handling for oauth provider ( #1549 )
Main branch checks / checks (push) Failing after 0s
v1.20.0
2025-10-30 15:35:44 +00:00
Max Isbey
8cdac3d2f8
Fix pyright error and replace wildcard import with explicit imports ( #1532 )
2025-10-29 18:32:26 +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
Max Isbey
7ac40af302
fix: Update spec links to new modelcontextprotocol.io location ( #1491 )
2025-10-28 18:13:40 +00:00
Yukuan Jia
673423da0d
fix: replace deprecated dev-dependencies in examples/clients ( #1518 )
2025-10-28 14:09:14 +00:00
adam jones
31ae5f4dc4
Relax Accept header requirement for JSON-only responses ( #1500 )
2025-10-27 17:46:04 +00:00
Max Isbey
6c26d087df
update uv to 0.9.5 ( #1510 )
Main branch checks / checks (push) Failing after 1s
v1.19.0
2025-10-24 01:04:09 +00:00
Yukuan Jia
340af403bd
Replace deprecated dev-dependencies with dependency-groups ( #1488 )
...
Co-authored-by: Felix Weinberger <fweinberger@anthropic.com >
Co-authored-by: Felix Weinberger <3823880+felixweinberger@users.noreply.github.com >
2025-10-23 17:22:16 -07:00
mingo007
b7e4ae7542
test: use errno.ENOENT for command not found assertion ( #1498 )
2025-10-23 16:30:50 -07:00
Christian Clauss
bbc8b4904e
Upgrade GitHub Actions ( #1473 )
2025-10-23 11:33:45 -07:00
Felix Weinberger
9f9dbad416
fix: use proper dependency resolution in CI ( #1507 )
2025-10-23 10:25:48 -07:00
Christian Clauss
35a9ccdb42
fix: uv CVE-2025-62518 astral-tokio-tar issue GHSA-j5gw-2vrg-8fgx ( #1505 )
2025-10-22 15:52:56 +02: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
Luca Chang
c733eec5d9
Make client examples workspaces to reflect package code ( #1466 )
2025-10-17 17:13:39 +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 >
v1.18.0
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
Rocky Haotian Du
eb34ab7c72
fix: Remove unnecessary constructor from ResourceServerSettings ( #1424 )
...
Co-authored-by: Felix Weinberger <3823880+felixweinberger@users.noreply.github.com >
2025-10-14 09:21:15 +02:00
Felix Weinberger
7a933fe5da
Fix workspace configuration error with structured_output_lowlevel.py ( #1471 )
...
Co-authored-by: lorenss-m <saeclmusic@gmail.com >
2025-10-13 15:53:46 +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