Skip to main content

Conduit

CI

Conduit is a deterministic, local-first MCP gateway that federates tools from multiple Streamable HTTP servers behind one policy-enforced and auditable endpoint.

It presents one MCP 2026-07-28 endpoint, publishes stable names such as github.search_code, and routes an authorised call only through its stored downstream route. It is deliberately not a general-purpose MCP proxy.

Install

The Python distribution name is conduit-gateway (the import and command remain conduit):

pipx install conduit-gateway
# or: python -m pip install conduit-gateway

For local development from a checkout:

python -m venv .venv
. .venv/bin/activate
python -m pip install -e '.[test]'

The Go v0.1.x releases remain available through their existing release tags and the go-v0.1-maintenance branch; this branch is the Python implementation.

Quick start

conduit --init --config conduit.yaml
# Edit the downstream URL, its owned credentials, and policy rules.
conduit --config conduit.yaml

--init writes the bundled template privately and never overwrites an existing configuration. Checkout users may also copy the root conduit.example.yaml.

Conduit binds loopback addresses only. Once its downstream catalog is ready:

curl http://127.0.0.1:8080/healthz
listener:
  address: 127.0.0.1:8080
  allowed_origins: []
audit:
  path: ./conduit-audit.jsonl
policy:
  allow: ["github.*"]
  deny: []
limits:
  max_pages_per_downstream: 32
  max_tools_per_downstream: 256
  max_downstream_catalog_bytes: 1048576
  max_aggregate_tools: 512
  max_aggregate_response_bytes: 4194304
  max_tool_response_bytes: 4194304
  catalog_refresh_interval: 60s
  request_timeout: 10s
  tool_call_timeout: 30s
downstreams:
  - id: github
    url: http://127.0.0.1:9000/mcp
    headers: {}

Scope and safety model

Conduit supports server/discover, deterministic policy-filtered tools/list, and terminal JSON tools/call over MCP 2026-07-28. Downstreams are Streamable HTTP only. It has no automatic tool-call retries, legacy fallback, stdio, OAuth broker, identity system, database, dashboard, or SSE/progress bridge.

Every public tool has an explicit immutable route. Policy is deny-wins, then allow, then default-deny. A durable tool_call_authorized audit entry is fsynced before downstream side effects. Caller headers, cookies, and credentials are never forwarded; configured downstream headers are isolated per server. Redirects are disabled, response bodies are bounded while streaming, and downstream sessions receive a single invocation-owned cleanup DELETE.

flowchart LR
  C[MCP client] --> I[Conduit ingress]
  I --> R[Immutable registry + policy]
  R --> A[Durable audit]
  A --> D[One-shot dispatcher]
  D --> S[Exact downstream MCP route]

Read the documentation for configuration, operations, protocol compatibility, security, and development.

Development

python -m pytest --cov
ruff check .
mypy src
python -m build

See CONTRIBUTING.md, SECURITY.md, and the Apache-2.0 license.

Metadata

Release files for conduit-gateway 0.2.2

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

Source distribution (sdist)

Source distribution for conduit-gateway 0.2.2
File Size Uploaded Provenance Actions
conduit_gateway-0.2.2.tar.gz 28.5 kB With provenance Details for conduit_gateway-0.2.2.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for conduit-gateway 0.2.2
File Interpreter ABI Platform Actions
conduit_gateway-0.2.2-py3-none-any.whl Python 3 none any Details for conduit_gateway-0.2.2-py3-none-any.whl

Total release size: 61.0 kB

Release files / conduit_gateway-0.2.2.tar.gz

Download URL conduit_gateway-0.2.2.tar.gz
Size 28.5 kB
Tags Source
SHA-256 checksum
How to use checksums
3c33d2c3bca658defe720e4e73d0137c5d1f1e348abed3a1ead8f01acf317307
BLAKE2b-256 checksum
How to use checksums
d5cbb7d03ec5dcfd6620c7401a584b4965df8cd2343331ef64497a74fc84e652
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 2, 2026.

Transparency log

Release files / conduit_gateway-0.2.2-py3-none-any.whl

Download URL conduit_gateway-0.2.2-py3-none-any.whl
Size 32.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1af618372127795bbf06cc4b9b4df0f58ca5c0db4d9eeca444ab67236dcf7fc8
BLAKE2b-256 checksum
How to use checksums
a4a5166f593204c2a68b0d92a25c2b94658b95156b9a08e1e3a06224104d652b
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 2, 2026.

Transparency log

Security for conduit-gateway 0.2.2

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.

Full provenance

Both files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for conduit_gateway-0.2.2.tar.gz

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 2, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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