dominion-trust-check (Python)
Gate your AI agent's MCP tool calls against Dominion Observatory runtime trust — one call, zero dependencies (stdlib only). Before your agent connects to or invokes an unfamiliar MCP server, check it, and get back a signed diligence receipt proving you did.
Timely after the ClawHavoc (OpenClaw/ClawHub) and Miasma (npm) supply-chain attacks: invoking an unvetted server without a trust check is negligent.
Install
pip install dominion-trust-check
Use
from dominion_trust_check import gate, trust_check, verify, DominionGateError
# Block on FAIL (default), or require a minimum score:
gate("https://some-mcp-server.com/mcp", min_score=60) # raises DominionGateError on FAIL
# Non-throwing check:
res = trust_check("https://some-mcp-server.com/mcp")
print(res["verdict"], res.get("trust_score")) # "PASS" | "UNCERTAIN" | "FAIL" | "UNRATED"
# Gate a ClawHub / OpenClaw skill instead of an MCP server:
gate("calendar", registry="clawhub")
# Independently verify any Dominion-signed receipt (no trust in us required):
v = verify(res["diligence_receipt"]["jws"])
print(v["valid"]) # True
Wrap a gate in a try/except to fail closed:
try:
gate(server_url, min_score=60)
except DominionGateError as e:
log.warning("blocked untrusted server: %s", e.dominion.get("verdict"))
raise
API
gate(server, min_score=None, block=True, registry=None, base=None)— raisesDominionGateErrorif the verdict isFAIL(or belowmin_score); otherwise returns the pre-flight result including a signed diligence receipt.block=Falsenever raises.trust_check(server, registry=None, base=None)— returns the verdict + evidence without raising.verify(jws, base=None)— cryptographically verify a Dominion receipt against the published public key.
Honest by design
Servers with no runtime behavioral data return UNRATED — never a fabricated score. Verdicts reflect independently-measured runtime behavior, not static code scans. Not a security audit or a guarantee.
Metadata
Release files for dominion-trust-check 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| dominion_trust_check-0.1.0.tar.gz | 2.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| dominion_trust_check-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 6.2 kB
Release files / dominion_trust_check-0.1.0.tar.gz
| Download URL | dominion_trust_check-0.1.0.tar.gz |
|---|---|
| Size | 2.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a89da5879dc3cdd2b26f892a437b273e401b6707c42e2bf052f00feb2181657c
|
|
BLAKE2b-256 checksum How to use checksums |
c92c9b70b711e015f0776c90605d6fab1d8b0b3694259cd7659fe74187e80085
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.3
|
Release files / dominion_trust_check-0.1.0-py3-none-any.whl
| Download URL | dominion_trust_check-0.1.0-py3-none-any.whl |
|---|---|
| Size | 3.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d7c13b1d748dc3aff021fb8a7a58fd4c0bb43d56b7449a05c177173c8e4f7ad8
|
|
BLAKE2b-256 checksum How to use checksums |
bbcdfd91bdfc822ac0afa513b21ac66cf1d42e84c0631993140f2219b2ad03e5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.3
|