Open source · MIT · Self-hosted

Put real authentication in front of your MCP servers.

An open-source OAuth 2.1 gateway that replaces pasted API keys with scoped, expiring tokens — deployed on your infrastructure in one command.

No credit card. No cloud account. MIT licensed, forever.

zsh — deploy
➜ docker compose up -d
[+] Running 3/3
 ✔ postgres      Healthy
 ✔ gateway       Started · :8787
 ✔ dashboard     Started · :3000

➜ curl localhost:8787/health
{ "status": "healthy" }

gateway · dashboard · postgres — one command

400+

automated tests

OAuth 2.1

PKCE mandatory

RFC 7591

dynamic registration

MIT

licensed, no fees

The problem

MCP adoption is exploding. MCP security hasn't caught up.

Without a gateway

  • API keys pasted into config files, committed to repos, shared in Slack
  • No idea which client accessed which server, or when
  • One leaked key means rotating everything and hoping for the best

With MCP Gateway

  • Clients authenticate with OAuth 2.1 — PKCE required, no exceptions
  • Every token is scoped, short-lived, and logged in a full audit trail
  • Revoke one client in one click; nothing else is touched

What you get

Everything between your servers and the outside world.

OAuth 2.1, by the book

Mandatory PKCE, refresh token rotation, RFC 7591 dynamic client registration, and RFC 8414 discovery. The standard, implemented properly.

MCP-native reverse proxy

Register your MCP servers once. The gateway authenticates every request, enforces scopes, and routes to the right upstream.

Multi-tenant isolation

Tenants, clients, servers, and keys are isolated in every query. One gateway safely serves every team in your organization.

Complete audit trail

Every token issued and every request proxied is recorded with compliance tags. "Who accessed what?" always has an answer.

Admin dashboard included

Manage tenants, OAuth clients, and MCP servers from a clean web UI — with analytics and audit logs built in.

Self-hosted, MIT licensed

One docker compose up on your own infrastructure. No vendor, no fees, no lock-in — the whole stack is yours.

How it works

Watch a request make it through.

MCP client

Claude · Cursor

MCP Gateway

OAuth 2.1 · PKCE

JWT · scoped

Your MCP servers

untouched

Audit trail

✔ token issued · client mcp_client_9f2 · scope mcp:tools:read

✔ request proxied · server weather-api · 200 OK

✔ logged · tenant default · 12ms

1 · A client asks for access

Claude, Cursor, or any MCP client discovers your gateway and requests access — no API key involved.

2 · The gateway authenticates it

A full OAuth 2.1 handshake with mandatory PKCE. The client proves who it is, every single time.

3 · A scoped token reaches your server

The request is proxied to your MCP server with a short-lived JWT — only the scopes it needs, nothing more.

4 · Everything is on the record

Every token and every request lands in the audit trail. Revoke any client in one click.

1

Deploy

docker compose up brings up the gateway, dashboard, and PostgreSQL. Migrations run themselves.

2

Register servers

Add your MCP servers in the dashboard. Each gets a resource identifier and required scopes.

3

Connect clients

MCP clients discover the gateway and complete a PKCE flow. Every request from then on is a scoped, expiring token.

Questions, answered.

Is it really free?+

Yes. The entire stack is MIT licensed and self-hosted. There is no hosted tier, no usage meter, and no paid features — you run it on your own infrastructure.

Do I have to change my MCP servers?+

No. The gateway sits in front of your existing servers as a reverse proxy. You register their endpoints; clients talk to the gateway instead of directly to them.

Which MCP clients work with it?+

Any client that speaks OAuth 2.1 with PKCE — including Claude, Cursor, and other MCP clients. Clients can self-register via RFC 7591 dynamic registration.

What does it run on?+

Node.js and PostgreSQL, packaged as Docker images. It runs on any VPS, home server, or container platform — a Railway deployment guide is included.

How production-ready is it?+

The gateway ships with 400+ automated tests covering the OAuth flows, tenant isolation, and security paths, and the whole codebase is open for your own review.

Your MCP servers, properly secured — tonight.

One command to deploy. One evening to never worry about a pasted API key again.