Authplane Python SDK MCP server
2026년 10월 26일 커밋JWT 검증 및 Python 전용 프레임워크 어댑터를 사용하여 MCP와 OAuth 2.1 리소스 서버를 보호합니다.
다른 이름 AuthPlane/python-sdk
- 스타
- 11
- Tools
- —
- 다운로드, 30일
- —
- 최신 버전
- —
- 마지막 커밋
- 2026년 10월 26일
- 라이선스
- Apache-2.0
Authplane Python SDK MCP란?
Authplane Python SDK은(는) MCP server입니다. JWT 검증 및 Python 전용 프레임워크 어댑터를 사용하여 MCP와 OAuth 2.1 리소스 서버를 보호합니다.
프로젝트 README에서 생성된 요약
Authplane Python SDK MCP server 정보
이 Python SDK의 주요 기능은 OAuth 2.1 및 JWT 검증을 통해 Model Context Protocol 리소스 서버를 보호하는 것입니다. 공식 MCP Python SDK와 FastMCP를 위한 전용 어댑터를 제공하여, 개발자가 기존 서버 아키텍처에 인증 기능을 신속하게 통합할 수 있도록 지원합니다. authplane_auth 또는 authplane_mcp_auth와 같은 함수를 사용하면 메타데이터 검색, JWKS 가져오기, 액세스 토큰 검증을 한 번에 자동화할 수 있습니다.
이 툴킷은 Python 3.11+ 환경을 위해 설계되었으며 엄격한 보안 표준에 중점을 둡니다. RS256 및 ES256과 같은 비대칭 알고리즘을 강제하며, 알고리즘 혼동 및 SSRF 공격에 대한 방어 기제를 구현합니다. 백그라운드 JWKS 갱신, DPoP 증명 검증, 토큰 인트로스펙션과 같은 복잡한 작업을 자동으로 관리합니다. 이를 통해 리소스 서버가 모든 보안 계층을 수동으로 구현하지 않고도 RFC 9068 및 RFC 9449와 같은 RFC 표준을 준수할 수 있도록 합니다.
활용 사례
- 1FastMCP 도구 액세스 보안require_scopes 데코레이터를 사용하여 특정 도구에 대해 필요한 OAuth scope를 가진 사용자만 접근하도록 제한할 수 있습니다.
- 2OAuth 메타데이터 검색 자동화SDK가 인증 서버 메타데이터를 검색하고 필요한 키를 가져와 서버를 자동으로 구성할 수 있습니다.
- 3강화된 아웃바운드 요청메타데이터 가져오기 과정에서 내장된 DNS 피닝 및 IP 차단 기능을 통해 SSRF 공격으로부터 서버를 보호할 수 있습니다.
- 4송신자 제한 토큰 구현DPoP를 지원하여 액세스 토큰이 특정 클라이언트에 결합되도록 함으로써 재전송 공격을 방지할 수 있습니다.
프로젝트의 README를 바탕으로 작성되었습니다. 모든 활용 사례는 해당 내용의 인용문과 대조하여 확인합니다.
자동 검사
2026년 11월 14일에 실행됨전체 보고서 →아직 인증되지 않았습니다. 서버는 80점 이상의 점수, 심각한 결함 없음, 그리고 검사에 충분한 데이터를 갖추어야 합니다. 검사 방식 · 점수를 높이기 위해 수정할 항목
- 소스 저장소 연결 및 접근 가능authplane/python-sdk is public and reachablegithub.com/authplane/python-sdk ↗통과
- 패키지가 이 저장소를 소스로 명시검사되지 않음
- 빌드 출처(Sigstore 증명)검사되지 않음
- 오픈 소스 라이선스 (OSI)Apache-2.0spdx.org/licenses/Apache-2.0.html ↗통과
- 최근 1년 내 커밋 또는 릴리스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
GitHub에서 보기Authplane 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 검증 시 어떤 보안 알고리즘을 지원하나요?
알고리즘 혼동 공격을 방지하기 위해 RS256 및 ES256과 같은 비대칭 알고리즘만 허용합니다.
이 SDK는 DPoP를 지원하나요?
네, 인바운드 DPoP 증명 검증과 아웃바운드 DPoP 증명 생성을 모두 지원합니다.
최소 Python 버전은 무엇인가요?
Python 3.11 이상을 사용해야 합니다.