eai-oauth-proxy
Local client for apps behind oauth2-proxy. The credential is the _oauth2_proxy session cookie. The default browser signs you in; this process reads that cookie and sends it as Cookie.
Install
uv tool install eai-oauth-proxy
Login
eai-oauth-proxy login https://testymctestface.staging.extensile.store/
Writes ~/.config/eai-oauth-proxy/staging.extensile.store.cookie (mode 0600). An existing browser session for that site is saved immediately. Re-running replaces the file.
mcp-proxy and OAuthProxyHTTP open the browser themselves when the cookie is missing or rejected, then retry once.
OAuthProxyCookieManager
Opens the default browser and stores the cookie.
from eai_oauth_proxy import OAuthProxyCookieManager
manager = OAuthProxyCookieManager()
path = manager.login("https://testymctestface.staging.extensile.store/")
value = manager.cookie_for("https://testymctestface.staging.extensile.store/api/v1/users/me")
login returns the file path. cookie_for reads the stored value for that host. path_for returns the file path when one exists.
OAuthProxyHTTP
Calls an oauth2-proxy API with the stored cookie. Paths are app paths.
from eai_oauth_proxy import OAuthProxyHTTP
with OAuthProxyHTTP("https://testymctestface.staging.extensile.store") as api:
response = api.get("/api/v1/users/me")
response.raise_for_status()
print(response.json())
request, get, post, put, patch, and delete return an httpx.Response. Pass a manager to share one cookie directory.
OAuthProxyMCPBridge
Forwards MCP stdio to a Streamable HTTP server. stdout is MCP traffic; logs go to stderr.
from eai_oauth_proxy import OAuthProxyMCPBridge
OAuthProxyMCPBridge("https://testymctestface.staging.extensile.store/mcp").run()
The CLI does the same thing:
eai-oauth-proxy mcp-proxy https://testymctestface.staging.extensile.store/mcp
MCP client
{
"mcpServers": {
"testy-mctestface": {
"command": "eai-oauth-proxy",
"args": ["mcp-proxy", "https://testymctestface.staging.extensile.store/mcp"]
}
}
}
Release files for eai-oauth-proxy 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| eai_oauth_proxy-0.2.0.tar.gz | 16.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| eai_oauth_proxy-0.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 32.8 kB
Release files / eai_oauth_proxy-0.2.0.tar.gz
| Download URL | eai_oauth_proxy-0.2.0.tar.gz |
|---|---|
| Size | 16.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
58a338827600476bc6f25b1ee8026842e7239bc812d5026048d4aa52d77f3168
|
|
BLAKE2b-256 checksum How to use checksums |
1ff3975f599504af19674fda7125b95e1c8e48f95df6503571d9bcf604e9b8f9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 21, 2026.
Transparency logRelease files / eai_oauth_proxy-0.2.0-py3-none-any.whl
| Download URL | eai_oauth_proxy-0.2.0-py3-none-any.whl |
|---|---|
| Size | 16.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
bba93ebfd52aea483c339f611df720b57c674b6fb518dcfaf8d3bac3cf1c4ee2
|
|
BLAKE2b-256 checksum How to use checksums |
66e43b89c3ffa19c934f5b3deb053c734f7d1812b1f4f1a4af025a8b007a9219
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 21, 2026.
Transparency log