Authplane MCPサーバー
コミット 2026年10月25日Model Context Protocol (MCP) serverおよびAgent Skillsを保護するために設計された、セルフホスト型のOAuth 2.1認可サーバーを提供します。
別名 AuthPlane/authserver
- スター
- 82
- ツール
- —
- ダウンロード数(30日間)
- —
- 最新バージョン
- —
- 最終コミット
- 2026年10月25日
- ライセンス
- AGPL-3.0
Authplane MCPとは
AuthplaneはMCPサーバーです。 Model Context Protocol (MCP) serverおよびAgent Skillsを保護するために設計された、セルフホスト型のOAuth 2.1認可サーバーを提供します。.
プロジェクトのREADMEから生成された概要
Authplane MCP server について
Authplaneは、Model Context Protocol (MCP) serverおよびAgent Skillsを保護するために構築された、セルフホスト型のOAuth 2.1認可サーバーです。トークンの発行、アクセスの検証、およびエージェント間での委譲管理が必要な開発者向けに設計されています。システムは単一のGoバイナリ、またはDocker経由でデプロイ可能で、開発環境にはSQLite、本番環境にはPostgreSQLを使用できます。管理用のReactダッシュボードが組み込まれているため、別途フロントエンド用のコンテナを用意する必要はありません。
ユーザーは、Google、Okta、Azure AD、Auth0などの既存のOIDC準拠のアイデンティティプロバイダーとサーバーをフェデレーションできます。このサーバーは、トークンのリプレイ攻撃を防ぐためのDPoP proof-of-possession、RFC 8693によるトークン交換、およびクライアント資格情報を含む高度なセキュリティ機能をサポートしています。また、GitHubやSlackなどのサービス向けに、暗号化されたリフレッシュトークンを保存するアップストリームプロバイダーのヴォルティング機能も備えています。統合はPython、TypeScript、Go、Java、C#で利用可能なSDKを通じて管理され、開発者は最小限のコードでスコープの強制やJWTの検証を行うことができます。
できること
- 1エージェント間通信の保護AIエージェントがユーザーに代わって別のエージェントを呼び出す際、委譲チェーンの明確な監査証跡を維持できます。
- 2トークンのリプレイ攻撃の防止トークンを特定のクライアント保持キーにバインドすることで、盗まれたトークンが権限のないマシンで使用されるのを防ぐことができます。
- 3既存のアイデンティティプロバイダーとのフェデレーション現在のOIDC準拠のアカウントを使用して、既存のユーザーベースを変更することなくアクセス制御ポリシーを管理できます。
- 4サードパーティサービス資格情報の保護SlackやLinearなどの外部プラットフォーム用の暗号化されたリフレッシュトークンを、安全に保存および管理できます。
プロジェクトの README から作成されています。すべてのユースケースは、その引用と照らし合わせて確認されています。
設定
AUTHPLANE_ADMIN_API_KEYAUTHPLANE_SESSION_SECRET
| 名前 | 説明 | 種類 |
|---|---|---|
| AUTHPLANE_ADMIN_API_KEY | — | |
| AUTHPLANE_SESSION_SECRET | — |
自動チェック
実行日 2026年11月13日完全なレポート →まだ検証されていません。サーバーには80点のスコア、重大な問題がないこと、および検証に必要な十分なデータが必要です。 チェックの仕組み · 点数を上げるための改善点
- ソースリポジトリがリンクされており、アクセス可能authplane/authserver is public and reachablegithub.com/authplane/authserver ↗合格
- パッケージがこのリポジトリをソースとして指定未チェック
- ビルドの来歴 (Sigstore 証明)未チェック
- オープンソースライセンス (OSI)AGPL-3.0spdx.org/licenses/AGPL-3.0.html ↗合格
- 過去1年以内にコミットまたはリリースありLast commit or release 2026-10-25github.com/authplane/authserver ↗合格
- OpenSSF Scorecard未チェック
- パッケージ名が有名なパッケージに酷似していない未チェック
- パッケージおよびその依存関係に重大な勧告なし未チェック
- モデルへの隠れた指示がない0 tool descriptions and the README read; no override phrases, credential paths or hidden characters合格
- 破壊的なツールがラベル付けされている未チェック
- リモートエンドポイントが MCP ハンドシェイクに応答未チェック
README
GitHubで見るAuthplane
The self-hosted authorization server for the Model Context Protocol.
One Go binary. AGPL-3.0. MCP Authorization spec 2026-07-28, end-to-end.
New in v0.2.0 — MCP Authorization 2026-07-28. Client ID Metadata Documents on by default, RFC 9207
isson every authorization response, Protected Resource Metadata served by the AS,authorization_grant_profiles_supportedfor Enterprise-Managed Authorization,application_typeon registration — and DPoP, client credentials, token exchange and XAA enabled out of the box. Details and the breaking changes in the changelog.v0.2.3 is a security and signing-key patch. Upgrade, and read its upgrade notes first: the Helm chart refuses multi-replica keyfile installs without persistence,
admin keycommands need the server's--config, and Vault Transit signing now uses its own credential.
AI coding agents: read AGENTS.md first — it has the deterministic workflow for adding Authplane to an existing MCP server, the SDK pins per stack, and the three byte-for-byte rules that cause >90% of
invalid_tokenfailures. If you're an agent operating from web docs (no clone), llms.txt is the same link map in the llmstxt.org convention.
Why Authplane
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.
- Spec-compliant access tokens for any MCP server in any language — discovery, scopes, audience binding, refresh rotation, in token formats your existing resource servers already understand.
- Federation to your existing IdP — Google, Okta, Azure AD, Auth0, anyone OIDC-compliant. Authplane handles the OAuth side; you keep the access policy.
- Agent-to-agent delegation — one agent calls another on a user's behalf, with every hop recorded as an act-claim chain in the issued token and the audit log.
- Upstream provider vaulting — store GitHub / Google / Slack / Linear refresh tokens encrypted at rest and vend fresh access tokens via RFC 8693, with per-user / per-agent / per-resource consent enforced at every hop.
- DPoP proof-of-possession — bind tokens to a client-held key so a leaked token can't be replayed from another machine.
- Built-in Admin UI — React dashboard embedded in the same binary. No separate frontend, no extra container.
- Production storage and observability — PostgreSQL with cross-instance LISTEN/NOTIFY, OpenTelemetry traces and metrics, Prometheus, Helm chart, Vault Transit for HSM-grade signing.
- Zero-config dev — default SQLite, auto-generated signing keys, sensible defaults.
(Full RFC inventory at the bottom — Standards & Specifications.)
Quick Start
One docker run. A working OAuth 2.1 + MCP authorization server in under a minute.
export AUTHPLANE_ADMIN_API_KEY="$(openssl rand -hex 32)"
export AUTHPLANE_SESSION_SECRET="$(openssl rand -hex 32)"
echo "Save this — it's your Admin UI login: $AUTHPLANE_ADMIN_API_KEY"
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. The public OAuth endpoints are on http://localhost:9000. Client credentials, token exchange, DPoP and CIMD are on out of the box — nothing to enable before your first MCP server can get a token.
Next: register your first MCP server
- Writing an MCP server from scratch? Start at the runnable example for your language — Python · TypeScript · Go. Auth in 5 lines, end-to-end smoke in
make verify. - Adding auth to an MCP server you already have? The retrofit example is a runnable before/after pair — same three tools in two versions, side-by-side, with a smoke-test that proves
beforeaccepts anything andafterenforces auth. Python · TypeScript · Go. Or read the Connect an MCP Server guide for the prose version. - Already have an MCP server running elsewhere? To point this AS at your server and drive the whole OAuth flow by hand with
curl— no SDK, no compose — see Run the AS standalone and point it at your own MCP server. It also reconciles this Quick Start's config with theexamples/.envstyle. - Operator quickstart (upstream providers, PostgreSQL, OIDC federation, Helm, multi-instance):
docs/README.md. - Building from source: CONTRIBUTING.md.
The Admin UI

Manage everything from a browser. The Admin UI is embedded in the same binary; every operation is also exposed via the Admin REST API.
SDKs
Authserver is only half the story. The MCP server on the other side still has to validate the tokens, expose the discovery endpoint, enforce scopes per tool, handle DPoP, and decode consent errors. The Authplane SDKs do all of that in 5 lines of integration code — measured, CI-counted, in Python / TypeScript / Go alike. The full ladder (basic MCP server → calling another resource → DPoP + per-tool scopes → fronting a Broker upstream) sits between 5 and 30 lines of auth-specific code per tier; see examples/ for the numbers under each tier's banner.
Every Authplane SDK provides the same baseline:
- JWT validation against the authserver JWKS, with caching
- Scope enforcement, per route or per tool
- The Protected Resource Metadata document at
/.well-known/oauth-protected-resource/<mcp-path>(RFC 9728, suffixed per the MCP spec) - DPoP proof verification (RFC 9449)
- A full OAuth client — Client Credentials, RFC 8693 Token Exchange, Introspection, Revocation
- Structured
ConsentRequiredErrordecoding for the upstream-provider Broker flow
Pick the language and the framework adapter that match the stack you're already on.
| Language | Repo | Integration Adapters | Docs |
|---|---|---|---|
| Go | authplane/go-sdk |
✓ Official MCP Go SDK (go-sdk/mcp)✓ mark3labs/mcp-go (go-sdk/mark3labs) |
README |
| TypeScript | authplane/ts-sdk |
✓ Official MCP TypeScript SDK (@authplane/mcp)✓ FastMCP (@authplane/fastmcp) |
README |
| Python | authplane/python-sdk |
✓ Official MCP Python SDK (authplane-mcp)✓ FastMCP (authplane-fastmcp) |
README |
| Java | authplane/java-sdk |
✓ Official MCP Java SDK (authplane-mcp)✓ Spring Boot (authplane-spring) |
README |
| C# | authplane/cs-sdk |
✓ Official MCP C# SDK on ASP.NET Core (Authplane.Mcp) |
README |
| Rust | ready to ship — see ROADMAP.md | — | — |
Working examples wired against authserver live under examples/ — Python / TypeScript / Go, with four tiers each (basic MCP server, calling another resource, DPoP + per-tool scopes, MCP server fronting a Broker). Every example's make verify is exercised by make docs-smoke and the per-tier LOC budget is CI-enforced via tools/loccount.
Integration walkthroughs: Auth Client · Resource Server.
Documentation
For advanced operations and deeper reference, the docs/ tree is organized by audience:
| Get started | Quickstart |
| Configuration | Configuration Guide · Schema Reference |
| API Reference | HTTP API (all endpoints) · CLI · Audit Events · Metrics |
| Security | Threat Model · Tokens and Claims · Key Rotation · DPoP |
| Deployment | Docker Compose · systemd · Kubernetes |
| Guides | Connect an MCP Server · Admin CLI & API · OIDC Federation · Observability |
| Grant Types | Client Credentials · Token Exchange · JWT Bearer / XAA · Enterprise-Managed Auth |
| Architecture | Architecture Overview · Authentication Flows · RFC Compliance |
| Full Index | Documentation Index |
Standards & Specifications
Authplane implements the MCP Authorization specification (2026-07-28) and the OAuth 2.1 ecosystem standards behind it. ("OAuth 2.1" is an active IETF Internet-Draft, not a finalized RFC — the MCP spec itself targets it. See Compliance for the full picture.) Here's what each one gives you, in operator terms:
| Standard | What it provides |
|---|---|
| MCP Authorization 2026-07-28 | The contract MCP clients and servers expect: discovery endpoints, CIMD and dynamic client registration, audience-bound tokens, iss-stamped authorization responses. The reason your existing MCP tooling can find and talk to authserver without custom adapters. |
| OAuth 2.1 | The base authorization flow — authorize endpoint, token endpoint, refresh tokens, scopes. PKCE-S256 is mandatory; the older insecure flows aren't supported. |
| PKCE (RFC 7636) | Prevents stolen authorization codes from being redeemed. Critical for public clients (CLIs, desktop apps, mobile). |
| DPoP (RFC 9449) | Binds tokens to a client-held key. A leaked token can't be replayed from another machine. |
| Resource Indicators (RFC 8707) | Audience-binds every token to a specific resource URI. An access token for one MCP server can't be replayed against another. |
| Protected Resource Metadata (RFC 9728) | MCP servers advertise where their authorization server lives. Clients discover the AS automatically. |
| Client ID Metadata Documents (CIMD) | The MCP-native way for a client with no prior relationship to identify itself: it hosts its metadata at an HTTPS URL and uses that URL as its client_id. No registration round-trip, no server-side record. Enabled by default, and the mechanism MCP 2026-07-28 asks clients to prefer. |
| Dynamic Client Registration (RFC 7591) | Clients register themselves at runtime. Deprecated by MCP 2026-07-28 in favor of CIMD, and retained for clients that do not support CIMD yet. Three security modes: open (default), approved-redirects, admin-only — see the note below. |
| OAuth AS Metadata (RFC 8414) + OIDC Discovery | The /.well-known/oauth-authorization-server and /.well-known/openid-configuration documents every OAuth client knows how to fetch. |
| Token Exchange (RFC 8693) | Delegated identity — one client mints a narrower or differently-scoped token from an existing one. Powers the agent-to-agent delegation chain and the upstream-provider Broker flow. |
| JWT Bearer (RFC 7523) | Trusted external IdPs assert identity directly into Authplane. The foundation for Cross-App Access (XAA) and enterprise federation. |
| JWT Access Tokens (RFC 9068) | Default token format (at+jwt). Every token is a self-contained JWT your resource servers can verify offline against the JWKS. |
| Token Introspection (RFC 7662) | Runtime token validation endpoint for revocation-aware verification. |
| Token Revocation (RFC 7009) | Standard endpoint to revoke refresh tokens and their families. |
Roadmap
What is coming after v0.2.0, staged by how far along it is: ROADMAP.md.
A note on dcr.mode
dcr.mode defaults to open, which means any unauthenticated caller can register a client. The client_name it supplies is rendered on the consent screen a user is asked to trust.
That default exists for a historical reason: until recently, RFC 7591 was the only way a client with no prior relationship could obtain a client_id. MCP 2026-07-28 replaces that role with CIMD, which needs no registration endpoint and is enabled here by default — so most deployments no longer need open DCR for anything, and the server logs a warning at boot while it is active.
Clients choose a registration mechanism in this priority order, per the specification:
- Pre-registered credentials, if the client has them
- CIMD, when the AS advertises
client_id_metadata_document_supported— which this server does - Dynamic Client Registration, when the AS advertises a
registration_endpoint - Prompt the user
If your clients register via CIMD or are pre-provisioned, set dcr.mode: admin_only (or approved_redirects) and close the endpoint. It is left open by default only because client-side CIMD support is still arriving, and flipping it would break deployments whose clients register via DCR today.
If something here blocks your deployment, open an issue — the priority list is informed by what you're trying to ship.
License
AGPL-3.0-or-later — see LICENSE.
Need a different licence?
We'd love to hear from you — write to hello@authplane.ai and let's find one that fits.
Authplane MCPのよくある質問
AuthplaneがMCP serverに適している理由は何ですか?
MCP Authorization仕様(2026-07-28)を実装しており、ディスカバリエンドポイント、audience-boundトークン、およびCIMDを提供するためです。
既存のアイデンティティプロバイダーをAuthplaneで使用できますか?
はい、AuthplaneはGoogle、Okta、Azure AD、Auth0などのあらゆるOIDC準拠のプロバイダーへのフェデレーションをサポートしています。
既存のMCP serverに認証を追加するにはどうすればよいですか?
提供されているPython、TypeScript、Go、Java、またはC#のSDKを使用することで、わずか数行のコードで認証を統合できます。
Authplaneには管理インターフェースが含まれていますか?
はい、同じバイナリに直接組み込まれたReactベースの管理用Admin UIが備わっています。