MCP server Authplane Python SDK
Коммит 26 окт. 2026 г.Защищает MCP и OAuth 2.1 resource servers с помощью валидации JWT и специализированных адаптеров для Python-фреймворков.
Также известен как AuthPlane/python-sdk
- Звёзды
- 11
- Инструменты
- —
- Загрузки, 30 дней
- —
- Последняя версия
- —
- Последний коммит
- 26 окт. 2026 г.
- Лицензия
- Apache-2.0
Что такое Authplane Python SDK MCP?
Authplane Python SDK — это MCP server. Защищает MCP и OAuth 2.1 resource servers с помощью валидации JWT и специализированных адаптеров для Python-фреймворков.
Сводка сгенерирована из README проекта
О Authplane Python SDK MCP server
Основная функция этого Python SDK — обеспечение безопасности Model Context Protocol resource servers с помощью OAuth 2.1 и валидации JWT. Он предоставляет разработчикам специализированные адаптеры как для официального MCP Python SDK, так и для FastMCP, что позволяет быстро интегрировать аутентификацию в существующие архитектуры серверов. Используя такие функции, как authplane_auth или authplane_mcp_auth, разработчики могут автоматизировать поиск метаданных, получение JWKS и валидацию токенов доступа в один шаг.
Инструментарий предназначен для сред Python 3.11+ и ориентирован на строгие стандарты безопасности. Он принудительно использует асимметричные алгоритмы, такие как RS256 и ES256, реализуя защиту от атак типа algorithm confusion и SSRF. SDK автоматически управляет такими сложными задачами, как фоновое обновление JWKS, проверка DPoP proof и интроспекция токенов. Это гарантирует соответствие resource servers стандартам RFC, таким как RFC 9068 и RFC 9449, без необходимости ручной реализации каждого уровня безопасности.
Что вы можете с ним делать
- 1Безопасный доступ к инструментам FastMCPРазработчик может ограничить доступ к конкретным инструментам для пользователей с необходимыми OAuth scopes, используя декоратор require_scopes.
- 2Автоматическое обнаружение метаданных OAuthSDK может автоматически настроить сервер, обнаружив метаданные сервера авторизации и получив необходимые ключи.
- 3Защищенные исходящие запросыРазработчики могут защитить свои серверы от SSRF-атак с помощью встроенных механизмов DNS pinning и блокировки IP-адресов во время получения метаданных.
- 4Реализация токенов с привязкой к отправителюБиблиотека поддерживает DPoP, чтобы гарантировать привязку токенов доступа к конкретному клиенту для предотвращения атак повторного воспроизведения (replay attacks).
Взято из README проекта. Каждый вариант использования проверен на соответствие цитате из него.
Автоматические проверки
Запущено 14 нояб. 2026 г.Полный отчёт →Еще не проверено. Для сервера требуется оценка 80, отсутствие серьезных проблем и достаточно данных для нашей проверки. Как работают проверки · Что исправить, чтобы получить больше баллов
- Связанный и доступный исходный репозиторийauthplane/python-sdk is public and reachablegithub.com/authplane/python-sdk ↗Пройдено
- Пакет указывает этот репозиторий как источникНе проверялось
- Происхождение сборки (аттестация Sigstore)Не проверялось
- Open source лицензия (OSI)Apache-2.0spdx.org/licenses/Apache-2.0.html ↗Пройдено
- Коммит или релиз за последний годLast commit or release 2026-10-26github.com/authplane/python-sdk ↗Пройдено
- OpenSSF ScorecardНе проверялось
- Имя пакета не похоже на популярный пакетНе проверялось
- Нет критических предупреждений в пакете или его зависимостяхНе проверялось
- Нет скрытых инструкций для модели0 tool descriptions and the README read; no override phrases, credential paths or hidden charactersПройдено
- Деструктивные инструменты помеченыНе проверялось
- Удалённая конечная точка отвечает на рукопожатие MCPНе проверялось
README
Открыть на GitHubAuthplane Python SDK
OAuth 2.1 JWT validation and token operations for Python resource servers, with first-class adapters for Model Context Protocol (MCP) servers.
Why Authplane
- One call wires up everything.
authplane_auth()(FastMCP) orauthplane_mcp_auth()(MCP) does RFC 8414 metadata discovery, fetches the JWKS, validates RFC 9068 access tokens, and serves RFC 9728 Protected Resource Metadata — unpacked straight into your MCP server. - Secure defaults. Asymmetric algorithms only, strict claim validation, SSRF-hardened fetches, background JWKS refresh, and a circuit breaker around the AS — out of the box.
- Standards-aligned. OAuth 2.1, DPoP (RFC 9449), Token Exchange (RFC 8693), Token Introspection (RFC 7662), Token Revocation (RFC 7009), Resource Indicators (RFC 8707).
Quickstart — FastMCP server with auth
import asyncio
from authplane_fastmcp import authplane_auth
from fastmcp import FastMCP
from fastmcp.server.auth import require_scopes
async def main() -> None:
result = await authplane_auth(
issuer="https://auth.company.com",
base_url="https://mcp.company.com",
scopes=["tools/query"],
)
mcp = FastMCP("My Server", **result)
@mcp.tool(auth=require_scopes("tools/query"))
def query(sql: str) -> str:
return f"Ran: {sql}" # replace with your real handler
try:
await mcp.run_async(transport="http", port=8080)
finally:
await result.aclose()
asyncio.run(main())
That's a complete, secure, standards-compliant MCP resource server. Swap authplane-fastmcp for authplane-mcp to use the official MCP Python SDK instead — see each adapter's README for the equivalent snippet.
Packages
| Package | Install | Purpose |
|---|---|---|
authplane-sdk |
pip install authplane-sdk |
Framework-agnostic JWT validation, AS metadata discovery, and token operations |
authplane-mcp |
pip install authplane-mcp |
Adapter for the official MCP Python SDK |
authplane-fastmcp |
pip install authplane-fastmcp |
Adapter for FastMCP |
Adapter packages depend on authplane-sdk, so installing one adapter brings the core SDK along. Adapter packages export only the adapter-specific glue (authplane_auth, AuthplaneAuthResult, AuthplaneTokenVerifier, etc.); core types (ASCredentials, FetchSettings, IntrospectionRevocation, errors) come from authplane, and TokenExchangeOptions / TokenResponse from authplane.oauth.
Requires Python 3.11+.
Compatibility
Tested against authserver 0.2.0. Introspection-based revocation (IntrospectionRevocation) requires authserver ≥ 0.1.2 and a confidential resource-server client that is either the issuing client or a runtime-client of the Resource — see the user guide.
Capabilities
Standards and RFCs
- OAuth 2.1 (draft-ietf-oauth-v2-1)
- RFC 8414 — Authorization Server Metadata discovery
- RFC 9068 — JWT Profile for OAuth 2.0 Access Tokens
- RFC 7662 — Token Introspection
- RFC 7009 — Token Revocation
- RFC 8693 — Token Exchange
- RFC 8707 — Resource Indicators
- RFC 9449 — DPoP (sender-constrained access tokens)
- RFC 9728 — OAuth 2.0 Protected Resource Metadata
- RFC 6750 — Bearer Token Usage
- RFC 7234 — HTTP caching semantics on discovery responses
- RFC 7519 / 7517 — JWT and JWKS
Security
- JWT signature, issuer, audience,
exp/nbf/iat, andtyp(at+jwt) validation; required claims enforced (sub,client_id,exp,iat,jti) - Algorithm-confusion defenses: only
RS256andES256(asymmetric) are accepted;none,HS256,HS384,HS512are always rejected at construction - AS metadata hardening: discovered
issuermust match configured issuer exactly; required endpoints must be present - SSRF hardening on outbound HTTP: DNS pinning, private/loopback/link-local/cloud-metadata IP blocking, HTTPS-only, response size limits, no redirects
- HTTPS-only by default with a
dev_modetoggle forlocalhostand private networks - JWKS resilience: stale-cache fallback, background refresh at 80% TTL, force-refresh on
kidmiss, coordinated fetches - Inbound DPoP proof verification: binding, replay,
htm/htu/athchecks - Outbound DPoP proof generation with nonce retry and pluggable nonce storage
- Circuit breaker around authorization-server calls
- Token caching with TTL buffers
Framework integrations
- Official MCP Python SDK →
authplane-mcp - FastMCP →
authplane-fastmcp
Observability
- Structured logging (
loggingmodule) across JWKS refresh, metadata discovery, circuit breaker transitions, token verification, and DPoP binding outcomes - Strict Pyright typing and immutable validated claims
Documentation
- Core SDK:
authplane/README.md· User Guide - MCP adapter:
authplane-mcp/README.md· User Guide - FastMCP adapter:
authplane-fastmcp/README.md· User Guide - Release history:
CHANGELOG.md - Security policy:
SECURITY.md - Contributing:
CONTRIBUTING.md - Release policy:
RELEASE_POLICY.md
License
Apache-2.0 — see LICENSE.
Вопросы о Authplane Python SDK MCP
Какие алгоритмы безопасности поддерживаются для валидации JWT?
SDK принимает только асимметричные алгоритмы, в частности RS256 и ES256, чтобы предотвратить атаки типа algorithm confusion.
Поддерживает ли этот SDK DPoP?
Да, он поддерживает как входящую проверку DPoP proof, так и генерацию исходящих DPoP proof.
Какая минимальная версия Python требуется?
Необходимо использовать Python 3.11 или выше.