Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

Audifact

REMOTE · API.AUDIFACT.IO

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

Available components

+3 this week 79 Trust /100

Last scanned (18 hours ago)

Scores higher than 79% of remote servers

Reachable. Last reached 4 Nov 2026.

Category Memory and Knowledge

Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →

Endpoint Security83
Transport & Reachability100
Schema Quality & AI Usability58
  • AI-judged instruction clarity (good).Pass
  • Context-footprint check failed: tool/resource definitions use about 1905 tokens (~317/item across 6 items; 6 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management60
  • Stability observed for 18 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage93
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 79% of tool parameters carry a description.Partial
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • We read all 6 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
  • An AI judge read all 7 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 2 Nov 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 50 to 53. That category is still filling its 30-day observation window: 15 days of observed history at the previous scan, 16 at this one. The score rises as the window fills, whether or not the server changes.

  • 31 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 43 to 47. That category is still filling its 30-day observation window: 13 days of observed history at the previous scan, 14 at this one. The score rises as the window fills, whether or not the server changes.

  • 29 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 37 to 40. That category is still filling its 30-day observation window: 11 days of observed history at the previous scan, 12 at this one. The score rises as the window fills, whether or not the server changes.

  • 27 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 30 to 33. That category is still filling its 30-day observation window: 9 days of observed history at the previous scan, 10 at this one. The score rises as the window fills, whether or not the server changes.

  • 25 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 23 to 27. That category is still filling its 30-day observation window: 7 days of observed history at the previous scan, 8 at this one. The score rises as the window fills, whether or not the server changes.

  • 23 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 17 to 20. That category is still filling its 30-day observation window: 5 days of observed history at the previous scan, 6 at this one. The score rises as the window fills, whether or not the server changes.

  • 21 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 10 to 13. That category is still filling its 30-day observation window: 3 days of observed history at the previous scan, 4 at this one. The score rises as the window fills, whether or not the server changes.

  • 19 Oct 26 +1
    • Tool “get_proof” rewrote its description, which is the text the model reads security
    • Tool “list_agent_decisions” rewrote its description, which is the text the model reads security
    • Schema quality: 1573 → 1905 ▼ functional
    • New tool “list_agent_outcomes” functional
    • “get_proof” reworded the description of “event_hash” cosmetic
Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 4 Nov 2026 · Probed https://api.audifact.io/mcp

TLS valid

Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=audifact.io CN=YE1,O=Let's Encrypt,C=US 9 Oct 2026 7 Jan 2027 ECDSA 256 ECDSA-SHA384 6352ee464cb42e72cc970699843119817eb
SANs: api.audifact.io, audifact.io, www.audifact.io
CN=YE1,O=Let's Encrypt,C=US (CA) CN=Root YE,O=ISRG,C=US 3 Sept 2025 2 Sept 2028 ECDSA 384 ECDSA-SHA384 5ddd70dd31f801c85c186a7a04b80afe
CN=Root YE,O=ISRG,C=US (CA) CN=ISRG Root X2,O=Internet Security Research Group,C=US 13 May 2026 2 Sept 2032 ECDSA 384 ECDSA-SHA384 872165fc34b6e5fba8add5b3705fb53a
CN=ISRG Root X2,O=Internet Security Research Group,C=US (CA) CN=ISRG Root X1,O=Internet Security Research Group,C=US 13 May 2026 2 Sept 2032 ECDSA 384 SHA256-RSA 6c8f1dc727c7117f7baf853ac980f9cd

Background: What to check on a remote MCP endpoint →

DNSSEC insecure

Validation of api.audifact.io. — Not signed

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
io. present 38690 8 Verified
audifact.io. absent Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation
Authentication Challenged, unverified

The endpoint asked for a token, but we could not retrieve and validate the RFC 9728 metadata that tells a client how to obtain one.

Result Challenged, unverified
Enforced On tool calls
HTTP status 200

WWW-Authenticate challenge ApiKey header="X-API-Key", error="invalid_request", error_description="Audifact API key required for tools/call. Create one at https://audifact.io Dashboard -> API Keys."

ApiKey header="X-API-Key", error="invalid_request", error_description="Audifact API key required for tools/call. Create one at https://audifact.io Dashboard -> API Keys."

Protected resource metadata

Retrieved No
Problem no_resource_metadata

Background: How OAuth 2.1 works in the 2026 MCP spec →

Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://api.audifact.io/mcp Verified 200
http (plaintext) http://api.audifact.io/mcp HTTPS enforced 301 https://api.audifact.io/mcp
MCP tools · 6 exposed · ~1,856 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
get_proof ~223

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.

NameTypeReqDescription
event_hashstringyes64-character lowercase hex event hash from log_decision / log_outcome (or from list_agent_decisions / list_agent_outcomes).

No output schema declared.

No examples provided.

list_agent_decisions ~297

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.

NameTypeReqDescription
agent_public_keystringyesBase64 Ed25519 public key of the agent whose decisions to list. Must belong to an agent already registered in this API key's org.
cursorinteger–Optional event_seq cursor from a prior next_cursor. When set, returns decisions with event_seq older than this value.
limitinteger–Page size (default 12, hard max 12). Results are ordered by event_seq descending (newest first).

No output schema declared.

No examples provided.

list_agent_outcomes ~310

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.

NameTypeReqDescription
agent_public_keystringyesBase64 Ed25519 public key of the agent whose outcomes to list. Must belong to an agent already registered in this API key's org.
cursorinteger–Optional event_seq cursor from a prior next_cursor. When set, returns outcomes with event_seq older than this value.
limitinteger–Page size (default 12, hard max 12). Results are ordered by event_seq descending (newest first).

No output schema declared.

No examples provided.

log_decision ~525

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.

NameTypeReqDescription
agent_namestring–Managed Mode: agent identity within your org (default: default-agent). Audifact provisions and uses a managed signing key automatically.
agent_private_key_b64string–Client-side signing: base64 Ed25519 private key. Overrides managed mode when provided.
agent_public_keystring–Client-side signing: base64 public key (required with signature).
context_jsonobject––
context_schemaobject–Optional JSON schema used to validate context_json.
context_schema_jsonobject–Backward-compatible alias for context_schema.
decision_labelstring––
decision_typestring––
decision_valuestring––
metadata_jsonobject––
public_context_jsonobject–Optional public structured context (shown on proof pages). Stored gzip-compressed; event hash includes content hash only.
public_decision_labelstring–Optional public decision summary (shown on proof pages).
public_decision_typestring–Optional public mirror of decision_type (shown on proof pages).
public_decision_valuestring–Optional public mirror of decision_value (shown on proof pages).
scenario_definitionobject–Scenario definition object. Required when scenario_name is provided.
scenario_definition_jsonobject–Backward-compatible alias for scenario_definition.
scenario_hashstring–Advanced optional: 64-char hex scenario hash when already known. Usually omit - server computes from scenario_name + scenario_definition.
scenario_namestring–Scenario identifier. Server resolves scenario_hash from scenario_name + scenario_definition (+ optional context_schema).
signaturestring–Client-side signing: base64 signature over the canonical JSON body.
tsstring–ISO-8601 timestamp

No output schema declared.

No examples provided.

log_outcome ~326

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.

NameTypeReqDescription
agent_namestring–Ignored for outcomes - managed signing uses the linked decision's agent.
agent_private_key_b64string–Client-side signing override.
agent_public_keystring––
decision_event_hashstringyes64-char hex hash of the linked decision event.
metadata_jsonobject––
outcome_labelstring–Private human-readable outcome label (account only).
outcome_typestringyesPrivate semantic type, e.g. pnl
outcome_valuenumberyesPrivate numeric result
public_outcome_labelstring–Optional public outcome summary (shown on proof pages).
public_outcome_typestring–Optional public mirror of outcome_type (shown on proof pages).
public_outcome_valuenumber–Optional public mirror of outcome_value (shown on proof pages).
public_output_jsonobject–Optional public structured output (shown on proof pages). Stored gzip-compressed; event hash includes content hash only.
signaturestring––
tsstring––

No output schema declared.

No examples provided.

register_agent ~175

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).

NameTypeReqDescription
namestring–Optional human-readable agent name. On lookup of an existing key, may update the stored name when provided.
public_keystringyesBase64 Ed25519 public key. Idempotency key — same value always resolves to the same agent in this org.

No output schema declared.

No examples provided.

Install

How do I install the Audifact MCP server?

Audifact is a hosted endpoint at https://api.audifact.io/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

remote · api.audifact.io

# add to Claude Code
claude mcp add --transport http io-audifact-audifact 'https://api.audifact.io/mcp'
Common questions

What is the Audifact MCP server?

Audifact is an MCP server listed in the public MCP registry as io.audifact/audifact. Signed, append-only receipts of an AI agent's decisions and outcomes, with public proof links. This page covers its hosted endpoint (https://api.audifact.io/mcp).

Is the Audifact MCP server safe to use?

Audifact scores 79 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the Audifact MCP server expose?

Audifact exposes 6 tools: log_decision, log_outcome, get_proof, register_agent, list_agent_decisions, list_agent_outcomes. Their descriptions and schemas cost roughly 1,856 tokens of context every time the server is loaded.

Does the Audifact MCP server require authentication?

Yes. Audifact asked us for credentials when we connected, so you will need to authorise it in your MCP client before it can do anything.

Is the Audifact MCP server still maintained?

Audifact is still listed as active in the MCP registry. We last reached this channel on 4 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.