Skip to main content

mcs-auth-oauth

OAuth 2.0 for AI agents. Authorization Code Flow with PKCE connector for the Model Context Standard (MCS).

A 5-second localhost callback server and your agent has an OAuth token. Works with any OAuth 2.0 provider -- Google, Auth0, Microsoft, GitHub, you name it.

Installation

pip install mcs-auth-oauth

Quick start

from mcs.auth.oauth import OAuthProvider

provider = OAuthProvider(
    authorize_url="https://accounts.google.com/o/oauth2/v2/auth",
    token_url="https://oauth2.googleapis.com/token",
    client_id="...",
    client_secret="...",
    scopes={"gmail": "https://mail.google.com/"},
)

# Opens browser, user logs in, token returned
token = provider.get_token("gmail")

How it works

  1. Agent calls get_token("gmail")
  2. Browser opens with the provider's consent screen
  3. User logs in and grants access
  4. Localhost callback receives the authorization code
  5. Code is exchanged for tokens (with PKCE)
  6. Token returned to agent -- done

The entire flow happens in a single get_token() call. The localhost server lives for exactly one request and shuts down immediately.

Use with Auth0 Token Vault

from mcs.auth.auth0 import Auth0Provider
from mcs.auth.oauth import OAuthConnector

provider = Auth0Provider(
    domain="my-tenant.auth0.com",
    client_id="...",
    client_secret="...",
    _auth=OAuthConnector(
        authorize_url="https://my-tenant.auth0.com/authorize",
        token_url="https://my-tenant.auth0.com/oauth/token",
        client_id="...",
        client_secret="...",
        extra_params={"connection": "google-oauth2", "audience": "..."},
    ),
)

Links

License

Apache-2.0

Metadata

Release files for mcs-auth-oauth 0.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for mcs-auth-oauth 0.3.0
File Size Uploaded
mcs_auth_oauth-0.3.0.tar.gz 13.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for mcs-auth-oauth 0.3.0
File Interpreter ABI Platform
mcs_auth_oauth-0.3.0-py3-none-any.whl Python 3 none any Details

Total release size: 24.8 kB

Release files / mcs_auth_oauth-0.3.0.tar.gz

Download URL mcs_auth_oauth-0.3.0.tar.gz
Size 13.0 kB
Tags Source
SHA-256 checksum
How to use checksums
62eb320a6e43e9c39a138b39a0e6f3811e1fa9a9c5135ee1caf2933c8ca2864a
BLAKE2b-256 checksum
How to use checksums
82b62b2830a7e9a5f83dfd341fb5a22bf72c0a13342ff6b687792dbaaf5f596d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.5

Release files / mcs_auth_oauth-0.3.0-py3-none-any.whl

Download URL mcs_auth_oauth-0.3.0-py3-none-any.whl
Size 11.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
daba1cb19f2f14dd96d7f712574decf98f762ee6f403faadb8ef83d20f2323c2
BLAKE2b-256 checksum
How to use checksums
2d5cb789989c30538e08e33bc1a189a4f58cf10a0c97be0515b9758b178b77be
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.5

Release history Release notifications | RSS feed

This release

0.3.0 This release

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page