Credential provider abstraction for the Model Context Standard.
Project description
mcs-auth
The authentication backbone for the Model Context Standard (MCS).
Stop wiring OAuth flows, API keys, and token refresh logic into every agent
you build. mcs-auth defines a universal CredentialProvider protocol --
one interface, any credential source. Your agent code never changes, no
matter how authentication works behind the scenes.
Installation
pip install mcs-auth
What's inside
| Component | What it does |
|---|---|
CredentialProvider |
Protocol: get_token(scope) -> str. Any provider satisfies it. |
AuthPort |
Protocol for auth transport adapters (OAuth, LinkAuth, Device Flow, ...). |
AuthChallenge |
Exception raised when user interaction is needed (URL + code). |
AuthMixin |
Mixin for drivers -- catches auth challenges at the tool execution boundary. |
StaticProvider |
Simple provider: tokens from a dict or environment variables. |
Quick start
from mcs.auth.static import StaticProvider
# From a dict
provider = StaticProvider(tokens={"gmail": "ya29.xxx", "openai": "sk-xxx"})
token = provider.get_token("gmail")
# From environment variables (MCS_TOKEN_GMAIL, MCS_TOKEN_OPENAI, ...)
provider = StaticProvider()
token = provider.get_token("gmail")
The big picture
Your agent calls provider.get_token("gmail"). Where that token comes from
is none of the agent's business:
CredentialProvider.get_token("gmail")
|
+-- StaticProvider (env vars, dicts)
+-- Auth0Provider (Token Vault exchange) --> mcs-auth-auth0
+-- OAuthProvider (browser login) --> mcs-auth-oauth
+-- LinkAuthProvider (device-flow broker) --> mcs-auth-linkauth
Swap providers without touching agent code. Add new services without new OAuth integrations. That's the power of a protocol-based auth layer.
Links
- Homepage: https://www.modelcontextstandard.io
- Source: https://github.com/modelcontextstandard/python-sdk
License
Apache-2.0
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file mcs_auth-0.3.0.tar.gz.
File metadata
- Download URL: mcs_auth-0.3.0.tar.gz
- Upload date:
- Size: 12.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
80f0a83ff3a26c52cc6757946a64b31bf2c632342715c203d2282ab7529373db
|
|
| MD5 |
6de432fabbcadc1d1a7309750693edab
|
|
| BLAKE2b-256 |
e0ab70ad15ffa0cc847289df42eb79cd96d2467efea2fb0b85d11abb27df8e83
|
File details
Details for the file mcs_auth-0.3.0-py3-none-any.whl.
File metadata
- Download URL: mcs_auth-0.3.0-py3-none-any.whl
- Upload date:
- Size: 12.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9b5781b5cb01926309065b53b030316173be3235fb945380611bdc5da0ba2ad2
|
|
| MD5 |
a8d62e430e971e3bbc50d740292031f7
|
|
| BLAKE2b-256 |
b57bce46be928841ba079f3e061c009169478121a6eaf59c9de0f33249949fa2
|