Skip to content

Audifact

by audifact.io · remote · no sign-in to list tools · v0.1.1 · published by io.audifact

Signed, append-only receipts of an AI agent's decisions and outcomes, with public proof links.

Changes · 1

6 tools: 1 change things and 5 only read.

Scanned Oct 21, 2026

No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http audifact https://api.audifact.io/mcp --header 'X-API-Key: <your-x-api-key>'

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

6 tools

Changes things 1Claude Code: ask
  • register_agentRegister or look up an agent identity under the API key's organization.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Register 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).

    Annotations the server declares

    • title: Register agent
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
Only reads 5Claude Code: allow
  • get_proofFetch the public proof payload for one ledger event by its 64-char hex event_hash.No findings

    Why it is in this group

    • The name "get_proof" says "get": a word for reading.
    Description, as the server wrote it
    Fetch 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.

    Annotations the server declares

    • title: Get proof
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • list_agent_decisionsList decision events for one agent (by public key) in the API key's org, newest first by default.No findings

    Why it is in this group

    • The name "list_agent_decisions" says "list": a word for reading.
    Description, as the server wrote it
    List 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.

    Annotations the server declares

    • title: List agent decisions
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • list_agent_outcomesList outcome events for one agent (by public key) in the API key's org, newest first by default.No findings

    Why it is in this group

    • The name "list_agent_outcomes" says "list": a word for reading.
    Description, as the server wrote it
    List 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.

    Annotations the server declares

    • title: List agent outcomes
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • log_decisionLog a signed decision event to the ledger.No findings

    Why it is in this group

    • The name "log_decision" says "log": a word for reading.
    Description, as the server wrote it
    Log 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.
  • log_outcomeLog a signed outcome event linked to a prior decision via decision_event_hash.No findings

    Why it is in this group

    • The name "log_outcome" says "log": a word for reading.
    Description, as the server wrote it
    Log 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.

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 0.1.1. Values in angle brackets are yours to fill in.

claude mcp add --transport http audifact https://api.audifact.io/mcp --header 'X-API-Key: <your-x-api-key>'

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__audifact__log_decision",
      "mcp__audifact__log_outcome",
      "mcp__audifact__get_proof",
      "mcp__audifact__list_agent_decisions",
      "mcp__audifact__list_agent_outcomes"
    ],
    "ask": [
      "mcp__audifact__register_agent"
    ],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as audifact. Review it before you use it.