Skip to main content
Glama
christiaan839-beep

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.

Related MCP server: agent-receipts-mcp

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:

npm install
npm run pack:mcpb

Develop

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.

Available Tools

11 tools
build_annex_ivA

Build an EU AI Act Annex IV technical-documentation report from a set of VAOS receipts. Article 11 of Regulation (EU) 2024/1689 requires this for every high-risk AI system. Returns Markdown ready to file with the EU AI Office.

NameRequiredDescriptionDefault
systemYesSystemDescription per Annex IV §0 (name, identifier, riskCategory, provider, intendedPurpose, placedOnMarketAt, etc.).
receiptsYesArray of VAOS Guardian receipts spanning the reporting window (typically 90 days for post-market monitoring).
nextReportDueNoISO 8601 date when the next PMM report is due.
operatorActionsNoOptional list of operator actions taken in response to anomalies (each item is a one-line string).

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It usefully discloses the output form ('Returns Markdown ready to file with the EU AI Office'), but says nothing about validation behavior, what happens with insufficient or out-of-window receipts, failure modes, or whether the report is deterministic.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three tight sentences: what it builds, why it is required, and what it returns. Front-loaded with the action and artifact, zero filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with nested objects, no output schema, and no annotations, the description covers purpose, legal basis, and return format. It stops short of describing report completeness requirements or error behavior, which matters for a compliance artifact intended for filing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, including the nested SystemDescription shape and the 90-day PMM window hint, so the schema does the heavy lifting. The description adds only the general notion of a 'set of VAOS receipts' and no additional meaning for nextReportDue or operatorActions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and artifact ('Build an EU AI Act Annex IV technical-documentation report') plus the input source ('from a set of VAOS receipts'). The regulatory framing distinguishes it cleanly from sibling build_* tools covering ISO 42001, NIST AI RMF, SOC2, GDPR DPIA, etc.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives clear triggering context: 'Article 11 of Regulation (EU) 2024/1689 requires this for every high-risk AI system', so an agent knows this applies to high-risk systems under the EU AI Act. However, it never explicitly contrasts with the other framework-report builders or states when-not to use it, leaving sibling selection partly to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

build_constitution_auditA

Audit a VAOS receipt set against a signed AI constitution. The constitution is a content-addressed (SHA-256) document of inviolable rules; receipts commit to its hash. This tool surfaces every receipt that violated a constitutional article, ranked by severity. Use it when you want to prove (or disprove) an autonomous agent followed its policy.

NameRequiredDescriptionDefault
receiptsYesVAOS receipts whose canonical projection may include the constitution hash.
constitutionYesA SignedConstitution returned by buildConstitution(). Must include articles + hash + signedAt + name + signedBy. Use the create_constitution tool below if you need to sign one first.

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden and does reasonably well: it explains that the constitution is a content-addressed SHA-256 document, that receipts commit to its hash, and that the output is a severity-ranked list of violations. It does not state whether the operation is read-only, what happens to receipts lacking the hash, or error behavior, which are meaningful gaps for an audit tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, each doing distinct work: what it does, what the inputs mean, and when to reach for it. The verb-and-resource statement is front-loaded with no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema exists, and the description does compensate by describing the return as violations ranked by severity. For a two-parameter tool with nested objects, the remaining gap is edge-case behavior (unhashed receipts, empty results, mismatch handling), which keeps it short of a 5.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline would be 3. The description earns an extra point by explaining the semantic relationship between the two parameters — receipts commit to the constitution's hash — which is not obvious from the schema alone and clarifies why both are required together.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: 'Audit a VAOS receipt set against a signed AI constitution.' The follow-up sentences sharpen what the audit produces (receipts violating constitutional articles, ranked by severity), which clearly separates it from sibling builders like build_annex_iv or build_soc2_evidence that produce evidence rather than evaluate it.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'Use it when you want to prove (or disprove) an autonomous agent followed its policy' gives a clear motivating context for invocation. It does not name an explicit alternative or a when-not condition, though the prerequisite (needing a signed constitution) is only surfaced in the schema, not the description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

build_eu_craA

Build an EU Cyber Resilience Act (Regulation (EU) 2024/2847) compliance report from a VAOS receipt set. Maps every Annex I essential cybersecurity requirement + Article 13/14 obligation to receipt-derived evidence. Surfaces open findings.

NameRequiredDescriptionDefault
scopeYesCraScope: manufacturer, productName, productIdentifier, category (default/important-class-I/important-class-II/critical), intendedUse, placedOnMarketAt, authorisedRepresentative.
receiptsYesVAOS receipts.
residualRisksNoOperator-declared residual cybersecurity risks.
implementationStatusNoOptional map of requirement id → { status: compliant/alternative-measure/not-applicable/open, note }.

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden and does disclose meaningful behavior: it maps requirements to evidence and explicitly surfaces open findings rather than silently passing. However, it never says whether the report is merely computed and returned or persisted, whether missing receipts degrade the result, or what an 'open finding' looks like.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences, front-loaded with the action and regulation, then the mapping behavior, then the findings output. No filler or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a four-parameter tool with nested objects and no annotations or output schema, the description covers purpose and evidence-mapping but omits the report's return shape and ignores two of the four parameters. An agent knows what it gets conceptually but not structurally.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents scope, receipts, residualRisks, and implementationStatus. The description reinforces the receipt-to-evidence relationship but adds no format or constraint detail for residualRisks or implementationStatus, so baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Build an EU Cyber Resilience Act compliance report') and names the exact regulation (EU 2024/2847), which cleanly separates it from the other build_* compliance siblings. The follow-up sentences define the report's content (Annex I requirements, Article 13/14 obligations, receipt-derived evidence, open findings).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'from a VAOS receipt set' implies the precondition (you must already hold receipts) but never states when to choose this over build_annex_iv, build_gdpr_dpia, or other build_* siblings, nor any exclusions. Usage is inferable from the named regulation rather than explicitly guided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

build_gdpr_dpiaA

Build a GDPR Article 35 DPIA + Article 30 RoPA report from operator-declared processing activities + a VAOS receipt set. Returns Markdown ready for the DPO + supervisory authority. High-residual-risk activities automatically flagged for Article 36 prior consultation.

NameRequiredDescriptionDefault
risksYesMap of activity id → risk assessment (necessityProportionality, risks[], mitigations[], residualRisk, priorConsultationRequired). Activities without an entry are auto-flagged as high-risk.
receiptsYesVAOS receipts.
activitiesYesArray of ProcessingActivity records per Article 30(1): id, name, purpose, dataSubjectCategories, dataCategories, specialCategories, recipients, transfers, retention, securityMeasures, legalBasis.
controllerYesControllerIdentity: name, address, email, dpoName, dpoEmail, euRepresentative.

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It does disclose two non-obvious behaviors: the output is Markdown aimed at a DPO/supervisory authority, and high-residual-risk activities are automatically escalated to Article 36 prior consultation. It says nothing about whether anything is persisted or written to disk, or what happens on malformed receipts, which matters for a tool with no annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, each earning its place: verb+artifact first, output format second, escalation behavior third. No filler and the most decision-relevant information is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a four-parameter nested-input tool with no output schema, the description adequately covers what is produced (Markdown DPIA + RoPA) and one key output behavior (Article 36 flagging). It is slightly short on whether output is returned only or also persisted, but the schema carries the input contract fully.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all four parameters (including the nested risks map and its auto-flag semantics) are already documented. The description only restates the input sources at a high level and adds no syntax, format, or ID-matching detail beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (Build) and two precisely named artifacts (GDPR Article 35 DPIA + Article 30 RoPA report), plus the inputs it derives them from. Among siblings that all follow a build_*_compliance pattern, the Article numbers make it immediately distinguishable from build_annex_iv, build_iso_42001, and the rest.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The input context ('operator-declared processing activities + a VAOS receipt set') implies when the tool applies, but there is no explicit when-to-use, no exclusions, and no routing guidance versus the many sibling compliance-report builders. An agent must infer that a GDPR DPIA (not Annex IV or ISO 42001) is the right artifact.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

build_hipaa_securityA

Build a HIPAA Security Rule (45 CFR § 164.308-318) evidence binder from a set of VAOS receipts. Maps every implementation specification to receipt-derived evidence. REQUIRED specifications without evidence are surfaced as findings; ADDRESSABLE specifications can be marked alternative-implemented with an operator note.

NameRequiredDescriptionDefault
scopeYesHipaaScope: organizationName, organizationType (covered-entity/business-associate/both), ephiCategoriesDescription, auditPeriodStart, auditPeriodEnd, securityOfficial, privacyOfficial.
receiptsYesVAOS receipts.
implementationStatusNoOptional map of specification id → { status, note }. status ∈ implemented / alternative-implemented / not-implemented / not-applicable.

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the burden and does disclose real behavior: every implementation specification is mapped to receipt-derived evidence, missing REQUIRED specs become surfaced findings rather than silent gaps, and ADDRESSABLE specs accept an operator note. It stops short of saying whether an artifact is written to disk, what permissions are needed, or what the returned binder looks like.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three dense sentences, front-loaded with the artifact and regulation, then behavior, then edge-case handling. No restatement of the tool name and no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema and a nested scope object, the description covers the main thing an agent needs to know: the output is a spec-to-evidence binder with findings for unevidenced REQUIRED controls. The one real gap is the return shape of that binder, which the description gestures at but never characterizes.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3; the description adds value by tying 'receipts' to receipt-derived evidence and by explaining the semantics of the optional implementationStatus map (ADDRESSABLE specs can be marked alternative-implemented, which is the only status branch with special meaning). It doesn't explain the required HipaaScope subfields.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and artifact: 'Build a HIPAA Security Rule (45 CFR § 164.308-318) evidence binder' from VAOS receipts. The named regulation and control family make it unambiguously distinct from siblings like build_gdpr_dpia or build_soc2_evidence without opening any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The input context is clear ('from a set of VAOS receipts'), which implies when the tool applies, but there is no explicit when-to-use / when-not-to-use guidance and no routing statement toward the sibling framework builders. An agent must infer that HIPAA scope selects this over build_iso_42001 or build_gdpr_dpia.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

build_iso_23894A

Build an ISO/IEC 23894:2023 AI risk-management report from operator-declared risk scenarios + a VAOS receipt set. Computes inherent + residual risk per scenario via the 5×5 likelihood × impact matrix, attenuated by receipt evidence count. Returns auditor-ready Markdown.

NameRequiredDescriptionDefault
scopeYesRiskMgmtScope: organizationName, systemName, lifecyclePhase (inception/design/development/verification-validation/deployment/operation-monitoring/re-evaluation/retirement), policyVersion, periodStart, periodEnd.
receiptsYesVAOS receipts.
scenariosYesArray of RiskScenario: { id, description, source, likelihood (rare/unlikely/possible/likely/almost-certain), impact (negligible/minor/moderate/major/catastrophic), characteristic, treatment (avoid/reduce/share/accept), treatmentDescription, evidencePackPrefixes }.

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Since there are no annotations, the description carries the full behavioral burden. It is highly transparent by explaining that it uses a 5x5 likelihood x impact matrix and attenuates risk based on evidence count, disclosing the exact computational logic involved.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The definition is extremely concise, packing the required inputs, the core calculation method, and the final output format into a single, highly effective paragraph. Every word contributes necessary value to the agent's understanding.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of generating an AI risk-management report, the description provides a complete picture. It identifies the inputs, the proprietary risk calculation methodology, and the final delivery format (Markdown), leaving no functional gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Even with 100% schema coverage, the description adds critical semantic meaning. It explains how the `receipt` input is used to modify the risk calculation (attenuated by receipt evidence count), connecting the variables in a functional way that the schema alone does not convey.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the purpose: building an ISO/IEC 23894:2023 AI risk-management report. The tool name itself, coupled with the list of sibling tools (e.g., build_iso_42001), ensures perfect differentiation between compliance standards.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

While it does not explicitly use 'when to use,' the description explains that the tool processes operator-declared scenarios and VAOS receipts. This sets a very clear context for its required inputs, suggesting use in comprehensive risk assessment workflows.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

build_iso_42001A

Build an ISO/IEC 42001:2023 AI management system (AIMS) report from a set of VAOS receipts. Covers clauses 4-10 + the 38-control Annex A matrix. Returns Markdown ready to hand to your certification body (BSI, TÜV SÜD, etc.).

NameRequiredDescriptionDefault
scopeYesAimsScope: organizationName, scopeStatement, aiSystemRole, certificationBody, lastInternalAudit, nextManagementReview.
receiptsYesVAOS receipts.
retentionDaysNoDocumented-information retention window in days. Defaults to 365.
operatorActionsNoOptional.

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It usefully discloses the return format (Markdown ready for an auditor), which is the key behavioral trait here, but is silent on whether anything is persisted, whether retentionDays affects stored artifacts, and whether receipts must be pre-verified via verify_manifest.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences, front-loaded with the action and resource, followed by coverage and output format. No redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema exists, and the description compensates by naming the return format and the standard's clause coverage. It is nearly complete for a generation tool, with the only gap being side effects or prerequisites for the required receipts input.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so scope, receipts, retentionDays, and operatorActions are already documented in the schema. The description adds no parameter-level meaning (e.g., what constitutes a valid receipt or what operatorActions contribute), so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (build) and a precisely scoped resource (an ISO/IEC 42001:2023 AIMS report from VAOS receipts), and quantifies the coverage (clauses 4-10 plus the 38-control Annex A matrix). This distinguishes it clearly from sibling builders for other standards such as build_nist_ai_rmf or build_iso_23894.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The mention of a certification body (BSI, TÜV SÜD) implies the tool's use context, but the description never states when to choose it over neighbors like build_annex_iv or build_iso_23894, nor what prerequisites the receipts must satisfy. Usage is inferable but not guided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

build_nist_ai_rmfA

Build a NIST AI RMF 1.0 profile (GOVERN / MAP / MEASURE / MANAGE) from a set of VAOS receipts. The de-facto US federal AI risk-management standard. Returns Markdown with per-subcategory evidence counts and trustworthy-AI characteristic coverage.

NameRequiredDescriptionDefault
scopeYesRmfProfileScope: systemName, lifecycleStage (design/development/deployment/operation/monitoring/decommissioning), organizationalRole, profileType (current/target/both), intendedUse, riskTolerance (low/medium/high).
receiptsYesVAOS receipts.
maturityOverridesNoOptional map of subcategory id → maturity level 0-4 (per RMF Playbook self-assessment scale).
functionNarrativesNoOptional operator narratives per function (keys: GOVERN, MAP, MEASURE, MANAGE).

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations exist, so the description carries the whole burden. It does disclose the output shape (Markdown with per-subcategory evidence counts and trustworthy-AI characteristic coverage), which is genuinely useful, but says nothing about side effects — whether artifacts are persisted, whether this requires VAOS receipts to be complete, or what happens with partial evidence.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three compact sentences: what it builds, why it matters, and what comes back. The output contract is placed last where it belongs and nothing is padded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a four-parameter report generator with no annotations and no output schema, the description covers identity, input source, standard context, and return format. It does not cover prerequisites (e.g., what minimum receipt coverage is needed) or failure behavior, which is the remaining gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the nested scope, maturityOverrides scale, and functionNarratives keys are already documented. The description adds only the provenance of the receipts parameter, not extra meaning for the three optional/nested parameters, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (build) and a specific named artifact (NIST AI RMF 1.0 profile covering GOVERN/MAP/MEASURE/MANAGE), plus its input source (VAOS receipts). The framework naming cleanly separates it from the sibling builders (ISO 42001, SOC 2, GDPR DPIA, HIPAA, ISO 23894, EU CRA, Annex IV), which an agent can distinguish at a glance.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The line 'The de-facto US federal AI risk-management standard' effectively tells the agent the situation that selects this tool over the other framework builders. There is no explicit when-not guidance or a direct comparison to ISO 23894 (the closest sibling), so the routing is clear but not fully fenced.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

build_soc2_evidenceA

Build a SOC 2 evidence binder mapped to AICPA Trust Service Criteria (2017) — security (CC1-CC9), availability (A1), processing integrity (PI1), confidentiality (C1), privacy (P-series). Each criterion gets a receipt-derived evidence count + days-of-coverage metric. Returns Markdown to walk into the audit kickoff with.

NameRequiredDescriptionDefault
scopeYesSoc2Scope: organizationName, auditPeriodStart, auditPeriodEnd, inScope (categories), serviceAuditor, servicesDescription.
receiptsYesVAOS receipts.
controlOwnersNoOptional map of criterion id → control owner string (for RACI).
coverageThresholdDaysNoDays-of-coverage threshold below which a criterion is flagged as a gap. Default 30.

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are present, so the description carries the full burden. It usefully discloses the output form ('Returns Markdown') and that metrics are 'receipt-derived', suggesting a pure computation rather than a persisted artifact, but it never states whether anything is written anywhere, what happens when receipts are sparse, or any prerequisite validation — meaningful gaps for a four-param builder.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two dense sentences, front-loaded with the resource and framework version, then the per-criterion output contract, then the intended use. No filler or restated title.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex tool with nested objects (Soc2Scope, receipts) and no output schema, the description adequately conveys structure and return format. A gap remains around required input shape for 'receipts' and behavior when coverage data is missing, but the essentials for correct invocation are present.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all four parameters including the 30-day default on coverageThresholdDays. The description adds conceptual color ('receipt-derived evidence count', 'days-of-coverage metric') but does not explain controlOwners or how scope.inScope interacts with the criterion set, so it adds little beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('Build a SOC 2 evidence binder') and pins the exact mapping target (AICPA Trust Service Criteria 2017, with CC1-CC9, A1, PI1, C1, P-series enumerated). This clearly separates it from framework siblings like build_iso_42001, build_nist_ai_rmf, and build_gdpr_dpia without needing to name them.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The closing phrase 'walk into the audit kickoff with' implies the audit-preparation scenario, but there is no explicit when-to-use/when-not guidance and no routing to sibling builders (e.g., use build_gdpr_dpia for privacy-rule audits). Usage is only implied.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_constitutionA

Sign a new AI constitution. Returns a SignedConstitution whose hash field is the content-addressed identifier. Every receipt produced under this constitution should commit to this hash. The constitution itself is byte-deterministic — anyone can re-derive the hash given the same articles + name + signedBy.

NameRequiredDescriptionDefault
nameYesHuman-readable constitution name.
articlesYesArray of ConstitutionArticle: { id, title, text, severity (advisory/warning/blocking), measurableCondition (optional { pack, ruleId }), citations (optional string[]) }.
preambleNoOptional opening explaining the purpose.
signedByYesOperator identifier (org legal name).

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description does real work: it discloses the return type, the content-addressed id semantics, and the byte-deterministic invariant allowing re-derivation of the hash from articles+name+signedBy. It stops short of stating idempotency (re-signing the same content), immutability, or auth requirements, which matter for a mutation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, front-loaded with the action, then the return value, then the determinism invariant. No filler or restatement of the tool name.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema exists, so the description correctly explains the meaningful return value (`hash`). Combined with full schema coverage this is nearly complete; the remaining gap is downstream/ordering context relative to the build_* and verify_manifest siblings.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3. The description only adds that hash derivation depends on articles + name + signedBy (omitting preamble), which is a minor bit of semantics beyond the schema and does not require further elaboration.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Opens with a specific verb+resource ("Sign a new AI constitution") and clarifies the return artifact (SignedConstitution with a content-addressed `hash`). It reads as clearly distinct from the build_*/verify_manifest siblings, though it never names or contrasts them explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied: "Every receipt produced under this constitution should commit to this hash" signals that this is the root step preceding the build_* tools, but there's no explicit when-to-use, when-not-to-use, or named alternative.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

verify_manifestA

Verify a signed receipt bundle manifest (MANIFEST.signed.json) against an Ed25519 public key. Recomputes the manifest hash and checks the signature. Use before building a report from a receipt set you did not produce yourself. Does not check the ML-DSA-65 half of a v3 signature.

NameRequiredDescriptionDefault
manifestYesThe parsed MANIFEST.signed.json object.
publicKeyPemYesPEM-encoded Ed25519 public key (SPKI).

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the burden well: it discloses the internal mechanism (recompute manifest hash, then check signature) and a genuine coverage limit for v3 signatures. It does not say what failure looks like (exception vs. falsy result) or whether partial trust is signaled, which keeps it below a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four short sentences, each doing distinct work: purpose, mechanism, usage trigger, and a scope caveat. The verb and resource are front-loaded with zero filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a nested-object input with no output schema, the description should indicate the return shape (boolean vs. a result object with failure reasons). It covers inputs, mechanism, and scope but leaves the outcome contract unstated.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so both parameters are already documented as an object and a PEM SPKI Ed25519 key; baseline is 3. The description reinforces that the key must be Ed25519 and that the manifest is a signed envelope, but adds no format or constraint detail beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Names a specific verb and resource ('Verify a signed receipt bundle manifest'), pins the exact artifact (MANIFEST.signed.json) and the algorithm (Ed25519). It is unmistakably different from the build_* sibling tools, which all generate reports rather than validate inputs.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'Use before building a report from a receipt set you did not produce yourself' gives a concrete triggering condition and ties it to the downstream build_* workflow. It also states a negative scope ('Does not check the ML-DSA-65 half'), though it names no explicit alternative tool for that case.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 11 tool updatesv0.1.0
    • First observedbuild_annex_iv
    • First observedbuild_constitution_audit
    • First observedbuild_eu_cra
    • First observedbuild_gdpr_dpia
    • First observedbuild_hipaa_security
    • First observedbuild_iso_23894
    • First observedbuild_iso_42001
    • First observedbuild_nist_ai_rmf
    • First observedbuild_soc2_evidence
    • First observedcreate_constitution
    • First observedverify_manifest

TDQS

A4/5.0

Scored across 11 tools

Disambiguation4/5

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.

Naming Consistency5/5

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.

Tool Count5/5

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.

Completeness3/5

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.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    Provides tools to issue, verify, and export cryptographically signed receipts for AI agent actions, enabling tamper-proof audit trails for compliance with regulations like the EU AI Act.
    4
    53 npm
    1
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Provides cryptographic governance receipts for AI agents, enabling pre-execution evaluation and signed verdicts (EXECUTE/BLOCK/REVIEW/SHADOW) with offline-verifiable audit trails.
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI agents and builders to run local, audit-traceable governance assessments, including an A³ scorecard, ISO/IEC 42001 and NIST evidence templates, compliance checklists, passport lookup, and sensitive-text screening.
    MIT