Prototyp · Vorschau: alle Server aus der offiziellen Registry, alle 30 Minuten synchronisiert. Mit Google anmelden, um Bewertungen zu schreiben.Prototyp · alle 30 Min. aktualisiert
PopNx MCPMCP-Server für alle, die KI nutzen · in einfachen Worten erklärt

Audit Ledger MCP

von shahidh68Version 0.3.1i★ 1iLäuft auf deinem Computer
Name in der Registryio.github.shahidh68/audit-ledger-mcp

So installierst du es

What it does

Record AI decisions to a tamper-evident audit ledger from any MCP-compatible agent.

  • Connects Läuft auf deinem Computer
  • Account or key Needs AUDIT_WRITE_KEY, AUDIT_READ_KEY, AUDIT_HMAC_KEY
  • Category Buchhaltung, Finanzen & Steuern

Installation

Wähle die KI-App, die du nutzt, und kopiere die Einstellungen.

3/3 Prüfungen bestanden · Läuft auf deinem Computer · ✓ Befehle geprüft am 14. Nov. 2026

Zuerst: Welche KI nutzt du?

Wähle deine App, dann erscheinen die Schritte unten.

Klappt mit Claude, aber erst etwas vorbereiten

Du brauchst einen Schlüssel von Audit Ledger MCP (auf der Seite des Anbieters erstellen) · Installiere zuerst Node.js auf deinem Computer (nur einmal) · Nur in der Claude-App für den Computer (Windows oder Mac), nicht im Web oder auf dem Handy

  1. Node.js installieren

    Nur einmal; gilt für alle Server, die Node.js brauchen

    Download-Seite von Node.js öffnen ↗

  2. Bei Audit Ledger MCP registrieren und Schlüssel erstellen

    Öffne die Seite des Anbieters, registriere dich und erstelle einen API-Schlüssel für den nächsten Schritt. Preise und Gratis-Tarife siehst du auf seiner Seite.

    Wie du einen Schlüssel bekommst, steht unten im README des Anbieters

  3. Einstellungsdatei der Claude-Desktop-App öffnen

    SettingsDeveloperEdit Config

  4. Diese Einstellungen einfügen und speichern

    {
      "mcpServers": {
        "audit-ledger": {
          "command": "npx",
          "args": [
            "-y",
            "audit-ledger-mcp"
          ],
          "env": {
            "AUDIT_WRITE_KEY": "your-value",
            "AUDIT_READ_KEY": "your-value",
            "AUDIT_HMAC_KEY": "your-value"
          }
        }
      }
    }

    Füge den Schlüssel nur in das Feld der App ein, nie in einen Chat und schick ihn niemandem

  5. Claude beenden und neu öffnen

  6. Ausprobieren

    Nutze Audit Ledger MCP und sag mir, was du für mich tun kannst; zeig mir dann eine Sache

    ✓ Wenn Claude sagt, dass es Audit Ledger MCP nutzt, oder ein Werkzeug von Audit Ledger MCP in der Antwort zeigt, bist du verbunden

3 optionale Einstellung(en) (geht auch ohne)

Der Befehl oben funktioniert auch ohne diese Werte. Füge sie nur hinzu, wenn du etwas ändern willst, nach der Beschreibung des Autors.

  • AUDIT_API_URL Your deployed audit-ledger API endpoint (e.g. https:// .execute-api. .amazonaws.com/prod). Leave unset to run in sandbox mode against the public shared tenant.
  • AUDIT_TIMEOUT_MS HTTP timeout in milliseconds. Defaults to 5000.
  • AUDIT_RETRY_ATTEMPTS Number of retry attempts on transient failures. Defaults to 3.

Die Beschreibungen sind noch im englischen Original.

Menünamen am 11. Nov. 2026 mit der Hilfe von Anthropic abgeglichen · dein Bildschirm kann je nach App-Version leicht abweichen

ChatGPT kann Audit Ledger MCP noch nicht verbinden

Audit Ledger MCP läuft auf deinem Computer, aber ChatGPT verbindet nur Server, die im Web laufen

Das kannst du stattdessen tun

A · Eine App nutzen, die Audit Ledger MCP verbinden kann

  • Du brauchst einen Schlüssel von Audit Ledger MCP (auf der Seite des Anbieters erstellen) · Installiere zuerst Node.js auf deinem Computer (nur einmal) · Nur in der Claude-App für den Computer (Windows oder Mac), nicht im Web oder auf dem Handy
  • Du brauchst einen Schlüssel von Audit Ledger MCP (auf der Seite des Anbieters erstellen) · Installiere zuerst Node.js auf deinem Computer (nur einmal)
  • Du brauchst einen Schlüssel von Audit Ledger MCP (auf der Seite des Anbieters erstellen) · Installiere zuerst Node.js auf deinem Computer (nur einmal)
  • Du brauchst einen Schlüssel von Audit Ledger MCP (auf der Seite des Anbieters erstellen) · Installiere zuerst Node.js auf deinem Computer (nur einmal)

B · Andere in Buchhaltung, Finanzen & Steuern, die mit ChatGPT funktionieren

Aus den meistgenutzten derselben Kategorie, nur solche, die per Adresse ohne Schlüssel verbinden

Klappt mit Claude Code, aber erst etwas vorbereiten

Du brauchst einen Schlüssel von Audit Ledger MCP (auf der Seite des Anbieters erstellen) · Installiere zuerst Node.js auf deinem Computer (nur einmal)

  1. Node.js installieren

    Nur einmal; gilt für alle Server, die Node.js brauchen

    Download-Seite von Node.js öffnen ↗

  2. Bei Audit Ledger MCP registrieren und Schlüssel erstellen

    Öffne die Seite des Anbieters, registriere dich und erstelle einen API-Schlüssel für den nächsten Schritt. Preise und Gratis-Tarife siehst du auf seiner Seite.

    Wie du einen Schlüssel bekommst, steht unten im README des Anbieters

  3. Terminal öffnen

    Mac: Command+Leertaste drücken und Terminal tippen · Windows: PowerShell öffnen

  4. Diesen Befehl einfügen und Enter drücken

    claude mcp add --scope user audit-ledger --env AUDIT_WRITE_KEY=your-value --env AUDIT_READ_KEY=your-value --env AUDIT_HMAC_KEY=your-value -- npx -y audit-ledger-mcp

    Ersetze „your-value“ vor dem Enter durch deinen Schlüssel

    Füge den Schlüssel nur in das Feld der App ein, nie in einen Chat und schick ihn niemandem

  5. /mcp in Claude Code eingeben

    Audit Ledger MCP sollte in der Liste als verbunden erscheinen

  6. Ausprobieren

    Nutze Audit Ledger MCP und sag mir, was du für mich tun kannst; zeig mir dann eine Sache

    ✓ Wenn Claude Code sagt, dass es Audit Ledger MCP nutzt, oder ein Werkzeug von Audit Ledger MCP in der Antwort zeigt, bist du verbunden

3 optionale Einstellung(en) (geht auch ohne)

Der Befehl oben funktioniert auch ohne diese Werte. Füge sie nur hinzu, wenn du etwas ändern willst, nach der Beschreibung des Autors.

  • AUDIT_API_URL Your deployed audit-ledger API endpoint (e.g. https:// .execute-api. .amazonaws.com/prod). Leave unset to run in sandbox mode against the public shared tenant.
  • AUDIT_TIMEOUT_MS HTTP timeout in milliseconds. Defaults to 5000.
  • AUDIT_RETRY_ATTEMPTS Number of retry attempts on transient failures. Defaults to 3.

Die Beschreibungen sind noch im englischen Original.

Menünamen am 11. Nov. 2026 mit der Hilfe von Anthropic abgeglichen · dein Bildschirm kann je nach App-Version leicht abweichen

Klappt mit Cursor, aber erst etwas vorbereiten

Du brauchst einen Schlüssel von Audit Ledger MCP (auf der Seite des Anbieters erstellen) · Installiere zuerst Node.js auf deinem Computer (nur einmal)

  1. Node.js installieren

    Nur einmal; gilt für alle Server, die Node.js brauchen

    Download-Seite von Node.js öffnen ↗

  2. Bei Audit Ledger MCP registrieren und Schlüssel erstellen

    Öffne die Seite des Anbieters, registriere dich und erstelle einen API-Schlüssel für den nächsten Schritt. Preise und Gratis-Tarife siehst du auf seiner Seite.

    Wie du einen Schlüssel bekommst, steht unten im README des Anbieters

  3. Mit diesem Button Cursor öffnen

    In Cursor öffnen

    Cursor fragt nach einer Bestätigung; klicke Install

  4. Schlüssel eintragen

    In den Einstellungen von Audit Ledger MCP ist AUDIT_WRITE_KEY, AUDIT_READ_KEY, AUDIT_HMAC_KEY leer; trag deinen Schlüssel ein und speichere

    Füge den Schlüssel nur in das Feld der App ein, nie in einen Chat und schick ihn niemandem

  5. KI-Chat in Cursor im Agent-Modus öffnen

  6. Ausprobieren

    Nutze Audit Ledger MCP und sag mir, was du für mich tun kannst; zeig mir dann eine Sache

    ✓ Wenn Cursor sagt, dass es Audit Ledger MCP nutzt, oder ein Werkzeug von Audit Ledger MCP in der Antwort zeigt, bist du verbunden

3 optionale Einstellung(en) (geht auch ohne)

Der Befehl oben funktioniert auch ohne diese Werte. Füge sie nur hinzu, wenn du etwas ändern willst, nach der Beschreibung des Autors.

  • AUDIT_API_URL Your deployed audit-ledger API endpoint (e.g. https:// .execute-api. .amazonaws.com/prod). Leave unset to run in sandbox mode against the public shared tenant.
  • AUDIT_TIMEOUT_MS HTTP timeout in milliseconds. Defaults to 5000.
  • AUDIT_RETRY_ATTEMPTS Number of retry attempts on transient failures. Defaults to 3.

Die Beschreibungen sind noch im englischen Original.

Menünamen am 11. Nov. 2026 mit der Hilfe von Cursor abgeglichen · dein Bildschirm kann je nach App-Version leicht abweichen

Klappt mit VS Code, aber erst etwas vorbereiten

Du brauchst einen Schlüssel von Audit Ledger MCP (auf der Seite des Anbieters erstellen) · Installiere zuerst Node.js auf deinem Computer (nur einmal)

  1. Node.js installieren

    Nur einmal; gilt für alle Server, die Node.js brauchen

    Download-Seite von Node.js öffnen ↗

  2. Bei Audit Ledger MCP registrieren und Schlüssel erstellen

    Öffne die Seite des Anbieters, registriere dich und erstelle einen API-Schlüssel für den nächsten Schritt. Preise und Gratis-Tarife siehst du auf seiner Seite.

    Wie du einen Schlüssel bekommst, steht unten im README des Anbieters

  3. Mit diesem Button VS Code öffnen

    In VS Code öffnen

    VS Code fragt nach einer Bestätigung; klicke Install

  4. Schlüssel eintragen

    In den Einstellungen von Audit Ledger MCP ist AUDIT_WRITE_KEY, AUDIT_READ_KEY, AUDIT_HMAC_KEY leer; trag deinen Schlüssel ein und speichere

    Füge den Schlüssel nur in das Feld der App ein, nie in einen Chat und schick ihn niemandem

  5. KI-Chat in VS Code im Agent-Modus öffnen

  6. Ausprobieren

    Nutze Audit Ledger MCP und sag mir, was du für mich tun kannst; zeig mir dann eine Sache

    ✓ Wenn VS Code sagt, dass es Audit Ledger MCP nutzt, oder ein Werkzeug von Audit Ledger MCP in der Antwort zeigt, bist du verbunden

3 optionale Einstellung(en) (geht auch ohne)

Der Befehl oben funktioniert auch ohne diese Werte. Füge sie nur hinzu, wenn du etwas ändern willst, nach der Beschreibung des Autors.

  • AUDIT_API_URL Your deployed audit-ledger API endpoint (e.g. https:// .execute-api. .amazonaws.com/prod). Leave unset to run in sandbox mode against the public shared tenant.
  • AUDIT_TIMEOUT_MS HTTP timeout in milliseconds. Defaults to 5000.
  • AUDIT_RETRY_ATTEMPTS Number of retry attempts on transient failures. Defaults to 3.

Die Beschreibungen sind noch im englischen Original.

Menünamen am 11. Nov. 2026 mit der Hilfe von VS Code abgeglichen · dein Bildschirm kann je nach App-Version leicht abweichen

Andere Apps mit MCP, etwa Windsurf, Zed oder Gemini CLI, fügen Server unterschiedlich hinzu. Sieh in der App-Liste nach

Alle Apps mit MCP ansehen →

JSON-Einstellungen stehen unten unter „Für Entwickler“

Hängst du fest? Frag Leute, die Audit Ledger MCP nutzen💬 Diskussion →
Für Entwickler: Terminal-Befehle und JSON-Einstellungen

Auf deinem Computer installiert

Claude Code

claude mcp add --scope user audit-ledger --env AUDIT_WRITE_KEY=your-value --env AUDIT_READ_KEY=your-value --env AUDIT_HMAC_KEY=your-value -- npx -y audit-ledger-mcp

Claude Desktop (claude_desktop_config.json)

{
  "mcpServers": {
    "audit-ledger": {
      "command": "npx",
      "args": [
        "-y",
        "audit-ledger-mcp"
      ],
      "env": {
        "AUDIT_WRITE_KEY": "your-value",
        "AUDIT_READ_KEY": "your-value",
        "AUDIT_HMAC_KEY": "your-value"
      }
    }
  }
}

Cursor (~/.cursor/mcp.json)

{
  "mcpServers": {
    "audit-ledger": {
      "command": "npx",
      "args": [
        "-y",
        "audit-ledger-mcp"
      ],
      "env": {
        "AUDIT_WRITE_KEY": "your-value",
        "AUDIT_READ_KEY": "your-value",
        "AUDIT_HMAC_KEY": "your-value"
      }
    }
  }
}

VS Code (mcp.json)

{
  "servers": {
    "audit-ledger": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "audit-ledger-mcp"
      ],
      "env": {
        "AUDIT_WRITE_KEY": "your-value",
        "AUDIT_READ_KEY": "your-value",
        "AUDIT_HMAC_KEY": "your-value"
      }
    }
  }
}

Werte, die du selbst einträgst

  • AUDIT_API_URL env
    Your deployed audit-ledger API endpoint (e.g. https:// .execute-api. .amazonaws.com/prod). Leave unset to run in sandbox mode against the public shared tenant.
  • AUDIT_WRITE_KEY geheim erforderlich env
    Tenant write key for your deployed ledger. Required if AUDIT_API_URL is set and you want to call record_decision.
  • AUDIT_READ_KEY geheim erforderlich env
    Tenant read key for your deployed ledger. Required if AUDIT_API_URL is set and you want to call verify_decision or list_decisions.
  • AUDIT_TIMEOUT_MS env
    HTTP timeout in milliseconds. Defaults to 5000.
  • AUDIT_RETRY_ATTEMPTS env
    Number of retry attempts on transient failures. Defaults to 3.
  • AUDIT_HMAC_KEY geheim erforderlich env
    Tenant secret used to HMAC-SHA256 PII and prompts locally before sending. Generate once per tenant (e.g. node -e "console.log(require('crypto').randomBytes(32).toString('hex'))") and keep it in your…

Die Beschreibungen sind noch im englischen Original.

Diese Einstellungen werden aus dem Registry-Eintrag des Entwicklers erzeugt. Wenn in der README etwas anderes steht, folge der README.

Auf einen Blick

Downloads pro Wochei
64/Wo.
Lizenzi
Apache-2.0
Verbindung
Läuft auf deinem Computer
Neueste Versioni
0.3.1
In der Registry veröffentlichti
6. Juni 2026
Code zuletzt geänderti
7. Juli 2026
Entwickler
shahidh68
Pakete
npm: audit-ledger-mcp
Registry-Status
Aktiv

Welche Apps ihn nutzen können

Basierend darauf, wie sich dieser Server verbindet, und auf der eigenen Doku jeder App, geprüft am 10. Nov. 2026.

Laufen auf deinem Computer in

ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast

Alle Apps, mit Vor- und Nachteilen →

Was er kann

Läuft auf deinem Computer; die Tool-Liste erscheint nach der Installation in deiner KI-App.

Basischecksi

Wir prüfen Informationen, die jeder sehen kann; den Code haben wir nicht gelesen. Checks, die nicht zutreffen, werden nicht mitgezählt. · Geprüft am 14. Nov. 2026

  • ✓ Bestanden

    Entwickler passt zum Repo

    Der Registry-Name wurde mit dem GitHub-Konto shahidh68 bestätigt, dem das Repo gehört

  • ✓ Bestanden

    Wird noch gepflegt

    Code zuletzt geändert: vor 4 Monaten

  • ✓ Bestanden

    Hat eine Lizenz

    Nutzt Apache-2.0

  • – Nicht zutreffend

    Endpunkt antwortet

    Dieser Server läuft auf deinem Computer; es gibt keinen Endpunkt im Internet

  • – Nicht zutreffend

    Anmeldung mit OAuth

    Läuft auf deinem Computer und nutzt stattdessen lokale Einstellungen

  • … Noch nicht geprüft

    Keine versteckten Anweisungen in Tool-Beschreibungen

    Läuft auf deinem Computer; Tool-Listen können wir nur von Endpunkten im Internet lesen

Diskussion

Fragen, Tipps teilen oder melden, dass etwas nicht geht. Sortiert nach „hilfreich“.

Noch keine Beiträge. Stell die erste Frage oder teile einen Tipp.

Beiträge hier stammen von Nutzern, nicht vom PopNx-Team.

Mit Google anmelden, um zu posten

Nutzerbewertungen

Noch keine Bewertungen

Mit Google anmelden, um zu bewerten

Im Vergleich mit anderen in Buchhaltung, Finanzen & Steuerni

  • Mehr Sterne als 87 % der anderen 3239 Server in dieser Kategorie
  • Neuer in der Registry veröffentlicht als 8 % der anderen 3239 Server in dieser Kategorie
  • Basischecks gleich gut wie oder besser als bei 100 % der anderen 3239 Server in dieser Kategorie

Verglichen mit allen aktiven Servern dieser Kategorie in der Registry. Sterne zählen nur, wenn dem Herausgeber das Repo gehört.

Häufige Fragen

Ist Audit Ledger MCP sicher?

Er hat 3 von 3 zutreffenden Basischecks bestanden. Den Code haben wir nicht gelesen. Bevor du einen Schlüssel oder Token hinzufügst, sieh nach, welche Zugriffe der Server verlangt, und nutze einen Schlüssel, der nur die Berechtigungen hat, die du brauchst.

Welche Schlüssel oder Codes braucht er?

Das musst du eintragen: AUDIT_WRITE_KEY, AUDIT_READ_KEY, AUDIT_HMAC_KEY

Läuft er auf meinem Computer oder in der Cloud?

Er läuft auf deinem Computer. Deine KI-App startet ihn bei Bedarf, und die Daten laufen nicht über die Server des Entwicklers (außer der Server ruft selbst einen Onlinedienst auf).

Wird er noch gepflegt?

Das GitHub-Repo wurde zuletzt vor 4 Monaten geändert, und die neueste Version (0.3.1) kam vor 5 Monaten in die Registry.

Welche Apps können ihn nutzen?

Apps, die MCP unterstützen, etwa Claude Desktop, Claude Code, Cursor und VS Code. Außerdem brauchst du Node.js auf deinem Computer.

Was kann ich stattdessen nutzen?

In derselben Kategorie: CCXT, Finance Toolkit, AKQuant

Andere in derselben Kategorie

Server derselben Kategorie von anderen Entwicklern, sortiert nach Sternen.

So liest du eine Karte:↓ Downloads pro Wochei★ GitHub-SterneiDrei Säulen: Bewertungen · Checks · NutzungiAktualisiert = neueste Version in der Registry veröffentlichti

CCXT

Official CCXT MCP server - Market data and trading across 100+ exchanges and prediction markets

von ccxtWeit verbreitet↓ 667/Wo.★ 44.876 Sterne des ganzen ReposAktualisiert vor 2 Monaten

Läuft auf deinem Computer

Finance Toolkit

500+ transparent financial methods calculated from raw statements, not third-party endpoints.

von JerBoumaWeit verbreitet↓ 15.624/Wo.★ 5523Aktualisiert vor 5 Tagen

Computer oder Cloud

AKQuant

Write and backtest trading strategies with AKQuant: API lookup, strategy checks, backtest runs

von akfamilyWeit verbreitet↓ 3280/Wo.★ 2604Aktualisiert heute

Läuft auf deinem Computer

README vom Entwickler

README öffnen

Unverändert aus dem Repo des Entwicklers übernommen. PopNx MCP hat den Inhalt weder geprüft noch empfiehlt es ihn. HTML, Bilder und Skripte wurden entfernt. Links führen von dieser Website weg.

audit-ledger-mcp

Connect Claude, Cursor, LangGraph, or your own agent to the [AI Audit Ledger](https://github.com/shahidh68/audit-ledger). This MCP server gives an agent the tools to record, check, and list decisions in a tamper-evident log with one line of config.

It is built for teams that need a clear record of AI decisions: EU AI Act Article 12 logging, FCA SS1/23 model risk evidence, and GDPR data minimisation. Raw personal data is hashed locally before anything is sent, so the ledger only sees fingerprints.

The AI Audit Ledger family. This MCP server writes decisions to the

ledger, which proves what happened

and whether the record was changed. The

AI Decision Evidence Hub sits

above the ledger, read-only. It turns each lightweight decision record into an

audit case file by showing what evidence is present, what is still missing, who

owns each gap, and the current readiness score. Family:

audit-ledger · audit-ledger-mcp ·

evidence-hub.

[Try the live dashboard →](https://d2pfirb2397ixy.cloudfront.net/?demo=1) · 30 synthetic decisions written via this MCP server, queryable and verifiable.

A LangGraph workflow calls record_decision after each agent step. Three audit events written to the live ledger; every one independently verifiable.


What it does

Exposes four tools to any MCP-compatible agent:

ToolWhat it does
record_decisionLog an AI decision. Hashes inputs locally, then writes through to the ledger. Returns an event ID.
verify_decisionCross-check a stored record against the immutable S3 Object Lock copy. Returns integrity_verified: true/false.
verify_completenessDetect deleted or missing records. Compares the ledger's per-tenant counter against the rows actually present and returns any sequence numbers that are gone. The answer to "can you prove the log is complete?"
list_decisionsQuery recent decisions, optionally filtered by time window. Tenant-scoped by API key.

Each call ends up as a regulator-grade audit record in your deployed ledger — DynamoDB for query, S3 Object Lock COMPLIANCE mode for the immutable copy, 7-year retention by default.


Quick start — zero configuration

npx -y audit-ledger-mcp

That's it. With no environment variables, the server boots into sandbox mode and writes records to a shared public tenant on a hosted ledger. You can try every tool — record_decision, verify_decision, verify_completeness, list_decisions — without provisioning anything.

When sandbox mode is active, you'll see a banner on stderr:

[audit-ledger-mcp] ─────────────── SANDBOX MODE ───────────────

[audit-ledger-mcp] No AUDIT_API_URL configured. [audit-ledger-mcp] Using the public sandbox at sandbox-public. [audit-ledger-mcp] View: https://d2pfirb2397ixy.cloudfront.net [audit-ledger-mcp] Do NOT write real personal data...

Sandbox properties
Hosted bygithub.com/shahidh68/audit-ledger (same AWS deployment)
Tenantsandbox-public (shared, public)
Rate limit100 requests/minute per IP
Retention7 years (records cannot be deleted)
AudienceTyre-kickers, integration tests, framework demos
NOT forProduction data, customer PII, real compliance records
Wire it into Claude Desktop with zero config
{

"mcpServers": { "audit-ledger-sandbox": { "command": "npx", "args": ["-y", "audit-ledger-mcp"] } } }

Restart Claude Desktop. The four tools appear in the MCP menu immediately. Try asking Claude to "record this decision: should X be approved?" and watch a record land in the sandbox dashboard.


Production install

For real workloads, deploy your own audit ledger and point the MCP server at it:

npm install -g audit-ledger-mcp

Configure with the API URL plus your tenant keys (any of them being set switches off sandbox mode). AUDIT_HMAC_KEY is technically optional for backwards compatibility but strongly recommended — see the note above the value below:

export AUDIT_API_URL="https://<api-id>.execute-api.<region>.amazonaws.com/prod"

export AUDIT_WRITE_KEY=" " export AUDIT_READ_KEY=" "

Strongly recommended. Tenant-held secret used to HMAC PII and prompts

locally before sending. Generate once, store next to AUDIT_WRITE_KEY:

node -e "console.log(require('crypto').randomBytes(32).toString('hex'))"

If unset, the MCP falls back to plain SHA-256 and warns once (back-compat).

export AUDIT_HMAC_KEY=" "

Optional

export AUDIT_TIMEOUT_MS=5000 # default 5000 export AUDIT_RETRY_ATTEMPTS=3 # default 3

The full template lives in .env.example.


Wire it into an agent

Claude Desktop

Edit your claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/claude_desktop_config.json, Windows: %APPDATA%\Claude\claude_desktop_config.json):

{

"mcpServers": { "audit-ledger": { "command": "npx", "args": ["-y", "audit-ledger-mcp"], "env": { "AUDIT_API_URL": "https:// .execute-api. .amazonaws.com/prod", "AUDIT_WRITE_KEY": " ", "AUDIT_READ_KEY": " ", "AUDIT_HMAC_KEY": " " } } } }

AUDIT_HMAC_KEY is the tenant secret used to keyed-hash PII locally before any payload leaves the MCP server process. Generate it once with node -e "console.log(require('crypto').randomBytes(32).toString('hex'))" and store the result in the env block above. The MCP never transmits this value, only reads it.

Restart Claude Desktop. You'll see "audit-ledger" in the MCP tools menu. Ask Claude something like *"Record this decision: I declined the application because…"* and watch it call record_decision automatically.

Cursor

In Cursor settings → MCP → add server:

{

"mcpServers": { "audit-ledger": { "command": "npx", "args": ["-y", "audit-ledger-mcp"], "env": { "AUDIT_API_URL": "https:// .execute-api. .amazonaws.com/prod", "AUDIT_WRITE_KEY": " ", "AUDIT_READ_KEY": " ", "AUDIT_HMAC_KEY": " " } } } }

LangGraph (Python)

Using langchain-mcp-adapters:

from langchain_mcp_adapters.client import MultiServerMCPClient

from langgraph.prebuilt import create_react_agent from langchain_anthropic import ChatAnthropic import os

client = MultiServerMCPClient({ "audit-ledger": { "command": "npx", "args": ["-y", "audit-ledger-mcp"], "transport": "stdio", "env": { "AUDIT_API_URL": os.environ["AUDIT_API_URL"], "AUDIT_WRITE_KEY": os.environ["AUDIT_WRITE_KEY"], "AUDIT_READ_KEY": os.environ["AUDIT_READ_KEY"], "AUDIT_HMAC_KEY": os.environ["AUDIT_HMAC_KEY"], }, } })

tools = await client.get_tools() agent = create_react_agent( ChatAnthropic(model="claude-sonnet-4-7-20251022"), tools, )

The agent can now call record_decision, verify_decision, verify_completeness, list_decisions

result = await agent.ainvoke({ "messages": [{"role": "user", "content": "Triage this loan application…"}] })

Custom client (raw MCP)
AUDIT_API_URL=... AUDIT_WRITE_KEY=... AUDIT_READ_KEY=... AUDIT_HMAC_KEY=... npx -y audit-ledger-mcp

The server speaks MCP over stdio. Send initialize, tools/list, and tools/call requests per the MCP specification.


How a record_decision call flows

Agent                  audit-ledger-mcp                  AWS (your ledger)
raw_user_input(hash locally — no PII over
raw_system_promptthe wire from this point)
decision_output
human_in_loop
--- HTTPS POST /audit/events --->
{hashes + decision +
x-api-key}
<--- 202 Accepted ---------------
{ event_id, ... }
<--- event_id ------------
recorded_at
note

Storage on the AWS side happens asynchronously through SQS → Processor Lambda → DynamoDB + S3 Object Lock. See the main repo's ARCHITECTURE.md for the full path.


Tool reference

record_decision

Record an AI decision to the ledger.

ParameterTypeRequiredNotes
model_versionstringYese.g. "claude-sonnet-4-7-20251022"
raw_system_promptstringYesHashed locally
raw_user_inputstringYesHashed locally
ai_decision_outputobjectYesStored verbatim — must not contain raw PII
human_in_loopbooleanYesCritical for EU AI Act Article 14
event_iduuid v4NoAuto-generated if omitted
timestampISO 8601NoDefaults to now
verify_decision

Tamper-check a stored record.

ParameterTypeRequiredNotes
event_iduuid v4YesThe ID of the record to verify

Returns the DynamoDB record, the S3 record, and integrity_verified: true/false.

verify_completeness

Detect missing records. Sister tool to verify_decision: that one proves a record that exists has not been altered; this one proves no records have been deleted.

ParameterTypeRequiredNotes
fromintegerNoInclusive lower bound on sequence_no. Defaults to 1.
tointegerNoInclusive upper bound on sequence_no. Defaults to the tenant's current counter.
tenant_idstringNoRequired only with the admin read key; ignored otherwise.

Returns the requested range, the expected vs found count, the list of missing sequence numbers, and a human-readable note.

{

"tenant_id": "acme-prod", "range": { "from": 1, "to": 142 }, "expected_count": 142, "found_count": 140, "missing": [47, 91], "note": "Found 2 missing sequence number(s) in range. Each gap represents a deleted, lost, or never-written record. Cross-check against burned_sequence log entries before treating as a deletion." }

list_decisions

List recent decisions for the calling tenant.

ParameterTypeRequiredNotes
fromISO 8601NoDefaults to 7 days ago
toISO 8601NoDefaults to now
limitinteger 1–500NoDefaults to 100

Nur der Anfang wird gezeigt; den Rest findest du im Repo