modelcontextprotocol / modelcontextprotocol/typescript-sdk

Implement SEP-1933: Workload Identity Federation (Extension)

Open
#2,576 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

auth enhancement P2 ready for work v1 v2
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-bearer was added to the client expected-failures baseline in #2557.

  • Roadmap agreed on the SEP thread (comment):

    The best path forward I see is:

    1. conformance test
    2. SDK implementation
    3. 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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.