{"name":"io.github.shahidh68/audit-ledger-mcp","slug":"shahidh68-audit-ledger-mcp","title":null,"description":"Record AI decisions to a tamper-evident audit ledger from any MCP-compatible agent.","url":"https://mcp.market/server/shahidh68-audit-ledger-mcp","rating":null,"grade":"B","score":78,"certified":false,"status":"active","category":"ai","tags":["ai"],"presence":{"score":22,"stars":1,"forks":0,"downloads_week":63,"last_push_at":"2026-07-06T22:10:41.000Z","license":"Apache-2.0"},"uptime":null,"claimed":false,"transport":"npm","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/shahidh68/audit-ledger-mcp","website":null,"version":"0.3.1","remotes":[],"packages":[{"registryType":"npm","identifier":"audit-ledger-mcp","version":"0.3.1","transport":{"type":"stdio"},"environmentVariables":[{"description":"Your deployed audit-ledger API endpoint (e.g. https://<api-id>.execute-api.<region>.amazonaws.com/prod). Leave unset to run in sandbox mode against the public shared tenant.","format":"string","name":"AUDIT_API_URL"},{"description":"Tenant write key for your deployed ledger. Required if AUDIT_API_URL is set and you want to call record_decision.","format":"string","isSecret":true,"name":"AUDIT_WRITE_KEY"},{"description":"Tenant read key for your deployed ledger. Required if AUDIT_API_URL is set and you want to call verify_decision or list_decisions.","format":"string","isSecret":true,"name":"AUDIT_READ_KEY"},{"description":"HTTP timeout in milliseconds. Defaults to 5000.","format":"string","name":"AUDIT_TIMEOUT_MS"},{"description":"Number of retry attempts on transient failures. Defaults to 3.","format":"string","name":"AUDIT_RETRY_ATTEMPTS"},{"description":"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 environment. The key never leaves your process. If unset, the MCP falls back to plain SHA-256 for backwards compatibility and logs a one-time deprecation warning; set this to switch to keyed hashing, which regulators (ICO/EDPB) expect for pseudonymisation.","format":"string","isSecret":true,"name":"AUDIT_HMAC_KEY"}]}],"tools":[{"name":"list_decisions","description":"List recorded AI decisions for the calling tenant within a time window. Returns newest first. The read key scopes the result to the caller's tenant — cross-tenant reads require an admin read key. Use this for compliance review, audit prep, or agent self-inspection of recent activity.","write_action":false,"price_micros":0,"input_schema":null},{"name":"record_decision","description":"Record an AI decision to the audit ledger. Stores model version, hashed inputs, structured output, and human-review flag. The record is immutably sealed in S3 Object Lock for 7 years and queryable for the lifetime of the decision. Use this immediately after any AI decision that may need to be audited later — credit, hiring, fraud, customer routing, content moderation.","write_action":false,"price_micros":0,"input_schema":null},{"name":"verify_completeness","description":"Detect whether any audit records have been deleted or omitted for the caller's tenant. Each successfully stored decision receives a per-tenant monotonic sequence number. This tool compares the ledger's counter against the rows actually present in DynamoDB and returns any sequence numbers that are missing. Use this when a regulator or compliance team asks 'can you prove the log is complete?' — veri","write_action":false,"price_micros":0,"input_schema":null},{"name":"verify_decision","description":"Verify a recorded AI decision has not been altered since it was written. The ledger fetches the queryable copy (DynamoDB) and the immutable copy (S3 Object Lock COMPLIANCE mode) independently and compares them. Returns integrity_verified=true if they match. Use this to satisfy a regulator request or to prove an audit trail to a compliance team.","write_action":false,"price_micros":0,"input_schema":null}],"scan":{"score":78,"grade":"B","scanned_at":"2026-09-27T12:15:08.439Z","report":{"scannerVersion":"0.1.9","scannedAt":"2026-09-27T12:15:08.454Z","components":{"code":{"score":25,"max":25,"notes":["17 source files scanned"]},"reliability":{"score":-1,"max":20,"notes":["no gateway calls yet and no remote to probe"]},"poisoning":{"score":-1,"max":15,"notes":["tools not inspected (local package is not executed); not counted"]},"auth":{"score":6,"max":15,"notes":["static API keys via environment variables"]},"maintenance":{"score":12,"max":15,"notes":["last push 83 days ago"]},"identity":{"score":8,"max":10,"notes":["registry namespace matches repository owner","GitHub account older than a year"]}},"findings":[],"inputs":{"packages":[{"registryType":"npm","identifier":"audit-ledger-mcp","version":"0.3.1","found":true,"license":"Apache-2.0","hasInstallScripts":false,"dependencyCount":2,"publishedAt":"2026-06-05T20:30:16.543Z","repositoryUrl":"git+https://github.com/shahidh68/audit-ledger-mcp.git","weeklyDownloads":63}],"repo":{"found":true,"owner":"shahidh68","repo":"audit-ledger-mcp","archived":false,"pushedAt":"2026-07-06T22:10:41Z","stars":1,"forks":0,"openIssues":1,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/37114071?v=4","ownerCreatedAt":"2018-03-06T15:00:51Z","license":"Apache-2.0"},"icon":{"url":null,"source":"none"},"presence":{"stars":1,"forks":0,"downloadsWeek":63,"license":"Apache-2.0","lastPushAt":"2026-07-06T22:10:41.000Z","score":22}}}},"grade_history":[],"reviews":[]}