mcpfold logomcpfold

Roadmap

A living, public view of where mcpfold is headed. Priorities are driven by the opt-in adoption signal, open issues, and the adapter coverage gaps. Nothing here is a dated commitment.

Shipped

  • Local core: canonical mcp.config.jsonc, 8 client adapters, secret references, sync/diff/doctor/status/test/restore, watch mode, guided onboarding, completions.
  • Distribution: npm, Homebrew, curl | sh, Scoop/winget, standalone binaries, update notifier.
  • Team-without-a-backend: repo config-as-code drift gate + the packaged GitHub Action.
  • Cloud: self-hosted Supabase + edge sync, device-code login, refresh-token rotation, the web console (visual editor, sync dashboard, team console + audit trail).
  • Site: marketing site, interactive benchmark, install page, unified docs + search, server directory.

Next

  • Pricing + billing: wire Stripe to the entitlement checker and ship the pricing page (S13.6).
  • Adapter breadth: the next tranche from the coverage roadmap (Continue, Goose, Warp, JetBrains AI, Cody, Roo Code).
  • Compat automation: act on the weekly compat-harness drift reports (packages/adapters/compat).
  • Launch collateral: the scripted demo GIF render, blog/changelog.

Exploring

  • Deeper editor integrations, richer proxy tool-curation policies, org-wide policy enforcement.

MCP 2026-07-28 stateless-core readiness (S17.6)

The 2026-07-28 protocol revision (release candidate now; final expected ~July 28, 2026) is breaking. mcpfold's proxy sits mid-conversation and must speak both worlds during the transition. This checklist maps each RC changelog item to how mcpfold handles it. Revisit when the final ships.

RC changelog item mcpfold status How
Removes initialize supported Handshake mode: 'stateless' probes via server/discover
Removes Mcp-Session-Id; version/identity in _meta passthrough Proxy never rewrites _meta; only the tool array of a listing
Mandatory server/discover supported Proxy curates its response exactly like tools/list
MRTR (resultType: 'input_required' + retry) passthrough Forwarded verbatim; not a listing, so never rewritten
Tasks moved to an official extension passthrough Forwarded verbatim
Deprecates HTTP+SSE (12-month lifecycle) tracked Both transports still work; watch the sunset window
Deprecates Roots / Sampling / Logging non-goal We build no features on these; forwarded verbatim if present

Enforcement is mode-agnostic: a denied tools/call is rejected whether or not a session exists, because the call keeps its params.name shape. Dual-mode tests (packages/proxy/test/stateless.test.ts) prove identical filtering/enforcement for a 2025-11-25 session and a stateless-core session of the same server. The _meta version key is provisional until the final spec fixes it.

Have a request? Open an issue — adapter requests use the adapter-request label. See Governance for how proposals become work.