modelcontextprotocol / modelcontextprotocol/typescript-sdk
Implement SEP-1933: Workload Identity Federation (Extension)
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 13.4k
- Forks
- 2.2k
- Avg merge
- 3d 15h
- Merged PRs (30d)
- 4
Description
This is a tracking issue for implementation of SEP-1933 (extension id io.modelcontextprotocol/auth/wif).
Summary
Workload Identity Federation lets an MCP client running with no user present authenticate to an authorization server by presenting a platform-issued workload JWT (Kubernetes projected service account token, SPIFFE JWT-SVID, cloud identity token) via the RFC 7523 jwt-bearer grant. No client secret is provisioned and no dynamic client registration happens; the workload's existing platform identity is the credential. The TypeScript SDK needs a client-side provider for the jwt-bearer grant flow: assertion sourcing (static or per-request callback), non-interactive operation with no authorization-code fallback, and conformance with the auth/wif-jwt-bearer scenario.
Status
-
Client conformance scenario merged and extension-tagged: modelcontextprotocol/conformance#268, reclassified in modelcontextprotocol/conformance#401.
-
This SDK already tracks the gap:
auth/wif-jwt-bearerwas added to the client expected-failures baseline in #2557. -
Roadmap agreed on the SEP thread (comment):
The best path forward I see is:
- conformance test
- SDK implementation
- submit for official extension consideration
We've got (1) for WIF, and in progress for DPoP, and (2) is much more feasible now with betas having stabilized on the python & typescript sdks
This issue is step (2) for the TypeScript SDK.
Related Issues & PRs
- Implementation PRs: #2572
- Related PRs: #2557 (baseline entry), modelcontextprotocol/conformance#268, modelcontextprotocol/conformance#401
- Related Issues: modelcontextprotocol/conformance#223 (client conformance tracking)
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Read the auth/wif-jwt-bearer conformance scenario and the expected-failures baseline added in #2557 first. Trace the TypeScript SDK's client-side authentication provider entry point, then verify support for static or callback-sourced assertions, non-interactive operation, and the jwt-bearer flow. Done means the conformance scenario passes without an authorization-code fallback.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- authentication
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100