Commit graph

1,136 commits

Author SHA1 Message Date
Glen Maddern
4b2ad0385d
Adding invalidateCredentials() to OAuthClientProvider (#570)
Co-authored-by: Paul Carleton <paulc@anthropic.com>
2025-07-14 17:11:52 +01:00
Christian Daguerre
cc9ea7fd21
make client side client_id generation configurable in the oauth router (#734) 2025-07-14 17:07:50 +01:00
Nitin Bansal
117781453c
Non-critical: Readme syntax and typographical error fixes (#765) 2025-07-14 16:41:10 +01:00
Daniel Kelleher
a9c907dd70
Add prompt=consent for OIDC offline_access scope (#681) 2025-07-14 14:47:09 +01:00
Daniel Kelleher
5b99c24bda
Add OIDC ID token support (#680) 2025-07-14 12:22:04 +00:00
Inna Harper
5b536abf1b
Merge pull request #729 from modelcontextprotocol/ochafik/spec-type-tests
Add type compatibility test between SDK and spec types
2025-07-14 08:38:02 +01:00
Olivier Chafik
cce168c76f
Merge branch 'main' into ochafik/spec-type-tests 2025-07-11 11:50:12 +01:00
Jerome
c6ac083b1b
Bumped version 1.15.1 2025-07-10 16:20:14 +01:00
Inna Harper
9dfd025eb2
Merge pull request #752 from modelcontextprotocol/ochafik/fix-path-as 0.15.1
auth: fetch AS metadata in well-known subpath from serverUrl even when PRM returns external AS
2025-07-10 14:53:02 +01:00
Olivier Chafik
1e32f146c8
Update auth.ts 2025-07-10 14:37:10 +01:00
Olivier Chafik
1b8d63ed6d
add metadataServerUrl to discoverMetadataWithFallback to allow external AS 2025-07-10 14:36:34 +01:00
Olivier Chafik
ea8caa9657
Merge branch 'main' into ochafik/fix-path-as 2025-07-10 14:28:57 +01:00
Inna Harper
442e13b60e
Merge pull request #756 from modelcontextprotocol/patch-1
Fix oauth well-known paths to retain path and query
2025-07-10 14:26:07 +01:00
Olivier Chafik
de1ade29d4
fix unmerge 2025-07-10 14:25:21 +01:00
Olivier Chafik
9ca7fd298f
Merge branch 'main' into ochafik/fix-path-as 2025-07-10 14:20:48 +01:00
ihrpr
5eacdf174c
fallback and refactor 2025-07-10 11:36:57 +01:00
ihrpr
72cb9a700f
add tests 2025-07-10 09:30:12 +01:00
Jerome
11e84f0471
Merge pull request #751 from modelcontextprotocol/jerome/fix/allow-async-onsession-callbacks
feat: support async callbacks for onsessioninitialized and onsessionclosed
2025-07-09 21:04:15 +01:00
Olivier Chafik
031dfc2835
[auth]: support oauth client_secret_basic / none / custom methods (#720)
* Allow OAuthClientProvider to control authentication to token endpoint w/ addClientAuthentication (exchange / refresh)

* Include mockProvider in exchangeAuthorization tests.

* feature. Add client_secret_basic and none authentication methods

---------

Co-authored-by: Jared Hanson <jaredhanson@gmail.com>
Co-authored-by: SightStudio <sdm3285@gmail.com>
Co-authored-by: Claude <noreply@anthropic.com>
2025-07-09 18:31:09 +01:00
Olivier Chafik
c90537703b
Update auth.ts
Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-09 18:09:23 +01:00
Olivier Chafik
87b453d23f
auth: fetch AS metadata in well-known subpath from serverUrl when PRM returns external AS
Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-09 17:58:53 +01:00
Olivier Chafik
c72b52b7f1
Merge branch 'main' into ochafik/spec-type-tests 2025-07-09 17:44:44 +01:00
Christian Bromann
8714f21541
fix(server): validate expiresAt token value for non existence (#446)
* fix(server): validate expiresAt token value for non existence

---------

Co-authored-by: Olivier Chafik <ochafik@anthropic.com>
2025-07-09 15:43:33 +01:00
Jerome
0ddf6827b6
feat: support async callbacks for onsessioninitialized and onsessionclosed
Updated StreamableHTTPServerTransport to support both sync and async callbacks:
- Changed callback types to return void | Promise<void>
- Used await Promise.resolve() to handle both sync and async callbacks
- Added comprehensive tests for async callback functionality
- Errors in callbacks now properly propagate to HTTP responses

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-09 14:48:40 +01:00
Inna Harper
d681f14b33
Merge pull request #749 from modelcontextprotocol/ochafik/check-addrinuse
Add missing app.listen error handling to server examples
2025-07-09 12:36:19 +01:00
Olivier Chafik
4056c098a1
Add missing app.listen error handling to server examples 2025-07-09 11:23:24 +01:00
Felix Weinberger
22dc79b2a4
Merge pull request #284 from HoberMin/feat/improve-stdio-test-windows-compatibility
Improve stdio test Windows compatibility and refactor command logic

I've pushed updates to address my own comments - thank you @HoberMin for this contribution!
2025-07-08 15:32:55 +01:00
Felix Weinberger
88ede3783e
Address review feedback: move getDefaultServerParameters to test file
- Moved getDefaultServerParameters from stdio.ts to stdio.test.ts since it's only used in tests
- Reverted unrelated changes to inMemory.ts and inMemory.test.ts
- Kept the core Windows compatibility fix for stdio tests

Co-authored-by: HoberMin <99346635+HoberMin@users.noreply.github.com>
2025-07-08 15:21:09 +01:00
HoberMin
a7dc125850
feat: improve stdio test Windows compatibility and refactor command logic 2025-07-08 15:21:09 +01:00
HoberMin
60310e9478
feat: Add error handling tests for InMemoryTransport 2025-07-08 15:21:09 +01:00
anthonjn
6ae4a5727c
add custom headers on initial _startOrAuth call (#318)
* add custom headers on initial _startOrAuth call

* update client/sse.ts: align commonHeaders w/ streamableHttp version

---------

Co-authored-by: Olivier Chafik <ochafik@anthropic.com>
2025-07-07 19:54:44 +01:00
Inna Harper
7d7896fc72
Merge pull request #743 from modelcontextprotocol/jerome/feature/ondelete-shttp-hook
Add onsessionclosed hook to StreamableHTTPServerTransport
2025-07-07 17:11:30 +01:00
Jerome
61052b1fa8
Add comprehensive tests for onsessionclosed callback in StreamableHTTPServerTransport
• Tests callback is called when session is closed via DELETE
• Tests system works correctly when callback is not provided
• Tests callback is not called for invalid session DELETE requests
• Tests correct session ID is passed when multiple sessions exist
• Follows existing test patterns and includes proper cleanup

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-07 15:19:40 +01:00
Jerome
52e22ad7cb
Refactor ondelete hook to onsessionclosed in StreamableHTTPServerTransport
- Renamed ondelete callback to onsessionclosed for better clarity
- Moved callback from public property to private field following options pattern
- Added comprehensive JSDoc documentation explaining the callback's purpose
- Updated DELETE request handler to use the new callback structure

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-07 14:57:41 +01:00
Jerome
afb8971569
Add ondelete hook to StreamableHTTPServerTransport
Adds optional ondelete callback that fires when DELETE request is received, providing the sessionId for cleanup handling.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-07 14:44:35 +01:00
Olivier Chafik
96a4f714e5
removed checkResourceReference (sdk's ResourceReference is deprecated / aliased to ResourceTemplateReference) 2025-07-07 13:22:41 +01:00
Olivier Chafik
98a04e6e38
moved src/spec.types.ts to . 2025-07-07 13:22:15 +01:00
Jerome
1bd56ee46d
Merge pull request #713 from modelcontextprotocol/jerome/cors-browser-support
feat: Add CORS configuration for browser-based MCP clients
2025-07-07 12:44:34 +01:00
Jerome
0aea3feb66
Merge branch 'main' into jerome/cors-browser-support 2025-07-07 12:42:08 +01:00
Jerome
7c374fd81e
Merged the CORS tips 2025-07-07 12:40:28 +01:00
Jerome
3d381df2bc
Added cors settings to simpleStreamableHttp example server 2025-07-07 12:35:52 +01:00
Olivier Chafik
c9947a92fc
Merge branch 'main' into ochafik/spec-type-tests 2025-07-07 11:28:56 +01:00
Inna Harper
593b1f7416
Merge pull request #394 from sunrabbit123/fix/1
fix(client): Some mcp server need default env(#393, #196)
2025-07-07 11:28:47 +01:00
ihrpr
0ff7ae09f9
simplify tests 2025-07-07 11:23:32 +01:00
sunrabbit123
d4bfe556bf
fix: format error with merge
Signed-off-by: sunrabbit123 <qudwls185@naver.com>
2025-07-07 18:50:24 +09:00
오병진
4607f37953
Merge branch 'main' into fix/1 2025-07-07 18:45:13 +09:00
Henry Mao
3bdecfc1b9
Update auth.ts 2025-07-07 03:59:06 +08:00
Henry Mao
7b02c5cda3
Retain URL search parameter 2025-07-07 03:56:42 +08:00
Jerome
bda811a950
feat: Add CORS configuration for browser-based MCP clients
- Add cors middleware to example servers with Mcp-Session-Id exposed
- Add CORS documentation section to README
- Configure minimal CORS settings (only expose required headers)

This enables browser-based clients to connect to MCP servers by properly
exposing the Mcp-Session-Id header required for session management.

Reported-by: Jerome
2025-07-04 16:06:20 +01:00
Olivier Chafik
0c0b075511
Merge branch 'main' into ochafik/spec-type-tests 2025-07-04 11:55:07 +01:00