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 decision — PROCEED / 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
HOLDmeans "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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file mcpindex_preflight-0.1.0-py3-none-any.whl.
File metadata
- Download URL: mcpindex_preflight-0.1.0-py3-none-any.whl
- Upload date:
- Size: 350.4 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5696f27cad2664dcc1e3676f244cf8ce3f619ca96f5ea3850e01682ea918bfdc
|
|
| MD5 |
9c3c50727c64a4a06777f7dafaa866ba
|
|
| BLAKE2b-256 |
3ef1ba3a3b5ff717c9dbf93408aeff1976f246b2ada0db6549d47444575ddd04
|