submit_incidentLABSCO SUMMARY
Deterministic on purpose, because the buyers cannot accept anything else.
The design constraint is stated rather than implied: insurers and regulated entities cannot use a fault attribution that gives different answers to the same prompt on different days, so the scoring deliberately contains no model. What makes that credible is the verification path — a third party can check the signature, the Merkle integrity and the issuer registry with a separate open tool and no network call back to the vendor, which is the opposite of trusting a score because it came with a logo.
What it is
The MCP server for the CausalLayer engine, packaged as a Cloudflare Worker. When an AI causes harm and several parties dispute who pays, it returns a signed certificate of fault allocation computed by a closed-form causal scoring algorithm — graph-theoretic, version-pinned, and byte-identical across runs, so two adversarial parties get the same number.
What you get
submit_incident— submit an AI incident for liability attribution and get back a signedCausalCertificateV1with per-agent fault allocation, evidence-chain completeness and Bitcoin-anchored proofverify_certificate— check a certificate's signature, Merkle integrity and issuer status independently, without calling FaultKey at allget_anchor_status— the index of anchor batches, or one batch's full JSON with its signed Merkle root and OpenTimestamps proof referencequery_issuer_registry— the trusted issuer public-key fingerprints, their status and validity windows- Verification that does not depend on the vendor: the certificate, issuer registry and Merkle anchor log can all be checked by a third party using Node's built-in crypto and the separate
causallayer-verifiertool - Three guardrails enforced at the edge: payloads are scanned for personal identifiers and rejected unless
pii_acknowledgedis set; every request must carrydeterministic_only: trueas the caller's acknowledgement that the output is closed-form rather than probabilistic; and at least one identified agent plus one timestamped, described event must be supplied or the request is refused
Requirements
No account to try it: the public Worker at https://mcp.faultkey.com/mcp runs in standalone demo mode with deterministic, watermarked responses. Point a client at npx -y causallayer-mcp, or call the endpoint over HTTP directly — the response carries an Mcp-Session-Id header to reuse on later calls. Transport is Streamable HTTP. Demo limits are per IP per day and differ by tool: 5 incidents, 50 verifications, unlimited anchor and registry lookups. Paid use is credit-metered, with verification at 1 credit and anchor and registry lookups free. Self-hosting to your own Cloudflare account is documented, and setting a standalone-demo flag short-circuits the upstream engine for demos without it. Apache 2.0 licensed.
Setup effort
One command — npx -y causallayer-mcp
USE CASES
Settling who pays after an AI incident
Submit the agents and the timestamped event chain and get a per-agent fault allocation that both sides can recompute identically.
Checking a certificate someone else produced
Verify the signature, Merkle integrity and issuer status independently, without contacting the issuer.
Proving when a certificate existed
Read the anchor batch containing it, with its signed Merkle root and OpenTimestamps reference.
Keeping personal data out of a liability filing
Payloads are scanned for identifiers and rejected unless you explicitly acknowledge them, and that acknowledgement is recorded in the certificate.
4 tools
Listed in project docs. Your client may show a different list.
verify_certificateget_anchor_statusquery_issuer_registryBEFORE YOU INSTALL
What to know first
Tools you get
4 tools named in the project's documentation.
Requires
npx on PATH
INSTALLATION
Connect your client
Server setup
npx
npx -y causallayer-mcpHosted endpoint
https://mcp.faultkey.com/mcpAdd this hosted endpoint to your MCP client.
MCP Clients
Claude Desktop, Cline, Windsurf
{
"mcpServers": {
"faultkey": {
"command": "npx",
"args": [
"-y",
"causallayer-mcp"
]
}
}
}Other routes
Direct HTTP (curl)
curl -X POST https://causallayer-mcp-demo.zykm9qkk7j.workers.dev/mcp \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{"jsonrpc":"2.0","id":0,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"test","version":"0"}}}'