Why a gateway at all
Every client keeps its own list of servers and its own copy of every token. Junctio holds them once, keeps them fresh, and hands out one URL.
Proactive token refresh
Upstream OAuth tokens are renewed on a schedule, not after a request has already failed. Refresh tokens rotate on every use.
No telemetry
No phone-home, no analytics, no update ping. The only outbound call the UI makes is to the public MCP registry, while you look at it.
One endpoint, many servers
Tools from every upstream are aggregated under prefixes. A dead upstream does not take the rest down.
Its own authorization server
PKCE, dynamic client registration and a consent screen behind the admin password. What claude.ai and Claude Desktop connectors need.
Management MCP
Forty-six tools over the same REST API the UI uses, so an agent can configure the gateway instead of you clicking through it.
Security audit
Optional scheduled vulnerability checks for every stdio server, with a per-severity action you choose.
The promise: auth does not go stale
An upstream token that expires mid-session surfaces as a 401 inside your editor, and the fix is a manual re-login. Junctio refreshes each upstream token on a schedule, well before it expires, and collapses concurrent refreshes into one. The test suite runs a hundred calls under a five second token lifetime with zero client-visible failures.
The same holds between your client and the gateway: access tokens live an hour, refresh tokens thirty days and rotate on every use, and revoking a client from Settings kills its tokens with it.
Four steps from container to client
- 1
Add a server
Pick a runtime, type the package name, the form previews the exact command.
- 2
Group it in a namespace
Choose a prefix per server, hide or rename tools, add instructions.
- 3
Create an endpoint
API key, OAuth, both or none. Issue a key or let a client register itself.
- 4
Paste one snippet
Every client points at the same URL. Change upstreams without touching clients.
claude mcp add --transport http junctio https://mcp.example.com/mcp/main \
--header "Authorization: Bearer jn_..."Pick your setup
One page per client and per way of hosting it.
Runs wherever Docker does
A multi-arch image on GHCR, a compose file, and guides for Caddy, Dokploy, Coolify and Portainer. Read the security notes before exposing it to anyone but yourself.