Junctio
Self-hosted MCP gateway for one developer or a small team. One container, one volume, one endpoint per client.
Power your agent
การติดตั้งจากผู้เผยแพร่ ไม่ใช่เอนด์พอยต์ของ PlugMCP
URL แบบรีโมตหรือคำสั่งบนเครื่องของคุณ? การติดตั้งสองแบบต่างกันอย่างไร
รันบน PlugMCP
A new server you create. It is not this listing's official endpoint. Use the publisher install when you want their URL and their credentials.
เปิดจากผู้เผยแพร่
Self-hosted MCP gateway for one developer or a small team. One container, one volume, one endpoint per client.
Self-hosted MCP gateway: one container, one endpoint per client, upstream OAuth that never goes stale. Aggregate stdio, Docker and remote MCP servers behind a single URL for Claude Code, Codex and Cursor. No telemetry.
The promise: auth does not go stale. Not between your client and the gateway, and not between the gateway and its upstreams.
Early, but the whole path works: gateway, aggregation, API key auth, a built-in OAuth authorization server, upstream OAuth, REST API, web UI, registry browsing, import from a pasted client config, a management MCP server and a multi-arch image on GHCR. Expect breaking changes before 1.0; CHANGELOG.md says when a release needs a fresh database.
The image is ghcr.io/k2so-dev/junctio, built for amd64 and arm64. latest is the last release, and every release is also tagged X.Y.Z and X.Y.
mkdir junctio && cd junctio
curl -fsSLO https://raw.githubusercontent.com/k2so-dev/junctio/main/compose.yml
curl -fsSL https://raw.githubusercontent.com/k2so-dev/junctio/main/.env.example -o .env
Set JUNCTIO_SECRET in .env to the output of openssl rand -hex 32, then start it:
docker compose up -d
Or run it straight from the source tree:
bun install
bun run build:web
JUNCTIO_SECRET=$(openssl rand -hex 32) bun run start
Open http://localhost:3000, set an admin password, then:
npx runtime and type the package name. The form previews the exact command.claude mcp add --transport http junctio https://mcp.example.com/mcp/main \
--header "Authorization: Bearer jn_..."
Behind a domain, set JUNCTIO_BASE_URL and JUNCTIO_TRUST_PROXY=true and terminate TLS in front of the gateway. The guides under Documentation do this for you.
OAuth does not work without TLS. Browsers and MCP clients will refuse the redirects. Terminate TLS in front of the gateway. See docs/caddy.md.
Deploy: Caddy on a VPS, Dokploy, Coolify, Portainer.
bun install
bun test # unit and integration suites
bun run typecheck # tsc for the server, vue-tsc for the web
bun run dev # gateway with watch mode
bun run dev:web # vite dev server on 5173, proxies /api to 3000
bun run build:web # SPA into apps/web/dist, served by the gateway
bun run db:generate # regenerate drizzle migrations after a schema change
The UI is Vue 3, Tailwind 4 and shadcn-vue, built as a static SPA. The gateway serves it from apps/web/dist unless JUNCTIO_PUBLIC_DIR says otherwise.
The test suite covers the things the product claims: upstream refresh under a five second token lifetime with a hundred calls and zero client-visible failures, single-flight collapsing, refresh token rotation, fifty stdio restart cycles with no zombie processes, and 404 on the discovery documents of an API-key-only endpoint.
make help lists the same commands run in a throwaway toolchain container, plus make up, which builds junctio:local from the source tree and starts the stack through compose.build.yml.
The gateway runs arbitrary packages and holds tokens for every integration you connect. Read SECURITY.md before exposing it to anyone but yourself.
MIT
See CONTRIBUTING.md for the setup, the checks a pull request has to pass, and the repository layout. Report a vulnerability privately as described in SECURITY.md.
Self-hosted MCP gateway: one container, one endpoint per client, upstream OAuth that never goes stale. Aggregate stdio, Docker and remote MCP servers behind a single URL for Claude Code, Codex and Cur
ภาพรวม
Self-hosted MCP gateway: one container, one endpoint per client, upstream OAuth that never goes stale. Aggregate stdio, Docker and remote MCP servers behind a single URL for Claude Code, Codex and Cursor. No telemetry.
เครื่องมือ
ยังไม่มีรายการเครื่องมือ เซิร์ฟเวอร์แบบรีโมตจะได้รายการหลังการตรวจสอบสถานะครั้งแรก
FAQ
คัดลอกคอนฟิก stdio สำหรับ Cursor, Claude Desktop, Claude Code หรือ VS Code ได้ในหน้านี้ คอนฟิกนี้ใช้การติดตั้งของผู้เผยแพร่ ไม่ใช่พร็อกซีของ PlugMCP
ระเบียนนี้ไม่ได้ระบุตัวแปรสภาพแวดล้อมที่จำเป็น
Junctio ทำงานแบบโลคัลผ่าน stdio
ตรวจสอบล่าสุดเมื่อ 2026-10-28 Self-hosted MCP gateway: one container, one endpoint per client, upstream OAuth that never goes stale. Aggregate stdio, Docker and remote MCP servers behind a single URL for Claude Code, Codex and Cursor. No telemetry.