Model Context Protocol · Python · OAuth 2.1

A conduit between agents and capabilities.

Connect AI agents to a controlled workspace and live GitHub intelligence through one MCP server. Run locally over stdio or remotely over OAuth-protected Streamable HTTP.

v0.1.0 · remote flow verified

One codebase. Two transports.

The same MCP server and capability model are reused locally or over HTTP.

AI agent / MCP client
       │
       ├── local stdio ─────────┐
       │                        ▼
       └── OAuth + HTTP ───► Conduit
                              │
                       ┌──────┴──────┐
                       ▼             ▼
                  Workspace       GitHub
                    tools          tools

Auth0 → JWT → Conduit → MCP session → tool call

Public capability

conduit:read provides workspace and GitHub operations.

Admin capability

conduit:admin is required by the Auth0 Management API tools.

Credential isolation

The server-side Auth0 Management API secret is never delegated to callers.

Security is part of the design.

The global OAuth gate authenticates the caller; per-tool authorization determines whether that caller can cross a sensitive capability boundary.

Caller authentication

OAuth 2.1RS256JWKSissueraudience

JWT signature, issuer, audience, timing, key ID, and required scopes are validated.

Tool authorization

conduit:readconduit:adminleast privilege

conduit:read cannot invoke auth0_list_applications or auth0_get_application.

conduit:read
    ├── workspace ✓
    ├── GitHub ✓
    └── Auth0 admin ✗  Required: conduit:admin

conduit:read + conduit:admin
    ├── workspace ✓
    ├── GitHub ✓
    └── Auth0 admin ✓

Remote integration is proven.

A separate Auth0 Machine-to-Machine client has exercised the deployed service through a real MCP session and a real github_repo_info call.

01Auth0 token
02Initialize
03Session
04tools/list
05tools/call
200initialize
202initialized
200tools/list
200real call

Run it locally.

git clone https://github.com/devXyi/conduit-mcp.git
cd conduit-mcp
python3 -m venv .venv
source .venv/bin/activate
pip install -e .
conduit --transport stdio

# HTTP
conduit --transport http --port 8000