Commit graph

380 commits

Author SHA1 Message Date
Justin Spahr-Summers
07e8ce9cd1
Fix router test after metadata key removed 2025-02-18 13:12:50 +00:00
Justin Spahr-Summers
48cddd9488
Pass through rate limits and other options cleanly from router 2025-02-18 11:25:42 +00:00
Justin Spahr-Summers
1415c2db92
Rate limiting on individual handlers 2025-02-18 11:21:07 +00:00
Justin Spahr-Summers
4d02ed9c97
Install express-rate-limit 2025-02-18 11:16:20 +00:00
Justin Spahr-Summers
36f9c6b260
Get tests passing 2025-02-18 11:00:46 +00:00
Justin Spahr-Summers
76938c77e8
Claude-authored tests 2025-02-18 10:57:24 +00:00
Justin Spahr-Summers
6a6dcbaf3c
Install supertest and @jest-mock/express 2025-02-18 10:34:29 +00:00
Justin Spahr-Summers
76b9781c85
Use URL.canParse instead of custom isValidUrl 2025-02-18 10:33:21 +00:00
Justin Spahr-Summers
f292b12eec
Remove generateToken until needed 2025-02-18 10:20:33 +00:00
Justin Spahr-Summers
bb49189bdf
Router for all MCP auth endpoints + behaviors 2025-02-18 10:16:32 +00:00
Justin Spahr-Summers
a6e78b7426
Add handler for auth server metadata 2025-02-18 09:52:45 +00:00
Justin Spahr-Summers
43f433c934
Match style for registration request handler 2025-02-18 09:47:11 +00:00
Justin Spahr-Summers
6830c92f76
Remove redundant comment 2025-02-18 09:45:19 +00:00
Justin Spahr-Summers
bff65e6746
Add client information to all OAuth provider methods 2025-02-18 09:44:25 +00:00
Justin Spahr-Summers
9abcccf2ed
Token revocation endpoint 2025-02-18 09:41:35 +00:00
Justin Spahr-Summers
19f2ac7018
Extract client authentication into reusable middleware 2025-02-18 09:39:52 +00:00
Justin Spahr-Summers
f4002e559e
Add type definition for token revocation requests 2025-02-18 09:24:51 +00:00
Justin Spahr-Summers
26ffe00dc3
Auth code and refresh token flows 2025-02-17 16:40:51 +00:00
Justin Spahr-Summers
5738f0cef1
WIP /token endpoint 2025-02-17 16:19:26 +00:00
Justin Spahr-Summers
62cd9520da
Authorization flow handoff 2025-02-17 15:04:02 +00:00
Justin Spahr-Summers
54f643cee8
Validate redirect URIs _as_ URIs 2025-02-17 14:46:08 +00:00
Justin Spahr-Summers
9dc4a4f6a9
WIP /authorize endpoint 2025-02-17 14:37:10 +00:00
Justin Spahr-Summers
6d33a7c527
Rename handler file to register.ts to make path more obvious 2025-02-17 13:56:16 +00:00
Justin Spahr-Summers
a776f5f94a
Build a router to chain middleware better 2025-02-17 13:51:37 +00:00
Justin Spahr-Summers
e27907d9fc
Add cors package 2025-02-17 13:51:17 +00:00
Justin Spahr-Summers
6bfbd2092b
Client registration using a "store" interface 2025-02-17 13:29:51 +00:00
Justin Spahr-Summers
76f367b957
WIP client registration handler for Express 2025-02-17 12:17:00 +00:00
Justin Spahr-Summers
9ba6ce02a7
Add express as a production dependency 2025-02-17 12:07:18 +00:00
Justin Spahr-Summers
a0069e2341
Split full/partial client information 2025-02-17 11:41:42 +00:00
Justin Spahr-Summers
afae4212e6
Move OAuth definitions into shared, add more 2025-02-17 11:07:59 +00:00
Justin Spahr-Summers
41e0d26f23
Merge pull request #144 from modelcontextprotocol/justin/client-auth
Client implementation of MCP auth
2025-02-17 10:46:39 +00:00
Justin Spahr-Summers
b1f4b65709
Improve auth docs and add finishAuth convenience method 2025-02-17 10:45:34 +00:00
Justin Spahr-Summers
44a440854f
Code review comments 2025-02-17 10:34:57 +00:00
Justin Spahr-Summers
423b62ba8a
Bump minor version 1.5.0 2025-02-12 14:30:58 +00:00
Justin Spahr-Summers
c0ebe90154
Test transparent token refresh in SSEClientTransport 2025-02-12 14:17:03 +00:00
Justin Spahr-Summers
79d2db3e71
Missed one await server.close() 2025-02-12 14:01:22 +00:00
Justin Spahr-Summers
36999dcef7
Fix fetch test polluting auth tests 2025-02-12 14:00:21 +00:00
Justin Spahr-Summers
d47d88be9e
Auth tests for SSEClientTransport 2025-02-12 13:47:59 +00:00
Justin Spahr-Summers
3e2dd35dca
Fix tests 2025-02-11 22:02:20 +00:00
Justin Spahr-Summers
92621516f8
Re-auth upon 401 when POSTing 2025-02-11 21:37:49 +00:00
Justin Spahr-Summers
03e583b70f
Add support for AuthProvider in SSEClientTransport 2025-02-11 20:35:36 +00:00
Justin Spahr-Summers
fceebdcf5a
Add MCP-Protocol-Version header 2025-02-11 17:58:58 +00:00
Justin Spahr-Summers
141f3f5532
Don't need full OAuth client metadata in response 2025-02-11 16:54:57 +00:00
Justin Spahr-Summers
8bff256cb2
Preemptively bump package version 2025-02-11 16:02:16 +00:00
Justin Spahr-Summers
9fea0af998
Correctly provide client ID (+ secret) to every auth step 2025-02-11 15:59:16 +00:00
Justin Spahr-Summers
47fd6df229
Higher-level auth flow 2025-02-11 15:13:17 +00:00
Justin Spahr-Summers
fa50204a11
Fix import of auth.js in test 2025-02-11 14:17:10 +00:00
Justin Spahr-Summers
4c87fb50ab
Prefix client metadata + info with OAuth 2025-02-11 14:17:02 +00:00
Justin Spahr-Summers
d17a382a65
Auth tests and fixes 2025-02-11 13:47:58 +00:00
Justin Spahr-Summers
2b9a58182c
Add dynamic client registration 2025-02-11 13:32:10 +00:00