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). After the v0.2.0 release is published:

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

Until publication, install a checkout for local development:

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

cp conduit.example.yaml conduit.yaml
# Edit the downstream URL, its owned credentials, and policy rules.
conduit --config conduit.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.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

conduit_gateway-0.2.0.tar.gz (26.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

conduit_gateway-0.2.0-py3-none-any.whl (30.5 kB view details)

Uploaded Python 3

File details

Details for the file conduit_gateway-0.2.0.tar.gz.

File metadata

  • Download URL: conduit_gateway-0.2.0.tar.gz
  • Upload date:
  • Size: 26.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for conduit_gateway-0.2.0.tar.gz
Algorithm Hash digest
SHA256 96369f937e0378b1b34adc6633ffa5a88a4a594d9284f20ca2e397078a077b90
MD5 f51e64a0ba31eaf56b660cef79c318a3
BLAKE2b-256 650a8257af9904cc33f0a2b37be9792eeff8184e8c21d55c96f5a3af07c33325

See more details on using hashes here.

Provenance

The following attestation bundles were made for conduit_gateway-0.2.0.tar.gz:

Publisher: release.yml on Rakshita-0023/conduit

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file conduit_gateway-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: conduit_gateway-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 30.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for conduit_gateway-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0bb0a3d0a95ba91e2e5c67806eadc174b90978a6a249bf7ce2fe17be8569f776
MD5 02c2803582e7135c4eb0ac5c69514d21
BLAKE2b-256 c81b57fae3f55e304b7be480435248152e71add0ff3a22a545944e1dff5dc386

See more details on using hashes here.

Provenance

The following attestation bundles were made for conduit_gateway-0.2.0-py3-none-any.whl:

Publisher: release.yml on Rakshita-0023/conduit

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

0.2.1

2 files

This release

0.2.0 This release

2 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