MCP server Authplane Python SDK
Commit 26 de out. de 2026Protege servidores de recursos MCP e OAuth 2.1 usando validação JWT e adaptadores de framework especializados para Python.
Também conhecido como AuthPlane/python-sdk
- Stars
- 11
- Ferramentas
- —
- Downloads, 30 dias
- —
- Versão mais recente
- —
- Último commit
- 26 de out. de 2026
- Licença
- Apache-2.0
O que é o MCP Authplane Python SDK?
Authplane Python SDK é um MCP server. Protege servidores de recursos MCP e OAuth 2.1 usando validação JWT e adaptadores de framework especializados para Python.
Resumo gerado a partir do README do projeto
Sobre o MCP server de Authplane Python SDK
A função principal deste SDK para Python é proteger servidores de recursos do Model Context Protocol com OAuth 2.1 e validação JWT. Ele fornece aos desenvolvedores adaptadores especializados tanto para o SDK oficial de Python do MCP quanto para o FastMCP, permitindo uma integração rápida de autenticação em suas arquiteturas de servidor existentes. Ao usar funções como authplane_auth ou authplane_mcp_auth, os desenvolvedores podem automatizar a descoberta de metadados, buscar JWKS e validar tokens de acesso em uma única etapa.
A ferramenta foi projetada para ambientes Python 3.11+ e foca em padrões rigorosos de segurança. Ela impõe algoritmos assimétricos como RS256 e ES256, implementando defesas contra ataques de confusão de algoritmo e SSRF. O toolkit gerencia automaticamente tarefas complexas, como a atualização de JWKS em segundo plano, verificação de prova DPoP e introspecção de token. Isso garante que os servidores de recursos permaneçam em conformidade com padrões RFC, como RFC 9068 e RFC 9449, sem a necessidade de implementar manualmente cada camada de segurança.
O que você pode fazer com ele
- 1Acesso seguro a ferramentas FastMCPUm desenvolvedor pode restringir ferramentas específicas a usuários com escopos OAuth necessários usando o decorador require_scopes.
- 2Descoberta automatizada de metadados OAuthO SDK pode configurar um servidor automaticamente ao descobrir metadados do servidor de autorização e buscar as chaves necessárias.
- 3Requisições de saída protegidasDesenvolvedores podem proteger seus servidores contra ataques SSRF por meio de DNS pinning e bloqueio de IP integrados durante a busca de metadados.
- 4Implementação de tokens com restrição de remetenteA biblioteca suporta DPoP para garantir que os tokens de acesso estejam vinculados a um cliente específico, prevenindo ataques de replay.
Escrito a partir do README do projeto. Cada caso de uso é verificado com uma citação dele.
Verificações automatizadas
Executado em 14 de nov. de 2026Relatório completo →Ainda não verificado. Um servidor precisa de uma pontuação de 80, nenhum problema grave e dados suficientes para verificarmos. Como as verificações funcionam · O que corrigir para ganhar mais pontos
- Repositório de origem vinculado e acessívelauthplane/python-sdk is public and reachablegithub.com/authplane/python-sdk ↗Passou
- O pacote indica este repositório como sua origemNão verificado
- Proveniência da build (atestação Sigstore)Não verificado
- Licença de código aberto (OSI)Apache-2.0spdx.org/licenses/Apache-2.0.html ↗Passou
- Commit ou release no último anoLast commit or release 2026-10-26github.com/authplane/python-sdk ↗Passou
- OpenSSF ScorecardNão verificado
- Nome do pacote não é próximo a um pacote popularNão verificado
- Nenhum aviso crítico no pacote ou em suas dependênciasNão verificado
- Sem instruções ocultas para o modelo0 tool descriptions and the README read; no override phrases, credential paths or hidden charactersPassou
- Ferramentas destrutivas estão rotuladasNão verificado
- O endpoint remoto responde ao handshake do MCPNão verificado
README
Ver no 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.
Perguntas sobre o MCP Authplane Python SDK
Quais algoritmos de segurança são suportados para validação JWT?
O SDK aceita apenas algoritmos assimétricos, especificamente RS256 e ES256, para prevenir ataques de confusão de algoritmo.
Este SDK suporta DPoP?
Sim, ele suporta tanto a verificação de prova DPoP de entrada quanto a geração de prova DPoP de saída.
Qual é a versão mínima do Python necessária?
Você deve usar o Python 3.11 ou superior.