Audifact
io.audifact/audifactVersion 0.1.1Signed, append-only receipts of an AI agent's decisions and outcomes, with public proof links.
Status
Responds437 msAnswered our handshake without sign-in.- Last checked
- Nov 14, 2026, 14:33 UTC
- Latency
- 437 ms
- Remotes responding
- 1 of 1
- Sign-in
- API key
- Hosting
- Hosted outside the EU (detected)
- Registry data as of
- Nov 14, 2026, 21:12 UTC
Data from the official MCP Registry, checked by run.zero. How we check
Connect
Streamable HTTP
https://api.audifact.io/mcpResponds437 msNo sign-in
Claude Code
claude mcp add --transport http audifact https://api.audifact.io/mcp --header 'X-API-Key: <YOUR_X_API_KEY>'Replace <YOUR_X_API_KEY> before running.
Claude Desktop and claude.ai
Settings > Connectors > Add custom connector
Name: audifact
Remote MCP server URL: https://api.audifact.io/mcp
This server expects the header X-API-Key.Cursor
{
"mcpServers": {
"audifact": {
"url": "https://api.audifact.io/mcp",
"headers": {
"X-API-Key": "<YOUR_X_API_KEY>"
}
}
}
}Replace <YOUR_X_API_KEY> before running.
VS Code
code --add-mcp '{"name":"audifact","type":"http","url":"https://api.audifact.io/mcp","headers":{"X-API-Key":"<YOUR_X_API_KEY>"}}'Replace <YOUR_X_API_KEY> before running.
Built your own server? run.zero hosts MCP servers on European infrastructure.
Tools
6 tools
Read-only | Idempotent | Open world | ||
|---|---|---|---|---|
get_proofFetch the public proof payload for one ledger event by its 64-char hex event_hash. When to use: after log_decision/log_outcome when you need trust labels, chain validity, anchor status, or a paired-event proof URL. When NOT to use: to browse many decisions or outcomes — use list_agent_decisions / list_agent_outcomes first, then call get_proof on a chosen event_hash; do not use this to write events (use log_decision / log_outcome). Requires X-API-Key. Returns proof fields only for events in that key's org; unknown or other-org hashes return EVENT_NOT_FOUND (same message either way). Read-only; does not mutate the ledger. Response includes event_hash, event_type, event_seq, public_* mirrors, hash_valid, agent_chain_valid, trust_level, trust_label, proof_anchor_status_label, and chain metadata. | No | Yes | Yes | No |
list_agent_decisionsList decision events for one agent (by public key) in the API key's org, newest first by default. When to use: to review what an agent already logged, pick an event_hash for get_proof, or page through history before linking an outcome. When NOT to use: to list outcomes (use list_agent_outcomes); to fetch one event's trust/anchor proof (use get_proof); to write a new decision or outcome (use log_decision / log_outcome); this is org-scoped via X-API-Key (not a public explorer listing) and does not accept agent_name — pass the agent's public_key from a prior log_decision response or register_agent. Requires X-API-Key. Read-only. Unknown public keys return an empty decisions list (total 0), not an error. Returns {decisions, total, next_cursor, has_next}. Pass next_cursor as cursor for the next older page. | No | Yes | Yes | No |
list_agent_outcomesList outcome events for one agent (by public key) in the API key's org, newest first by default. When to use: to audit what results an agent recorded, find an outcome event_hash for get_proof, or page outcomes without already knowing hashes. When NOT to use: to list decisions (use list_agent_decisions); to fetch one event's trust/anchor proof (use get_proof); to write a new decision or outcome (use log_decision / log_outcome); this is org-scoped via X-API-Key (not a public explorer listing) and does not accept agent_name — pass the agent's public_key from a prior log_decision / log_outcome response or register_agent. Requires X-API-Key. Read-only. Unknown public keys return an empty outcomes list (total 0), not an error. Returns {outcomes, total, next_cursor, has_next}. Each outcome includes decision_event_hash when linked. Pass next_cursor as cursor for the next older page. | No | Yes | Yes | No |
log_decisionLog a signed decision event to the ledger. Managed Mode (default for MCP): omit signing fields and pass agent_name - Audifact securely manages an Ed25519 keypair and signs on behalf of the agent. Events are immutable once recorded; managed mode provides strong auditability after receipt. For maximum provenance, use client-side signing via the SDK (agent_private_key_b64, or agent_public_key + signature). Linked outcomes must use the same signing method as the decision (managed or client-signed with the same agent key). Organization is always taken from the API key (do not send organization_id). Scenario hash is computed server-side from scenario_name + scenario_definition (+ optional context_schema) via resolve_scenario - you usually do not pass scenario_hash. | Not declared | Not declared | Not declared | Not declared |
log_outcomeLog a signed outcome event linked to a prior decision via decision_event_hash. Managed Mode (default): omit signing fields - the managed key from the linked decision's agent is used automatically when the decision was also managed. For client-signed decisions, pass agent_private_key_b64 or agent_public_key + signature using the same agent key. Signing method must match the linked decision (managed or client-signed). Outcomes do not accept scenario fields - scenario context is inherited from the linked decision. | Not declared | Not declared | Not declared | Not declared |
register_agentRegister or look up an agent identity under the API key's organization. When to use: before client-side signing flows that need a known public_key, or to attach a human-readable name to an existing key. When NOT to use: Managed Mode log_decision (pass agent_name instead — Audifact provisions the key); do not use this to log decisions or outcomes. Idempotent on public_key: repeating the same key returns the existing agent. Requires X-API-Key. Returns the agent record (id, public_key, name). | No | No | Yes | No |
Details
- Registry status
- Active
- Published
- Oct 19, 2026
- Updated
- Oct 19, 2026
- Categories (suggested)
- Invoicing and accountingSuggested categories are assigned automatically from the registry text and may be wrong. Verified operators can correct them.
- GDPR
- Not declared