Skip to main content

mcpindex pre-flight drift gate — the in-path, zero-egress trust-to-act client for MCP tool calls (open core).

Project description

mcpindex-preflight

The in-path drift gate for agent tool calls — the open-core client of mcpindex.ai. It runs on your host with zero egress and checks every MCP tool definition against your own pinned baseline before a call goes out.

What it does

mcpindex-preflight produces a drift decisionPROCEED / HOLD / INCONCLUSIVE — by diffing the live tool contract against the contract you pinned. If a server silently changes a tool's schema, description, or surface, the gate can HOLD the call and surface why.

from mcpindex_preflight import wrap, PreflightPin, PreflightHold

session = wrap(your_mcp_client_session, pin=PreflightPin(path="~/.mcpindex/pin.json"))

try:
    result = await session.call_tool("transfer_funds", {...})
except PreflightHold as hold:
    # The tool contract drifted from your pin — inspect `hold` and decide.
    print(hold)

wrap() accepts any duck-typed client session; this package does not depend on the mcp SDK.

What it is — and is not

  • It is a contract diff, not a safety oracle. It detects that a tool changed; it does not judge whether the change is malicious.
  • A HOLD means "this drifted from your pin — look before you act." It is advisory. It does not block attacks, guarantee safety, or make a server tamper-proof.
  • It mints no clearance verdict. The offline client can detect drift and HOLD; it can never publish a "SAFE" verdict.

Install

uv tool install mcpindex-preflight

One-click host wiring + a resident auto-onboard watcher are available via the installer at https://mcpindex.ai/install.sh.

License

MIT.

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

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

mcpindex_preflight-0.2.0-py3-none-any.whl (359.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: mcpindex_preflight-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 359.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.6 {"installer":{"name":"uv","version":"0.11.6","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for mcpindex_preflight-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4409532ca305c0f65cc49e6c81053a2270e89b1263fe573b8fea8f7d5e73dcaf
MD5 3c2ac17855fa1a00485238b249b83570
BLAKE2b-256 d65b2f91783c3743850bee5a8b4b255788a7608fb2435a11382b5d9f28fad537

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page