MCP server de Authplane Python SDK
Commit 26 oct 2026Protege los resource servers de MCP y OAuth 2.1 mediante validación de JWT y adaptadores de framework especializados para Python.
También conocido como AuthPlane/python-sdk
- Stars
- 11
- Herramientas
- —
- Descargas, 30 días
- —
- Última versión
- —
- Último commit
- 26 oct 2026
- Licencia
- Apache-2.0
¿Qué es Authplane Python SDK MCP?
Authplane Python SDK es un MCP server. Protege los resource servers de MCP y OAuth 2.1 mediante validación de JWT y adaptadores de framework especializados para Python.
Resumen generado a partir del README del proyecto
Acerca del MCP server de Authplane Python SDK
La función principal de este SDK de Python es asegurar los resource servers de Model Context Protocol con OAuth 2.1 y validación de JWT. Proporciona a los desarrolladores adaptadores especializados tanto para el SDK oficial de MCP para Python como para FastMCP, lo que permite una integración rápida de la autenticación en sus arquitecturas de servidor existentes. Al usar funciones como authplane_auth o authplane_mcp_auth, los desarrolladores pueden automatizar el descubrimiento de metadatos, obtener JWKS y validar tokens de acceso en un solo paso.
El toolkit está diseñado para entornos con Python 3.11+ y se enfoca en estándares de seguridad estrictos. Aplica algoritmos asimétricos como RS256 y ES256 mientras implementa defensas contra ataques de confusión de algoritmos y SSRF. Gestiona automáticamente tareas complejas como la actualización de JWKS en segundo plano, la verificación de pruebas DPoP y la introspección de tokens. Esto garantiza que los resource servers cumplan con los estándares RFC como RFC 9068 y RFC 9449 sin necesidad de implementar manualmente cada capa de seguridad.
Qué puedes hacer con él
- 1Acceso seguro a herramientas de FastMCPUn desarrollador puede restringir herramientas específicas a usuarios con los scopes de OAuth requeridos mediante el decorador require_scopes.
- 2Descubrimiento automatizado de metadatos de OAuthEl SDK puede configurar automáticamente un servidor descubriendo los metadatos del servidor de autorización y obteniendo las claves necesarias.
- 3Solicitudes salientes reforzadasLos desarrolladores pueden proteger sus servidores contra ataques SSRF mediante DNS pinning e IP blocking integrados durante la obtención de metadatos.
- 4Implementación de tokens con restricción de remitenteLa librería es compatible con DPoP para asegurar que los tokens de acceso estén vinculados a un cliente específico y así prevenir ataques de replay.
Escrito a partir del README del proyecto. Cada caso de uso se verifica con una cita del mismo.
Verificaciones automáticas
Ejecutado 14 nov 2026Informe completo →Aún no verificado. Un servidor necesita una puntuación de 80, ningún hallazgo grave y suficientes datos para que podamos revisarlo. Cómo funcionan las verificaciones · Qué corregir para obtener más puntos
- Repositorio de origen vinculado y accesibleauthplane/python-sdk is public and reachablegithub.com/authplane/python-sdk ↗Aprobado
- El paquete indica este repositorio como su origenNo verificado
- Procedencia de la compilación (atestación de Sigstore)No verificado
- Licencia de código abierto (OSI)Apache-2.0spdx.org/licenses/Apache-2.0.html ↗Aprobado
- Commit o lanzamiento en el último añoLast commit or release 2026-10-26github.com/authplane/python-sdk ↗Aprobado
- OpenSSF ScorecardNo verificado
- El nombre del paquete no es similar a un paquete popularNo verificado
- No hay avisos críticos en el paquete ni en sus dependenciasNo verificado
- Sin instrucciones ocultas para el modelo0 tool descriptions and the README read; no override phrases, credential paths or hidden charactersAprobado
- Las herramientas destructivas están etiquetadasNo verificado
- El endpoint remoto responde al handshake de MCPNo verificado
README
Ver en 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.
Preguntas sobre Authplane Python SDK MCP
¿Qué algoritmos de seguridad son compatibles para la validación de JWT?
El SDK solo acepta algoritmos asimétricos, específicamente RS256 y ES256, para prevenir ataques de confusión de algoritmos.
¿Es compatible este SDK con DPoP?
Sí, es compatible tanto con la verificación de pruebas DPoP entrantes como con la generación de pruebas DPoP salientes.
¿Cuál es la versión mínima de Python requerida?
Debes usar Python 3.11 o superior.