Skip to content
@AuthPlane

AuthPlane

Open-source OAuth 2.1 + MCP authorization, self-hosted.

Authplane

Open-source OAuth 2.1 + MCP authorization, self-hosted.

authserver Server: AGPL-3.0 SDKs: Apache-2.0 MCP Authorization 2025-11-25 Contact


Building an MCP server is now a one-afternoon job. Securing it isn't. You need to issue tokens, validate them, federate to your existing IdP, and let agents act on each other's behalf without losing the user behind the chain. Authplane is the one piece of infrastructure that answers all of that — a single Go binary on the server side, and idiomatic SDKs on the client side.

The Stack

flowchart TD
    authserver["<b>authserver</b><br/>OAuth 2.1 + MCP Authorization AS<br/><i>AGPL-3.0 · one Go binary, self-hosted</i>"]

    subgraph sdks ["Resource-server SDKs · Apache-2.0 · embed and ship in your app"]
        direction LR
        go["<b>go-sdk</b>"]
        ts["<b>ts-sdk</b>"]
        py["<b>python-sdk</b>"]
    end

    conformance["<b>conformance</b> (catalog)<br/><i>Apache-2.0 · language-neutral source of truth</i>"]

    authserver -- "issues JWTs<br/>DPoP · audience-bound" --> sdks
    sdks -. "tested against" .-> conformance

    classDef agpl fill:#fee2e2,stroke:#991b1b,color:#111
    classDef apache fill:#dcfce7,stroke:#166534,color:#111
    class authserver agpl
    class go,ts,py,conformance apache
Loading

Repositories

Repo What it is Language Status License
authserver Self-hosted OAuth 2.1 + MCP Authorization server. One Go binary, embedded Admin UI, PostgreSQL + Vault-backed signing for production. Go v0.1.x — production-shaped AGPL-3.0
go-sdk Resource-server SDK and OAuth client for Go. Adapters for the official MCP Go SDK and net/httpmark3labs/mcp-go adapter coming soon. Go Released Apache-2.0
ts-sdk Resource-server SDK and OAuth client for TypeScript. Adapters for the official MCP TS SDK and FastMCP — Hono and NestJS adapters coming soon. TypeScript Released Apache-2.0
python-sdk Resource-server SDK and OAuth client for Python. Adapters for the official MCP Python SDK and FastMCP. Python Released Apache-2.0
conformance Language-neutral YAML catalog of OAuth 2.1 conformance cases. Every SDK runs it; every assertion traces back to a catalog case. YAML / Python tooling Active Apache-2.0

On the roadmap: Rust, C#, and Java SDKs. Talk to us if you need one sooner.

What every SDK gives you

A consistent baseline across Go, TypeScript, and Python — so your MCP server validates tokens, exposes discovery, and enforces consent the same way regardless of stack:

  • JWT validation against the authserver JWKS, with caching
  • Per-route / per-tool scope enforcement
  • The /.well-known/oauth-protected-resource endpoint (PRM, RFC 9728)
  • DPoP proof verification (RFC 9449)
  • A full OAuth client — Client Credentials, Token Exchange (RFC 8693), Introspection, Revocation
  • Structured ConsentRequiredError decoding for the upstream-provider broker flow

Standards in scope

Authplane implements the MCP Authorization specification (2025-11-25) and the OAuth 2.1 ecosystem behind it. Full inventory:

OAuth 2.1 · PKCE (RFC 7636) · DPoP (RFC 9449) · Resource Indicators (RFC 8707) · Protected Resource Metadata (RFC 9728) · Dynamic Client Registration (RFC 7591) · CIMD · AS Metadata (RFC 8414) + OIDC Discovery · Token Exchange (RFC 8693) · JWT Bearer (RFC 7523) · JWT Access Tokens (RFC 9068) · Introspection (RFC 7662) · Revocation (RFC 7009)

The conformance catalog is the source of truth.

Try it in 60 seconds

export AUTHPLANE_ADMIN_API_KEY="$(openssl rand -hex 32)"
export AUTHPLANE_SESSION_SECRET="$(openssl rand -hex 32)"

docker run -p 9000:9000 -p 9001:9001 \
  -e AUTHPLANE_ADMIN_API_KEY \
  -e AUTHPLANE_SESSION_SECRET \
  -v authserver-data:/data \
  authplane/authserver:latest serve

Open http://localhost:9001/admin/ui/ and paste the printed API key. Then secure your MCP server with the Python MCP adapter — Go and TypeScript adapters follow the same pattern.

Get involved

  • Issues & feature requests — file them on the repo that's closest to the problem; we triage across repos.
  • Security disclosures — please follow each repo's SECURITY.md.
  • Commercial / non-AGPL licensing — write to hello@authplane.ai.

License

  • authserverAGPL-3.0-or-later
  • go-sdk, ts-sdk, python-sdk, conformanceApache-2.0

Need different terms for the server? Write to hello@authplane.ai.

Popular repositories Loading

  1. authserver authserver Public

    OAuth 2.1 Authorization Server for the Model Context Protocol (MCP)

    Go 13 1

  2. python-sdk python-sdk Public

    Python SDK for protecting MCP servers and OAuth 2.1 resource servers with tokens issued by the Authplane authorization server. Includes framework adapters (e.g. MCP, FastMCP).

    Python 7

  3. ts-sdk ts-sdk Public

    TypeScript SDK for protecting MCP servers and OAuth 2.1 resource servers with tokens issued by the Authplane authorization server. Includes framework adapters (e.g. MCP, FastMCP).

    TypeScript 7

  4. go-sdk go-sdk Public

    Go SDK for protecting MCP servers and OAuth 2.1 resource servers with tokens issued by the Authplane authorization server. Includes framework adapters (e.g. MCP, net/http).

    Go 6 1

  5. conformance conformance Public

    OAuth 2.1 / RFC 9728 / MCP authorization conformance catalog. Vendor-neutral test cases that the Authplane SDKs (and any third-party MCP auth library) run against to prove protocol compliance.

    Python 2 1

  6. .github .github Public

    AuthPlane public org profile

Repositories

Showing 6 of 6 repositories

People

This organization has no public members. You must be a member to see who’s a part of this organization.

Top languages

Loading…

Most used topics

Loading…