CCXT
Official CCXT MCP server - Market data and trading across 100+ exchanges and prediction markets
Record AI decisions to a tamper-evident audit ledger from any MCP-compatible agent.
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
Nur einmal; gilt für alle Server, die Node.js brauchen
Ö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
SettingsDeveloperEdit Config
{
"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
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
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
A · Eine App nutzen, die Audit Ledger MCP verbinden kann
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)
Nur einmal; gilt für alle Server, die Node.js brauchen
Ö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
Mac: Command+Leertaste drücken und Terminal tippen · Windows: PowerShell öffnen
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-mcpErsetze „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
Audit Ledger MCP sollte in der Liste als verbunden erscheinen
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
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)
Nur einmal; gilt für alle Server, die Node.js brauchen
Ö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
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
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
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)
Nur einmal; gilt für alle Server, die Node.js brauchen
Ö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
VS Code fragt nach einer Bestätigung; klicke Install
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
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
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
JSON-Einstellungen stehen unten unter „Für Entwickler“
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-mcpClaude 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"
}
}
}
}AUDIT_API_URL envAUDIT_WRITE_KEY geheim erforderlich envAUDIT_READ_KEY geheim erforderlich envAUDIT_TIMEOUT_MS envAUDIT_RETRY_ATTEMPTS envAUDIT_HMAC_KEY geheim erforderlich envDie 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.
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
Läuft auf deinem Computer; die Tool-Liste erscheint nach der Installation in deiner KI-App.
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
Der Registry-Name wurde mit dem GitHub-Konto shahidh68 bestätigt, dem das Repo gehört
Code zuletzt geändert: vor 4 Monaten
Nutzt Apache-2.0
Dieser Server läuft auf deinem Computer; es gibt keinen Endpunkt im Internet
Läuft auf deinem Computer und nutzt stattdessen lokale Einstellungen
Läuft auf deinem Computer; Tool-Listen können wir nur von Endpunkten im Internet lesen
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.
Noch keine Bewertungen
Verglichen mit allen aktiven Servern dieser Kategorie in der Registry. Sterne zählen nur, wenn dem Herausgeber das Repo gehört.
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.
Das musst du eintragen: AUDIT_WRITE_KEY, AUDIT_READ_KEY, AUDIT_HMAC_KEY
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).
Das GitHub-Repo wurde zuletzt vor 4 Monaten geändert, und die neueste Version (0.3.1) kam vor 5 Monaten in die Registry.
Apps, die MCP unterstützen, etwa Claude Desktop, Claude Code, Cursor und VS Code. Außerdem brauchst du Node.js auf deinem Computer.
In derselben Kategorie: CCXT, Finance Toolkit, AKQuant
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
Official CCXT MCP server - Market data and trading across 100+ exchanges and prediction markets
500+ transparent financial methods calculated from raw statements, not third-party endpoints.
Write and backtest trading strategies with AKQuant: API lookup, strategy checks, backtest runs
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.
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
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 ·
[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_decisionafter each agent step. Three audit events written to the live ledger; every one independently verifiable.
Exposes four tools to any MCP-compatible agent:
| Tool | What it does |
|---|---|
record_decision | Log an AI decision. Hashes inputs locally, then writes through to the ledger. Returns an event ID. |
verify_decision | Cross-check a stored record against the immutable S3 Object Lock copy. Returns integrity_verified: true/false. |
verify_completeness | Detect 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_decisions | Query 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.
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...
| Hosted by | github.com/shahidh68/audit-ledger (same AWS deployment) |
| Tenant | sandbox-public (shared, public) |
| Rate limit | 100 requests/minute per IP |
| Retention | 7 years (records cannot be deleted) |
| Audience | Tyre-kickers, integration tests, framework demos |
| NOT for | Production data, customer PII, real compliance records |
{
"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.
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=" "
export AUDIT_HMAC_KEY=" "
export AUDIT_TIMEOUT_MS=5000 # default 5000 export AUDIT_RETRY_ATTEMPTS=3 # default 3
The full template lives in .env.example.
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.
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": " " } } } }
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, )
result = await agent.ainvoke({ "messages": [{"role": "user", "content": "Triage this loan application…"}] })
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.
record_decision call flowsAgent audit-ledger-mcp AWS (your ledger)
| raw_user_input | (hash locally — no PII over |
| raw_system_prompt | the 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.
record_decisionRecord an AI decision to the ledger.
| Parameter | Type | Required | Notes |
|---|---|---|---|
model_version | string | Yes | e.g. "claude-sonnet-4-7-20251022" |
raw_system_prompt | string | Yes | Hashed locally |
raw_user_input | string | Yes | Hashed locally |
ai_decision_output | object | Yes | Stored verbatim — must not contain raw PII |
human_in_loop | boolean | Yes | Critical for EU AI Act Article 14 |
event_id | uuid v4 | No | Auto-generated if omitted |
timestamp | ISO 8601 | No | Defaults to now |
verify_decisionTamper-check a stored record.
| Parameter | Type | Required | Notes |
|---|---|---|---|
event_id | uuid v4 | Yes | The ID of the record to verify |
Returns the DynamoDB record, the S3 record, and integrity_verified: true/false.
verify_completenessDetect 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.
| Parameter | Type | Required | Notes |
|---|---|---|---|
from | integer | No | Inclusive lower bound on sequence_no. Defaults to 1. |
to | integer | No | Inclusive upper bound on sequence_no. Defaults to the tenant's current counter. |
tenant_id | string | No | Required 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_decisionsList recent decisions for the calling tenant.
| Parameter | Type | Required | Notes |
|---|---|---|---|
from | ISO 8601 | No | Defaults to 7 days ago |
to | ISO 8601 | No | Defaults to now |
limit | integer 1–500 | No | Defaults to 100 |