Receipts Compliance MCP
# receipts-compliance-mcp
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.
## 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
Dual-licensed under either of [MIT](LICENSE-MIT) or [Apache-2.0](LICENSE-APACHE), at your option.
TDQS
Scored across 11 tools
The three non-report tools (create_constitution, build_constitution_audit, verify_manifest) are clearly distinct, and each build_* report tool names its target framework explicitly. However, eight tools share the identical shape 'build a Markdown compliance report from a receipt set,' so selection depends entirely on the agent knowing which regulatory framework applies—an easy source of misselection.
Every tool is snake_case with a leading verb (build_, create_, verify_) followed by a noun describing the target artifact or standard. The build_* family is uniform, and the two non-build tools still follow verb_noun convention.
Eleven tools sits comfortably in the well-scoped 3–15 range. The count is driven by distinct regulatory frameworks rather than redundant variants, and each report tool targets a genuinely different standard.
Framework reporting coverage is broad (EU AI Act, ISO 42001, NIST, SOC 2, GDPR, HIPAA, ISO 23894, CRA), but the receipt and constitution lifecycle is thin: no tool to list/fetch receipts, retrieve or list constitutions, or verify an individual receipt (only a whole manifest, and only the Ed25519 half of v3 signatures). Agents can work around this if receipts are supplied externally, but the surface has notable dead ends.