receipts-compliance-mcp-mit
# receipts-compliance-mcp-mit
A local MCP server and Claude Desktop Extension. It verifies signed AI-agent receipt bundles and turns a set of receipts into auditor-ready Markdown reports. It runs offline; receipts are never uploaded.
## Tools
| Tool | Output |
|---|---|
| `verify_manifest` | Checks a `MANIFEST.signed.json` against an Ed25519 public key (PEM). Does not check the ML-DSA-65 half of a v3 signature. |
| `build_annex_iv` | EU AI Act Annex IV technical documentation |
| `build_iso_42001` | ISO/IEC 42001:2023 AI management system report |
| `build_iso_23894` | ISO/IEC 23894:2023 AI risk management report |
| `build_nist_ai_rmf` | NIST AI RMF 1.0 profile |
| `build_soc2_evidence` | SOC 2 Trust Service Criteria evidence binder |
| `build_gdpr_dpia` | GDPR Article 35 DPIA and Article 30 Records of Processing |
| `build_hipaa_security` | HIPAA Security Rule evidence binder |
| `build_eu_cra` | EU Cyber Resilience Act report |
| `create_constitution`, `build_constitution_audit` | Sign an AI constitution; audit receipts against it |
Sections that need operator narrative are left as marked stubs. The reports are evidence summaries, not legal advice or a certification.
## Privacy
Everything runs on your machine. The extension makes no network requests, collects no telemetry and stores nothing. Receipts and keys you pass to a tool are processed in memory and returned to Claude.
## Install
Download `receipts-compliance.mcpb` from a release and open it in Claude Desktop. To build it yourself:
```bash
npm install
npm run pack:mcpb
```
## Develop
```bash
npm test # vitest
npm run typecheck
npm run build # bundles dist/server.js
```
Receipts are JSON objects with `verdictId`, `overall` (`pass`, `warn` or `block`) and `issuedAt`; see `src/types.ts`.
## Licence
MIT. See `LICENSE`.
TDQS
Scored across 11 tools
Each build_* tool targets a named, distinct regulatory framework (Annex IV, ISO 42001, NIST AI RMF, SOC 2, GDPR DPIA, HIPAA, ISO 23894, EU CRA), so selection is mostly clear from the name alone. The only real friction is the cluster of AI-risk/governance reports (build_iso_23894 vs build_nist_ai_rmf, build_annex_iv vs build_iso_42001), where an agent must read descriptions to pick the right one.
All tools are snake_case verb_noun with a small set of verbs (verify_, create_, build_) used uniformly. The pattern is predictable: build_<framework> for report generation, verify_/create_ for the manifest and constitution primitives.
11 tools sits squarely in the well-scoped range. Each build_* tool corresponds to a genuinely different compliance artifact rather than being a redundant variant, and the two non-build tools (verify_manifest, create_constitution) anchor the receipt/constitution lifecycle.
The report surface is broad, but the underlying receipt lifecycle has notable gaps: there is no create_receipt or list/get_receipt, no verify_constitution or verify_receipt equivalent, and verify_manifest explicitly does not check the ML-DSA-65 half of v3 signatures. Agents can build reports but have limited ability to inspect, verify, or manage the receipt sets and constitutions they depend on.