Serveur MCP Authplane Python SDK
Commit 26 oct. 2026Protège les serveurs de ressources MCP et OAuth 2.1 grâce à la validation JWT et des adaptateurs de framework spécialisés pour Python.
Aussi connu sous AuthPlane/python-sdk
- Étoiles
- 11
- Outils
- —
- Téléchargements, 30 jours
- —
- Dernière version
- —
- Dernier commit
- 26 oct. 2026
- Licence
- Apache-2.0
Qu'est-ce que Authplane Python SDK MCP ?
Authplane Python SDK est un serveur MCP. Protège les serveurs de ressources MCP et OAuth 2.1 grâce à la validation JWT et des adaptateurs de framework spécialisés pour Python.
Résumé généré à partir du README du projet
À propos du MCP server Authplane Python SDK
La fonction principale de ce SDK Python est de sécuriser les serveurs de ressources Model Context Protocol avec OAuth 2.1 et la validation JWT. Il fournit aux développeurs des adaptateurs spécialisés pour le SDK Python officiel de MCP ainsi que pour FastMCP, permettant une intégration rapide de l'authentification dans leurs architectures de serveurs existantes. En utilisant des fonctions telles que authplane_auth ou authplane_mcp_auth, les développeurs peuvent automatiser la découverte de métadonnées, récupérer les JWKS et valider les jetons d'accès en une seule étape.
La boîte à outils est conçue pour les environnements Python 3.11+ et se concentre sur des normes de sécurité strictes. Elle impose des algorithmes asymétriques comme RS256 et ES256 tout en mettant en œuvre des défenses contre la confusion d'algorithme et les attaques SSRF. Elle gère automatiquement des tâches complexes telles que le rafraîchissement des JWKS en arrière-plan, la vérification des preuves DPoP et l'introspection des jetons. Cela garantit que les serveurs de ressources restent conformes aux standards RFC tels que RFC 9068 et RFC 9449 sans nécessiter l'implémentation manuelle de chaque couche de sécurité.
Ce que vous pouvez faire avec
- 1Sécuriser l'accès aux outils FastMCPUn développeur peut restreindre l'accès à des outils spécifiques aux utilisateurs possédant les scopes OAuth requis en utilisant le décorateur require_scopes.
- 2Découverte automatisée des métadonnées OAuthLe SDK peut configurer automatiquement un serveur en découvrant les métadonnées du serveur d'autorisation et en récupérant les clés nécessaires.
- 3Renforcement des requêtes sortantesLes développeurs peuvent protéger leurs serveurs contre les attaques SSRF grâce au DNS pinning et au blocage d'IP intégrés lors de la récupération des métadonnées.
- 4Implémentation de jetons contraints à l'émetteurLa bibliothèque prend en charge DPoP pour garantir que les jetons d'accès sont liés à un client spécifique afin d'empêcher les attaques par rejeu.
Extrait du README du projet. Chaque cas d'utilisation est vérifié par rapport à une citation du document.
Vérifications automatisées
Exécuté le 14 nov. 2026Rapport complet →Pas encore vérifié. Un serveur nécessite un score de 80, aucune faille sérieuse et suffisamment de données pour que nous puissions effectuer les vérifications. Fonctionnement des vérifications · Ce qu'il faut corriger pour gagner des points
- Dépôt source lié et accessibleauthplane/python-sdk is public and reachablegithub.com/authplane/python-sdk ↗Réussi
- Le nom du package correspond au dépôt sourceNon vérifié
- Provenance du build (attestation Sigstore)Non vérifié
- Licence open source (OSI)Apache-2.0spdx.org/licenses/Apache-2.0.html ↗Réussi
- Commit ou version publiée au cours de l'année écouléeLast commit or release 2026-10-26github.com/authplane/python-sdk ↗Réussi
- OpenSSF ScorecardNon vérifié
- Nom du package non proche d'un package populaireNon vérifié
- Aucun avis critique dans le package ou ses dépendancesNon vérifié
- Aucune instruction cachée destinée au modèle0 tool descriptions and the README read; no override phrases, credential paths or hidden charactersRéussi
- Les outils destructifs sont étiquetésNon vérifié
- Le point de terminaison distant répond à la poignée de main MCPNon vérifié
README
Voir sur 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.
Questions sur Authplane Python SDK MCP
Quels algorithmes de sécurité sont pris en charge pour la validation JWT ?
Le SDK accepte uniquement les algorithmes asymétriques, spécifiquement RS256 et ES256, afin de prévenir les attaques par confusion d'algorithme.
Ce SDK prend-il en charge DPoP ?
Oui, il prend en charge à la fois la vérification des preuves DPoP entrantes et la génération de preuves DPoP sortantes.
Quelle est la version minimale de Python requise ?
Vous devez utiliser Python 3.11 ou une version supérieure.