io.github.shahidh68/audit-ledger-mcp
NPM · AUDIT-LEDGER-MCP · SCANNED AUG 3
Record AI decisions to a tamper-evident audit ledger from any MCP-compatible agent.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score →
Supply Chain Security87
- No malware found by supply-chain analysis.Pass
- Only part of the dependency tree could be resolved (95 of 99), so this covers what we could see, not the whole tree.Partial
- No install/post-install scripts declared.Pass
- Only part of the dependency tree could be resolved (95 of 99), so this covers what we could see, not the whole tree. View diagnostics → Partial
Provenance & Transparency45
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- Clear OSI-approved license (Apache-2.0).Pass
- Actively maintained (last published 50 days ago).Pass
- Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability70
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 768 tokens (~192/item across 4 items; 4 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 Management23
- Stability observed for 7 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.
npm · audit-ledger-mcp
claude mcp add shahidh68-audit-ledger-mcp -- npx -y audit-ledger-mcp
codex mcp add shahidh68-audit-ledger-mcp -- npx -y audit-ledger-mcp
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"shahidh68-audit-ledger-mcp": {
"type": "local",
"command": [
"npx",
"-y",
"audit-ledger-mcp"
],
"enabled": true
}
}
} openclaw mcp add shahidh68-audit-ledger-mcp --command npx --arg -y --arg audit-ledger-mcp
mcp_servers:
shahidh68-audit-ledger-mcp:
command: "npx"
args: ["-y", "audit-ledger-mcp"] {
"mcpServers": {
"shahidh68-audit-ledger-mcp": {
"command": "npx",
"args": [
"-y",
"audit-ledger-mcp"
]
}
}
} 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.
- 3 Aug 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 20 to 23. That category is still filling its 30-day observation window: 6 days of observed history at the previous scan, 7 at this one. The score rises as the window fills, whether or not the server changes.
- 2 Aug 26 +48
- Provenance: unverified → fail ▼ security
- Known CVEs: unverified → partial ▲ security
- Install scripts: unverified → pass ▲ security
- Malware scan: unverified → pass ▲ security
- Stability: Stability not yet verified: not enough scan history yet (needs a 30-day window). security
- License: unverified → pass ▲ functional
- Dependency health: unverified → partial ▲ functional
- Stability: unverified → 0.20 ▲ functional
- Maintenance: unverified → pass ▲ functional
- Schema quality: unverified → excellent ▲ functional
- MCP protocol: unverified → pass ▲ functional
- Licence: Apache-2.0 functional
- 31 Jul 26 −25
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 27 Jul 26 44
First indexed and scored.
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 3 Aug 2026 · Analysed npm/[email protected]
Provenance none
Ecosystem: npm · Outcome: none
Dependencies 95 packages
95 packages in the resolved dependency tree · 95 deprecated · 29 stale.
The dependency tree was only partially resolved, so these counts may be incomplete.
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.
list_decisions ~139
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.
| Name | Type | Req | Description |
|---|---|---|---|
| from | string | — | ISO 8601 start of the time window (inclusive). Defaults to 7 days before now. |
| limit | number | — | Maximum number of records to return (default 100, max 500). Returned newest-first. |
| to | string | — | ISO 8601 end of the time window (inclusive). Defaults to now. |
No output schema declared.
No examples provided.
record_decision ~351
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.
| Name | Type | Req | Description |
|---|---|---|---|
| ai_decision_output | object | yes | The structured decision the model produced. Stored verbatim. Should NOT contain raw PII — only the decision itself (score, classification, recommendation, reasoning summary). |
| event_id | string | — | Optional UUID v4 to identify this decision. Auto-generated if omitted. Useful when the calling system already has its own decision ID. |
| human_in_loop | boolean | yes | Whether a human reviewed or approved this decision before it took effect. Critical for EU AI Act Article 14 (human oversight) compliance. |
| model_version | string | yes | The model and version that produced the decision (e.g. 'claude-sonnet-4.7', 'gpt-4o-2024-08-06'). Required for traceability and model risk audits. |
| raw_system_prompt | string | yes | The system prompt used. Hashed locally before transit — the raw text never leaves this MCP server. |
| raw_user_input | string | yes | The user input the model decided on (CV text, transaction, customer message, etc.). Hashed locally before transit — raw PII never leaves this MCP server. |
| timestamp | string | — | Optional ISO 8601 timestamp of when the decision was made. Defaults to the current time. Use this only if recording a backfilled decision. |
No output schema declared.
No examples provided.
verify_completeness ~178
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?' — verify_decision only proves an existing record was not altered; this proves no record has disappeared.
| Name | Type | Req | Description |
|---|---|---|---|
| from | integer | — | Inclusive lower bound on sequence_no. Defaults to 1. |
| tenant_id | string | — | Required only when calling with the admin read key. Ignored when called with a regular tenant read key — the tenant is inferred from the key. |
| to | integer | — | Inclusive upper bound on sequence_no. Defaults to the tenant's current counter value. |
No output schema declared.
No examples provided.
verify_decision ~100
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.
| Name | Type | Req | Description |
|---|---|---|---|
| event_id | string | yes | The UUID v4 event ID of the decision to verify. |
No output schema declared.
No examples provided.