{
  "openapi": "3.1.0",
  "info": {
    "title": "AINumbers.co Fintech Intelligence Suite",
    "version": "1.0.0",
    "description": "**1155 fintech intelligence tools** covering ISO 20022, A2A payments, CFPB §1033, EU AI Act, DORA, MiCA, AML/KYC, BaaS, DLT/tokenization, ESG/climate finance, agentic payments (AP2, ACP, x402, Visa TAP, Mastercard Agent Pay), PQC migration, sanctions screening, and OpenChainGraph v0.4 computation chains.\n\n## Transport\n\n> **The live transport is MCP JSON-RPC 2.0 at `https://mcp.ainumbers.co/mcp` — not REST.**\n>\n> This OpenAPI file is a **descriptive data-room artifact** — a machine-readable index of all tools and their input/output schemas. The REST paths (`POST /v1/tools/{name}`) described here are a projection; they become functional only if the optional REST shim (Area 2 Path B) is deployed.\n>\n> To call tools today, connect via the [official MCP client SDKs](https://docs.ainumbers.co). TypeScript: `@modelcontextprotocol/sdk`. Python: `mcp`.\n\n## Architecture\n\nAll tools run **entirely client-side** (browser JavaScript). Zero PII. Zero server calls after page load. Deterministic, reproducible outputs. Licensed CC BY 4.0.\n\nOpenChainGraph v0.4 compute-binding nodes additionally run **server-side on the MCP Worker** and emit verifiable artifacts with `execution_hash` (WebCrypto SHA-256 over RFC 8785 canonical JSON).",
    "contact": {
      "name": "Post Oak Labs",
      "url": "https://postoaklabs.com",
      "email": "tim@postoaklabs.com"
    },
    "license": {
      "name": "CC BY 4.0",
      "url": "https://creativecommons.org/licenses/by/4.0/"
    }
  },
  "x-mcp": {
    "transport": "MCP JSON-RPC 2.0 (streamable HTTP)",
    "endpoint": "https://mcp.ainumbers.co/mcp",
    "protocol_version": "2025-11-25",
    "authentication": "none",
    "registry": "co.ainumbers/tools (official MCP registry)",
    "note": "Connect any MCP-compatible client (Claude, ChatGPT, custom agent) directly to this endpoint. The REST paths in this file are descriptive only — they do not exist on the live server unless the REST shim is deployed."
  },
  "servers": [
    {
      "url": "https://ainumbers.co",
      "description": "Static browser-based tool host (DreamHost). Tools run client-side — no REST gateway is active on this origin. See x-mcp for the live MCP endpoint."
    }
  ],
  "tags": [
    {
      "name": "0xsplits"
    },
    {
      "name": "1.4"
    },
    {
      "name": "10000-limit"
    },
    {
      "name": "1033"
    },
    {
      "name": "1099-da"
    },
    {
      "name": "12 cfr 229"
    },
    {
      "name": "14-25"
    },
    {
      "name": "148-fields"
    },
    {
      "name": "1:1 backing"
    },
    {
      "name": "2017"
    },
    {
      "name": "2023/2854"
    },
    {
      "name": "2024/886"
    },
    {
      "name": "2025"
    },
    {
      "name": "2025-2027"
    },
    {
      "name": "2026"
    },
    {
      "name": "2026-07-28"
    },
    {
      "name": "2027"
    },
    {
      "name": "23 NYCRR 500"
    },
    {
      "name": "247"
    },
    {
      "name": "25-percent"
    },
    {
      "name": "2a.4"
    },
    {
      "name": "32-cfr-232"
    },
    {
      "name": "3DS"
    },
    {
      "name": "4% rule"
    },
    {
      "name": "401k"
    },
    {
      "name": "42 CFR 423.137"
    },
    {
      "name": "5-year"
    },
    {
      "name": "A2A"
    },
    {
      "name": "ACDC"
    },
    {
      "name": "ACH"
    },
    {
      "name": "ACL"
    },
    {
      "name": "ACP"
    },
    {
      "name": "AI"
    },
    {
      "name": "AM-Best"
    },
    {
      "name": "AML"
    },
    {
      "name": "AMLA"
    },
    {
      "name": "AMLR"
    },
    {
      "name": "AP2"
    },
    {
      "name": "AP2 export"
    },
    {
      "name": "API"
    },
    {
      "name": "APP"
    },
    {
      "name": "APP fraud"
    },
    {
      "name": "APP-fraud"
    },
    {
      "name": "AR4SI"
    },
    {
      "name": "ARM"
    },
    {
      "name": "ART"
    },
    {
      "name": "ASC 280"
    },
    {
      "name": "ASC 740"
    },
    {
      "name": "ASU 2023-07"
    },
    {
      "name": "ASU 2023-09"
    },
    {
      "name": "ASU 2024-03"
    },
    {
      "name": "ASU 2025-01"
    },
    {
      "name": "Agent Pay"
    },
    {
      "name": "Agent Payments Protocol"
    },
    {
      "name": "Agent2Agent"
    },
    {
      "name": "Agentic Commerce Protocol"
    },
    {
      "name": "Agentic Ready"
    },
    {
      "name": "Agentic Token"
    },
    {
      "name": "Amex"
    },
    {
      "name": "Annex-III"
    },
    {
      "name": "April 2026"
    },
    {
      "name": "Art 28"
    },
    {
      "name": "Art. 25"
    },
    {
      "name": "Art. 46a"
    },
    {
      "name": "Art.26"
    },
    {
      "name": "Art.28"
    },
    {
      "name": "Art.30"
    },
    {
      "name": "Art.36"
    },
    {
      "name": "Art.76a"
    },
    {
      "name": "Art.8"
    },
    {
      "name": "Art.9"
    },
    {
      "name": "Article 10"
    },
    {
      "name": "Article 9"
    },
    {
      "name": "August 2026"
    },
    {
      "name": "B2B"
    },
    {
      "name": "BCBS-239"
    },
    {
      "name": "BIC"
    },
    {
      "name": "BIS3"
    },
    {
      "name": "BNPL"
    },
    {
      "name": "BSA"
    },
    {
      "name": "BSCR"
    },
    {
      "name": "BaaS"
    },
    {
      "name": "Basel"
    },
    {
      "name": "Basel III"
    },
    {
      "name": "Basel III Endgame"
    },
    {
      "name": "Basel IV"
    },
    {
      "name": "C2PA"
    },
    {
      "name": "C2SP"
    },
    {
      "name": "CAS"
    },
    {
      "name": "CASP"
    },
    {
      "name": "CAWG"
    },
    {
      "name": "CBEST"
    },
    {
      "name": "CBO"
    },
    {
      "name": "CBPR+"
    },
    {
      "name": "CCA"
    },
    {
      "name": "CCC"
    },
    {
      "name": "CCP"
    },
    {
      "name": "CCPA"
    },
    {
      "name": "CDD"
    },
    {
      "name": "CDE"
    },
    {
      "name": "CDO"
    },
    {
      "name": "CDR"
    },
    {
      "name": "CET1"
    },
    {
      "name": "CFO memo"
    },
    {
      "name": "CFPB"
    },
    {
      "name": "CFPB 1033"
    },
    {
      "name": "CFTC"
    },
    {
      "name": "CHAPS"
    },
    {
      "name": "CIP"
    },
    {
      "name": "CIPS"
    },
    {
      "name": "CISO"
    },
    {
      "name": "CLO"
    },
    {
      "name": "CMG"
    },
    {
      "name": "CMS"
    },
    {
      "name": "CMVP"
    },
    {
      "name": "CNP"
    },
    {
      "name": "CONC 5A"
    },
    {
      "name": "CPMI-IOSCO"
    },
    {
      "name": "CPS"
    },
    {
      "name": "CRD6"
    },
    {
      "name": "CRE52"
    },
    {
      "name": "CRE70"
    },
    {
      "name": "CREST"
    },
    {
      "name": "CRQC"
    },
    {
      "name": "CRR III"
    },
    {
      "name": "CRR3"
    },
    {
      "name": "CSD"
    },
    {
      "name": "CSRD"
    },
    {
      "name": "CapEx"
    },
    {
      "name": "Central Record"
    },
    {
      "name": "CoP"
    },
    {
      "name": "CoP 2.0"
    },
    {
      "name": "Consumer Duty"
    },
    {
      "name": "Cosmos"
    },
    {
      "name": "Cover-2"
    },
    {
      "name": "DIO"
    },
    {
      "name": "DISE"
    },
    {
      "name": "DLT"
    },
    {
      "name": "DNS rebinding"
    },
    {
      "name": "DNSH"
    },
    {
      "name": "DORA"
    },
    {
      "name": "DPA"
    },
    {
      "name": "DPC"
    },
    {
      "name": "DPO"
    },
    {
      "name": "DPoP"
    },
    {
      "name": "DRR"
    },
    {
      "name": "DRR migration"
    },
    {
      "name": "DSO"
    },
    {
      "name": "DSR"
    },
    {
      "name": "DST"
    },
    {
      "name": "Data Integrity Proof"
    },
    {
      "name": "December 2026"
    },
    {
      "name": "DelegationGrant"
    },
    {
      "name": "DvP"
    },
    {
      "name": "EBA"
    },
    {
      "name": "EC Sales List"
    },
    {
      "name": "ECOA"
    },
    {
      "name": "ECR"
    },
    {
      "name": "EDD"
    },
    {
      "name": "EFRAG"
    },
    {
      "name": "EIOPA"
    },
    {
      "name": "EIP-3009"
    },
    {
      "name": "EIP-712"
    },
    {
      "name": "EMI"
    },
    {
      "name": "EMIR"
    },
    {
      "name": "EMT"
    },
    {
      "name": "EMV"
    },
    {
      "name": "EN 16931"
    },
    {
      "name": "EN16931"
    },
    {
      "name": "EPC"
    },
    {
      "name": "ERA"
    },
    {
      "name": "ESG"
    },
    {
      "name": "ESL"
    },
    {
      "name": "ESMA"
    },
    {
      "name": "ESRS"
    },
    {
      "name": "EU"
    },
    {
      "name": "EU 2019/2088"
    },
    {
      "name": "EU 2022/2554"
    },
    {
      "name": "EU 2024/1623"
    },
    {
      "name": "EU 2025/516"
    },
    {
      "name": "EU 2027"
    },
    {
      "name": "EU AI Act"
    },
    {
      "name": "EU IPR"
    },
    {
      "name": "EU taxonomy"
    },
    {
      "name": "EU-2015/35"
    },
    {
      "name": "EU-AI-Act"
    },
    {
      "name": "EU-sanctions"
    },
    {
      "name": "EUDI Wallet"
    },
    {
      "name": "EUDI wallet"
    },
    {
      "name": "Ed25519"
    },
    {
      "name": "EndToEndId matching"
    },
    {
      "name": "FAPI"
    },
    {
      "name": "FAPI 2.0"
    },
    {
      "name": "FATF"
    },
    {
      "name": "FCA"
    },
    {
      "name": "FCA-Consumer-Duty"
    },
    {
      "name": "FCA-PS21-3"
    },
    {
      "name": "FDIC"
    },
    {
      "name": "FDSS"
    },
    {
      "name": "FFIEC-BCP"
    },
    {
      "name": "FIDA"
    },
    {
      "name": "FIDO"
    },
    {
      "name": "FIPS 140-2"
    },
    {
      "name": "FIPS 140-3"
    },
    {
      "name": "FIPS 203"
    },
    {
      "name": "FIPS 204"
    },
    {
      "name": "FIPS 205"
    },
    {
      "name": "FIRE"
    },
    {
      "name": "FRB-SR-2022"
    },
    {
      "name": "FRTB"
    },
    {
      "name": "FX"
    },
    {
      "name": "Faster Payments"
    },
    {
      "name": "Fed"
    },
    {
      "name": "Fed deposit"
    },
    {
      "name": "FedNow"
    },
    {
      "name": "Federal Reserve"
    },
    {
      "name": "Fedwire"
    },
    {
      "name": "FiDA"
    },
    {
      "name": "FinCEN"
    },
    {
      "name": "Friedland-2010"
    },
    {
      "name": "GAR"
    },
    {
      "name": "GDPR"
    },
    {
      "name": "GENIUS Act"
    },
    {
      "name": "GIR"
    },
    {
      "name": "GLEIF"
    },
    {
      "name": "GWP"
    },
    {
      "name": "GloBE"
    },
    {
      "name": "Google"
    },
    {
      "name": "Google A2A"
    },
    {
      "name": "Guyton-Klinger"
    },
    {
      "name": "HNDL"
    },
    {
      "name": "HTTP 402"
    },
    {
      "name": "HTTP Message Signatures"
    },
    {
      "name": "Helm"
    },
    {
      "name": "IBAN"
    },
    {
      "name": "IBC"
    },
    {
      "name": "IBNR"
    },
    {
      "name": "IBS"
    },
    {
      "name": "ICS 023"
    },
    {
      "name": "ICS23"
    },
    {
      "name": "ICT"
    },
    {
      "name": "ICT incident"
    },
    {
      "name": "IDD"
    },
    {
      "name": "IDV"
    },
    {
      "name": "IIR"
    },
    {
      "name": "ILS"
    },
    {
      "name": "IMA"
    },
    {
      "name": "IOSS"
    },
    {
      "name": "IPR"
    },
    {
      "name": "IRA"
    },
    {
      "name": "IRDAI"
    },
    {
      "name": "IRR"
    },
    {
      "name": "ISA"
    },
    {
      "name": "ISO 13616"
    },
    {
      "name": "ISO 20022"
    },
    {
      "name": "ISO-17442"
    },
    {
      "name": "ISO-20022"
    },
    {
      "name": "ISO20022"
    },
    {
      "name": "ITS"
    },
    {
      "name": "Intelligent Commerce"
    },
    {
      "name": "JCS"
    },
    {
      "name": "JSON"
    },
    {
      "name": "JSON Schema 2020-12"
    },
    {
      "name": "JWT"
    },
    {
      "name": "Jan 2026"
    },
    {
      "name": "July 2026"
    },
    {
      "name": "July 2027"
    },
    {
      "name": "July 2028"
    },
    {
      "name": "KB-JWT"
    },
    {
      "name": "KERI"
    },
    {
      "name": "KID"
    },
    {
      "name": "KSeF"
    },
    {
      "name": "KYA"
    },
    {
      "name": "KYB"
    },
    {
      "name": "KYC"
    },
    {
      "name": "LCR"
    },
    {
      "name": "LDF"
    },
    {
      "name": "LEI"
    },
    {
      "name": "LISA"
    },
    {
      "name": "LR002"
    },
    {
      "name": "Lloyds-RDS"
    },
    {
      "name": "M&A"
    },
    {
      "name": "M2M"
    },
    {
      "name": "M3P"
    },
    {
      "name": "MCC"
    },
    {
      "name": "MCP"
    },
    {
      "name": "MDES"
    },
    {
      "name": "MDR"
    },
    {
      "name": "ML"
    },
    {
      "name": "ML-DSA"
    },
    {
      "name": "ML-KEM"
    },
    {
      "name": "MOD-97-10"
    },
    {
      "name": "MRM"
    },
    {
      "name": "MSS"
    },
    {
      "name": "MST"
    },
    {
      "name": "March 2026 proposal"
    },
    {
      "name": "Mastercard"
    },
    {
      "name": "Mastercard Agent Pay"
    },
    {
      "name": "Medicare"
    },
    {
      "name": "Merit I"
    },
    {
      "name": "Merkle inclusion"
    },
    {
      "name": "Merkle proof"
    },
    {
      "name": "Merkle receipt"
    },
    {
      "name": "Merkle sum tree"
    },
    {
      "name": "Merkle tree"
    },
    {
      "name": "MiCA"
    },
    {
      "name": "MiFID-II"
    },
    {
      "name": "MiFIR"
    },
    {
      "name": "Model-Act-312"
    },
    {
      "name": "Monte-Carlo"
    },
    {
      "name": "NABU"
    },
    {
      "name": "NACHA"
    },
    {
      "name": "NAIC"
    },
    {
      "name": "NAIC-IRIS"
    },
    {
      "name": "NAIC-RBC"
    },
    {
      "name": "NCA"
    },
    {
      "name": "NIST"
    },
    {
      "name": "NISTIR 8547"
    },
    {
      "name": "NMRF"
    },
    {
      "name": "NPP"
    },
    {
      "name": "NPV"
    },
    {
      "name": "NYDFS"
    },
    {
      "name": "Non-Union OSS"
    },
    {
      "name": "November 2026"
    },
    {
      "name": "OAuth 2.1"
    },
    {
      "name": "OAuth2"
    },
    {
      "name": "OCC"
    },
    {
      "name": "OCG receipt"
    },
    {
      "name": "OCG section 22.9"
    },
    {
      "name": "OCG section 23"
    },
    {
      "name": "ODFI"
    },
    {
      "name": "OECD"
    },
    {
      "name": "OFAC"
    },
    {
      "name": "OFSI"
    },
    {
      "name": "OSS"
    },
    {
      "name": "OTLP"
    },
    {
      "name": "OWASP ASI01"
    },
    {
      "name": "October 2027"
    },
    {
      "name": "OpenAI"
    },
    {
      "name": "OpenTelemetry"
    },
    {
      "name": "Origin"
    },
    {
      "name": "P&C"
    },
    {
      "name": "P&L attribution"
    },
    {
      "name": "PAI"
    },
    {
      "name": "PAR"
    },
    {
      "name": "PCI DSS"
    },
    {
      "name": "PCI-DSS 12.3.3"
    },
    {
      "name": "PFMI"
    },
    {
      "name": "PIX"
    },
    {
      "name": "PKCE"
    },
    {
      "name": "PML"
    },
    {
      "name": "PPSI"
    },
    {
      "name": "PQC"
    },
    {
      "name": "PQD"
    },
    {
      "name": "PRA-SS1-21"
    },
    {
      "name": "PRIIPs"
    },
    {
      "name": "PRIN 12"
    },
    {
      "name": "PRIN-2A"
    },
    {
      "name": "PS22/9"
    },
    {
      "name": "PS23/16"
    },
    {
      "name": "PS26/1"
    },
    {
      "name": "PSD2"
    },
    {
      "name": "PSD3"
    },
    {
      "name": "PSR"
    },
    {
      "name": "Part D"
    },
    {
      "name": "Pay.UK"
    },
    {
      "name": "PayTo"
    },
    {
      "name": "PaymentIntent"
    },
    {
      "name": "PaymentPayload"
    },
    {
      "name": "PaymentRequirements"
    },
    {
      "name": "Peppol"
    },
    {
      "name": "Pillar Two"
    },
    {
      "name": "PostCode"
    },
    {
      "name": "ProofSpec"
    },
    {
      "name": "QDMTT"
    },
    {
      "name": "Qualified SbS Regime"
    },
    {
      "name": "QuickJS"
    },
    {
      "name": "RBC"
    },
    {
      "name": "RDFI"
    },
    {
      "name": "RFC 6962"
    },
    {
      "name": "RFC 8707"
    },
    {
      "name": "RFC 8785"
    },
    {
      "name": "RFC 9421"
    },
    {
      "name": "RFC 9728"
    },
    {
      "name": "RFC 9901"
    },
    {
      "name": "ROI"
    },
    {
      "name": "RTP"
    },
    {
      "name": "RTP/TCH"
    },
    {
      "name": "RTS-22"
    },
    {
      "name": "RWA"
    },
    {
      "name": "RefundClaim"
    },
    {
      "name": "Rekor"
    },
    {
      "name": "Roth"
    },
    {
      "name": "SA"
    },
    {
      "name": "SA-CCR"
    },
    {
      "name": "SAID"
    },
    {
      "name": "SAQ"
    },
    {
      "name": "SAR"
    },
    {
      "name": "SCA"
    },
    {
      "name": "SCR"
    },
    {
      "name": "SCT Inst"
    },
    {
      "name": "SD-JWT"
    },
    {
      "name": "SD20"
    },
    {
      "name": "SDR"
    },
    {
      "name": "SEC"
    },
    {
      "name": "SEPA"
    },
    {
      "name": "SEPA Instant"
    },
    {
      "name": "SEPA-Instant"
    },
    {
      "name": "SFDR"
    },
    {
      "name": "SHA-256"
    },
    {
      "name": "SLA"
    },
    {
      "name": "SLH-DSA"
    },
    {
      "name": "SR 11-7"
    },
    {
      "name": "SR 26-02"
    },
    {
      "name": "SR-11-7"
    },
    {
      "name": "SR-26-2"
    },
    {
      "name": "SRI"
    },
    {
      "name": "SVR"
    },
    {
      "name": "SWIFT"
    },
    {
      "name": "SWIFT CBPR+"
    },
    {
      "name": "SWR"
    },
    {
      "name": "SbS Safe Harbour"
    },
    {
      "name": "SettlementReceipt"
    },
    {
      "name": "Shared Payment Token"
    },
    {
      "name": "Sigsum"
    },
    {
      "name": "Single Rulebook"
    },
    {
      "name": "Single VAT Registration"
    },
    {
      "name": "Streamable HTTP"
    },
    {
      "name": "StreetName"
    },
    {
      "name": "Stripe"
    },
    {
      "name": "Summa"
    },
    {
      "name": "T+1"
    },
    {
      "name": "T-bill"
    },
    {
      "name": "TAP"
    },
    {
      "name": "TARGET2"
    },
    {
      "name": "TIBER-EU"
    },
    {
      "name": "TLPT"
    },
    {
      "name": "TODO_AP2_EXPORT_REVIEW"
    },
    {
      "name": "TODO_TAGS_REVIEW"
    },
    {
      "name": "TPPP"
    },
    {
      "name": "TPR"
    },
    {
      "name": "TRA"
    },
    {
      "name": "TownName"
    },
    {
      "name": "Travel Rule"
    },
    {
      "name": "Trusted Agent Protocol"
    },
    {
      "name": "UBO"
    },
    {
      "name": "UCP"
    },
    {
      "name": "UK"
    },
    {
      "name": "UK GDPR"
    },
    {
      "name": "UK OB"
    },
    {
      "name": "UK PSR"
    },
    {
      "name": "UK savings"
    },
    {
      "name": "UK-PSR"
    },
    {
      "name": "UPE Safe Harbour"
    },
    {
      "name": "UPI"
    },
    {
      "name": "US banks"
    },
    {
      "name": "US capital rules"
    },
    {
      "name": "UST"
    },
    {
      "name": "UTPR"
    },
    {
      "name": "UX"
    },
    {
      "name": "Union OSS"
    },
    {
      "name": "VAT"
    },
    {
      "name": "VAT liability"
    },
    {
      "name": "VAT routing"
    },
    {
      "name": "VC 2.0"
    },
    {
      "name": "VC-JCS"
    },
    {
      "name": "VDCAP"
    },
    {
      "name": "VDR"
    },
    {
      "name": "VIC"
    },
    {
      "name": "VM"
    },
    {
      "name": "VOP"
    },
    {
      "name": "VPSF"
    },
    {
      "name": "VRP"
    },
    {
      "name": "VSD"
    },
    {
      "name": "Verifiable Digital Credential"
    },
    {
      "name": "ViDA"
    },
    {
      "name": "Visa"
    },
    {
      "name": "Visa Intelligent Commerce"
    },
    {
      "name": "Visa TAP"
    },
    {
      "name": "Visa Trusted Agent Protocol"
    },
    {
      "name": "VoP"
    },
    {
      "name": "Wave 1"
    },
    {
      "name": "WealthTech"
    },
    {
      "name": "Web Bot Auth"
    },
    {
      "name": "WebAssembly"
    },
    {
      "name": "XL"
    },
    {
      "name": "XML"
    },
    {
      "name": "Zero-PII"
    },
    {
      "name": "a-f-grade"
    },
    {
      "name": "a16z"
    },
    {
      "name": "abuse"
    },
    {
      "name": "acceptance-deadline"
    },
    {
      "name": "acceptance-policy"
    },
    {
      "name": "access-evaluation"
    },
    {
      "name": "account"
    },
    {
      "name": "account-abstraction"
    },
    {
      "name": "accredited-investor"
    },
    {
      "name": "accumulation-risk"
    },
    {
      "name": "ach"
    },
    {
      "name": "act"
    },
    {
      "name": "action-type"
    },
    {
      "name": "actuarial"
    },
    {
      "name": "actuarial-apr"
    },
    {
      "name": "address"
    },
    {
      "name": "adjudication"
    },
    {
      "name": "affirmation"
    },
    {
      "name": "affordability"
    },
    {
      "name": "agent"
    },
    {
      "name": "agent card"
    },
    {
      "name": "agent identity"
    },
    {
      "name": "agent recognition"
    },
    {
      "name": "agent token"
    },
    {
      "name": "agent tooling"
    },
    {
      "name": "agent-card"
    },
    {
      "name": "agent-identity"
    },
    {
      "name": "agent-observability"
    },
    {
      "name": "agent-payment"
    },
    {
      "name": "agent-traffic"
    },
    {
      "name": "agent_guardrail"
    },
    {
      "name": "agent_guardrail_mandate"
    },
    {
      "name": "agentic"
    },
    {
      "name": "agentic commerce"
    },
    {
      "name": "agentic payments"
    },
    {
      "name": "aggregation"
    },
    {
      "name": "agreement"
    },
    {
      "name": "ai-provenance"
    },
    {
      "name": "ai-training"
    },
    {
      "name": "ai-underwriting"
    },
    {
      "name": "air-gapped"
    },
    {
      "name": "airdrop"
    },
    {
      "name": "airgapped"
    },
    {
      "name": "aiuc-1"
    },
    {
      "name": "allowlist"
    },
    {
      "name": "alpha"
    },
    {
      "name": "aml"
    },
    {
      "name": "aml_rule"
    },
    {
      "name": "amld6"
    },
    {
      "name": "amlr"
    },
    {
      "name": "amortization"
    },
    {
      "name": "analytics_mandate"
    },
    {
      "name": "anchor"
    },
    {
      "name": "anna-dsb"
    },
    {
      "name": "annex-ii"
    },
    {
      "name": "annex-iii"
    },
    {
      "name": "annotations"
    },
    {
      "name": "annual allowance"
    },
    {
      "name": "annual report"
    },
    {
      "name": "annual review"
    },
    {
      "name": "anti-greenwashing"
    },
    {
      "name": "ap2"
    },
    {
      "name": "api"
    },
    {
      "name": "app"
    },
    {
      "name": "appendix-j"
    },
    {
      "name": "apr"
    },
    {
      "name": "aprc"
    },
    {
      "name": "art"
    },
    {
      "name": "art19"
    },
    {
      "name": "art43"
    },
    {
      "name": "art50"
    },
    {
      "name": "art51"
    },
    {
      "name": "art56"
    },
    {
      "name": "art60"
    },
    {
      "name": "art88-97"
    },
    {
      "name": "article"
    },
    {
      "name": "article-18"
    },
    {
      "name": "article-9-1"
    },
    {
      "name": "as-1105"
    },
    {
      "name": "as-1215"
    },
    {
      "name": "as-2301"
    },
    {
      "name": "as-if"
    },
    {
      "name": "asc-280"
    },
    {
      "name": "asc-740"
    },
    {
      "name": "asf"
    },
    {
      "name": "asserted"
    },
    {
      "name": "asserted mapping"
    },
    {
      "name": "assertions"
    },
    {
      "name": "assessment"
    },
    {
      "name": "assessment fee"
    },
    {
      "name": "asset"
    },
    {
      "name": "asu-2023-07"
    },
    {
      "name": "asu-2023-09"
    },
    {
      "name": "async-vault"
    },
    {
      "name": "atomic settlement"
    },
    {
      "name": "atomicity"
    },
    {
      "name": "attestation"
    },
    {
      "name": "attestation_mandate"
    },
    {
      "name": "attribution"
    },
    {
      "name": "audit"
    },
    {
      "name": "audit-evidence"
    },
    {
      "name": "auditor"
    },
    {
      "name": "auth030"
    },
    {
      "name": "authentication"
    },
    {
      "name": "authorisation"
    },
    {
      "name": "authorization"
    },
    {
      "name": "authorization-api"
    },
    {
      "name": "authorization-tuple"
    },
    {
      "name": "authorized-control-level"
    },
    {
      "name": "authzen"
    },
    {
      "name": "ba-cva"
    },
    {
      "name": "back-testing"
    },
    {
      "name": "banking"
    },
    {
      "name": "banking operations"
    },
    {
      "name": "base32"
    },
    {
      "name": "basel"
    },
    {
      "name": "basel-iii"
    },
    {
      "name": "basis"
    },
    {
      "name": "basis points"
    },
    {
      "name": "basis-risk"
    },
    {
      "name": "batch"
    },
    {
      "name": "batch validation"
    },
    {
      "name": "bcbs-238"
    },
    {
      "name": "bcbs-270"
    },
    {
      "name": "bcbs-295"
    },
    {
      "name": "bcbs-309"
    },
    {
      "name": "bcbs-360"
    },
    {
      "name": "bcbs-400"
    },
    {
      "name": "bec"
    },
    {
      "name": "bedrock-agentcore"
    },
    {
      "name": "benchmark"
    },
    {
      "name": "benchmarking"
    },
    {
      "name": "beneficial ownership"
    },
    {
      "name": "beneficial-ownership"
    },
    {
      "name": "benji"
    },
    {
      "name": "bermuda-BSCR"
    },
    {
      "name": "best-interest"
    },
    {
      "name": "bias"
    },
    {
      "name": "bidirectional"
    },
    {
      "name": "binder"
    },
    {
      "name": "binding"
    },
    {
      "name": "binding-constraint"
    },
    {
      "name": "bisection-solver"
    },
    {
      "name": "bitcoin"
    },
    {
      "name": "blake3"
    },
    {
      "name": "blockchain"
    },
    {
      "name": "bnpl"
    },
    {
      "name": "board"
    },
    {
      "name": "board memo"
    },
    {
      "name": "board report"
    },
    {
      "name": "board-reporting"
    },
    {
      "name": "bornhuetter-ferguson"
    },
    {
      "name": "branch"
    },
    {
      "name": "break-even"
    },
    {
      "name": "breakeven"
    },
    {
      "name": "broker-dealer"
    },
    {
      "name": "broker-reporting"
    },
    {
      "name": "builder"
    },
    {
      "name": "burn rate"
    },
    {
      "name": "burning-cost"
    },
    {
      "name": "business"
    },
    {
      "name": "business days"
    },
    {
      "name": "c2pa"
    },
    {
      "name": "c2patool"
    },
    {
      "name": "calc-agent-independence"
    },
    {
      "name": "calendar"
    },
    {
      "name": "calibration"
    },
    {
      "name": "camt"
    },
    {
      "name": "camt.053"
    },
    {
      "name": "canonicalize"
    },
    {
      "name": "cant-be-evil"
    },
    {
      "name": "canton"
    },
    {
      "name": "capability discovery"
    },
    {
      "name": "capital"
    },
    {
      "name": "capital adequacy"
    },
    {
      "name": "capital efficiency"
    },
    {
      "name": "capital markets"
    },
    {
      "name": "capital requirements"
    },
    {
      "name": "capital-comparison"
    },
    {
      "name": "capital-gain"
    },
    {
      "name": "capital_assessment"
    },
    {
      "name": "card"
    },
    {
      "name": "carf"
    },
    {
      "name": "cartmandate"
    },
    {
      "name": "cascade"
    },
    {
      "name": "case"
    },
    {
      "name": "case file"
    },
    {
      "name": "cash"
    },
    {
      "name": "cash-leg"
    },
    {
      "name": "casp"
    },
    {
      "name": "cat-bond"
    },
    {
      "name": "catastrophe-bond"
    },
    {
      "name": "catastrophe-model"
    },
    {
      "name": "cbcr"
    },
    {
      "name": "cbpr+"
    },
    {
      "name": "cc-by"
    },
    {
      "name": "cc0"
    },
    {
      "name": "ccd2"
    },
    {
      "name": "ccrel"
    },
    {
      "name": "cdd"
    },
    {
      "name": "cell-diff"
    },
    {
      "name": "certification"
    },
    {
      "name": "cft"
    },
    {
      "name": "chain-ladder"
    },
    {
      "name": "chaingraph"
    },
    {
      "name": "chaingraph_export"
    },
    {
      "name": "challenge"
    },
    {
      "name": "charge-inclusion"
    },
    {
      "name": "chargeback"
    },
    {
      "name": "chart of accounts"
    },
    {
      "name": "check hold"
    },
    {
      "name": "checklist"
    },
    {
      "name": "checkout"
    },
    {
      "name": "checkpoint"
    },
    {
      "name": "checkrun"
    },
    {
      "name": "chips"
    },
    {
      "name": "cid"
    },
    {
      "name": "cidv1"
    },
    {
      "name": "citation-gated"
    },
    {
      "name": "claim algebra"
    },
    {
      "name": "claim evidence"
    },
    {
      "name": "class"
    },
    {
      "name": "classification"
    },
    {
      "name": "clause"
    },
    {
      "name": "clearing"
    },
    {
      "name": "clearinghouse"
    },
    {
      "name": "climate risk"
    },
    {
      "name": "close match"
    },
    {
      "name": "cloud"
    },
    {
      "name": "cloudflare"
    },
    {
      "name": "cnav"
    },
    {
      "name": "code"
    },
    {
      "name": "codm"
    },
    {
      "name": "coexistence"
    },
    {
      "name": "collateral"
    },
    {
      "name": "collateral-swap"
    },
    {
      "name": "collateral_mandate"
    },
    {
      "name": "colour"
    },
    {
      "name": "com/2023/360"
    },
    {
      "name": "combined-ratio"
    },
    {
      "name": "commercial"
    },
    {
      "name": "commercial-remix"
    },
    {
      "name": "common paper"
    },
    {
      "name": "comparator"
    },
    {
      "name": "compare"
    },
    {
      "name": "comparison"
    },
    {
      "name": "compatibility"
    },
    {
      "name": "compliance"
    },
    {
      "name": "compliance score"
    },
    {
      "name": "compliance-calendar"
    },
    {
      "name": "compliance-scoring"
    },
    {
      "name": "compliance_control"
    },
    {
      "name": "compliance_mandate"
    },
    {
      "name": "composer"
    },
    {
      "name": "confirmation of payee"
    },
    {
      "name": "conformance"
    },
    {
      "name": "conformance-fixture"
    },
    {
      "name": "confused deputy"
    },
    {
      "name": "conjunction"
    },
    {
      "name": "connected"
    },
    {
      "name": "consent"
    },
    {
      "name": "consent policy"
    },
    {
      "name": "consumer"
    },
    {
      "name": "consumer-credit"
    },
    {
      "name": "consumer-data"
    },
    {
      "name": "content addressing"
    },
    {
      "name": "content credentials"
    },
    {
      "name": "content-code"
    },
    {
      "name": "content-creator"
    },
    {
      "name": "content-credentials"
    },
    {
      "name": "contract"
    },
    {
      "name": "control sum"
    },
    {
      "name": "controller"
    },
    {
      "name": "conversion"
    },
    {
      "name": "corporate-action"
    },
    {
      "name": "correlation"
    },
    {
      "name": "correspondence receipt"
    },
    {
      "name": "correspondent banking"
    },
    {
      "name": "cose"
    },
    {
      "name": "cost"
    },
    {
      "name": "cost analysis"
    },
    {
      "name": "cost disclosure"
    },
    {
      "name": "cost optimisation"
    },
    {
      "name": "cost-basis"
    },
    {
      "name": "cost-to-serve"
    },
    {
      "name": "counterparty"
    },
    {
      "name": "counterparty-default"
    },
    {
      "name": "covariance"
    },
    {
      "name": "coverage"
    },
    {
      "name": "coverage matrix"
    },
    {
      "name": "covered-security"
    },
    {
      "name": "covered-taxes"
    },
    {
      "name": "creative commons"
    },
    {
      "name": "creative-commons"
    },
    {
      "name": "credential"
    },
    {
      "name": "credibility"
    },
    {
      "name": "credit"
    },
    {
      "name": "credit entry"
    },
    {
      "name": "credit risk"
    },
    {
      "name": "credit scoring"
    },
    {
      "name": "credit transfer initiation"
    },
    {
      "name": "credit_assessment"
    },
    {
      "name": "creditworthiness"
    },
    {
      "name": "cross-border"
    },
    {
      "name": "cross-sector"
    },
    {
      "name": "crr2"
    },
    {
      "name": "crr3"
    },
    {
      "name": "crypto"
    },
    {
      "name": "crypto exchange"
    },
    {
      "name": "crypto inventory"
    },
    {
      "name": "crypto-agility"
    },
    {
      "name": "crypto-asset"
    },
    {
      "name": "crypto-primitive"
    },
    {
      "name": "crypto-tax"
    },
    {
      "name": "crypto_regulatory_mandate"
    },
    {
      "name": "cryptographic_mandate"
    },
    {
      "name": "csv"
    },
    {
      "name": "currency-basket"
    },
    {
      "name": "custody"
    },
    {
      "name": "customer"
    },
    {
      "name": "customer risk"
    },
    {
      "name": "cutoff"
    },
    {
      "name": "cva"
    },
    {
      "name": "cyber resilience"
    },
    {
      "name": "cyber-insurance"
    },
    {
      "name": "cybersecurity regulation"
    },
    {
      "name": "d499"
    },
    {
      "name": "dac8"
    },
    {
      "name": "dag-pb"
    },
    {
      "name": "daml"
    },
    {
      "name": "dashboard"
    },
    {
      "name": "data"
    },
    {
      "name": "data governance"
    },
    {
      "name": "data holder"
    },
    {
      "name": "data points"
    },
    {
      "name": "data processing"
    },
    {
      "name": "data room"
    },
    {
      "name": "data security"
    },
    {
      "name": "data sharing"
    },
    {
      "name": "data user"
    },
    {
      "name": "data-governance"
    },
    {
      "name": "data-quality"
    },
    {
      "name": "data-rights"
    },
    {
      "name": "data-subject-rights"
    },
    {
      "name": "day-count-convention"
    },
    {
      "name": "de-minimis"
    },
    {
      "name": "dealing"
    },
    {
      "name": "decision engine"
    },
    {
      "name": "decision-tree"
    },
    {
      "name": "decline"
    },
    {
      "name": "decoder"
    },
    {
      "name": "deemed supplier"
    },
    {
      "name": "deepfake"
    },
    {
      "name": "default fund"
    },
    {
      "name": "deferred-tax"
    },
    {
      "name": "definition"
    },
    {
      "name": "delegated payment"
    },
    {
      "name": "deployer"
    },
    {
      "name": "deposit compliance"
    },
    {
      "name": "deposits"
    },
    {
      "name": "derivatives"
    },
    {
      "name": "desk"
    },
    {
      "name": "determinism"
    },
    {
      "name": "device"
    },
    {
      "name": "diagnostic"
    },
    {
      "name": "did:key"
    },
    {
      "name": "diff"
    },
    {
      "name": "digest"
    },
    {
      "name": "digest-pinning"
    },
    {
      "name": "digital assets"
    },
    {
      "name": "digital identity"
    },
    {
      "name": "digital platforms"
    },
    {
      "name": "digital reporting requirements"
    },
    {
      "name": "digital-asset"
    },
    {
      "name": "digitalSourceType"
    },
    {
      "name": "digitalsourcetype"
    },
    {
      "name": "direct debit"
    },
    {
      "name": "disaggregation"
    },
    {
      "name": "disclosure"
    },
    {
      "name": "disclosure manifest"
    },
    {
      "name": "disclosure readiness"
    },
    {
      "name": "disclosure_template"
    },
    {
      "name": "disparate impact"
    },
    {
      "name": "disposition"
    },
    {
      "name": "dispute"
    },
    {
      "name": "dlt-pilot"
    },
    {
      "name": "docket-deadlines"
    },
    {
      "name": "documentation"
    },
    {
      "name": "domain-separation"
    },
    {
      "name": "double materiality"
    },
    {
      "name": "downgrade"
    },
    {
      "name": "dtc"
    },
    {
      "name": "dual"
    },
    {
      "name": "dual signature"
    },
    {
      "name": "dual-layer"
    },
    {
      "name": "due diligence"
    },
    {
      "name": "duty"
    },
    {
      "name": "dvp"
    },
    {
      "name": "e-invoice"
    },
    {
      "name": "e-invoicing"
    },
    {
      "name": "eIDAS 2.0"
    },
    {
      "name": "ead"
    },
    {
      "name": "eba"
    },
    {
      "name": "ecdsa-recovery"
    },
    {
      "name": "ed25519"
    },
    {
      "name": "edd"
    },
    {
      "name": "eddsa"
    },
    {
      "name": "eddsa-jcs-2022"
    },
    {
      "name": "edgar-nmfp"
    },
    {
      "name": "effective date"
    },
    {
      "name": "effective-date"
    },
    {
      "name": "effective-interest-method"
    },
    {
      "name": "eidas2"
    },
    {
      "name": "eip-3009"
    },
    {
      "name": "eip-712"
    },
    {
      "name": "eip-7702"
    },
    {
      "name": "embedded-insurance"
    },
    {
      "name": "emd2"
    },
    {
      "name": "emi"
    },
    {
      "name": "emir"
    },
    {
      "name": "emir-refit"
    },
    {
      "name": "emr"
    },
    {
      "name": "emt"
    },
    {
      "name": "engagement"
    },
    {
      "name": "engagement-file"
    },
    {
      "name": "entrypoint"
    },
    {
      "name": "envelope verifier"
    },
    {
      "name": "erc-1155"
    },
    {
      "name": "erc-2981"
    },
    {
      "name": "erc-4337"
    },
    {
      "name": "erc-4626"
    },
    {
      "name": "erc-721"
    },
    {
      "name": "erc-7540"
    },
    {
      "name": "error"
    },
    {
      "name": "escalation"
    },
    {
      "name": "esma"
    },
    {
      "name": "etr"
    },
    {
      "name": "eu"
    },
    {
      "name": "eu-2023-2225"
    },
    {
      "name": "eu-ai-act"
    },
    {
      "name": "eu-mmfr"
    },
    {
      "name": "eu27"
    },
    {
      "name": "eudi"
    },
    {
      "name": "evidence"
    },
    {
      "name": "evidence bundle"
    },
    {
      "name": "evidence index"
    },
    {
      "name": "evidence-bundle"
    },
    {
      "name": "examiner"
    },
    {
      "name": "excel"
    },
    {
      "name": "exception disposition"
    },
    {
      "name": "exceptions"
    },
    {
      "name": "excess-of-loss"
    },
    {
      "name": "exchange-assurance"
    },
    {
      "name": "exclusive"
    },
    {
      "name": "execution_hash"
    },
    {
      "name": "exemptions"
    },
    {
      "name": "exhaustive-enumeration"
    },
    {
      "name": "existence proof"
    },
    {
      "name": "expanded risk-based approach"
    },
    {
      "name": "expense disaggregation"
    },
    {
      "name": "expense-ratio"
    },
    {
      "name": "expiry"
    },
    {
      "name": "explainability"
    },
    {
      "name": "export"
    },
    {
      "name": "export fidelity"
    },
    {
      "name": "exposure"
    },
    {
      "name": "facilitator"
    },
    {
      "name": "failure points"
    },
    {
      "name": "failure receipt"
    },
    {
      "name": "fair"
    },
    {
      "name": "fair lending"
    },
    {
      "name": "false pretenses"
    },
    {
      "name": "fasb"
    },
    {
      "name": "fatf"
    },
    {
      "name": "fca"
    },
    {
      "name": "federal"
    },
    {
      "name": "fedwire"
    },
    {
      "name": "fee"
    },
    {
      "name": "fee parity"
    },
    {
      "name": "fg21/1"
    },
    {
      "name": "fida"
    },
    {
      "name": "field"
    },
    {
      "name": "fifo"
    },
    {
      "name": "file format"
    },
    {
      "name": "filer-status"
    },
    {
      "name": "filing"
    },
    {
      "name": "finality"
    },
    {
      "name": "finance"
    },
    {
      "name": "financial"
    },
    {
      "name": "financial data access"
    },
    {
      "name": "financial services"
    },
    {
      "name": "fingerprint"
    },
    {
      "name": "finra"
    },
    {
      "name": "fip"
    },
    {
      "name": "firewall"
    },
    {
      "name": "firm"
    },
    {
      "name": "fiscal year"
    },
    {
      "name": "five-percent-threshold"
    },
    {
      "name": "fixed-amount-method"
    },
    {
      "name": "flow"
    },
    {
      "name": "forecast"
    },
    {
      "name": "foreign issuer"
    },
    {
      "name": "form-crs"
    },
    {
      "name": "formula"
    },
    {
      "name": "founder"
    },
    {
      "name": "four"
    },
    {
      "name": "four outcomes"
    },
    {
      "name": "four-outcomes"
    },
    {
      "name": "framework"
    },
    {
      "name": "fraud"
    },
    {
      "name": "fraud detection"
    },
    {
      "name": "fraud monitoring"
    },
    {
      "name": "fraud-graph"
    },
    {
      "name": "fraud-policy"
    },
    {
      "name": "freedom"
    },
    {
      "name": "frictionless"
    },
    {
      "name": "frtb"
    },
    {
      "name": "fund"
    },
    {
      "name": "funds"
    },
    {
      "name": "funds availability"
    },
    {
      "name": "fuzzy-match"
    },
    {
      "name": "fx"
    },
    {
      "name": "g-sib"
    },
    {
      "name": "gap analysis"
    },
    {
      "name": "gap-analysis"
    },
    {
      "name": "gen_ai"
    },
    {
      "name": "genius"
    },
    {
      "name": "genius-act"
    },
    {
      "name": "gir"
    },
    {
      "name": "globe"
    },
    {
      "name": "gmra"
    },
    {
      "name": "gmsla"
    },
    {
      "name": "governance"
    },
    {
      "name": "governance_mandate"
    },
    {
      "name": "green asset ratio"
    },
    {
      "name": "greenwashing"
    },
    {
      "name": "haircut"
    },
    {
      "name": "handover"
    },
    {
      "name": "harmonization"
    },
    {
      "name": "hash"
    },
    {
      "name": "hash-chain"
    },
    {
      "name": "hash-proof"
    },
    {
      "name": "headers"
    },
    {
      "name": "helm"
    },
    {
      "name": "herstatt"
    },
    {
      "name": "hifo"
    },
    {
      "name": "high-risk AI"
    },
    {
      "name": "historical"
    },
    {
      "name": "holidays"
    },
    {
      "name": "horizon-scanning"
    },
    {
      "name": "hqla"
    },
    {
      "name": "http-message-signatures"
    },
    {
      "name": "hvps"
    },
    {
      "name": "hybrid mode"
    },
    {
      "name": "iavl"
    },
    {
      "name": "identity"
    },
    {
      "name": "idle-capital"
    },
    {
      "name": "ifd"
    },
    {
      "name": "ifr"
    },
    {
      "name": "iir"
    },
    {
      "name": "ima"
    },
    {
      "name": "impact-assessment"
    },
    {
      "name": "impact-tolerances"
    },
    {
      "name": "implication"
    },
    {
      "name": "import"
    },
    {
      "name": "incident"
    },
    {
      "name": "incident record"
    },
    {
      "name": "inclusion proof"
    },
    {
      "name": "income tax disclosure"
    },
    {
      "name": "income-tax-disclosures"
    },
    {
      "name": "index"
    },
    {
      "name": "indicated-rate-change"
    },
    {
      "name": "inflation-attack"
    },
    {
      "name": "information"
    },
    {
      "name": "information-return"
    },
    {
      "name": "infrastructure"
    },
    {
      "name": "infrastructure_mandate"
    },
    {
      "name": "ingredient-tree"
    },
    {
      "name": "initial"
    },
    {
      "name": "injection"
    },
    {
      "name": "input attestations"
    },
    {
      "name": "input-attestation"
    },
    {
      "name": "insider"
    },
    {
      "name": "instant payments"
    },
    {
      "name": "institution"
    },
    {
      "name": "insurance"
    },
    {
      "name": "insurance-pricing"
    },
    {
      "name": "insurance-regulation"
    },
    {
      "name": "insured"
    },
    {
      "name": "insurtech"
    },
    {
      "name": "interchange"
    },
    {
      "name": "interchange impact"
    },
    {
      "name": "intra-EU"
    },
    {
      "name": "intraday"
    },
    {
      "name": "investigation"
    },
    {
      "name": "investment"
    },
    {
      "name": "investment-adviser"
    },
    {
      "name": "ip"
    },
    {
      "name": "ip licensing"
    },
    {
      "name": "ipfs"
    },
    {
      "name": "iptc"
    },
    {
      "name": "irs"
    },
    {
      "name": "iscc"
    },
    {
      "name": "isda-2006-definitions"
    },
    {
      "name": "iso 20022"
    },
    {
      "name": "iso-24138"
    },
    {
      "name": "iso20022"
    },
    {
      "name": "iso23897"
    },
    {
      "name": "iso4914"
    },
    {
      "name": "issuance"
    },
    {
      "name": "issuer"
    },
    {
      "name": "issuer readiness"
    },
    {
      "name": "json"
    },
    {
      "name": "json schema"
    },
    {
      "name": "json-ld"
    },
    {
      "name": "jurisdiction"
    },
    {
      "name": "jwks"
    },
    {
      "name": "k-asa"
    },
    {
      "name": "k-aum"
    },
    {
      "name": "k-coh"
    },
    {
      "name": "k-factor"
    },
    {
      "name": "keccak256"
    },
    {
      "name": "kernel"
    },
    {
      "name": "key-rotation"
    },
    {
      "name": "km1"
    },
    {
      "name": "kya"
    },
    {
      "name": "kyc"
    },
    {
      "name": "large deposit exception"
    },
    {
      "name": "lcr"
    },
    {
      "name": "legal"
    },
    {
      "name": "legal-ops"
    },
    {
      "name": "lei"
    },
    {
      "name": "leverage-ratio"
    },
    {
      "name": "liabilities"
    },
    {
      "name": "liability"
    },
    {
      "name": "liability aggregation"
    },
    {
      "name": "liability shift"
    },
    {
      "name": "license"
    },
    {
      "name": "licensing"
    },
    {
      "name": "life insurance"
    },
    {
      "name": "lifecycle"
    },
    {
      "name": "lifo"
    },
    {
      "name": "limits"
    },
    {
      "name": "linter"
    },
    {
      "name": "liq1"
    },
    {
      "name": "liq2"
    },
    {
      "name": "liquidity"
    },
    {
      "name": "liquidity_mandate"
    },
    {
      "name": "loss-development-factor"
    },
    {
      "name": "loss-ratio"
    },
    {
      "name": "loss-ratio-method"
    },
    {
      "name": "loss-trend"
    },
    {
      "name": "loss-triangle"
    },
    {
      "name": "lvnav"
    },
    {
      "name": "mTLS"
    },
    {
      "name": "major incident"
    },
    {
      "name": "management"
    },
    {
      "name": "mandate"
    },
    {
      "name": "manifest"
    },
    {
      "name": "manifest_digest"
    },
    {
      "name": "manipulation"
    },
    {
      "name": "mapping"
    },
    {
      "name": "mapr"
    },
    {
      "name": "mar30"
    },
    {
      "name": "mar32"
    },
    {
      "name": "mar33"
    },
    {
      "name": "margin"
    },
    {
      "name": "mark-price"
    },
    {
      "name": "markdown"
    },
    {
      "name": "market"
    },
    {
      "name": "market risk"
    },
    {
      "name": "market-risk"
    },
    {
      "name": "mastercard-agent-pay"
    },
    {
      "name": "matching"
    },
    {
      "name": "matrix"
    },
    {
      "name": "matter export"
    },
    {
      "name": "maturity"
    },
    {
      "name": "mcp:build_ap2_cartmandate_hashchain"
    },
    {
      "name": "mcp:check_iolta_three_way_reconciliation"
    },
    {
      "name": "mcp:check_jwks_pinned_directory"
    },
    {
      "name": "mcp:check_mica_register_presence"
    },
    {
      "name": "mcp:check_x402_domain_nonce_window"
    },
    {
      "name": "mcp:classify_codm_expense_significance"
    },
    {
      "name": "mcp:classify_mla_charge_inclusion"
    },
    {
      "name": "mcp:classify_rate_rec_5pct_threshold"
    },
    {
      "name": "mcp:classify_redline_round_changes"
    },
    {
      "name": "mcp:compute_authzen_conformance_fixture"
    },
    {
      "name": "mcp:compute_deterministic_amortization_schedule"
    },
    {
      "name": "mcp:correlate_ap2_cartmandate_x402"
    },
    {
      "name": "mcp:decode_c2pa_aiml_assertions"
    },
    {
      "name": "mcp:decode_eip7702_authorization_tuple"
    },
    {
      "name": "mcp:evaluate_decision_tree"
    },
    {
      "name": "mcp:recompute_ccd2_aprc_annex3"
    },
    {
      "name": "mcp:recompute_erc4337_userop_math"
    },
    {
      "name": "mcp:recompute_erc4626_vault_share_math"
    },
    {
      "name": "mcp:recompute_erc7540_request_accounting"
    },
    {
      "name": "mcp:recompute_mla_mapr_actuarial"
    },
    {
      "name": "mcp:recompute_stablecoin_reserve_3source"
    },
    {
      "name": "mcp:recompute_x402_eip712_digest"
    },
    {
      "name": "mcp:resolve_rule_version"
    },
    {
      "name": "mcp:sweep_docket_deadlines"
    },
    {
      "name": "mcp:test_asc280_reportable_segment"
    },
    {
      "name": "mcp:track_globe_transition_deferred_tax"
    },
    {
      "name": "mcp:verify_merkle_airdrop_proof"
    },
    {
      "name": "mcp:verify_x402_signer_recovery"
    },
    {
      "name": "merchant"
    },
    {
      "name": "merkle"
    },
    {
      "name": "merkle inclusion"
    },
    {
      "name": "merkle proof"
    },
    {
      "name": "merkle root"
    },
    {
      "name": "merkle sum tree"
    },
    {
      "name": "merkle-sum"
    },
    {
      "name": "metadata"
    },
    {
      "name": "method"
    },
    {
      "name": "mica"
    },
    {
      "name": "micro-payment"
    },
    {
      "name": "micropayment"
    },
    {
      "name": "mifid"
    },
    {
      "name": "mifid3"
    },
    {
      "name": "migration"
    },
    {
      "name": "migration roadmap"
    },
    {
      "name": "military-lending-act"
    },
    {
      "name": "minimum tax"
    },
    {
      "name": "minimum-tax"
    },
    {
      "name": "mmf"
    },
    {
      "name": "mne"
    },
    {
      "name": "mobilization"
    },
    {
      "name": "model"
    },
    {
      "name": "model inventory"
    },
    {
      "name": "model risk"
    },
    {
      "name": "model risk management"
    },
    {
      "name": "model-governance"
    },
    {
      "name": "model-risk"
    },
    {
      "name": "model_governance"
    },
    {
      "name": "monetisation"
    },
    {
      "name": "monitoring"
    },
    {
      "name": "monthly"
    },
    {
      "name": "monthly cap"
    },
    {
      "name": "monthly disclosure"
    },
    {
      "name": "mortgage"
    },
    {
      "name": "mt101"
    },
    {
      "name": "mt103"
    },
    {
      "name": "mt202"
    },
    {
      "name": "multi-currency"
    },
    {
      "name": "multibase"
    },
    {
      "name": "multihash"
    },
    {
      "name": "nacha"
    },
    {
      "name": "name matching"
    },
    {
      "name": "nca"
    },
    {
      "name": "new account exception"
    },
    {
      "name": "nft"
    },
    {
      "name": "nft-license"
    },
    {
      "name": "non-existence proof"
    },
    {
      "name": "non-life"
    },
    {
      "name": "nonbank"
    },
    {
      "name": "nonce"
    },
    {
      "name": "nonce-check"
    },
    {
      "name": "nostro"
    },
    {
      "name": "notification"
    },
    {
      "name": "npv"
    },
    {
      "name": "nsfr"
    },
    {
      "name": "obligations"
    },
    {
      "name": "obliged entity"
    },
    {
      "name": "obliged-entity"
    },
    {
      "name": "observed"
    },
    {
      "name": "occ"
    },
    {
      "name": "october"
    },
    {
      "name": "odfi"
    },
    {
      "name": "oecd"
    },
    {
      "name": "offline"
    },
    {
      "name": "offline checker"
    },
    {
      "name": "offline verifier"
    },
    {
      "name": "on-chain"
    },
    {
      "name": "on-chain settlement"
    },
    {
      "name": "onboarding"
    },
    {
      "name": "oneSaaS"
    },
    {
      "name": "ongoing"
    },
    {
      "name": "open"
    },
    {
      "name": "open banking"
    },
    {
      "name": "open finance"
    },
    {
      "name": "open license"
    },
    {
      "name": "open-banking"
    },
    {
      "name": "openchaingraph"
    },
    {
      "name": "openid"
    },
    {
      "name": "opensea"
    },
    {
      "name": "openzeppelin"
    },
    {
      "name": "operational resilience"
    },
    {
      "name": "operational risk"
    },
    {
      "name": "operational-resilience"
    },
    {
      "name": "ops"
    },
    {
      "name": "ops-policy"
    },
    {
      "name": "opt-out"
    },
    {
      "name": "optimisation"
    },
    {
      "name": "optimization"
    },
    {
      "name": "oracle"
    },
    {
      "name": "orchestration"
    },
    {
      "name": "originator"
    },
    {
      "name": "other-segment-items"
    },
    {
      "name": "out-of-pocket"
    },
    {
      "name": "outcomes"
    },
    {
      "name": "output floor"
    },
    {
      "name": "ov1"
    },
    {
      "name": "oversight"
    },
    {
      "name": "own"
    },
    {
      "name": "p&l"
    },
    {
      "name": "pacs"
    },
    {
      "name": "pacs.008"
    },
    {
      "name": "pacs002"
    },
    {
      "name": "pacs008"
    },
    {
      "name": "pain"
    },
    {
      "name": "pain.001"
    },
    {
      "name": "pairing"
    },
    {
      "name": "paper"
    },
    {
      "name": "parametric-insurance"
    },
    {
      "name": "parametric-trigger"
    },
    {
      "name": "participation"
    },
    {
      "name": "passenger transport"
    },
    {
      "name": "passporting"
    },
    {
      "name": "path"
    },
    {
      "name": "pay-by-bank"
    },
    {
      "name": "payback"
    },
    {
      "name": "paymaster"
    },
    {
      "name": "payment"
    },
    {
      "name": "payment composer"
    },
    {
      "name": "payment journey"
    },
    {
      "name": "payment mix"
    },
    {
      "name": "payment rails"
    },
    {
      "name": "payment stablecoin"
    },
    {
      "name": "payment-fraud"
    },
    {
      "name": "payment-rails"
    },
    {
      "name": "payment_mandate"
    },
    {
      "name": "payment_policy"
    },
    {
      "name": "payments"
    },
    {
      "name": "payout-curve"
    },
    {
      "name": "payroll redirect"
    },
    {
      "name": "pcaob"
    },
    {
      "name": "pdf"
    },
    {
      "name": "pdp"
    },
    {
      "name": "pearson"
    },
    {
      "name": "penetration testing"
    },
    {
      "name": "pensions"
    },
    {
      "name": "permissible-loss-ratio"
    },
    {
      "name": "permission"
    },
    {
      "name": "permission dashboard"
    },
    {
      "name": "personal finance"
    },
    {
      "name": "pfe"
    },
    {
      "name": "pfmi"
    },
    {
      "name": "phase"
    },
    {
      "name": "phase 2"
    },
    {
      "name": "phase-in"
    },
    {
      "name": "pid"
    },
    {
      "name": "pil"
    },
    {
      "name": "pillar-3"
    },
    {
      "name": "pillar-two"
    },
    {
      "name": "plat"
    },
    {
      "name": "platform economy"
    },
    {
      "name": "policy"
    },
    {
      "name": "policy-decision-point"
    },
    {
      "name": "portfolio"
    },
    {
      "name": "post-quantum"
    },
    {
      "name": "ppsi"
    },
    {
      "name": "pre-mint"
    },
    {
      "name": "pre-payment"
    },
    {
      "name": "precontractual"
    },
    {
      "name": "prefunding"
    },
    {
      "name": "preparation receipt"
    },
    {
      "name": "prescription payment plan"
    },
    {
      "name": "presence-as-of-date"
    },
    {
      "name": "presentation-request"
    },
    {
      "name": "price"
    },
    {
      "name": "price-aggregation"
    },
    {
      "name": "pricing"
    },
    {
      "name": "pricing-model"
    },
    {
      "name": "prin"
    },
    {
      "name": "print-lineage"
    },
    {
      "name": "privacy"
    },
    {
      "name": "probable-maximum-loss"
    },
    {
      "name": "proceeds"
    },
    {
      "name": "processor"
    },
    {
      "name": "procurement"
    },
    {
      "name": "product-classification"
    },
    {
      "name": "product-feed"
    },
    {
      "name": "products"
    },
    {
      "name": "profitability"
    },
    {
      "name": "programmable-ip-license"
    },
    {
      "name": "prompt injection"
    },
    {
      "name": "prompt_template"
    },
    {
      "name": "proof of reserves"
    },
    {
      "name": "proof-of-reserves"
    },
    {
      "name": "property-casualty"
    },
    {
      "name": "property-tested"
    },
    {
      "name": "protocol"
    },
    {
      "name": "provenance"
    },
    {
      "name": "provider"
    },
    {
      "name": "prudential"
    },
    {
      "name": "ps22/9"
    },
    {
      "name": "ps23/3"
    },
    {
      "name": "psd2"
    },
    {
      "name": "psd3"
    },
    {
      "name": "psp"
    },
    {
      "name": "psr"
    },
    {
      "name": "psrs"
    },
    {
      "name": "publish-readiness"
    },
    {
      "name": "publishing"
    },
    {
      "name": "pure-premium-method"
    },
    {
      "name": "push-payment"
    },
    {
      "name": "pvp"
    },
    {
      "name": "qc-1000"
    },
    {
      "name": "qdmtt"
    },
    {
      "name": "qeaa"
    },
    {
      "name": "qualification"
    },
    {
      "name": "quantitative-thresholds"
    },
    {
      "name": "quantum risk"
    },
    {
      "name": "rag"
    },
    {
      "name": "rail"
    },
    {
      "name": "range digest"
    },
    {
      "name": "rate limiting"
    },
    {
      "name": "rate reconciliation"
    },
    {
      "name": "rate-filing"
    },
    {
      "name": "rate-on-line"
    },
    {
      "name": "rate-reconciliation"
    },
    {
      "name": "ratemaking"
    },
    {
      "name": "raw codec"
    },
    {
      "name": "rdfa"
    },
    {
      "name": "rdfi"
    },
    {
      "name": "re-anchor"
    },
    {
      "name": "readiness"
    },
    {
      "name": "readiness diagnostic"
    },
    {
      "name": "reason codes"
    },
    {
      "name": "rebase"
    },
    {
      "name": "recapitulative statement"
    },
    {
      "name": "receipt"
    },
    {
      "name": "receipt chain"
    },
    {
      "name": "receiving"
    },
    {
      "name": "reconciliation"
    },
    {
      "name": "redemption policy"
    },
    {
      "name": "redline"
    },
    {
      "name": "redline-diffing"
    },
    {
      "name": "reference"
    },
    {
      "name": "reg-bi"
    },
    {
      "name": "reg-d"
    },
    {
      "name": "register"
    },
    {
      "name": "registration"
    },
    {
      "name": "registry"
    },
    {
      "name": "regtech"
    },
    {
      "name": "regulation"
    },
    {
      "name": "regulation cc"
    },
    {
      "name": "regulation-z"
    },
    {
      "name": "regulator"
    },
    {
      "name": "regulatory"
    },
    {
      "name": "regulatory capital"
    },
    {
      "name": "regulatory compliance"
    },
    {
      "name": "regulatory reporting"
    },
    {
      "name": "regulatory-change"
    },
    {
      "name": "regulatory-reporting"
    },
    {
      "name": "regulatory_reporting"
    },
    {
      "name": "reimbursement"
    },
    {
      "name": "reinstatement"
    },
    {
      "name": "reinsurance"
    },
    {
      "name": "rejection"
    },
    {
      "name": "relying party"
    },
    {
      "name": "relying-party"
    },
    {
      "name": "remeasurement"
    },
    {
      "name": "remediation"
    },
    {
      "name": "replay-defense"
    },
    {
      "name": "repo"
    },
    {
      "name": "report"
    },
    {
      "name": "reportable"
    },
    {
      "name": "reportable-segment"
    },
    {
      "name": "reporting"
    },
    {
      "name": "reporting deadline"
    },
    {
      "name": "representment"
    },
    {
      "name": "request-lifecycle"
    },
    {
      "name": "requirements"
    },
    {
      "name": "reserve"
    },
    {
      "name": "reserve attestation"
    },
    {
      "name": "reserve composition"
    },
    {
      "name": "reserve-adequacy"
    },
    {
      "name": "reserve-ratio"
    },
    {
      "name": "reserving"
    },
    {
      "name": "resilience"
    },
    {
      "name": "resolver"
    },
    {
      "name": "retail investment"
    },
    {
      "name": "retirement"
    },
    {
      "name": "retry"
    },
    {
      "name": "return codes"
    },
    {
      "name": "return-period"
    },
    {
      "name": "revenue"
    },
    {
      "name": "revocation"
    },
    {
      "name": "rfc3161"
    },
    {
      "name": "rfc9421"
    },
    {
      "name": "rights-reservation"
    },
    {
      "name": "risk"
    },
    {
      "name": "risk factors"
    },
    {
      "name": "risk management"
    },
    {
      "name": "risk-appetite"
    },
    {
      "name": "risk-based approach"
    },
    {
      "name": "risk-based-capital"
    },
    {
      "name": "risk-classification"
    },
    {
      "name": "risk-reporting"
    },
    {
      "name": "risk-scoring"
    },
    {
      "name": "risk_control"
    },
    {
      "name": "risk_parameter"
    },
    {
      "name": "rlp"
    },
    {
      "name": "roi"
    },
    {
      "name": "round-trip"
    },
    {
      "name": "rounding"
    },
    {
      "name": "roundtrip"
    },
    {
      "name": "routine-profits"
    },
    {
      "name": "routing"
    },
    {
      "name": "routing_policy"
    },
    {
      "name": "royalty"
    },
    {
      "name": "rsf"
    },
    {
      "name": "rts"
    },
    {
      "name": "rule changes"
    },
    {
      "name": "rule-engine"
    },
    {
      "name": "rule-version"
    },
    {
      "name": "runway"
    },
    {
      "name": "rwa-fund"
    },
    {
      "name": "sa-ccr"
    },
    {
      "name": "sa-cva"
    },
    {
      "name": "sa-im"
    },
    {
      "name": "safe withdrawal rate"
    },
    {
      "name": "safe-harbour"
    },
    {
      "name": "sanctions"
    },
    {
      "name": "sanctions-programme"
    },
    {
      "name": "sandbox"
    },
    {
      "name": "sbie"
    },
    {
      "name": "sca"
    },
    {
      "name": "scam"
    },
    {
      "name": "scenario"
    },
    {
      "name": "schedule"
    },
    {
      "name": "schema"
    },
    {
      "name": "schema subset"
    },
    {
      "name": "schema validation"
    },
    {
      "name": "scheme"
    },
    {
      "name": "scheme fees"
    },
    {
      "name": "scheme readiness"
    },
    {
      "name": "scheme_rule"
    },
    {
      "name": "sco60"
    },
    {
      "name": "scope"
    },
    {
      "name": "scope classification"
    },
    {
      "name": "scoping"
    },
    {
      "name": "scorecard"
    },
    {
      "name": "scoring"
    },
    {
      "name": "screening"
    },
    {
      "name": "sdd"
    },
    {
      "name": "sec"
    },
    {
      "name": "sec-2a7"
    },
    {
      "name": "secci"
    },
    {
      "name": "securities"
    },
    {
      "name": "securities-lending"
    },
    {
      "name": "security"
    },
    {
      "name": "segment reporting"
    },
    {
      "name": "segment-reporting"
    },
    {
      "name": "selective disclosure"
    },
    {
      "name": "selective-disclosure"
    },
    {
      "name": "self-addressing"
    },
    {
      "name": "self-assessment"
    },
    {
      "name": "semconv"
    },
    {
      "name": "sending"
    },
    {
      "name": "senior officer"
    },
    {
      "name": "sensitivity"
    },
    {
      "name": "sepa"
    },
    {
      "name": "september"
    },
    {
      "name": "sequence risk"
    },
    {
      "name": "server"
    },
    {
      "name": "server.json"
    },
    {
      "name": "service"
    },
    {
      "name": "services"
    },
    {
      "name": "settlement"
    },
    {
      "name": "settlement risk"
    },
    {
      "name": "settlement_finality_mandate"
    },
    {
      "name": "settlement_mandate"
    },
    {
      "name": "sft"
    },
    {
      "name": "sftr"
    },
    {
      "name": "sha-256"
    },
    {
      "name": "share-price"
    },
    {
      "name": "sharing-deadline"
    },
    {
      "name": "shift"
    },
    {
      "name": "short-term accommodation"
    },
    {
      "name": "side-by-side"
    },
    {
      "name": "signature"
    },
    {
      "name": "signed agent card"
    },
    {
      "name": "signed note"
    },
    {
      "name": "significant"
    },
    {
      "name": "significant expense categories"
    },
    {
      "name": "significant-expense-principle"
    },
    {
      "name": "simplified"
    },
    {
      "name": "simplified-etr"
    },
    {
      "name": "simulation"
    },
    {
      "name": "single-rulebook"
    },
    {
      "name": "six objectives"
    },
    {
      "name": "smt"
    },
    {
      "name": "snapshot-digest"
    },
    {
      "name": "solvency"
    },
    {
      "name": "solvency-ii"
    },
    {
      "name": "solvency-margin"
    },
    {
      "name": "sovereign-risk"
    },
    {
      "name": "span"
    },
    {
      "name": "span receipt"
    },
    {
      "name": "spdx"
    },
    {
      "name": "spearman"
    },
    {
      "name": "spec revision"
    },
    {
      "name": "spec-23"
    },
    {
      "name": "spec-id"
    },
    {
      "name": "spend controls"
    },
    {
      "name": "spend evidence"
    },
    {
      "name": "split"
    },
    {
      "name": "sponsor-bank"
    },
    {
      "name": "spreadsheet"
    },
    {
      "name": "stable-funding"
    },
    {
      "name": "stablecoin"
    },
    {
      "name": "standard-formula"
    },
    {
      "name": "standardised"
    },
    {
      "name": "standardised approach"
    },
    {
      "name": "startup"
    },
    {
      "name": "state"
    },
    {
      "name": "state charter"
    },
    {
      "name": "state-machine"
    },
    {
      "name": "stateless"
    },
    {
      "name": "status"
    },
    {
      "name": "stor"
    },
    {
      "name": "story-protocol"
    },
    {
      "name": "stress"
    },
    {
      "name": "strong"
    },
    {
      "name": "structural-check"
    },
    {
      "name": "structured address"
    },
    {
      "name": "structured invoice"
    },
    {
      "name": "structuring"
    },
    {
      "name": "subscription"
    },
    {
      "name": "suitability"
    },
    {
      "name": "summa"
    },
    {
      "name": "surcharge"
    },
    {
      "name": "sustainability"
    },
    {
      "name": "sustainability label"
    },
    {
      "name": "swift"
    },
    {
      "name": "swift gpi"
    },
    {
      "name": "synthetic data"
    },
    {
      "name": "synthetic-identity"
    },
    {
      "name": "synthid"
    },
    {
      "name": "systemic-cyber"
    },
    {
      "name": "t+1"
    },
    {
      "name": "t-bills"
    },
    {
      "name": "tail-risk"
    },
    {
      "name": "tamper-evident"
    },
    {
      "name": "tasl"
    },
    {
      "name": "tax planning"
    },
    {
      "name": "tax-free"
    },
    {
      "name": "tax-reporting"
    },
    {
      "name": "taxes paid"
    },
    {
      "name": "taxonomy"
    },
    {
      "name": "td-9996"
    },
    {
      "name": "tdm"
    },
    {
      "name": "tdmrep"
    },
    {
      "name": "technical-premium"
    },
    {
      "name": "technology-assisted-analysis"
    },
    {
      "name": "template"
    },
    {
      "name": "tendermint"
    },
    {
      "name": "test"
    },
    {
      "name": "test data"
    },
    {
      "name": "testing"
    },
    {
      "name": "text"
    },
    {
      "name": "third-party"
    },
    {
      "name": "three-source-reconcile"
    },
    {
      "name": "threshold"
    },
    {
      "name": "thresholds"
    },
    {
      "name": "tier-1"
    },
    {
      "name": "tiered"
    },
    {
      "name": "timeline"
    },
    {
      "name": "tlog-cosignature"
    },
    {
      "name": "tlog-policy"
    },
    {
      "name": "tlog-tiles"
    },
    {
      "name": "token"
    },
    {
      "name": "token bucket"
    },
    {
      "name": "tokenization"
    },
    {
      "name": "tokenized-vault"
    },
    {
      "name": "tokenuri"
    },
    {
      "name": "tool definition"
    },
    {
      "name": "tool poisoning"
    },
    {
      "name": "top-up-tax"
    },
    {
      "name": "tps"
    },
    {
      "name": "tpsp"
    },
    {
      "name": "trace verification"
    },
    {
      "name": "tracing"
    },
    {
      "name": "trade-report"
    },
    {
      "name": "trade-repository"
    },
    {
      "name": "trading"
    },
    {
      "name": "trading desk"
    },
    {
      "name": "training data"
    },
    {
      "name": "training-opt-out"
    },
    {
      "name": "transaction monitoring"
    },
    {
      "name": "transaction-reporting"
    },
    {
      "name": "transition"
    },
    {
      "name": "transition plan"
    },
    {
      "name": "transition-rules"
    },
    {
      "name": "transitional"
    },
    {
      "name": "transparency"
    },
    {
      "name": "transparency log"
    },
    {
      "name": "transport"
    },
    {
      "name": "travel-rule"
    },
    {
      "name": "treasury"
    },
    {
      "name": "treasury_mandate"
    },
    {
      "name": "treaty-pricing"
    },
    {
      "name": "trigger-structure"
    },
    {
      "name": "truncation"
    },
    {
      "name": "trust-accounting"
    },
    {
      "name": "tsv"
    },
    {
      "name": "typology"
    },
    {
      "name": "ubo"
    },
    {
      "name": "uetr"
    },
    {
      "name": "umr"
    },
    {
      "name": "underwriting"
    },
    {
      "name": "underwriting-risk"
    },
    {
      "name": "upgrade"
    },
    {
      "name": "upi"
    },
    {
      "name": "upl"
    },
    {
      "name": "us"
    },
    {
      "name": "us-exemption"
    },
    {
      "name": "us-gaap"
    },
    {
      "name": "userop"
    },
    {
      "name": "uti"
    },
    {
      "name": "utpr"
    },
    {
      "name": "v4.0"
    },
    {
      "name": "vLEI"
    },
    {
      "name": "validation"
    },
    {
      "name": "validator"
    },
    {
      "name": "value"
    },
    {
      "name": "vector commitment"
    },
    {
      "name": "velocity"
    },
    {
      "name": "vendor contract"
    },
    {
      "name": "vendor impersonation"
    },
    {
      "name": "verifiable credentials"
    },
    {
      "name": "verifiable-credential"
    },
    {
      "name": "verifiable-credentials"
    },
    {
      "name": "verification"
    },
    {
      "name": "verification of payee"
    },
    {
      "name": "verifier"
    },
    {
      "name": "visa"
    },
    {
      "name": "visa-tap"
    },
    {
      "name": "vop_readiness_attestation"
    },
    {
      "name": "vostro"
    },
    {
      "name": "vulnerability"
    },
    {
      "name": "w3c"
    },
    {
      "name": "waiver"
    },
    {
      "name": "wallet"
    },
    {
      "name": "wam"
    },
    {
      "name": "watermark"
    },
    {
      "name": "wave23"
    },
    {
      "name": "wave24"
    },
    {
      "name": "wave28"
    },
    {
      "name": "wealth"
    },
    {
      "name": "web-bot-auth"
    },
    {
      "name": "well-known"
    },
    {
      "name": "white"
    },
    {
      "name": "wolfsberg"
    },
    {
      "name": "workbook"
    },
    {
      "name": "workflow"
    },
    {
      "name": "working capital"
    },
    {
      "name": "workpaper"
    },
    {
      "name": "worksheet"
    },
    {
      "name": "write-back"
    },
    {
      "name": "x402"
    },
    {
      "name": "xbrl"
    },
    {
      "name": "xlsx"
    },
    {
      "name": "zero network"
    },
    {
      "name": "zero-PII"
    },
    {
      "name": "zero-pii"
    },
    {
      "name": "zip"
    },
    {
      "name": "zktls"
    },
    {
      "name": "zone"
    }
  ],
  "paths": {
    "/v1/tools/calculate_a2a_fee_route": {
      "post": {
        "operationId": "calculate_a2a_fee_route",
        "summary": "A2A Fee Calculator + Route Optimizer",
        "description": "Calculates per-transaction and annual costs for A2A rails (FedNow, RTP, Same-Day ACH, Next-Day ACH) versus card, and runs a multi-factor route optimizer across speed, cost, finality, and use-case fit. Exports a route recommendation mandate.\n\n**Tool URL:** https://ainumbers.co/tools/01-a2a-fee-route-optimizer.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "A2A",
          "fee",
          "FedNow",
          "RTP",
          "ACH",
          "routing",
          "cost",
          "interchange"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "volume",
                  "avgTxn",
                  "cardRate"
                ],
                "properties": {
                  "volume": {
                    "type": "number"
                  },
                  "avgTxn": {
                    "type": "number"
                  },
                  "cardRate": {
                    "type": "number"
                  },
                  "urgency": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "best_rail": {
                      "type": "string"
                    },
                    "best_cost_monthly": {
                      "type": "number"
                    },
                    "best_savings_yr": {
                      "type": "number"
                    },
                    "savings_pct": {
                      "type": "number"
                    },
                    "route_rail": {
                      "type": "string"
                    },
                    "route_confidence": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "calculate_a2a_fee_route",
        "x-tool-url": "https://ainumbers.co/tools/01-a2a-fee-route-optimizer.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/build_iso20022_message": {
      "post": {
        "operationId": "build_iso20022_message",
        "summary": "ISO 20022 Message Builder + Pilot Brief Generator",
        "description": "Builds and validates ISO 20022 pacs.008, pacs.009, pain.001, camt.053, and camt.054 messages from structured inputs. Generates a pilot brief and downloadable XML. Validates field constraints and UETR format.\n\n**Tool URL:** https://ainumbers.co/tools/02-iso20022-builder.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "ISO 20022",
          "pacs.008",
          "pain.001",
          "camt.053",
          "XML",
          "SWIFT",
          "SEPA",
          "builder"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "msgType"
                ],
                "properties": {
                  "msgType": {
                    "type": "string"
                  },
                  "amount": {
                    "type": "number"
                  },
                  "currency": {
                    "type": "string"
                  },
                  "debtorBIC": {
                    "type": "string"
                  },
                  "creditorBIC": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "validation_pass": {
                      "type": "boolean"
                    },
                    "validation_errors": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "xml_generated": {
                      "type": "boolean"
                    },
                    "pilot_brief_generated": {
                      "type": "boolean"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "build_iso20022_message",
        "x-tool-url": "https://ainumbers.co/tools/02-iso20022-builder.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/audit_consent_compliance": {
      "post": {
        "operationId": "audit_consent_compliance",
        "summary": "Consent Simulator + Compliance Auditor",
        "description": "Simulates an open banking consent flow and audits it against PSD2, UK PSD, CFPB 1033, and AU CDR rules. Flags scope violations, over-collection, renewal gaps, and generates a signed JWT receipt.\n\n**Tool URL:** https://ainumbers.co/tools/03-consent-compliance-auditor.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "consent",
          "PSD2",
          "open banking",
          "CFPB 1033",
          "CDR",
          "JWT",
          "compliance"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "scopes",
                  "regime"
                ],
                "properties": {
                  "scopes": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "regime": {
                    "type": "string",
                    "enum": [
                      "psd2",
                      "uk",
                      "us",
                      "au"
                    ]
                  },
                  "duration": {
                    "type": "number"
                  },
                  "renewal": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "overall_score": {
                      "type": "number",
                      "minimum": 0,
                      "maximum": 100
                    },
                    "pass_count": {
                      "type": "number"
                    },
                    "warn_count": {
                      "type": "number"
                    },
                    "fail_count": {
                      "type": "number"
                    },
                    "jwt_generated": {
                      "type": "boolean"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "audit_consent_compliance",
        "x-tool-url": "https://ainumbers.co/tools/03-consent-compliance-auditor.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/simulate_fraud_score": {
      "post": {
        "operationId": "simulate_fraud_score",
        "summary": "Fraud Score Simulator + Explainability Panel",
        "description": "Simulates a real-time fraud scoring engine across velocity, device, behavioural, network, and value signals. Returns a 0-100 fraud score, risk band, recommended action, and SHAP-style explainability breakdown.\n\n**Tool URL:** https://ainumbers.co/tools/04-fraud-score-simulator.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "fraud",
          "scoring",
          "ML",
          "explainability",
          "velocity",
          "device",
          "AML"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "amount"
                ],
                "properties": {
                  "amount": {
                    "type": "number"
                  },
                  "velocity_1h": {
                    "type": "number"
                  },
                  "device_match": {
                    "type": "boolean"
                  },
                  "country_risk": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "score": {
                      "type": "number",
                      "minimum": 0,
                      "maximum": 100
                    },
                    "risk": {
                      "type": "string",
                      "enum": [
                        "LOW",
                        "MEDIUM",
                        "HIGH",
                        "CRITICAL"
                      ]
                    },
                    "action": {
                      "type": "string",
                      "enum": [
                        "ALLOW",
                        "STEP_UP",
                        "BLOCK",
                        "REVIEW"
                      ]
                    },
                    "triggered_rules": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "simulate_fraud_score",
        "x-tool-url": "https://ainumbers.co/tools/04-fraud-score-simulator.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/invoice_a2a_suite": {
      "post": {
        "operationId": "invoice_a2a_suite",
        "summary": "Invoice-to-A2A Tooling Suite",
        "description": "Parse invoices into Pay-by-Bank links and reconcile A2A payments against invoices. Client-side only, zero PII transmitted.\n\n**Tool URL:** https://ainumbers.co/tools/05-invoice-a2a-suite.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "invoice_a2a_suite",
        "x-tool-url": "https://ainumbers.co/tools/05-invoice-a2a-suite.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/fednow_lookup": {
      "post": {
        "operationId": "fednow_lookup",
        "summary": "FedNow Participant Lookup + Coverage Stats",
        "description": "Search all 1,705 FedNow-participating financial institutions by name, city, or state. Coverage stats, CSV export. Client-side only, zero PII. AINumbers.co.\n\n**Tool URL:** https://ainumbers.co/tools/06-fednow-lookup.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "search-name": {
                    "type": "string"
                  },
                  "search-rtn": {
                    "type": "string"
                  },
                  "filter-state": {
                    "type": "string"
                  },
                  "filter-cap": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "fednow_lookup",
        "x-tool-url": "https://ainumbers.co/tools/06-fednow-lookup.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/validate_ach_nacha_file": {
      "post": {
        "operationId": "validate_ach_nacha_file",
        "summary": "ACH / NACHA File Validator + Return Code Decoder",
        "description": "Validates NACHA ACH file format (all record types, field widths, check digits, batch balancing, control totals) and decodes ACH return codes with remediation guidance. Reports errors, warnings, and a compliance summary.\n\n**Tool URL:** https://ainumbers.co/tools/07-ach-nacha-validator.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "ACH",
          "NACHA",
          "validation",
          "return codes",
          "batch",
          "file format"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "fileContent"
                ],
                "properties": {
                  "fileContent": {
                    "type": "string"
                  },
                  "returnCode": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "valid": {
                      "type": "boolean"
                    },
                    "error_count": {
                      "type": "number"
                    },
                    "warning_count": {
                      "type": "number"
                    },
                    "batch_count": {
                      "type": "number"
                    },
                    "entry_count": {
                      "type": "number"
                    },
                    "total_debit": {
                      "type": "number"
                    },
                    "total_credit": {
                      "type": "number"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "validate_ach_nacha_file",
        "x-tool-url": "https://ainumbers.co/tools/07-ach-nacha-validator.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/prototype_pay_by_bank_checkout": {
      "post": {
        "operationId": "prototype_pay_by_bank_checkout",
        "summary": "Pay-by-Bank Checkout Prototyper + Conversion Insights",
        "description": "Interactive checkout flow prototyper for pay-by-bank implementations. Configures bank selection, consent, confirmation, and success screens with conversion scoring, drop-off funnel analysis, and UX insight recommendations.\n\n**Tool URL:** https://ainumbers.co/tools/08-pay-by-bank-prototyper.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "pay-by-bank",
          "checkout",
          "UX",
          "conversion",
          "open banking",
          "A2A"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "brandName": {
                    "type": "string"
                  },
                  "consentStyle": {
                    "type": "string"
                  },
                  "bankCount": {
                    "type": "number"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "conversion_score": {
                      "type": "number",
                      "minimum": 0,
                      "maximum": 100
                    },
                    "friction_points": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "recommendations": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "prototype_pay_by_bank_checkout",
        "x-tool-url": "https://ainumbers.co/tools/08-pay-by-bank-prototyper.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/reconcile_a2a_payments": {
      "post": {
        "operationId": "reconcile_a2a_payments",
        "summary": "A2A Reconciliation Workbench + Reference Generator",
        "description": "Matches bank statement rows against internal ledger rows using exact and fuzzy matching. Reports matched pairs, unmatched items, net difference, and aging of exceptions. Also generates ISO 20022, NACHA, and SEPA payment references.\n\n**Tool URL:** https://ainumbers.co/tools/09-a2a-reconciliation-workbench.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "reconciliation",
          "A2A",
          "matching",
          "exceptions",
          "ISO 20022",
          "NACHA",
          "SEPA"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "bankRows",
                  "ledgerRows"
                ],
                "properties": {
                  "bankRows": {
                    "type": "array"
                  },
                  "ledgerRows": {
                    "type": "array"
                  },
                  "tolerance": {
                    "type": "number"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "matched_count": {
                      "type": "number"
                    },
                    "unmatched_bank": {
                      "type": "number"
                    },
                    "unmatched_ledger": {
                      "type": "number"
                    },
                    "net_difference": {
                      "type": "number"
                    },
                    "match_rate_pct": {
                      "type": "number"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "reconcile_a2a_payments",
        "x-tool-url": "https://ainumbers.co/tools/09-a2a-reconciliation-workbench.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/simulate_api_rate_limit": {
      "post": {
        "operationId": "simulate_api_rate_limit",
        "summary": "Open Banking API Explorer + Rate Limit Simulator",
        "description": "Explores Open Banking API endpoints (accounts, transactions, payments, balances) with mock responses, and simulates rate-limiting policies (token bucket, leaky bucket, fixed window, sliding window) with timeline visualisation and retry code generation.\n\n**Tool URL:** https://ainumbers.co/tools/10-open-banking-api-explorer.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "open banking",
          "API",
          "rate limiting",
          "token bucket",
          "retry",
          "PSD2",
          "UK OB"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "policy",
                  "rpm"
                ],
                "properties": {
                  "policy": {
                    "type": "string"
                  },
                  "rpm": {
                    "type": "number"
                  },
                  "burst": {
                    "type": "number"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "policy": {
                      "type": "string"
                    },
                    "total_requests": {
                      "type": "number"
                    },
                    "allowed": {
                      "type": "number"
                    },
                    "throttled": {
                      "type": "number"
                    },
                    "throttle_rate": {
                      "type": "number"
                    },
                    "retry_code_lang": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "simulate_api_rate_limit",
        "x-tool-url": "https://ainumbers.co/tools/10-open-banking-api-explorer.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/audit_dora_resilience": {
      "post": {
        "operationId": "audit_dora_resilience",
        "summary": "DORA Operational Resilience Auditor",
        "description": "Self-assessment tool mapping an institution's controls against all five DORA pillars: ICT Risk Management, Incident Reporting, DORA Testing, Third-Party Risk, and Information Sharing. Scores readiness and identifies critical gaps.\n\n**Tool URL:** https://ainumbers.co/tools/100-dora-resilience-auditor.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "DORA",
          "resilience",
          "ICT",
          "incident",
          "third-party",
          "EU",
          "compliance"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "Answer set keyed by question ID",
                "additionalProperties": {
                  "type": "string",
                  "enum": [
                    "yes",
                    "partial",
                    "no"
                  ]
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "overall_score": {
                      "type": "number",
                      "minimum": 0,
                      "maximum": 100
                    },
                    "pillars": {
                      "type": "array",
                      "items": {
                        "type": "object"
                      }
                    },
                    "gaps": {
                      "type": "array",
                      "items": {
                        "type": "object"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "audit_dora_resilience",
        "x-tool-url": "https://ainumbers.co/tools/100-dora-resilience-auditor.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/score_iso20022_migration": {
      "post": {
        "operationId": "score_iso20022_migration",
        "summary": "ISO 20022 Migration Readiness Scorer",
        "description": "Weighted self-assessment across five migration dimensions: Message Coverage, Data Quality, Infrastructure, Testing, and Governance. Scores each dimension and produces an overall readiness band with a gap memo.\n\n**Tool URL:** https://ainumbers.co/tools/101-iso20022-migration-scorer.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "ISO 20022",
          "migration",
          "SWIFT CBPR+",
          "readiness",
          "scoring",
          "gap analysis"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "Answer set keyed by question ID",
                "additionalProperties": {
                  "type": "string",
                  "enum": [
                    "yes",
                    "partial",
                    "no"
                  ]
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "overall_score": {
                      "type": "number",
                      "minimum": 0,
                      "maximum": 100
                    },
                    "readiness_band": {
                      "type": "string",
                      "enum": [
                        "Ready",
                        "At Risk",
                        "Not Ready",
                        "Incomplete"
                      ]
                    },
                    "dimensions": {
                      "type": "array",
                      "items": {
                        "type": "object"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "score_iso20022_migration",
        "x-tool-url": "https://ainumbers.co/tools/101-iso20022-migration-scorer.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/check_ap2_compatibility": {
      "post": {
        "operationId": "check_ap2_compatibility",
        "summary": "AP2 Agentic Payments Compatibility Checker",
        "description": "Validates a payment payload or manual checklist against the AP2 (Agent-to-Agent Payments Protocol) specification. Scores compatibility, flags schema gaps, and generates a scaffold for non-compliant payloads.\n\n**Tool URL:** https://ainumbers.co/tools/102-ap2-payments-checker.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "AP2",
          "agentic payments",
          "compatibility",
          "schema",
          "validation",
          "Google A2A"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "mode"
                ],
                "properties": {
                  "mode": {
                    "type": "string",
                    "enum": [
                      "json",
                      "manual"
                    ]
                  },
                  "payload": {
                    "type": "object"
                  },
                  "answers": {
                    "type": "object"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "compatibility_score": {
                      "type": "number",
                      "minimum": 0,
                      "maximum": 100
                    },
                    "band": {
                      "type": "string",
                      "enum": [
                        "AP2-Ready",
                        "Partially Compatible",
                        "Incompatible",
                        "Unknown"
                      ]
                    },
                    "dimensions": {
                      "type": "array",
                      "items": {
                        "type": "object"
                      }
                    },
                    "scaffold_generated": {
                      "type": "boolean"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "check_ap2_compatibility",
        "x-tool-url": "https://ainumbers.co/tools/102-ap2-payments-checker.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/optimise_payment_mix": {
      "post": {
        "operationId": "optimise_payment_mix",
        "summary": "Payment Method Mix Optimizer",
        "description": "Models a merchant's payment method mix (card, A2A, BNPL, wallet, cash) against volume, AOV, and interchange rates. Calculates blended cost, recommends an optimal mix, and projects annual savings.\n\n**Tool URL:** https://ainumbers.co/tools/103-payment-method-optimizer.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "payment mix",
          "interchange",
          "A2A",
          "BNPL",
          "wallet",
          "merchant",
          "cost optimisation"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "monthly_vol",
                  "aov",
                  "mix"
                ],
                "properties": {
                  "monthly_vol": {
                    "type": "number"
                  },
                  "aov": {
                    "type": "number"
                  },
                  "mix": {
                    "type": "object"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "health_score": {
                      "type": "number",
                      "minimum": 0,
                      "maximum": 100
                    },
                    "current_annual_cost": {
                      "type": "number"
                    },
                    "optimized_annual_cost": {
                      "type": "number"
                    },
                    "projected_savings": {
                      "type": "number"
                    },
                    "recommended_mix": {
                      "type": "object"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "optimise_payment_mix",
        "x-tool-url": "https://ainumbers.co/tools/103-payment-method-optimizer.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/receivables_dso_optimizer": {
      "post": {
        "operationId": "receivables_dso_optimizer",
        "summary": "Receivables DSO & Collections Optimizer",
        "description": "Enter your AR aging buckets and get a ranked action plan: which collection levers reduce DSO fastest, how much cash each releases, and what to do first. Conservative/Base/Aggressive scenarios. Board memo and Policy Mandate JSON export. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/104-receivables-dso-optimizer.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "b0": {
                    "type": "string"
                  },
                  "b1": {
                    "type": "string"
                  },
                  "b2": {
                    "type": "string"
                  },
                  "b3": {
                    "type": "string"
                  },
                  "b4": {
                    "type": "string"
                  },
                  "ann-rev": {
                    "type": "string"
                  },
                  "avg-inv": {
                    "type": "string"
                  },
                  "industry": {
                    "type": "string"
                  },
                  "terms": {
                    "type": "string"
                  },
                  "dispute-rate": {
                    "type": "string"
                  },
                  "settle-lag": {
                    "type": "string"
                  },
                  "fin-rate": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "receivables_dso_optimizer",
        "x-tool-url": "https://ainumbers.co/tools/104-receivables-dso-optimizer.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/fx_netting_simulator": {
      "post": {
        "operationId": "fx_netting_simulator",
        "summary": "Cross-Border FX Netting Simulator",
        "description": "Simulate multilateral FX netting across up to 8 currencies. Calculate your netting efficiency ratio, estimated settlement savings, and residual FX risk positions. Generates a bilateral netting matrix and hedge recommendations. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/105-fx-netting-simulator.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {},
                "patternProperties": {
                  "^ccy-\\d+$": {
                    "type": "string",
                    "description": "Currency code for row N (rows numbered as added, up to 8)"
                  },
                  "^pay-\\d+$": {
                    "type": "string",
                    "description": "Payables amount for row N"
                  },
                  "^rec-\\d+$": {
                    "type": "string",
                    "description": "Receivables amount for row N"
                  },
                  "^spot-\\d+$": {
                    "type": "string",
                    "description": "Spot rate for row N"
                  },
                  "^fwd-\\d+$": {
                    "type": "string",
                    "description": "Forward rate for row N"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "fx_netting_simulator",
        "x-tool-url": "https://ainumbers.co/tools/105-fx-netting-simulator.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/treasury_float_workbench": {
      "post": {
        "operationId": "treasury_float_workbench",
        "summary": "Treasury Float & Liquidity Forecasting Workbench",
        "description": "Model daily cash positions over a 13-week rolling horizon with business-day calendar for 30+ currencies. Sweep Optimizer moves excess cash across 5 accounts respecting ACH, FedNow, SEPA Instant, and CHIPS cut-off times. Exports daily treasury action list and Policy Mandate JSON. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/106-treasury-float-workbench.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "currency": {
                    "type": "string"
                  },
                  "opening-bal": {
                    "type": "string"
                  },
                  "overdraft-thresh": {
                    "type": "string"
                  },
                  "daily-in": {
                    "type": "string"
                  },
                  "daily-out": {
                    "type": "string"
                  },
                  "ffr": {
                    "type": "string"
                  },
                  "stress-delay-pct": {
                    "type": "string"
                  },
                  "stress-delay-days": {
                    "type": "string"
                  },
                  "stress-rate": {
                    "type": "string"
                  }
                },
                "patternProperties": {
                  "^acct-target-[0-4]$": {
                    "type": "string",
                    "description": "Target balance for sweep account 0-4"
                  },
                  "^acct-yield-[0-4]$": {
                    "type": "string",
                    "description": "Yield (%) for sweep account 0-4"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "treasury_float_workbench",
        "x-tool-url": "https://ainumbers.co/tools/106-treasury-float-workbench.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/monte_carlo_fire_simulator": {
      "post": {
        "operationId": "monte_carlo_fire_simulator",
        "summary": "Monte Carlo FIRE Trajectory Simulator",
        "description": "Run 1,000+ market scenarios in your browser to find the true probability your retirement portfolio survives. Parametric Monte Carlo with Box-Muller sampling. Outputs a probability cone, success rate, and Sequence of Returns Risk overlay. Zero PII. Zero API. No sign-up.\n\n**Tool URL:** https://ainumbers.co/tools/107-monte-carlo-fire-simulator.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "portfolio": {
                    "type": "string"
                  },
                  "contribution": {
                    "type": "string"
                  },
                  "retire-spend": {
                    "type": "string"
                  },
                  "curr-age": {
                    "type": "string"
                  },
                  "retire-age": {
                    "type": "string"
                  },
                  "horizon": {
                    "type": "string"
                  },
                  "inflation": {
                    "type": "string"
                  },
                  "ss-income": {
                    "type": "string"
                  },
                  "sl-stocks": {
                    "type": "string"
                  },
                  "sl-bonds": {
                    "type": "string"
                  },
                  "sl-cash": {
                    "type": "string"
                  },
                  "sorr-toggle": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "monte_carlo_fire_simulator",
        "x-tool-url": "https://ainumbers.co/tools/107-monte-carlo-fire-simulator.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/dlt_partition_recovery_sim": {
      "post": {
        "operationId": "dlt_partition_recovery_sim",
        "summary": "DLT Consensus Partition & Recovery Simulator",
        "description": "Simulate network partitions and Byzantine fault scenarios for Hyperledger Fabric (Raft), Besu (QBFT), R3 Corda, and Canton. Generate a platform-specific numbered recovery runbook, transaction re-verification manifest, and governance voting worksheet. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/108-dlt-partition-recovery-sim.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "platform": {
                    "type": "string"
                  },
                  "node-count": {
                    "type": "string"
                  },
                  "az-a": {
                    "type": "string"
                  },
                  "az-b": {
                    "type": "string"
                  },
                  "az-c": {
                    "type": "string"
                  },
                  "isolated-az": {
                    "type": "string"
                  },
                  "inflight-tx": {
                    "type": "string"
                  },
                  "block-height": {
                    "type": "string"
                  },
                  "endorsement-status": {
                    "type": "string"
                  },
                  "orderer-count": {
                    "type": "string"
                  },
                  "validator-count": {
                    "type": "string"
                  },
                  "notary-size": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "dlt_partition_recovery_sim",
        "x-tool-url": "https://ainumbers.co/tools/108-dlt-partition-recovery-sim.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/cdd_edd_checklist": {
      "post": {
        "operationId": "cdd_edd_checklist",
        "summary": "CDD / EDD Checklist Generator",
        "description": "Jurisdiction-aware CDD and EDD checklist builder. Select entity type, jurisdiction(s), and risk tier to generate a structured requirements checklist with regula\n\n**Tool URL:** https://ainumbers.co/tools/109-cdd-edd-checklist.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "checklist": {
                      "type": "array"
                    },
                    "requiredDocuments": {
                      "type": "array"
                    },
                    "jurisdictions": {
                      "type": "array"
                    },
                    "mandateJson": {
                      "type": "object"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "cdd_edd_checklist",
        "x-tool-url": "https://ainumbers.co/tools/109-cdd-edd-checklist.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/build_vrp_mandate": {
      "post": {
        "operationId": "build_vrp_mandate",
        "summary": "VRP Mandate Builder + SEPA Validator",
        "description": "Builds UK Variable Recurring Payments (VRP) mandates to Open Banking specification and validates SEPA Credit Transfer and Direct Debit parameters including IBAN/BIC, reachability, and mandate structure.\n\n**Tool URL:** https://ainumbers.co/tools/11-vrp-mandate-sepa-validator.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "VRP",
          "SEPA",
          "IBAN",
          "BIC",
          "mandate",
          "open banking",
          "UK",
          "direct debit"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "mandateType": {
                    "type": "string"
                  },
                  "creditorIBAN": {
                    "type": "string"
                  },
                  "maxAmount": {
                    "type": "number"
                  },
                  "maxAmountPeriod": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "vrp_mandate_generated": {
                      "type": "boolean"
                    },
                    "sepa_valid": {
                      "type": "boolean"
                    },
                    "iban_valid": {
                      "type": "boolean"
                    },
                    "bic_valid": {
                      "type": "boolean"
                    },
                    "sepa_reachable": {
                      "type": "boolean"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "build_vrp_mandate",
        "x-tool-url": "https://ainumbers.co/tools/11-vrp-mandate-sepa-validator.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/customer_risk_rating": {
      "post": {
        "operationId": "customer_risk_rating",
        "summary": "Customer Risk Rating Engine",
        "description": "Score individual and entity KYC risk across six FATF dimensions: customer type, product/service type, delivery channel, geographic risk, transaction behaviour,\n\n**Tool URL:** https://ainumbers.co/tools/110-customer-risk-rating.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "compositeScore": {
                      "type": "number"
                    },
                    "riskTier": {
                      "type": "string"
                    },
                    "breakdown": {
                      "type": "array"
                    },
                    "mandateJson": {
                      "type": "object"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "customer_risk_rating",
        "x-tool-url": "https://ainumbers.co/tools/110-customer-risk-rating.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/kyb_ubo_mapper": {
      "post": {
        "operationId": "kyb_ubo_mapper",
        "summary": "KYB Beneficial Ownership Mapper",
        "description": "Build UBO trees up to five layers deep. Input entity name, jurisdiction, ownership percentages — generates visual UBO tree, calculates control thresholds, flags\n\n**Tool URL:** https://ainumbers.co/tools/111-kyb-ubo-mapper.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "uboChain": {
                      "type": "array"
                    },
                    "controlPersons": {
                      "type": "array"
                    },
                    "riskFlags": {
                      "type": "array"
                    },
                    "mandateJson": {
                      "type": "object"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "kyb_ubo_mapper",
        "x-tool-url": "https://ainumbers.co/tools/111-kyb-ubo-mapper.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/pep_sanctions_simulator": {
      "post": {
        "operationId": "pep_sanctions_simulator",
        "summary": "PEP & Sanctions Exposure Simulator",
        "description": "Model PEP classification and sanctions screening logic against OFAC SDN & Non-SDN, EU Consolidated Sanctions, UN Security Council Consolidated List, HMT (UK), S\n\n**Tool URL:** https://ainumbers.co/tools/112-pep-sanctions-simulator.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "hits": {
                      "type": "array"
                    },
                    "matchScore": {
                      "type": "number"
                    },
                    "listsCovered": {
                      "type": "array"
                    },
                    "mandateJson": {
                      "type": "object"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "pep_sanctions_simulator",
        "x-tool-url": "https://ainumbers.co/tools/112-pep-sanctions-simulator.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/adverse_media_profiler": {
      "post": {
        "operationId": "adverse_media_profiler",
        "summary": "Adverse Media & Negative News Profiler",
        "description": "Structured adverse media assessment for EDD workflows. Input synthetic entity profile — run through multi-category checklist: financial crime, fraud, bribery/co\n\n**Tool URL:** https://ainumbers.co/tools/113-adverse-media-profiler.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "severityScore": {
                      "type": "number"
                    },
                    "riskClassification": {
                      "type": "string"
                    },
                    "escalationRequired": {
                      "type": "boolean"
                    },
                    "mandateJson": {
                      "type": "object"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "adverse_media_profiler",
        "x-tool-url": "https://ainumbers.co/tools/113-adverse-media-profiler.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/kyc_document_checklist": {
      "post": {
        "operationId": "kyc_document_checklist",
        "summary": "KYC Document & Identity Verification Checklist Builder",
        "description": "Jurisdiction-specific document verification checklist for customer onboarding. Select customer type and jurisdiction to get required primary ID documents, accep\n\n**Tool URL:** https://ainumbers.co/tools/114-kyc-document-checklist.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "requiredDocuments": {
                      "type": "array"
                    },
                    "optionalDocuments": {
                      "type": "array"
                    },
                    "certificationNotes": {
                      "type": "array"
                    },
                    "mandateJson": {
                      "type": "object"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "kyc_document_checklist",
        "x-tool-url": "https://ainumbers.co/tools/114-kyc-document-checklist.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/correspondent_banking_matrix": {
      "post": {
        "operationId": "correspondent_banking_matrix",
        "summary": "Correspondent Banking Risk Matrix",
        "description": "Assess correspondent banking relationship against Wolfsberg Group Correspondent Banking Principles (2023). Score 28 due diligence criteria across five domains:\n\n**Tool URL:** https://ainumbers.co/tools/115-correspondent-banking-matrix.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "riskScore": {
                      "type": "number"
                    },
                    "dueDiligenceLevel": {
                      "type": "string"
                    },
                    "requiredControls": {
                      "type": "array"
                    },
                    "mandateJson": {
                      "type": "object"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "correspondent_banking_matrix",
        "x-tool-url": "https://ainumbers.co/tools/115-correspondent-banking-matrix.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/tm_rule_builder": {
      "post": {
        "operationId": "tm_rule_builder",
        "summary": "Transaction Monitoring Rule Builder",
        "description": "Flagship enterprise TM engine for the catalog. Configure threshold-based and behavioural TM rules across six categories: velocity, structuring, geographic anoma\n\n**Tool URL:** https://ainumbers.co/tools/116-tm-rule-builder.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ruleDefinition": {
                      "type": "object"
                    },
                    "alertLogic": {
                      "type": "string"
                    },
                    "tuningParameters": {
                      "type": "object"
                    },
                    "mandateJson": {
                      "type": "object"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "tm_rule_builder",
        "x-tool-url": "https://ainumbers.co/tools/116-tm-rule-builder.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/structuring_pattern_detector": {
      "post": {
        "operationId": "structuring_pattern_detector",
        "summary": "Structuring & Smurfing Pattern Detector",
        "description": "Detect structuring and smurfing patterns in synthetic transaction sequences. Input a transaction ledger (paste CSV format). Detects: single-day aggregation belo\n\n**Tool URL:** https://ainumbers.co/tools/117-structuring-pattern-detector.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "patternsDetected": {
                      "type": "array"
                    },
                    "smurfingScore": {
                      "type": "number"
                    },
                    "sarRecommended": {
                      "type": "boolean"
                    },
                    "mandateJson": {
                      "type": "object"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "structuring_pattern_detector",
        "x-tool-url": "https://ainumbers.co/tools/117-structuring-pattern-detector.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/cross_border_wire_analyzer": {
      "post": {
        "operationId": "cross_border_wire_analyzer",
        "summary": "Cross-Border Wire Red Flag Analyzer",
        "description": "Score cross-border payment instructions against a multi-factor red flag matrix. Input originator jurisdiction, beneficiary jurisdiction, amount, correspondent c\n\n**Tool URL:** https://ainumbers.co/tools/118-cross-border-wire-analyzer.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "origJur": {
                    "type": "string"
                  },
                  "benJur": {
                    "type": "string"
                  },
                  "wireAmount": {
                    "type": "string"
                  },
                  "corrChain": {
                    "type": "string"
                  },
                  "purposeCode": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "cross_border_wire_analyzer",
        "x-tool-url": "https://ainumbers.co/tools/118-cross-border-wire-analyzer.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/ctr_sar_threshold_simulator": {
      "post": {
        "operationId": "ctr_sar_threshold_simulator",
        "summary": "CTR / SAR Threshold & Filing Obligation Simulator",
        "description": "Model CTR and SAR filing obligations across jurisdictions. Input entity type, transaction type, currency, amount. Calculates CTR requirement (US $10k, AU $10k A\n\n**Tool URL:** https://ainumbers.co/tools/119-ctr-sar-threshold-simulator.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "filingJur": {
                    "type": "string"
                  },
                  "entityType": {
                    "type": "string"
                  },
                  "txnAmount": {
                    "type": "string"
                  },
                  "txnType": {
                    "type": "string"
                  },
                  "exemptionCat": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "ctr_sar_threshold_simulator",
        "x-tool-url": "https://ainumbers.co/tools/119-ctr-sar-threshold-simulator.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/build_fee_benchmark_report": {
      "post": {
        "operationId": "build_fee_benchmark_report",
        "summary": "A2A Fee Benchmarking Report Builder",
        "description": "Benchmarks current payment costs against A2A rail alternatives (FedNow, RTP, SEPA Instant, Faster Payments). Generates a narrative benchmark report with savings waterfall, rail comparison table, and executive summary.\n\n**Tool URL:** https://ainumbers.co/tools/12-fee-benchmark-report.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "fee",
          "benchmark",
          "A2A",
          "FedNow",
          "RTP",
          "SEPA",
          "cost analysis",
          "report"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "currentRail",
                  "annualVolume",
                  "avgTransaction"
                ],
                "properties": {
                  "currentRail": {
                    "type": "string"
                  },
                  "annualVolume": {
                    "type": "number"
                  },
                  "avgTransaction": {
                    "type": "number"
                  },
                  "currentRate": {
                    "type": "number"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "current_annual_cost": {
                      "type": "number"
                    },
                    "best_rail": {
                      "type": "string"
                    },
                    "best_annual_cost": {
                      "type": "number"
                    },
                    "max_annual_saving": {
                      "type": "number"
                    },
                    "report_generated": {
                      "type": "boolean"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "build_fee_benchmark_report",
        "x-tool-url": "https://ainumbers.co/tools/12-fee-benchmark-report.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/layering_typology_identifier": {
      "post": {
        "operationId": "layering_typology_identifier",
        "summary": "Layering & Placement Typology Identifier",
        "description": "FATF money laundering typology library covering 30+ typologies across three ML stages: Placement, Layering, Integration. Select typologies to cross-map to TM ru\n\n**Tool URL:** https://ainumbers.co/tools/120-layering-typology-identifier.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "mlStage": {
                    "type": "string"
                  },
                  "sectorFocus": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "layering_typology_identifier",
        "x-tool-url": "https://ainumbers.co/tools/120-layering-typology-identifier.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/sar_narrative_generator": {
      "post": {
        "operationId": "sar_narrative_generator",
        "summary": "SAR Narrative Generator",
        "description": "Sole SAR narrative output tool in the catalog. Input synthetic transaction facts, subject profile, typology classification, detected red flags — receive structu\n\n**Tool URL:** https://ainumbers.co/tools/121-sar-narrative-generator.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "sarJur": {
                    "type": "string"
                  },
                  "sarTypology": {
                    "type": "string"
                  },
                  "sarEntityType": {
                    "type": "string"
                  },
                  "sarAmount": {
                    "type": "string"
                  },
                  "sarPeriod": {
                    "type": "string"
                  },
                  "sarRedFlags": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "sar_narrative_generator",
        "x-tool-url": "https://ainumbers.co/tools/121-sar-narrative-generator.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/regulatory_reporting_calendar": {
      "post": {
        "operationId": "regulatory_reporting_calendar",
        "summary": "Regulatory Reporting Calendar Builder",
        "description": "Map entity type, jurisdiction(s), and product categories to a complete AML/CFT regulatory reporting obligation calendar. Covers US BSA SAR/CTR/FBAR, EU DAC6/CAR\n\n**Tool URL:** https://ainumbers.co/tools/122-regulatory-reporting-calendar.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "calEntity": {
                    "type": "string"
                  },
                  "cj_us": {
                    "type": "string"
                  },
                  "cj_uk": {
                    "type": "string"
                  },
                  "cj_eu": {
                    "type": "string"
                  },
                  "cj_au": {
                    "type": "string"
                  },
                  "cj_sg": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "regulatory_reporting_calendar",
        "x-tool-url": "https://ainumbers.co/tools/122-regulatory-reporting-calendar.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/aml_program_gap_auditor": {
      "post": {
        "operationId": "aml_program_gap_auditor",
        "summary": "AML Program Gap Auditor",
        "description": "Score AML/BSA program across five FinCEN pillars (31 CFR 1020.210) aligned to FATF Rec. 18: (1) Internal Policies, Procedures & Controls; (2) Designated Complia\n\n**Tool URL:** https://ainumbers.co/tools/123-aml-program-gap-auditor.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "p1": {
                    "type": "string"
                  },
                  "p2": {
                    "type": "string"
                  },
                  "p3": {
                    "type": "string"
                  },
                  "p4": {
                    "type": "string"
                  },
                  "p5": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "aml_program_gap_auditor",
        "x-tool-url": "https://ainumbers.co/tools/123-aml-program-gap-auditor.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/fatf_readiness_scorer": {
      "post": {
        "operationId": "fatf_readiness_scorer",
        "summary": "FATF Mutual Evaluation Readiness Scorer",
        "description": "Rate AML/CFT framework readiness against FATF 40 Recommendations and 11 Immediate Outcomes (Methodology 2022). Rate technical compliance (C/LC/PC/NC) per Recomm\n\n**Tool URL:** https://ainumbers.co/tools/124-fatf-readiness-scorer.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "io1": {
                    "type": "string"
                  },
                  "io2": {
                    "type": "string"
                  },
                  "io6": {
                    "type": "string"
                  },
                  "io7": {
                    "type": "string"
                  },
                  "io10": {
                    "type": "string"
                  },
                  "rec15": {
                    "type": "string"
                  },
                  "rec24": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "fatf_readiness_scorer",
        "x-tool-url": "https://ainumbers.co/tools/124-fatf-readiness-scorer.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/sanctions_program_builder": {
      "post": {
        "operationId": "sanctions_program_builder",
        "summary": "Sanctions Compliance Program Builder",
        "description": "Build structured sanctions compliance program across OFAC Framework of Compliance Commitments: management commitment, risk assessment, internal controls, testin\n\n**Tool URL:** https://ainumbers.co/tools/125-sanctions-program-builder.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "sanctEntityType": {
                    "type": "string"
                  },
                  "c1": {
                    "type": "string"
                  },
                  "c2": {
                    "type": "string"
                  },
                  "c3": {
                    "type": "string"
                  },
                  "c4": {
                    "type": "string"
                  },
                  "c5": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "sanctions_program_builder",
        "x-tool-url": "https://ainumbers.co/tools/125-sanctions-program-builder.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/vasp_travel_rule_checker": {
      "post": {
        "operationId": "vasp_travel_rule_checker",
        "summary": "VASP Travel Rule Compliance Checker",
        "description": "Model FATF Travel Rule (Rec. 16) obligations for virtual asset transfers. Configure sending/receiving VASP jurisdiction, transfer amount, asset type. Calculates\n\n**Tool URL:** https://ainumbers.co/tools/126-vasp-travel-rule-checker.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "sendJur": {
                    "type": "string"
                  },
                  "recvJur": {
                    "type": "string"
                  },
                  "trAmount": {
                    "type": "string"
                  },
                  "assetType": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "vasp_travel_rule_checker",
        "x-tool-url": "https://ainumbers.co/tools/126-vasp-travel-rule-checker.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/crypto_transaction_risk_profiler": {
      "post": {
        "operationId": "crypto_transaction_risk_profiler",
        "summary": "Crypto Transaction Risk Profiler",
        "description": "Score synthetic on-chain transaction patterns against financial crime heuristics based on FATF Virtual Assets Red Flag Indicators (2021) and FinCEN CVC Guidance\n\n**Tool URL:** https://ainumbers.co/tools/127-crypto-transaction-risk-profiler.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "mixerProx": {
                    "type": "string"
                  },
                  "darknetAdj": {
                    "type": "string"
                  },
                  "peelChain": {
                    "type": "string"
                  },
                  "rapidConsol": {
                    "type": "string"
                  },
                  "dormancyBreak": {
                    "type": "string"
                  },
                  "jurisdRisk": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "crypto_transaction_risk_profiler",
        "x-tool-url": "https://ainumbers.co/tools/127-crypto-transaction-risk-profiler.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/stablecoin_vasp_aml_mapper": {
      "post": {
        "operationId": "stablecoin_vasp_aml_mapper",
        "summary": "Stablecoin & VASP AML Obligations Mapper",
        "description": "Map AML/CFT obligations for stablecoin issuers and VASPs. Select entity type and jurisdictions — side-by-side obligation matrix: registration/licensing, KYC/CDD\n\n**Tool URL:** https://ainumbers.co/tools/128-stablecoin-vasp-aml-mapper.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "vaspEntityType": {
                    "type": "string"
                  },
                  "vj_us": {
                    "type": "string"
                  },
                  "vj_eu": {
                    "type": "string"
                  },
                  "vj_uk": {
                    "type": "string"
                  },
                  "vj_sg": {
                    "type": "string"
                  },
                  "vj_ae": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "stablecoin_vasp_aml_mapper",
        "x-tool-url": "https://ainumbers.co/tools/128-stablecoin-vasp-aml-mapper.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/defi_nft_risk_assessment": {
      "post": {
        "operationId": "defi_nft_risk_assessment",
        "summary": "DeFi & NFT Financial Crime Risk Assessment",
        "description": "Structured risk assessment for DeFi protocols and NFT marketplaces. Score across FATF 2021 Updated Guidance risk categories: user anonymity, cross-border reach,\n\n**Tool URL:** https://ainumbers.co/tools/129-defi-nft-risk-assessment.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "protocolType": {
                    "type": "string"
                  },
                  "userAnon": {
                    "type": "string"
                  },
                  "governance": {
                    "type": "string"
                  },
                  "immutability": {
                    "type": "string"
                  },
                  "crossBorder": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "defi_nft_risk_assessment",
        "x-tool-url": "https://ainumbers.co/tools/129-defi-nft-risk-assessment.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/map_payment_journey": {
      "post": {
        "operationId": "map_payment_journey",
        "summary": "Payment Journey Mapper + Failure Points Overlay",
        "description": "Maps end-to-end payment flows for A2A, SWIFT, card, and SEPA payment types with failure point overlays, severity indicators, mitigation guidance, and timing bars. Generates shareable journey URLs.\n\n**Tool URL:** https://ainumbers.co/tools/13-payment-journey-mapper.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "payment journey",
          "flow",
          "failure points",
          "A2A",
          "SWIFT",
          "SEPA",
          "card",
          "mapping"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "template"
                ],
                "properties": {
                  "template": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "template": {
                      "type": "string"
                    },
                    "failure_count": {
                      "type": "number"
                    },
                    "critical_failures": {
                      "type": "number"
                    },
                    "steps": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "map_payment_journey",
        "x-tool-url": "https://ainumbers.co/tools/13-payment-journey-mapper.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/aml_scenario_training_lab": {
      "post": {
        "operationId": "aml_scenario_training_lab",
        "summary": "AML Red Flag Scenario Training Lab",
        "description": "Scenario-based AML compliance training. Each scenario presents a synthetic customer profile and transaction narrative — identify red flags, classify the typolog\n\n**Tool URL:** https://ainumbers.co/tools/130-aml-scenario-training-lab.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "difficulty": {
                    "type": "string"
                  },
                  "category": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "aml_scenario_training_lab",
        "x-tool-url": "https://ainumbers.co/tools/130-aml-scenario-training-lab.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/ap2_aml_mandate_builder": {
      "post": {
        "operationId": "ap2_aml_mandate_builder",
        "summary": "AP2 AML Mandate Builder",
        "description": "Anchor agentic tool for Cat-12. Translate AML/BSA program controls, TM rules, and customer risk policy into a structured Policy Mandate JSON for agentic payment sy\n\n**Tool URL:** https://ainumbers.co/tools/131-ap2-aml-mandate-builder.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "mandateJur": {
                    "type": "string"
                  },
                  "riskTierThreshold": {
                    "type": "string"
                  },
                  "tmVelocityThreshold": {
                    "type": "string"
                  },
                  "sarAutoEscalate": {
                    "type": "string"
                  },
                  "sanctionsFreq": {
                    "type": "string"
                  },
                  "travelRuleThreshold": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "ap2_aml_mandate_builder",
        "x-tool-url": "https://ainumbers.co/tools/131-ap2-aml-mandate-builder.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/invoice_to_payment_orchestrator": {
      "post": {
        "operationId": "invoice_to_payment_orchestrator",
        "summary": "Invoice-to-Payment Orchestrator",
        "description": "Map the full invoice-to-payment lifecycle: invoice capture, approval routing, payment method selection, ISO 20022 message assignment, and settlement timeline. Outputs workflow diagram, ISO 20022 message type map, and Policy Mandate JSON payment instruction stub. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/132-invoice-to-payment-orchestrator.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "invAmount": {
                    "type": "string"
                  },
                  "invCurrency": {
                    "type": "string"
                  },
                  "payRail": {
                    "type": "string"
                  },
                  "supplierTier": {
                    "type": "string"
                  },
                  "approvalLimit": {
                    "type": "string"
                  },
                  "destCountry": {
                    "type": "string"
                  },
                  "payTerms": {
                    "type": "string"
                  },
                  "threeWay": {
                    "type": "string"
                  },
                  "exceptionRouting": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "invoice_to_payment_orchestrator",
        "x-tool-url": "https://ainumbers.co/tools/132-invoice-to-payment-orchestrator.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/virtual_card_program_cost_modeller": {
      "post": {
        "operationId": "virtual_card_program_cost_modeller",
        "summary": "Virtual Card Program Cost Modeller",
        "description": "Model virtual card programme economics end-to-end: interchange income, rebate waterfall, BIN fees, network dues, processing cost, and net margin. Compare against ACH and wire. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/133-virtual-card-program-cost-modeller.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "monthlyVol": {
                    "type": "string"
                  },
                  "avgTxn": {
                    "type": "string"
                  },
                  "interchRate": {
                    "type": "string"
                  },
                  "rebateShare": {
                    "type": "string"
                  },
                  "binFee": {
                    "type": "string"
                  },
                  "procCost": {
                    "type": "string"
                  },
                  "fraudBps": {
                    "type": "string"
                  },
                  "reservePct": {
                    "type": "string"
                  },
                  "discRate": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "virtual_card_program_cost_modeller",
        "x-tool-url": "https://ainumbers.co/tools/133-virtual-card-program-cost-modeller.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/ap_automation_savings_calculator": {
      "post": {
        "operationId": "ap_automation_savings_calculator",
        "summary": "AP Automation Savings Calculator",
        "description": "Quantify labour cost savings from automating AP invoice processing, approval workflows, and payment execution. Model FTE savings, DPO impact, and break-even. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/134-ap-automation-savings-calculator.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "invVol": {
                    "type": "string"
                  },
                  "costManual": {
                    "type": "string"
                  },
                  "costAuto": {
                    "type": "string"
                  },
                  "headcount": {
                    "type": "string"
                  },
                  "salary": {
                    "type": "string"
                  },
                  "errorRate": {
                    "type": "string"
                  },
                  "errorCost": {
                    "type": "string"
                  },
                  "currDPO": {
                    "type": "string"
                  },
                  "targDPO": {
                    "type": "string"
                  },
                  "costCap": {
                    "type": "string"
                  },
                  "platCost": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "ap_automation_savings_calculator",
        "x-tool-url": "https://ainumbers.co/tools/134-ap-automation-savings-calculator.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/supplier_payment_terms_optimiser": {
      "post": {
        "operationId": "supplier_payment_terms_optimiser",
        "summary": "Supplier Payment Terms Optimiser",
        "description": "Model NPV of early payment discounts vs. cost of capital across supplier tiers. Greedy DPO selection algorithm. Working capital crossover analysis. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/135-supplier-payment-terms-optimiser.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "optimalDpo": {
                      "type": "number"
                    },
                    "cashBenefit": {
                      "type": "number"
                    },
                    "earlyPayDiscount": {
                      "type": "number"
                    },
                    "mandateJson": {
                      "type": "object"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "supplier_payment_terms_optimiser",
        "x-tool-url": "https://ainumbers.co/tools/135-supplier-payment-terms-optimiser.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/embedded_payments_margin_simulator": {
      "post": {
        "operationId": "embedded_payments_margin_simulator",
        "summary": "Embedded Payments Margin Simulator",
        "description": "Model margin waterfall for embedded payment: interchange, scheme fees, processing cost, BaaS/sponsor bank fee, fraud loss, reserve requirement, and net contribution margin per transaction. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/136-embedded-payments-margin-simulator.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "payType": {
                    "type": "string"
                  },
                  "vol": {
                    "type": "string"
                  },
                  "avg": {
                    "type": "string"
                  },
                  "interchBps": {
                    "type": "string"
                  },
                  "schemeBps": {
                    "type": "string"
                  },
                  "baasBps": {
                    "type": "string"
                  },
                  "procCost": {
                    "type": "string"
                  },
                  "fraudBps": {
                    "type": "string"
                  },
                  "resBps": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "embedded_payments_margin_simulator",
        "x-tool-url": "https://ainumbers.co/tools/136-embedded-payments-margin-simulator.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/137_payment_orchestration_vendor_scorecard": {
      "post": {
        "operationId": "137_payment_orchestration_vendor_scorecard",
        "summary": "Payment Orchestration Vendor Scorecard",
        "description": "Score and compare payment orchestration vendors across 10 configurable dimensions. Weighted decision matrix with ranked output and Markdown evaluation memo. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/137-payment-orchestration-vendor-scorecard.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "137_payment_orchestration_vendor_scorecard",
        "x-tool-url": "https://ainumbers.co/tools/137-payment-orchestration-vendor-scorecard.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/138_marketplace_fee_waterfall_designer": {
      "post": {
        "operationId": "138_marketplace_fee_waterfall_designer",
        "summary": "Marketplace Fee Waterfall Designer",
        "description": "Model multi-party fee economics for marketplace platforms. Input gross transaction value and all fee layers; outputs per-transaction P&L waterfall, platform margin, and sensitivity table. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/138-marketplace-fee-waterfall-designer.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "138_marketplace_fee_waterfall_designer",
        "x-tool-url": "https://ainumbers.co/tools/138-marketplace-fee-waterfall-designer.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/erp_payment_integration_scorer": {
      "post": {
        "operationId": "erp_payment_integration_scorer",
        "summary": "ERP Payment Integration Readiness Scorer",
        "description": "Score ERP system readiness for ISO 20022 payment integration. Assess migration complexity, field mapping gaps, and generate a Markdown integration project plan. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/139-erp-payment-integration-scorer.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "erpPlatform": {
                    "type": "string"
                  },
                  "currFormat": {
                    "type": "string"
                  },
                  "targFormat": {
                    "type": "string"
                  },
                  "intMethod": {
                    "type": "string"
                  },
                  "txnVol": {
                    "type": "string"
                  },
                  "dim_data_map": {
                    "type": "string",
                    "description": "Score 1-5: Data mapping readiness"
                  },
                  "dim_core_sys": {
                    "type": "string",
                    "description": "Score 1-5: Core system readiness"
                  },
                  "dim_connect": {
                    "type": "string",
                    "description": "Score 1-5: Connectivity readiness"
                  },
                  "dim_testing": {
                    "type": "string",
                    "description": "Score 1-5: Testing readiness"
                  },
                  "dim_compliance": {
                    "type": "string",
                    "description": "Score 1-5: Compliance readiness"
                  },
                  "dim_ops": {
                    "type": "string",
                    "description": "Score 1-5: Operations readiness"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "erp_payment_integration_scorer",
        "x-tool-url": "https://ainumbers.co/tools/139-erp-payment-integration-scorer.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/export_ops_threshold_config": {
      "post": {
        "operationId": "export_ops_threshold_config",
        "summary": "Real-Time Ops Dashboard Template",
        "description": "Configurable mock A2A payment operations dashboard with live SLA tracking for FedNow, RTP, ACH, and SEPA Instant. Simulates TPM, latency, and failure rate metrics with configurable alert thresholds. Exports threshold configuration as an AP2 mandate.\n\n**Tool URL:** https://ainumbers.co/tools/14-realtime-ops-dashboard.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "ops",
          "dashboard",
          "SLA",
          "FedNow",
          "RTP",
          "ACH",
          "SEPA",
          "monitoring",
          "thresholds"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "failRate_warn": {
                    "type": "number"
                  },
                  "failRate_crit": {
                    "type": "number"
                  },
                  "latency_warn_ms": {
                    "type": "number"
                  },
                  "latency_crit_ms": {
                    "type": "number"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "current_tpm": {
                      "type": "number"
                    },
                    "current_latency_ms": {
                      "type": "number"
                    },
                    "current_fail_rate": {
                      "type": "number"
                    },
                    "alert_status": {
                      "type": "string",
                      "enum": [
                        "OK",
                        "WARN",
                        "CRIT"
                      ]
                    },
                    "threshold_config": {
                      "type": "object"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "export_ops_threshold_config",
        "x-tool-url": "https://ainumbers.co/tools/14-realtime-ops-dashboard.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/b2b_payment_fraud_detector": {
      "post": {
        "operationId": "b2b_payment_fraud_detector",
        "summary": "B2B Payment Fraud Detection Heuristics Builder",
        "description": "Configure fraud detection heuristics for B2B payment fraud: BEC, invoice manipulation, supplier impersonation, and change-of-bank-details fraud. Outputs rule pseudocode, detection checklist, and operational controls. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/140-b2b-payment-fraud-detector.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "orgSize": {
                    "type": "string"
                  },
                  "apSpend": {
                    "type": "string"
                  },
                  "threshold": {
                    "type": "string"
                  },
                  "chk_bec": {
                    "type": "string"
                  },
                  "chk_invoice": {
                    "type": "string"
                  },
                  "chk_supplier": {
                    "type": "string"
                  },
                  "chk_bankchange": {
                    "type": "string"
                  },
                  "varPct": {
                    "type": "string"
                  },
                  "waitDays": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "b2b_payment_fraud_detector",
        "x-tool-url": "https://ainumbers.co/tools/140-b2b-payment-fraud-detector.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/cross_border_b2b_fee_calculator": {
      "post": {
        "operationId": "cross_border_b2b_fee_calculator",
        "summary": "Cross-Border B2B Fee Transparency Calculator",
        "description": "Deconstruct total landed cost per B2B invoice: FX spread, correspondent fees, VAT/GST treatment, Incoterms payment obligation timing, documentary credit costs, ERP remittance reconciliation cost. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/141-cross-border-b2b-fee-calculator.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "invAmt": {
                    "type": "string"
                  },
                  "origCtry": {
                    "type": "string"
                  },
                  "destCtry": {
                    "type": "string"
                  },
                  "payMeth": {
                    "type": "string"
                  },
                  "fxSpread": {
                    "type": "string"
                  },
                  "corrFee": {
                    "type": "string"
                  },
                  "incoterm": {
                    "type": "string"
                  },
                  "docCredit": {
                    "type": "string"
                  },
                  "reconCost": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "cross_border_b2b_fee_calculator",
        "x-tool-url": "https://ainumbers.co/tools/141-cross-border-b2b-fee-calculator.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/142_b2b_payment_terms_working_capital_impact": {
      "post": {
        "operationId": "142_b2b_payment_terms_working_capital_impact",
        "summary": "B2B Payment Terms &amp; Working Capital Impact Calculator",
        "description": "Two-sided working capital model: buyer DPO vs seller DSO. Calculates cash conversion cycle delta, early payment discount breakeven, and supply chain finance cost-benefit. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/142-b2b-payment-terms-working-capital-impact.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "142_b2b_payment_terms_working_capital_impact",
        "x-tool-url": "https://ainumbers.co/tools/142-b2b-payment-terms-working-capital-impact.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/143_commercial_card_spend_rebate_optimizer": {
      "post": {
        "operationId": "143_commercial_card_spend_rebate_optimizer",
        "summary": "Commercial Card Spend &amp; Rebate Optimizer",
        "description": "Model total spend by card type, compute interchange rebate on commercial card programs, and optimise card mix for maximum rebate. Corporate buyer perspective. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/143-commercial-card-spend-rebate-optimizer.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "143_commercial_card_spend_rebate_optimizer",
        "x-tool-url": "https://ainumbers.co/tools/143-commercial-card-spend-rebate-optimizer.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/iso20022_remittance_validator": {
      "post": {
        "operationId": "iso20022_remittance_validator",
        "summary": "ISO 20022 Remittance Data Enrichment Validator",
        "description": "Validate structured remittance information in ISO 20022 pain.001 and camt.054 messages. Check ISO 11649 SCR format, RmtInf/Strd population, invoice reconciliation completeness, and ERP auto-match eligibility. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/144-iso20022-remittance-validator.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "xmlInput": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "iso20022_remittance_validator",
        "x-tool-url": "https://ainumbers.co/tools/144-iso20022-remittance-validator.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/supply_chain_finance_modeller": {
      "post": {
        "operationId": "supply_chain_finance_modeller",
        "summary": "Supply Chain Finance Modeller",
        "description": "Model supply chain finance programme economics. Compare reverse factoring, dynamic discounting, and inventory finance. Outputs cost-benefit waterfall, supplier working capital benefit, and SCF programme design memo. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/145-supply-chain-finance-modeller.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "progVol": {
                    "type": "string"
                  },
                  "supTier": {
                    "type": "string"
                  },
                  "supCoC": {
                    "type": "string"
                  },
                  "buyCoC": {
                    "type": "string"
                  },
                  "platFee": {
                    "type": "string"
                  },
                  "currDPO": {
                    "type": "string"
                  },
                  "targDPO": {
                    "type": "string"
                  },
                  "invTerms": {
                    "type": "string"
                  },
                  "earlyWin": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "supply_chain_finance_modeller",
        "x-tool-url": "https://ainumbers.co/tools/145-supply-chain-finance-modeller.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/virtual_account_structure_simulator": {
      "post": {
        "operationId": "virtual_account_structure_simulator",
        "summary": "Virtual Account Structure Simulator",
        "description": "Design notional pooling and virtual account structures. Configure account hierarchy, interest netting, balance concentration, multi-currency overlay. Model interest benefit under pooling vs standalone. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/146-virtual-account-structure-simulator.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "poolRate": {
                    "type": "string"
                  },
                  "standRate": {
                    "type": "string"
                  },
                  "concThresh": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "virtual_account_structure_simulator",
        "x-tool-url": "https://ainumbers.co/tools/146-virtual-account-structure-simulator.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/payout_rail_cost_finality_modeller": {
      "post": {
        "operationId": "payout_rail_cost_finality_modeller",
        "summary": "Payout Rail Cost & Finality Modeller",
        "description": "Compare cost, speed, and finality across payment rails for B2B and platform payout use cases. ACH, RTP, FedNow, SEPA CT, SEPA Instant, FPS, SPEI, wire, virtual card. Outputs Policy Mandate JSON routing policy. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/147-payout-rail-cost-finality-modeller.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "amount": {
                    "type": "string"
                  },
                  "juris": {
                    "type": "string"
                  },
                  "urgency": {
                    "type": "string"
                  },
                  "monthVol": {
                    "type": "string"
                  },
                  "useCase": {
                    "type": "string"
                  },
                  "wCost": {
                    "type": "string"
                  },
                  "wSpeed": {
                    "type": "string"
                  },
                  "wFinal": {
                    "type": "string"
                  },
                  "wReach": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "payout_rail_cost_finality_modeller",
        "x-tool-url": "https://ainumbers.co/tools/147-payout-rail-cost-finality-modeller.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/dac7_1099k_withholding_simulator": {
      "post": {
        "operationId": "dac7_1099k_withholding_simulator",
        "summary": "DAC7 / 1099-K Withholding Threshold Simulator",
        "description": "Model EU DAC7 and US IRS 1099-K reporting trigger calculations by seller jurisdiction, residency, and transaction volume. Calculate IRS backup withholding (24%), DAC7 thresholds, OECD safe harbours, FATCA flags. Policy Mandate JSON export. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/148-dac7-1099k-withholding-simulator.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "sellerJuris": {
                    "type": "string"
                  },
                  "residency": {
                    "type": "string"
                  },
                  "entityType": {
                    "type": "string"
                  },
                  "annVol": {
                    "type": "string"
                  },
                  "annTxns": {
                    "type": "string"
                  },
                  "taxForm": {
                    "type": "string"
                  },
                  "platJuris": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "dac7_1099k_withholding_simulator",
        "x-tool-url": "https://ainumbers.co/tools/148-dac7-1099k-withholding-simulator.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/seller_onboarding_classifier": {
      "post": {
        "operationId": "seller_onboarding_classifier",
        "summary": "Seller Onboarding Jurisdiction Classifier",
        "description": "Determine W-8/W-9 form requirement by seller country and entity type. Classify FATCA/CRS status. Determine VAT treatment for marketplace services. Outputs onboarding checklist, decision tree, and Policy Mandate JSON seller profile stub. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/149-seller-onboarding-classifier.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "sellerCtry": {
                    "type": "string"
                  },
                  "entityType": {
                    "type": "string"
                  },
                  "serviceType": {
                    "type": "string"
                  },
                  "platCtry": {
                    "type": "string"
                  },
                  "earningsLevel": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "seller_onboarding_classifier",
        "x-tool-url": "https://ainumbers.co/tools/149-seller-onboarding-classifier.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/generate_synthetic_test_data": {
      "post": {
        "operationId": "generate_synthetic_test_data",
        "summary": "Synthetic A2A Test Data Generator",
        "description": "Generates synthetic A2A payment test datasets in ISO 20022 pacs.008, NACHA ACH, and JSON formats with configurable volumes, error injection (duplicate, return, pending), and optional enrichment fields (E2E IDs, routing, account numbers, names, purpose, latency, IP).\n\n**Tool URL:** https://ainumbers.co/tools/15-synthetic-test-data-gen.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "synthetic data",
          "test data",
          "pacs.008",
          "NACHA",
          "ACH",
          "ISO 20022",
          "testing"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "format",
                  "count"
                ],
                "properties": {
                  "format": {
                    "type": "string",
                    "enum": [
                      "iso20022",
                      "nacha",
                      "json"
                    ]
                  },
                  "count": {
                    "type": "number"
                  },
                  "rail": {
                    "type": "string"
                  },
                  "dupRate": {
                    "type": "number"
                  },
                  "retRate": {
                    "type": "number"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "records_generated": {
                      "type": "number"
                    },
                    "format": {
                      "type": "string"
                    },
                    "rail": {
                      "type": "string"
                    },
                    "duplicate_count": {
                      "type": "number"
                    },
                    "return_count": {
                      "type": "number"
                    },
                    "pending_count": {
                      "type": "number"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "generate_synthetic_test_data",
        "x-tool-url": "https://ainumbers.co/tools/15-synthetic-test-data-gen.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/mtl_licensing_risk_mapper": {
      "post": {
        "operationId": "mtl_licensing_risk_mapper",
        "summary": "Platform Money Transmission Licensing Risk Mapper",
        "description": "Assess US state money transmission licensing requirements by business model, transaction type, volume, and geography. Flag MTL states, agent-of-payee exemptions, and MSB overlap. Policy Mandate JSON compliance export. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/150-mtl-licensing-risk-mapper.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "bizModel": {
                    "type": "string"
                  },
                  "txnType": {
                    "type": "string"
                  },
                  "monthVol": {
                    "type": "string"
                  },
                  "agentPayee": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "mtl_licensing_risk_mapper",
        "x-tool-url": "https://ainumbers.co/tools/150-mtl-licensing-risk-mapper.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/split_payment_escrow_simulator": {
      "post": {
        "operationId": "split_payment_escrow_simulator",
        "summary": "Split Payment Escrow Timing Simulator",
        "description": "Model escrow release triggers, marketplace settlement timing, and reserve waterfall for split payment flows. Configure escrow hold period, release conditions, reserve percentage, refund priority, and seller risk tier. Policy Mandate JSON payout manifest. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/151-split-payment-escrow-simulator.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "orderAmt": {
                    "type": "string"
                  },
                  "platFee": {
                    "type": "string"
                  },
                  "riskTier": {
                    "type": "string"
                  },
                  "holdDays": {
                    "type": "string"
                  },
                  "reservePct": {
                    "type": "string"
                  },
                  "reserveDays": {
                    "type": "string"
                  },
                  "refundWindow": {
                    "type": "string"
                  },
                  "cbLiab": {
                    "type": "string"
                  },
                  "settlRail": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "split_payment_escrow_simulator",
        "x-tool-url": "https://ainumbers.co/tools/151-split-payment-escrow-simulator.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/baas_provider_comparator": {
      "post": {
        "operationId": "baas_provider_comparator",
        "summary": "BaaS Provider Comparator",
        "description": "Score and compare BaaS providers across 10 capability dimensions. User-adjustable weighting matrix. Outputs weighted comparison matrix and Markdown evaluation memo. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/152-baas-provider-comparator.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "w_regulatory": {
                    "type": "string",
                    "description": "Weight 1-5: Regulatory Standing"
                  },
                  "w_programme": {
                    "type": "string",
                    "description": "Weight 1-5: Programme Management"
                  },
                  "w_card_issuing": {
                    "type": "string",
                    "description": "Weight 1-5: Card Issuance"
                  },
                  "w_ach_rtp": {
                    "type": "string",
                    "description": "Weight 1-5: ACH / RTP Rails"
                  },
                  "w_kyc_kyb": {
                    "type": "string",
                    "description": "Weight 1-5: KYC / KYB Support"
                  },
                  "w_disputes": {
                    "type": "string",
                    "description": "Weight 1-5: Dispute Handling"
                  },
                  "w_devex": {
                    "type": "string",
                    "description": "Weight 1-5: Developer Experience"
                  },
                  "w_pricing": {
                    "type": "string",
                    "description": "Weight 1-5: Pricing Model"
                  },
                  "w_fdic": {
                    "type": "string",
                    "description": "Weight 1-5: FDIC Pass-Through"
                  },
                  "w_compliance": {
                    "type": "string",
                    "description": "Weight 1-5: Compliance Tooling"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "baas_provider_comparator",
        "x-tool-url": "https://ainumbers.co/tools/152-baas-provider-comparator.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/fbo_account_structure_simulator": {
      "post": {
        "operationId": "fbo_account_structure_simulator",
        "summary": "FBO Account Structure Simulator",
        "description": "Visual simulator for FBO account structures. Model omnibus vs. subledger architectures, pooled accounts, settlement timing, reserve logic, FDIC pass-through eligibility. Outputs operational risk score and Markdown architecture memo. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/153-fbo-account-structure-simulator.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "acctType": {
                    "type": "string"
                  },
                  "poolMethod": {
                    "type": "string"
                  },
                  "userCount": {
                    "type": "string"
                  },
                  "avgBal": {
                    "type": "string"
                  },
                  "settlWindows": {
                    "type": "string"
                  },
                  "fdicPct": {
                    "type": "string"
                  },
                  "reservePct": {
                    "type": "string"
                  },
                  "dormancyRate": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "fbo_account_structure_simulator",
        "x-tool-url": "https://ainumbers.co/tools/153-fbo-account-structure-simulator.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/ledger_architecture_builder": {
      "post": {
        "operationId": "ledger_architecture_builder",
        "summary": "Ledger Architecture Builder",
        "description": "Interactive double-entry ledger designer for fintech programmes. Configure accounts, architecture pattern (monolithic/event-sourced/multi-ledger), holds, reversals, chargeback flows. Outputs ledger diagram, event log structure, and Markdown architecture memo. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/154-ledger-architecture-builder.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "archPat": {
                    "type": "string"
                  },
                  "consistency": {
                    "type": "string"
                  },
                  "acctOperating": {
                    "type": "string"
                  },
                  "acctReserve": {
                    "type": "string"
                  },
                  "acctSuspense": {
                    "type": "string"
                  },
                  "acctFee": {
                    "type": "string"
                  },
                  "acctLiability": {
                    "type": "string"
                  },
                  "acctChargeback": {
                    "type": "string"
                  },
                  "txnVol": {
                    "type": "string"
                  },
                  "holdsEnabled": {
                    "type": "string"
                  },
                  "reversalsEnabled": {
                    "type": "string"
                  },
                  "chargebackEnabled": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "ledger_architecture_builder",
        "x-tool-url": "https://ainumbers.co/tools/154-ledger-architecture-builder.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/bin_sponsorship_economics": {
      "post": {
        "operationId": "bin_sponsorship_economics",
        "summary": "BIN Sponsorship Economics Simulator",
        "description": "Model BIN sponsorship economics: interchange income, rebate share, BIN rental fee, network dues, fraud loss, reserve requirement, net margin per transaction. Break-even volume and 5-year NPV projection. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/155-bin-sponsorship-economics.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "network": {
                    "type": "string"
                  },
                  "interchange": {
                    "type": "string"
                  },
                  "rebateShare": {
                    "type": "string"
                  },
                  "binRental": {
                    "type": "string"
                  },
                  "networkDues": {
                    "type": "string"
                  },
                  "processingCost": {
                    "type": "string"
                  },
                  "fraudRate": {
                    "type": "string"
                  },
                  "reserveReq": {
                    "type": "string"
                  },
                  "reserveRate": {
                    "type": "string"
                  },
                  "avgTxn": {
                    "type": "string"
                  },
                  "monthlyVol": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "bin_sponsorship_economics",
        "x-tool-url": "https://ainumbers.co/tools/155-bin-sponsorship-economics.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/wallet_float_yield_estimator": {
      "post": {
        "operationId": "wallet_float_yield_estimator",
        "summary": "Wallet Float Yield Estimator",
        "description": "Calculate float revenue on stored value balances. Inputs: average wallet balance, user count, Fed Funds rate, reserve requirement, FDIC pass-through eligibility. Outputs float revenue projection, reserve drag, net yield, and Markdown treasury memo. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/156-wallet-float-yield-estimator.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "progType": {
                    "type": "string"
                  },
                  "userCount": {
                    "type": "string"
                  },
                  "avgBal": {
                    "type": "string"
                  },
                  "ffRate": {
                    "type": "string"
                  },
                  "spreadVsFF": {
                    "type": "string"
                  },
                  "fdicElig": {
                    "type": "string"
                  },
                  "reservePct": {
                    "type": "string"
                  },
                  "dormancyRate": {
                    "type": "string"
                  },
                  "mgmtFee": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "wallet_float_yield_estimator",
        "x-tool-url": "https://ainumbers.co/tools/156-wallet-float-yield-estimator.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/settlement_orchestration_simulator": {
      "post": {
        "operationId": "settlement_orchestration_simulator",
        "summary": "Settlement Orchestration Simulator",
        "description": "Model multi-leg payment settlement flows — configure batch timing, netting ratios, cut-off windows, and fail/retry logic to quantify liquidity requirements and settlement efficiency. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/157-settlement-orchestration-simulator.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "settledCount": {
                      "type": "number"
                    },
                    "failedCount": {
                      "type": "number"
                    },
                    "liquidityRequired": {
                      "type": "number"
                    },
                    "mandateJson": {
                      "type": "object"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "settlement_orchestration_simulator",
        "x-tool-url": "https://ainumbers.co/tools/157-settlement-orchestration-simulator.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/fintech_compliance_control_mapper": {
      "post": {
        "operationId": "fintech_compliance_control_mapper",
        "summary": "Fintech Compliance Control Mapper",
        "description": "Map BaaS-specific compliance controls across Reg E, UDAAP, card network obligations, and sponsor bank programme management. Heatmap, maturity score, and Policy Mandate JSON control register. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/158-fintech-compliance-control-mapper.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "progType": {
                    "type": "string"
                  },
                  "re1": {
                    "type": "string"
                  },
                  "re2": {
                    "type": "string"
                  },
                  "re3": {
                    "type": "string"
                  },
                  "re4": {
                    "type": "string"
                  },
                  "re5": {
                    "type": "string"
                  },
                  "ud1": {
                    "type": "string"
                  },
                  "ud2": {
                    "type": "string"
                  },
                  "ud3": {
                    "type": "string"
                  },
                  "ud4": {
                    "type": "string"
                  },
                  "ud5": {
                    "type": "string"
                  },
                  "cn1": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "fintech_compliance_control_mapper",
        "x-tool-url": "https://ainumbers.co/tools/158-fintech-compliance-control-mapper.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/marketplace_payout_flow_designer": {
      "post": {
        "operationId": "marketplace_payout_flow_designer",
        "summary": "Marketplace Payout Flow Designer",
        "description": "Design end-to-end marketplace payout architecture: split payment logic, escrow timing, reserve logic, refund priority, seller risk tiers, rail selection. Outputs payout architecture diagram and Policy Mandate JSON payout manifest. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/159-marketplace-payout-flow-designer.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "mktType": {
                    "type": "string"
                  },
                  "gmv": {
                    "type": "string"
                  },
                  "avgOrder": {
                    "type": "string"
                  },
                  "railSel": {
                    "type": "string"
                  },
                  "escrowDays": {
                    "type": "string"
                  },
                  "reservePct": {
                    "type": "string"
                  },
                  "refundDays": {
                    "type": "string"
                  },
                  "takeRate": {
                    "type": "string"
                  },
                  "tierCount": {
                    "type": "string"
                  },
                  "splitEnabled": {
                    "type": "string"
                  },
                  "instantEnabled": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "marketplace_payout_flow_designer",
        "x-tool-url": "https://ainumbers.co/tools/159-marketplace-payout-flow-designer.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/validate_iban_bic": {
      "post": {
        "operationId": "validate_iban_bic",
        "summary": "IBAN Validator + BIC Lookup + SEPA Reachability",
        "description": "Validates IBANs using MOD 97 check digit algorithm across all IBAN countries. Validates BIC/SWIFT codes and checks SEPA reachability. Supports batch CSV validation with full export.\n\n**Tool URL:** https://ainumbers.co/tools/16-iban-bic-validator.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "IBAN",
          "BIC",
          "SWIFT",
          "SEPA",
          "validation",
          "account",
          "ISO 13616"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "iban": {
                    "type": "string"
                  },
                  "bic": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "iban_valid": {
                      "type": "boolean"
                    },
                    "bic_valid": {
                      "type": "boolean"
                    },
                    "sepa_reachable": {
                      "type": "boolean"
                    },
                    "country": {
                      "type": "string"
                    },
                    "bank_code": {
                      "type": "string"
                    },
                    "batch_total": {
                      "type": "number"
                    },
                    "batch_pass": {
                      "type": "number"
                    },
                    "batch_fail": {
                      "type": "number"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "validate_iban_bic",
        "x-tool-url": "https://ainumbers.co/tools/16-iban-bic-validator.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/embedded_lending_unit_economics": {
      "post": {
        "operationId": "embedded_lending_unit_economics",
        "summary": "Embedded Lending Unit Economics Tool",
        "description": "Model embedded B2B lending unit economics: origination cost, APR, default rate, loss curve, cost of capital, servicing overhead. Outputs NIM, expected loss, RAROC, and Markdown unit economics memo. B2B commercial lending only. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/160-embedded-lending-unit-economics.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "prodType": {
                    "type": "string"
                  },
                  "avgLoan": {
                    "type": "string"
                  },
                  "portVol": {
                    "type": "string"
                  },
                  "apr": {
                    "type": "string"
                  },
                  "coc": {
                    "type": "string"
                  },
                  "origCost": {
                    "type": "string"
                  },
                  "defaultRate": {
                    "type": "string"
                  },
                  "lgd": {
                    "type": "string"
                  },
                  "servicingPct": {
                    "type": "string"
                  },
                  "loanTerm": {
                    "type": "string"
                  },
                  "capReq": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "embedded_lending_unit_economics",
        "x-tool-url": "https://ainumbers.co/tools/160-embedded-lending-unit-economics.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/programme_agreement_economics": {
      "post": {
        "operationId": "programme_agreement_economics",
        "summary": "Programme Agreement Economics Model",
        "description": "Model BaaS programme agreement economics: interchange revenue share, BIN rental, volume commitments, ramp schedules, penalty clauses. 5-year P&L waterfall and Markdown programme economics memo. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/161-programme-agreement-economics.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "icRate": {
                    "type": "string"
                  },
                  "ftShare": {
                    "type": "string"
                  },
                  "procPass": {
                    "type": "string"
                  },
                  "procRate": {
                    "type": "string"
                  },
                  "avgTxn": {
                    "type": "string"
                  },
                  "binRental": {
                    "type": "string"
                  },
                  "complianceCost": {
                    "type": "string"
                  },
                  "minMonthlyFee": {
                    "type": "string"
                  },
                  "commitY1": {
                    "type": "string"
                  },
                  "penaltyPct": {
                    "type": "string"
                  },
                  "volY1": {
                    "type": "string"
                  },
                  "growY2": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "programme_agreement_economics",
        "x-tool-url": "https://ainumbers.co/tools/161-programme-agreement-economics.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/sponsor_bank_readiness_scorer": {
      "post": {
        "operationId": "sponsor_bank_readiness_scorer",
        "summary": "Sponsor Bank Readiness Scorer",
        "description": "Score fintech programme readiness for sponsor bank partnership. Compliance programme maturity, Reg E controls, card network rules, fraud monitoring, consumer complaints, IT security. Policy Mandate JSON programme control register. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/162-sponsor-bank-readiness-scorer.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "progType": {
                    "type": "string"
                  },
                  "d1": {
                    "type": "string"
                  },
                  "d2": {
                    "type": "string"
                  },
                  "d3": {
                    "type": "string"
                  },
                  "d4": {
                    "type": "string"
                  },
                  "d5": {
                    "type": "string"
                  },
                  "d6": {
                    "type": "string"
                  },
                  "d7": {
                    "type": "string"
                  },
                  "d8": {
                    "type": "string"
                  },
                  "d9": {
                    "type": "string"
                  },
                  "d10": {
                    "type": "string"
                  },
                  "d11": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "sponsor_bank_readiness_scorer",
        "x-tool-url": "https://ainumbers.co/tools/162-sponsor-bank-readiness-scorer.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/card_programme_launch_readiness_checker": {
      "post": {
        "operationId": "card_programme_launch_readiness_checker",
        "summary": "Card Programme Launch Readiness Checker",
        "description": "Structured launch checklist for Visa and Mastercard card programmes. BIN sponsorship, scheme registration, KYC/KYB, Reg E, network rules, fraud monitoring, dispute resolution. Outputs domain readiness scores, critical gap list, and Markdown project plan. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/163-card-programme-launch-readiness-checker.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "network": {
                    "type": "string"
                  },
                  "progType": {
                    "type": "string"
                  },
                  "i1": {
                    "type": "string"
                  },
                  "i2": {
                    "type": "string"
                  },
                  "i3": {
                    "type": "string"
                  },
                  "i4": {
                    "type": "string"
                  },
                  "i5": {
                    "type": "string"
                  },
                  "i6": {
                    "type": "string"
                  },
                  "i7": {
                    "type": "string"
                  },
                  "i8": {
                    "type": "string"
                  },
                  "i9": {
                    "type": "string"
                  },
                  "i10": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "card_programme_launch_readiness_checker",
        "x-tool-url": "https://ainumbers.co/tools/163-card-programme-launch-readiness-checker.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/ap2_baas_mandate_builder": {
      "post": {
        "operationId": "ap2_baas_mandate_builder",
        "summary": "AP2 BaaS Infrastructure Mandate Builder",
        "description": "Anchor agentic tool for Cat-14. Translate BaaS programme controls, settlement policies, and compliance obligations into a validated Policy Mandate JSON. Outputs Policy Mandate JSON BaaS mandate, human-readable policy summary, and agent instruction set for MCP runtime ingestion. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/164-ap2-baas-mandate-builder.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "baasProvider": {
                    "type": "string"
                  },
                  "progName": {
                    "type": "string"
                  },
                  "fboStruct": {
                    "type": "string"
                  },
                  "settlWindow": {
                    "type": "string"
                  },
                  "cardNetwork": {
                    "type": "string"
                  },
                  "cc_rege": {
                    "type": "string"
                  },
                  "cc_udaap": {
                    "type": "string"
                  },
                  "cc_pci": {
                    "type": "string"
                  },
                  "cc_bsa": {
                    "type": "string"
                  },
                  "cc_ofac": {
                    "type": "string"
                  },
                  "cc_netRules": {
                    "type": "string"
                  },
                  "txnLimit": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "ap2_baas_mandate_builder",
        "x-tool-url": "https://ainumbers.co/tools/164-ap2-baas-mandate-builder.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/classify_cfpb_1033_institution": {
      "post": {
        "operationId": "classify_cfpb_1033_institution",
        "summary": "CFPB §1033 Institution Classifier",
        "description": "Classify your institution under CFPB §1033 Personal Financial Data Rights. Determines Tier 1–4 or TPPP status, compliance deadline, and full obligations checklist. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/165-cfpb-1033-institution-classifier.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "CFPB",
          "1033",
          "open-banking",
          "consumer-data",
          "compliance",
          "export",
          "regtech"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "institution_type",
                  "total_assets_usd"
                ],
                "properties": {
                  "institution_type": {
                    "type": "string"
                  },
                  "total_assets_usd": {
                    "type": "number"
                  },
                  "consumer_accounts": {
                    "type": "boolean"
                  },
                  "has_api_access": {
                    "type": "boolean"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "tier": {
                      "type": "string",
                      "description": "CFPB §1033 Tier (1–4) or TPPP"
                    },
                    "compliance_deadline": {
                      "type": "string",
                      "description": "ISO 8601 compliance deadline date"
                    },
                    "obligations": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "export_md": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "classify_cfpb_1033_institution",
        "x-tool-url": "https://ainumbers.co/tools/165-cfpb-1033-institution-classifier.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/scope_cfpb_1033_data_rights": {
      "post": {
        "operationId": "scope_cfpb_1033_data_rights",
        "summary": "CFPB §1033 Data Rights Scoper",
        "description": "Scope your CFPB §1033 covered data obligations across the 7 data categories. Determine which categories apply to your institution and products, with access rules, format requirements, and data minimization constraints.\n\n**Tool URL:** https://ainumbers.co/tools/166-cfpb-1033-data-rights-scoper.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "CFPB",
          "1033",
          "data-rights",
          "open-banking",
          "scoping",
          "compliance",
          "export"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "institution_tier",
                  "products"
                ],
                "properties": {
                  "institution_tier": {
                    "type": "string"
                  },
                  "products": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "has_fdx_api": {
                    "type": "boolean"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "covered_categories": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "data_fields_per_category": {
                      "type": "object"
                    },
                    "format_requirements": {
                      "type": "array"
                    },
                    "export_md": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "scope_cfpb_1033_data_rights",
        "x-tool-url": "https://ainumbers.co/tools/166-cfpb-1033-data-rights-scoper.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/map_cfpb_1033_tppp_obligations": {
      "post": {
        "operationId": "map_cfpb_1033_tppp_obligations",
        "summary": "CFPB §1033 TPPP Obligation Mapper",
        "description": "Map CFPB §1033 obligations for Third-Party Payment Providers (TPPPs). Select TPPP type and use cases to receive authorization requirements, data minimization rules, purpose limitations, and consumer revocation obligations.\n\n**Tool URL:** https://ainumbers.co/tools/167-cfpb-1033-tppp-mapper.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "CFPB",
          "1033",
          "TPPP",
          "third-party",
          "open-banking",
          "compliance",
          "export"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "tppp_type",
                  "use_cases"
                ],
                "properties": {
                  "tppp_type": {
                    "type": "string"
                  },
                  "use_cases": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "has_consumer_authorization": {
                    "type": "boolean"
                  },
                  "retention_days": {
                    "type": "number"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "authorization_requirements": {
                      "type": "array"
                    },
                    "data_minimization_rules": {
                      "type": "array"
                    },
                    "purpose_limitations": {
                      "type": "array"
                    },
                    "revocation_obligations": {
                      "type": "array"
                    },
                    "export_md": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "map_cfpb_1033_tppp_obligations",
        "x-tool-url": "https://ainumbers.co/tools/167-cfpb-1033-tppp-mapper.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/compare_baas_providers": {
      "post": {
        "operationId": "compare_baas_providers",
        "summary": "BaaS Provider Comparison",
        "description": "Side-by-side comparison of leading BaaS providers across FDIC coverage, card issuance, ACH/RTP rails, KYC/AML tooling, compliance support, developer experience, and pricing model. Filter by capability.\n\n**Tool URL:** https://ainumbers.co/tools/168-baas-provider-comparison.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "BaaS",
          "provider",
          "comparison",
          "FDIC",
          "card",
          "ACH",
          "RTP",
          "KYC",
          "AML"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "required_rails": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "required_capabilities": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "geography": {
                    "type": "string"
                  },
                  "min_dev_score": {
                    "type": "number"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "providers": {
                      "type": "array",
                      "items": {
                        "type": "object"
                      }
                    },
                    "recommended": {
                      "type": "string"
                    },
                    "comparison_matrix": {
                      "type": "object"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "compare_baas_providers",
        "x-tool-url": "https://ainumbers.co/tools/168-baas-provider-comparison.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/estimate_roth_conversion": {
      "post": {
        "operationId": "estimate_roth_conversion",
        "summary": "Roth vs. Traditional Conversion Estimator",
        "description": "Models the tax impact and long-term benefit of converting traditional IRA/401k to Roth. Outputs breakeven age, bracket analysis, net lifetime advantage. Zero PII. Client-side.\n\n**Tool URL:** https://ainumbers.co/tools/169-roth-traditional-conversion-estimator.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "Roth",
          "IRA",
          "401k",
          "conversion",
          "tax planning",
          "retirement",
          "personal finance"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "current_age": {
                    "type": "number"
                  },
                  "retirement_age": {
                    "type": "number"
                  },
                  "conversion_amount": {
                    "type": "number"
                  },
                  "current_tax_rate_pct": {
                    "type": "number"
                  },
                  "expected_retirement_tax_rate_pct": {
                    "type": "number"
                  },
                  "expected_return_pct": {
                    "type": "number"
                  },
                  "state_tax_rate_pct": {
                    "type": "number"
                  }
                },
                "required": [
                  "current_age",
                  "retirement_age",
                  "conversion_amount",
                  "current_tax_rate_pct",
                  "expected_retirement_tax_rate_pct",
                  "expected_return_pct"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "tax_cost_now": {
                      "type": "number"
                    },
                    "roth_balance_at_retirement": {
                      "type": "number"
                    },
                    "traditional_after_tax_at_retirement": {
                      "type": "number"
                    },
                    "net_advantage_roth": {
                      "type": "number"
                    },
                    "breakeven_age": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "verdict": {
                      "type": "string",
                      "enum": [
                        "Favor Roth",
                        "Favor Traditional",
                        "Borderline"
                      ]
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "estimate_roth_conversion",
        "x-tool-url": "https://ainumbers.co/tools/169-roth-traditional-conversion-estimator.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/lookup_instant_payment_limits": {
      "post": {
        "operationId": "lookup_instant_payment_limits",
        "summary": "Instant Payment Limits Reference + Rail Comparator",
        "description": "Reference table of transaction limits, availability, settlement finality, and participant counts for all major instant payment rails globally (FedNow, RTP, SEPA Instant, Faster Payments, PIX, UPI, and more). Filter and compare up to four rails.\n\n**Tool URL:** https://ainumbers.co/tools/17-instant-payment-limits.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "instant payments",
          "limits",
          "FedNow",
          "RTP",
          "SEPA Instant",
          "Faster Payments",
          "PIX",
          "reference"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "region": {
                    "type": "string"
                  },
                  "currency": {
                    "type": "string"
                  },
                  "compareIds": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "rail_count": {
                      "type": "number"
                    },
                    "filtered_count": {
                      "type": "number"
                    },
                    "compare_rails": {
                      "type": "array",
                      "items": {
                        "type": "object"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "lookup_instant_payment_limits",
        "x-tool-url": "https://ainumbers.co/tools/17-instant-payment-limits.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/calculate_safe_withdrawal_rate": {
      "post": {
        "operationId": "calculate_safe_withdrawal_rate",
        "summary": "4% Rule Safe Withdrawal Rate Calculator",
        "description": "Models whether a retirement portfolio can sustain a given withdrawal rate. Goes beyond the simple 4% rule to show how portfolio composition, inflation, and sequence risk affect the actual safe rate.\n\n**Tool URL:** https://ainumbers.co/tools/170-safe-withdrawal-rate-calculator.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "safe withdrawal rate",
          "4% rule",
          "FIRE",
          "retirement",
          "SWR",
          "sequence risk",
          "Guyton-Klinger"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "portfolio_value": {
                    "type": "number",
                    "description": "Current portfolio value in USD"
                  },
                  "annual_withdrawal": {
                    "type": "number",
                    "description": "Planned annual withdrawal in USD"
                  },
                  "horizon_years": {
                    "type": "number",
                    "description": "Retirement horizon in years"
                  },
                  "allocation": {
                    "type": "string",
                    "description": "Portfolio allocation preset"
                  },
                  "inflation_pct": {
                    "type": "number",
                    "description": "Assumed annual inflation rate"
                  },
                  "additional_income": {
                    "type": "number",
                    "description": "Annual income from Social Security or pension"
                  },
                  "strategy": {
                    "type": "string",
                    "description": "Withdrawal strategy"
                  }
                },
                "required": [
                  "portfolio_value",
                  "annual_withdrawal",
                  "horizon_years"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "swr_pct": {
                      "type": "number"
                    },
                    "fire_number": {
                      "type": "number"
                    },
                    "survival_probability_pct": {
                      "type": "number"
                    },
                    "years_to_depletion": {
                      "type": "number"
                    },
                    "real_value_at_30yr": {
                      "type": "number"
                    },
                    "verdict": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "calculate_safe_withdrawal_rate",
        "x-tool-url": "https://ainumbers.co/tools/170-safe-withdrawal-rate-calculator.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/audit_peppol_xml_invoice": {
      "post": {
        "operationId": "audit_peppol_xml_invoice",
        "summary": "Peppol BIS 3.0 / KSeF XML Auditor",
        "description": "In-browser XML validator for Peppol BIS Billing 3.0 (EN 16931) and KSeF FA(3). Checks structural and calculation business rules with country overlays for France, Poland, Belgium, Germany and Australia.\n\n**Tool URL:** https://ainumbers.co/tools/174-peppol-xml-auditor.html",
        "tags": [
          "Peppol",
          "XML",
          "e-invoicing",
          "KSeF",
          "EN16931",
          "BIS3",
          "validator",
          "compliance"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "xml_content",
                  "standard"
                ],
                "properties": {
                  "xml_content": {
                    "type": "string"
                  },
                  "standard": {
                    "type": "string",
                    "enum": [
                      "peppol-bis-3",
                      "ksef-fa3"
                    ]
                  },
                  "country": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "valid": {
                      "type": "boolean"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "rule": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          },
                          "severity": {
                            "type": "string"
                          }
                        }
                      }
                    },
                    "warnings": {
                      "type": "array"
                    },
                    "business_rule_results": {
                      "type": "array"
                    },
                    "calculation_checks": {
                      "type": "object"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "audit_peppol_xml_invoice",
        "x-tool-url": "https://ainumbers.co/tools/174-peppol-xml-auditor.html",
        "x-source": "manifest"
      }
    },
    "/v1/tools/cross_border_vat_treaty_lookup": {
      "post": {
        "operationId": "cross_border_vat_treaty_lookup",
        "summary": "Cross-Border VAT Treatment Lookup",
        "description": "Determine cross-border VAT treatment for goods and services: place of supply, reverse charge, intra-Community supply, OSS/IOSS, export zero-rating and registration obligations. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/175-cross-border-vat-treaty-lookup.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "supplier": {
                    "type": "string"
                  },
                  "customer": {
                    "type": "string"
                  },
                  "supply": {
                    "type": "string"
                  },
                  "registered": {
                    "type": "boolean"
                  }
                },
                "required": [
                  "supplier",
                  "customer",
                  "supply"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "place_of_supply": {
                      "type": "string"
                    },
                    "liable_party": {
                      "type": "string"
                    },
                    "mechanism": {
                      "type": "string"
                    },
                    "obligations": {
                      "type": "array"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "cross_border_vat_treaty_lookup",
        "x-tool-url": "https://ainumbers.co/tools/175-cross-border-vat-treaty-lookup.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/peppol_access_point_simulator": {
      "post": {
        "operationId": "peppol_access_point_simulator",
        "summary": "T176 · Peppol Access Point & Corner-5 Simulator — AINumbers.co",
        "description": "Simulate Peppol 4-corner and 5-corner document exchange flows with CTC overlays for France PPF and Poland KSeF. Outputs delivery log and connectivity readiness checklist. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/176-peppol-access-point-simulator.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "docType": {
                    "type": "string"
                  },
                  "ctcCountry": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "peppol_access_point_simulator",
        "x-tool-url": "https://ainumbers.co/tools/176-peppol-access-point-simulator.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/vat_rate_regime_lookup": {
      "post": {
        "operationId": "vat_rate_regime_lookup",
        "summary": "T177 · VAT Rate & Regime Lookup Engine — AINumbers.co",
        "description": "Jurisdiction-aware VAT rate reference for EU-27, UK, Norway, Switzerland, AU GST, and NZ GST. Standard, reduced, super-reduced, zero, and parking rates with special regime notes. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/177-vat-rate-regime-lookup.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "searchInput": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "vat_rate_regime_lookup",
        "x-tool-url": "https://ainumbers.co/tools/177-vat-rate-regime-lookup.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/invoice_to_iso20022_bridge": {
      "post": {
        "operationId": "invoice_to_iso20022_bridge",
        "summary": "T178 · Invoice-to-ISO 20022 Bridge (pain.001 Generator) — AINumbers.co",
        "description": "Transform e-invoice data into ISO 20022 pain.001.001.09 payment initiation XML. Maps IBAN, BIC, amount, due date, and ISO 11649 structured creditor reference. Outputs pain.001 XML and Policy Mandate JSON. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/178-invoice-to-iso20022-bridge.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "invNum": {
                    "type": "string"
                  },
                  "invDate": {
                    "type": "string"
                  },
                  "dueDate": {
                    "type": "string"
                  },
                  "currency": {
                    "type": "string"
                  },
                  "amount": {
                    "type": "string"
                  },
                  "credName": {
                    "type": "string"
                  },
                  "credIBAN": {
                    "type": "string"
                  },
                  "credBIC": {
                    "type": "string"
                  },
                  "debtName": {
                    "type": "string"
                  },
                  "debtIBAN": {
                    "type": "string"
                  },
                  "xmlOutput": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "invoice_to_iso20022_bridge",
        "x-tool-url": "https://ainumbers.co/tools/178-invoice-to-iso20022-bridge.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/vida_drr_readiness_scorer": {
      "post": {
        "operationId": "vida_drr_readiness_scorer",
        "summary": "T179 · ViDA Digital Reporting Requirements (DRR) Scorer — AINumbers.co",
        "description": "Score your organisation's readiness against EU VAT in the Digital Age Digital Reporting Requirements. Outputs DRR readiness score, gap table with ViDA directive citations, and compliance Policy Mandate JSON. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/179-vida-drr-readiness-scorer.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "vida_drr_readiness_scorer",
        "x-tool-url": "https://ainumbers.co/tools/179-vida-drr-readiness-scorer.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/generate_a2a_compliance_checklist": {
      "post": {
        "operationId": "generate_a2a_compliance_checklist",
        "summary": "A2A Compliance Checklist Generator",
        "description": "Generates a jurisdiction-specific A2A payment compliance checklist covering licensing, AML/KYC, privacy, consumer protection, error resolution, record-keeping, and fraud liability. Configurable by entity type, use case, and jurisdiction.\n\n**Tool URL:** https://ainumbers.co/tools/18-a2a-compliance-checklist.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance",
          "checklist",
          "A2A",
          "AML",
          "KYC",
          "licensing",
          "NACHA",
          "PSD2"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "jurisdiction",
                  "useCase",
                  "entityType"
                ],
                "properties": {
                  "jurisdiction": {
                    "type": "string"
                  },
                  "useCase": {
                    "type": "string"
                  },
                  "entityType": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "total_items": {
                      "type": "number"
                    },
                    "critical_count": {
                      "type": "number"
                    },
                    "high_count": {
                      "type": "number"
                    },
                    "medium_count": {
                      "type": "number"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "generate_a2a_compliance_checklist",
        "x-tool-url": "https://ainumbers.co/tools/18-a2a-compliance-checklist.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/b2b_einvoice_compliance_scorer": {
      "post": {
        "operationId": "b2b_einvoice_compliance_scorer",
        "summary": "T180 · B2B E-Invoice Compliance Readiness Scorer — AINumbers.co",
        "description": "Assess B2B e-invoicing compliance readiness across France, Belgium, Poland KSeF, Italy SdI, Germany XRechnung, and AU PINT mandates. Outputs mandate timeline, technical checklist, and Policy Mandate JSON. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/180-b2b-einvoice-compliance-scorer.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "b2b_einvoice_compliance_scorer",
        "x-tool-url": "https://ainumbers.co/tools/180-b2b-einvoice-compliance-scorer.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/einvoice_archiving_retention_mapper": {
      "post": {
        "operationId": "einvoice_archiving_retention_mapper",
        "summary": "T181 · E-Invoice Archiving &amp; Retention Obligation Mapper — AINumbers.co",
        "description": "Map e-invoice archiving and retention obligations by jurisdiction: EU-27, UK HMRC, France DGFiP, Italy SDI, Poland KSeF, Australia ATO. Outputs retention period, storage format, integrity requirements, and audit access obligations. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/181-einvoice-archiving-retention-mapper.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "searchInput": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "einvoice_archiving_retention_mapper",
        "x-tool-url": "https://ainumbers.co/tools/181-einvoice-archiving-retention-mapper.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/cross_border_vat_recovery_checker": {
      "post": {
        "operationId": "cross_border_vat_recovery_checker",
        "summary": "T182 · Cross-Border VAT Recovery Eligibility Checker — AINumbers.co",
        "description": "Check cross-border VAT recovery eligibility under EU 8th Directive (2008/9/EC) and EU 13th Directive (86/560/EEC). Outputs eligibility status, filing deadlines, refund procedure, and required evidence. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/182-cross-border-vat-recovery-checker.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "claimantCC": {
                    "type": "string"
                  },
                  "expenseCC": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "cross_border_vat_recovery_checker",
        "x-tool-url": "https://ainumbers.co/tools/182-cross-border-vat-recovery-checker.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/digital_services_tax_calculator": {
      "post": {
        "operationId": "digital_services_tax_calculator",
        "summary": "T183 · Digital Services Tax (DST) Exposure Calculator — AINumbers.co",
        "description": "Calculate Digital Services Tax exposure across UK, France, Italy, Austria, Spain, and India with OECD Pillar 1 overlap note. Outputs per-country DST liability and compliance Policy Mandate JSON. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/183-digital-services-tax-calculator.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "globalRev": {
                    "type": "string"
                  },
                  "rev_' + r.id + '": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "digital_services_tax_calculator",
        "x-tool-url": "https://ainumbers.co/tools/183-digital-services-tax-calculator.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/bnpl_fca_readiness_checker": {
      "post": {
        "operationId": "bnpl_fca_readiness_checker",
        "summary": "T187 · FCA BNPL / DPC Readiness Checker — AINumbers.co",
        "description": "Multi-jurisdiction BNPL compliance gap-analysis tool. Assess readiness against FCA DPC, EU CCD2, US CFPB Reg Z, and NY DFS obligations. Pass/Partial/Fail scoring with article citations and Policy Mandate JSON export.\n\n**Tool URL:** https://ainumbers.co/tools/187-bnpl-fca-readiness-checker.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "jurisdictions",
                  "assessments"
                ],
                "properties": {
                  "jurisdictions": {
                    "type": "array",
                    "description": "One or more regulatory regimes to assess. At least one required.",
                    "minItems": 1,
                    "items": {
                      "type": "string",
                      "enum": [
                        "fca_dpc",
                        "eu_ccd2",
                        "cfpb_reg_z",
                        "ny_dfs"
                      ]
                    }
                  },
                  "assessments": {
                    "type": "object",
                    "description": "Obligation assessments keyed by obligation_id. Value must be Pass, Partial, Fail, or NA. Unset obligations default to Fail (conservative scoring).",
                    "additionalProperties": {
                      "type": "string",
                      "enum": [
                        "Pass",
                        "Partial",
                        "Fail",
                        "NA"
                      ]
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "composite_score": {
                      "type": "number",
                      "description": "Weighted compliance score 0–100 across all selected jurisdictions."
                    },
                    "readiness_tier": {
                      "type": "string",
                      "enum": [
                        "Compliant",
                        "Near-Compliant",
                        "Partial",
                        "Non-Compliant"
                      ],
                      "description": ">=80 Compliant, 60-79 Near-Compliant, 40-59 Partial, <40 Non-Compliant."
                    },
                    "jurisdiction_scores": {
                      "type": "object",
                      "description": "Per-jurisdiction score, pass/partial/fail counts.",
                      "additionalProperties": {
                        "type": "object",
                        "properties": {
                          "score": {
                            "type": "number"
                          },
                          "pass": {
                            "type": "integer"
                          },
                          "partial": {
                            "type": "integer"
                          },
                          "fail": {
                            "type": "integer"
                          },
                          "na": {
                            "type": "integer"
                          }
                        }
                      }
                    },
                    "gap_table": {
                      "type": "array",
                      "description": "All obligations sorted by severity (Fail first). Includes jurisdiction, obligation name, citation, status, and recommended action.",
                      "items": {
                        "type": "object",
                        "properties": {
                          "jurisdiction": {
                            "type": "string"
                          },
                          "obligation_id": {
                            "type": "string"
                          },
                          "obligation_name": {
                            "type": "string"
                          },
                          "article": {
                            "type": "string"
                          },
                          "status": {
                            "type": "string",
                            "enum": [
                              "Pass",
                              "Partial",
                              "Fail",
                              "NA"
                            ]
                          },
                          "recommended_action": {
                            "type": "string"
                          }
                        }
                      }
                    },
                    "ap2_mandate": {
                      "type": "object",
                      "description": "AP2-compatible JSON compliance mandate. See master rules Section 8 for full schema."
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "bnpl_fca_readiness_checker",
        "x-tool-url": "https://ainumbers.co/tools/187-bnpl-fca-readiness-checker.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/merchant_bnpl_compliance_mapper": {
      "post": {
        "operationId": "merchant_bnpl_compliance_mapper",
        "summary": "T188 · Merchant BNPL Integration Compliance Mapper — AINumbers.co",
        "description": "Map compliance obligations for merchants integrating BNPL at checkout. Covers PCI DSS scope determination, Reg Z advertising rules, FCA Financial Promotions, EU CCD2 checkout standards, and UX disclosure requirements.\n\n**Tool URL:** https://ainumbers.co/tools/188-merchant-bnpl-compliance-mapper.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "chk-uk": {
                    "type": "string"
                  },
                  "chk-eu": {
                    "type": "string"
                  },
                  "chk-us": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "merchant_bnpl_compliance_mapper",
        "x-tool-url": "https://ainumbers.co/tools/188-merchant-bnpl-compliance-mapper.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/bnpl_late_fee_compliance_calculator": {
      "post": {
        "operationId": "bnpl_late_fee_compliance_calculator",
        "summary": "T189 · BNPL Late Fee & Penalty Compliance Calculator — AINumbers.co",
        "description": "Compare BNPL late fee structures against regulatory caps: FCA CONC 7 / HCSTC, EU CCD2 Art. 33, CFPB Reg Z, and NY DFS. Calculate remediation exposure for non-compliant fee structures.\n\n**Tool URL:** https://ainumbers.co/tools/189-bnpl-late-fee-compliance-calculator.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "chk-uk_hcstc": {
                    "type": "string"
                  },
                  "chk-uk_standard": {
                    "type": "string"
                  },
                  "chk-eu_ccd2": {
                    "type": "string"
                  },
                  "chk-us_cfpb": {
                    "type": "string"
                  },
                  "chk-ny_dfs": {
                    "type": "string"
                  },
                  "currency": {
                    "type": "string"
                  },
                  "flatFee": {
                    "type": "string"
                  },
                  "pctFee": {
                    "type": "string"
                  },
                  "avgBal": {
                    "type": "string"
                  },
                  "tier1Fee": {
                    "type": "string"
                  },
                  "tier2Fee": {
                    "type": "string"
                  },
                  "tier3Fee": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "bnpl_late_fee_compliance_calculator",
        "x-tool-url": "https://ainumbers.co/tools/189-bnpl-late-fee-compliance-calculator.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/calculate_nostro_roi": {
      "post": {
        "operationId": "calculate_nostro_roi",
        "summary": "Nostro/Vostro A2A ROI Memo Generator",
        "description": "Calculates the return on investment from migrating nostro/vostro correspondent relationships to A2A settlement rails. Models float reduction, fee savings, FX spread improvement, and operational cost reduction. Generates a board-ready ROI memo.\n\n**Tool URL:** https://ainumbers.co/tools/19-nostro-roi-memo.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "nostro",
          "vostro",
          "ROI",
          "correspondent banking",
          "A2A",
          "treasury",
          "board memo"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "nostroBalance",
                  "costOfFunds",
                  "correspondentFees"
                ],
                "properties": {
                  "nostroBalance": {
                    "type": "number"
                  },
                  "costOfFunds": {
                    "type": "number"
                  },
                  "correspondentFees": {
                    "type": "number"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "total_annual_saving": {
                      "type": "number"
                    },
                    "float_saving": {
                      "type": "number"
                    },
                    "fee_saving": {
                      "type": "number"
                    },
                    "fx_saving": {
                      "type": "number"
                    },
                    "payback_months": {
                      "type": "number"
                    },
                    "five_year_npv": {
                      "type": "number"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "calculate_nostro_roi",
        "x-tool-url": "https://ainumbers.co/tools/19-nostro-roi-memo.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/bnpl_affordability_assessment_modeller": {
      "post": {
        "operationId": "bnpl_affordability_assessment_modeller",
        "summary": "T190 · BNPL Affordability Assessment Modeller — AINumbers.co",
        "description": "Model BNPL affordability assessment methodology options against FCA CONC 5, EU CCD2 Art. 18, and CFPB ability-to-repay requirements. Compliance assessment only — not actual credit decisions.\n\n**Tool URL:** https://ainumbers.co/tools/190-bnpl-affordability-assessment-modeller.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "prodValue": {
                    "type": "string"
                  },
                  "prodRepayments": {
                    "type": "string"
                  },
                  "prodApr": {
                    "type": "string"
                  },
                  "jchk-fca": {
                    "type": "string"
                  },
                  "jchk-ccd2": {
                    "type": "string"
                  },
                  "jchk-cfpb": {
                    "type": "string"
                  },
                  "m_income": {
                    "type": "string"
                  },
                  "m_bureau": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "bnpl_affordability_assessment_modeller",
        "x-tool-url": "https://ainumbers.co/tools/190-bnpl-affordability-assessment-modeller.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/bnpl_disclosure_template_generator": {
      "post": {
        "operationId": "bnpl_disclosure_template_generator",
        "summary": "T191 · BNPL Disclosure Template Generator — AINumbers.co",
        "description": "Generate compliant BNPL checkout disclosure language for UK (FCA CONC 4 / PCCI), US (TILA/Reg Z), and EU (CCD2 SECCI). Export Markdown templates and Policy Mandate JSON disclosure manifest.\n\n**Tool URL:** https://ainumbers.co/tools/191-bnpl-disclosure-template-generator.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "jurisdictions",
                  "purchase_amount",
                  "num_instalments"
                ],
                "properties": {
                  "jurisdictions": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                      "type": "string",
                      "enum": [
                        "uk",
                        "eu",
                        "us"
                      ]
                    }
                  },
                  "lender_name": {
                    "type": "string",
                    "description": "Legal entity name of the lender/creditor. Used in all disclosure documents."
                  },
                  "product_name": {
                    "type": "string",
                    "description": "BNPL product name (e.g. 'Pay in 4', 'Split Pay')."
                  },
                  "currency": {
                    "type": "string",
                    "enum": [
                      "GBP",
                      "EUR",
                      "USD"
                    ],
                    "default": "GBP"
                  },
                  "purchase_amount": {
                    "type": "number",
                    "description": "Total credit / purchase amount.",
                    "minimum": 1
                  },
                  "num_instalments": {
                    "type": "integer",
                    "description": "Number of repayment instalments.",
                    "minimum": 2,
                    "maximum": 36
                  },
                  "first_payment_timing": {
                    "type": "string",
                    "enum": [
                      "immediate",
                      "deferred"
                    ],
                    "description": "Whether first payment is due at checkout or deferred."
                  },
                  "defer_days": {
                    "type": "integer",
                    "description": "Days before first payment when first_payment_timing is 'deferred'."
                  },
                  "payment_interval": {
                    "type": "string",
                    "enum": [
                      "2weeks",
                      "monthly",
                      "custom"
                    ]
                  },
                  "apr_pct": {
                    "type": "number",
                    "description": "Annual Percentage Rate as a percentage. 0 for interest-free BNPL.",
                    "default": 0,
                    "minimum": 0
                  },
                  "late_fee": {
                    "type": "number",
                    "description": "Late fee per missed payment in reporting currency. Optional.",
                    "minimum": 0
                  },
                  "fca_authorisation_number": {
                    "type": "string",
                    "description": "FCA authorisation number for UK disclosures. Inserts placeholder if blank."
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "calculated_fields": {
                      "type": "object",
                      "properties": {
                        "instalment_amount": {
                          "type": "number"
                        },
                        "last_instalment": {
                          "type": "number"
                        },
                        "total_payable": {
                          "type": "number"
                        },
                        "finance_charge": {
                          "type": "number"
                        }
                      }
                    },
                    "disclosures": {
                      "type": "object",
                      "description": "Per-jurisdiction disclosure text.",
                      "properties": {
                        "uk": {
                          "type": "object",
                          "properties": {
                            "checkout_summary": {
                              "type": "string"
                            },
                            "pcci_long_form": {
                              "type": "string"
                            }
                          }
                        },
                        "eu": {
                          "type": "object",
                          "properties": {
                            "checkout_summary": {
                              "type": "string"
                            },
                            "secci_long_form": {
                              "type": "string"
                            }
                          }
                        },
                        "us": {
                          "type": "object",
                          "properties": {
                            "checkout_summary": {
                              "type": "string"
                            },
                            "tila_box_long_form": {
                              "type": "string"
                            }
                          }
                        }
                      }
                    },
                    "ap2_mandate": {
                      "type": "object",
                      "description": "Mandato de Política disclosure manifest with mandate_type: disclosure_template."
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "bnpl_disclosure_template_generator",
        "x-tool-url": "https://ainumbers.co/tools/191-bnpl-disclosure-template-generator.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/bnpl_arrears_collections_checker": {
      "post": {
        "operationId": "bnpl_arrears_collections_checker",
        "summary": "T192 · BNPL Arrears & Collections Compliance Checker — AINumbers.co",
        "description": "Assess BNPL arrears handling and collections practices against FCA CONC 7, CFPB FDCPA/Reg F, and EU CCD2. Outputs compliance score and policy Policy Mandate JSON.\n\n**Tool URL:** https://ainumbers.co/tools/192-bnpl-arrears-collections-checker.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "bnpl_arrears_collections_checker",
        "x-tool-url": "https://ainumbers.co/tools/192-bnpl-arrears-collections-checker.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/bnpl_apr_calculator": {
      "post": {
        "operationId": "bnpl_apr_calculator",
        "summary": "T193 · BNPL APR Calculator (EU CCD2 & US TILA) — AINumbers.co",
        "description": "Calculate BNPL APR under EU CCD2 actuarial method (Art. 31) and US TILA/Reg Z (Appendix J). Highlights divergence between marketing APR claims and regulatory APR.\n\n**Tool URL:** https://ainumbers.co/tools/193-bnpl-apr-calculator.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "currency": {
                    "type": "string"
                  },
                  "amount": {
                    "type": "string"
                  },
                  "instalments": {
                    "type": "string"
                  },
                  "instAmt": {
                    "type": "string"
                  },
                  "interval": {
                    "type": "string"
                  },
                  "firstPayment": {
                    "type": "string"
                  },
                  "customDays": {
                    "type": "string"
                  },
                  "fees": {
                    "type": "string"
                  },
                  "statedApr": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "bnpl_apr_calculator",
        "x-tool-url": "https://ainumbers.co/tools/193-bnpl-apr-calculator.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/b2b_bnpl_underwriting_sandbox": {
      "post": {
        "operationId": "b2b_bnpl_underwriting_sandbox",
        "summary": "T194 · B2B BNPL Underwriting Sandbox — AINumbers.co",
        "description": "Deterministic B2B BNPL underwriting sandbox. Score commercial trade credit applications using trading history, financial health, and sector risk. Scope: B2B and commercial trade credit only — not consumer BNPL.\n\n**Tool URL:** https://ainumbers.co/tools/194-b2b-bnpl-underwriting-sandbox.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "companyName": {
                    "type": "string"
                  },
                  "sector": {
                    "type": "string"
                  },
                  "yearsTrading": {
                    "type": "string"
                  },
                  "employees": {
                    "type": "string"
                  },
                  "currency": {
                    "type": "string"
                  },
                  "revenue": {
                    "type": "string"
                  },
                  "grossMargin": {
                    "type": "string"
                  },
                  "existingCredit": {
                    "type": "string"
                  },
                  "ccj": {
                    "type": "string"
                  },
                  "paymentHistory": {
                    "type": "string"
                  },
                  "requestedLimit": {
                    "type": "string"
                  },
                  "terms": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "b2b_bnpl_underwriting_sandbox",
        "x-tool-url": "https://ainumbers.co/tools/194-b2b-bnpl-underwriting-sandbox.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/196_ifrs9_macro_overlay_calculator": {
      "post": {
        "operationId": "196_ifrs9_macro_overlay_calculator",
        "summary": "IFRS 9 Forward-Looking Macro Overlay Calculator",
        "description": "Compute IFRS 9 ECL forward-looking macroeconomic overlays by scenario, portfolio stage, and sector. Outputs overlay amounts and management adjustment rationale. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/196-ifrs9-macro-overlay-calculator.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "196_ifrs9_macro_overlay_calculator",
        "x-tool-url": "https://ainumbers.co/tools/196-ifrs9-macro-overlay-calculator.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/credit_risk_rating_calculator": {
      "post": {
        "operationId": "credit_risk_rating_calculator",
        "summary": "T197 · Credit Risk Rating Calculator",
        "description": "Input financial ratios to derive an internal credit rating mapped to S&P, Moody's, and Fitch equivalents (AAA–D). Configurable by industry sector and counterparty type. Outputs rating scorecard, rationale narrative, Markdown memo, and Policy Mandate JSON credit profile. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/197-credit-risk-rating-calculator.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "counterparty_type": {
                    "type": "string",
                    "enum": [
                      "corporate",
                      "bank",
                      "sovereign",
                      "sme"
                    ]
                  },
                  "sector": {
                    "type": "string",
                    "enum": [
                      "general",
                      "tech",
                      "healthcare",
                      "utilities",
                      "realestate",
                      "energy",
                      "retail",
                      "financial"
                    ]
                  },
                  "weighting_profile": {
                    "type": "string",
                    "enum": [
                      "balanced",
                      "leverage",
                      "coverage",
                      "liquidity"
                    ]
                  },
                  "net_debt_ebitda": {
                    "type": "number",
                    "description": "Net Debt / EBITDA ratio (×)"
                  },
                  "ebitda_interest": {
                    "type": "number",
                    "description": "EBITDA / Interest Expense (×)"
                  },
                  "ebitda_margin": {
                    "type": "number",
                    "description": "EBITDA Margin (%)"
                  },
                  "fcf_debt": {
                    "type": "number",
                    "description": "Free Cash Flow / Debt (%)"
                  },
                  "current_ratio": {
                    "type": "number",
                    "description": "Current Ratio (×)"
                  },
                  "debt_equity": {
                    "type": "number",
                    "description": "Debt / Equity (%)"
                  }
                },
                "required": [
                  "counterparty_type",
                  "sector",
                  "weighting_profile",
                  "net_debt_ebitda",
                  "ebitda_interest",
                  "ebitda_margin",
                  "fcf_debt",
                  "current_ratio",
                  "debt_equity"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "composite_score": {
                      "type": "number",
                      "description": "Weighted composite score 0–100"
                    },
                    "internal_rating": {
                      "type": "string",
                      "description": "Internal rating grade e.g. BBB+"
                    },
                    "sp_equivalent": {
                      "type": "string"
                    },
                    "moodys_equivalent": {
                      "type": "string"
                    },
                    "fitch_equivalent": {
                      "type": "string"
                    },
                    "rating_category": {
                      "type": "string",
                      "enum": [
                        "ig",
                        "hy",
                        "dist"
                      ]
                    },
                    "scorecard": {
                      "type": "array",
                      "items": {
                        "type": "object"
                      }
                    },
                    "ap2_mandate": {
                      "type": "object"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "credit_risk_rating_calculator",
        "x-tool-url": "https://ainumbers.co/tools/197-credit-risk-rating-calculator.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/pd_lgd_ead_modeller": {
      "post": {
        "operationId": "pd_lgd_ead_modeller",
        "summary": "T198 · PD / LGD / EAD Modeller",
        "description": "Calculate Probability of Default, Loss Given Default, and Exposure at Default with IFRS 9 and CECL alignment. Outputs 12-month and lifetime ECL, staging triggers, and Policy Mandate JSON risk parameters. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/198-pd-lgd-ead-modeller.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "pd_method": {
                    "type": "string",
                    "enum": [
                      "ttc",
                      "pit"
                    ]
                  },
                  "internal_rating": {
                    "type": "string",
                    "description": "Required if pd_method=ttc. S&P-equivalent rating band."
                  },
                  "macro_overlay": {
                    "type": "number",
                    "description": "Fractional PD uplift for TTC method e.g. 0.35 = 35%."
                  },
                  "pd_direct_pct": {
                    "type": "number",
                    "description": "Required if pd_method=pit. Point-in-time 1-year PD (%)."
                  },
                  "asset_class": {
                    "type": "string",
                    "enum": [
                      "corporate",
                      "revolving",
                      "mortgage",
                      "trade",
                      "sme"
                    ]
                  },
                  "lgd_method": {
                    "type": "string",
                    "enum": [
                      "haircut",
                      "market"
                    ]
                  },
                  "collateral_value": {
                    "type": "number"
                  },
                  "collateral_haircut": {
                    "type": "number",
                    "description": "Haircut fraction e.g. 0.40 = 40%"
                  },
                  "recovery_cost_pct": {
                    "type": "number"
                  },
                  "market_lgd_pct": {
                    "type": "number",
                    "description": "Required if lgd_method=market"
                  },
                  "ead_type": {
                    "type": "string",
                    "enum": [
                      "drawn",
                      "committed"
                    ]
                  },
                  "drawn_amount": {
                    "type": "number"
                  },
                  "undrawn_amount": {
                    "type": "number"
                  },
                  "ccf_pct": {
                    "type": "number",
                    "description": "Credit Conversion Factor (%)"
                  },
                  "maturity_years": {
                    "type": "number"
                  },
                  "ecl_horizon": {
                    "type": "string",
                    "enum": [
                      "12m",
                      "lifetime"
                    ]
                  }
                },
                "required": [
                  "pd_method",
                  "asset_class",
                  "lgd_method",
                  "ead_type",
                  "drawn_amount",
                  "maturity_years",
                  "ecl_horizon"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "pd_1yr_pct": {
                      "type": "number"
                    },
                    "pd_lifetime_pct": {
                      "type": "number"
                    },
                    "lgd_pct": {
                      "type": "number"
                    },
                    "ead": {
                      "type": "number"
                    },
                    "ecl_12m": {
                      "type": "number"
                    },
                    "ecl_lifetime": {
                      "type": "number"
                    },
                    "ifrs9_stage": {
                      "type": "integer",
                      "enum": [
                        1,
                        2,
                        3
                      ]
                    },
                    "ap2_mandate": {
                      "type": "object"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "pd_lgd_ead_modeller",
        "x-tool-url": "https://ainumbers.co/tools/198-pd-lgd-ead-modeller.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/financial_covenant_compliance_checker": {
      "post": {
        "operationId": "financial_covenant_compliance_checker",
        "summary": "T199 · Financial Covenant Compliance Checker",
        "description": "Input covenant terms and current financial metrics to check compliance and calculate headroom to breach. Covers leverage, interest cover, liquidity, and custom covenants. Stress-test headroom under revenue and margin shocks. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/199-financial-covenant-compliance-checker.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "covenants": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "enum": [
                            "nd_eb",
                            "eb_int",
                            "fccr",
                            "min_eb",
                            "min_liq",
                            "de",
                            "cr",
                            "capex"
                          ]
                        },
                        "direction": {
                          "type": "string",
                          "enum": [
                            "lte",
                            "gte"
                          ]
                        },
                        "threshold": {
                          "type": "number"
                        },
                        "actual_ltm": {
                          "type": "number"
                        },
                        "test_type": {
                          "type": "string",
                          "enum": [
                            "maintenance",
                            "incurrence"
                          ]
                        }
                      },
                      "required": [
                        "type",
                        "direction",
                        "threshold",
                        "actual_ltm",
                        "test_type"
                      ]
                    },
                    "minItems": 1,
                    "maxItems": 6
                  },
                  "revenue_shock": {
                    "type": "number",
                    "description": "Revenue shock fraction e.g. 0.20 = 20% decline"
                  },
                  "margin_compression_pp": {
                    "type": "number",
                    "description": "EBITDA margin compression in percentage points"
                  }
                },
                "required": [
                  "covenants",
                  "revenue_shock",
                  "margin_compression_pp"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "covenants_tested": {
                      "type": "integer"
                    },
                    "base_case_breaches": {
                      "type": "integer"
                    },
                    "stress_breaches": {
                      "type": "integer"
                    },
                    "tight_covenants": {
                      "type": "integer"
                    },
                    "overall_status": {
                      "type": "string",
                      "enum": [
                        "compliant",
                        "breach"
                      ]
                    },
                    "covenant_detail": {
                      "type": "array"
                    },
                    "ap2_mandate": {
                      "type": "object"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "financial_covenant_compliance_checker",
        "x-tool-url": "https://ainumbers.co/tools/199-financial-covenant-compliance-checker.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/failure_analyser": {
      "post": {
        "operationId": "failure_analyser",
        "summary": "A2A Payment Failure Analyser + RCA Generator",
        "description": "Paste or upload raw A2A payment logs, get automated root-cause analysis, failure pattern clustering, return-code breakdowns, and a markdown RCA report. Client-side only, zero PII retained.\n\n**Tool URL:** https://ainumbers.co/tools/20-failure-analyser.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "log-input": {
                    "type": "string"
                  },
                  "file-input": {
                    "type": "string"
                  },
                  "opt-rail": {
                    "type": "string"
                  },
                  "opt-date-col": {
                    "type": "string"
                  },
                  "opt-amt-col": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "failure_analyser",
        "x-tool-url": "https://ainumbers.co/tools/20-failure-analyser.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/cva_calculator": {
      "post": {
        "operationId": "cva_calculator",
        "summary": "T200 · CVA Calculator (SA-CCR)",
        "description": "SA-CCR Basel III CVA engine. Input trade type, notional, maturity, mark-to-market, and collateral to calculate RC, PFE, EAD, and CVA capital charge. Supports multi-trade netting sets. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/200-cva-calculator.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "trades": {
                    "type": "array",
                    "description": "Array of derivative trades: asset_class (ir/fx/credit/equity/commodity), notional (USD), maturity_yrs, mtm (mark-to-market USD)"
                  },
                  "collateral": {
                    "type": "number",
                    "description": "Collateral held USD"
                  },
                  "netting_agreement": {
                    "type": "string",
                    "enum": [
                      "isda",
                      "none"
                    ]
                  },
                  "counterparty_rating": {
                    "type": "string",
                    "enum": [
                      "aaa_aa",
                      "a",
                      "bbb",
                      "bb",
                      "b",
                      "ccc_below"
                    ]
                  }
                },
                "required": [
                  "trades"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "RC": {
                      "type": "number",
                      "description": "Replacement Cost USD"
                    },
                    "PFE": {
                      "type": "number",
                      "description": "Potential Future Exposure USD"
                    },
                    "EAD": {
                      "type": "number",
                      "description": "Exposure at Default (1.4 × (RC + PFE)) USD"
                    },
                    "cva_rwa": {
                      "type": "number",
                      "description": "CVA Risk-Weighted Asset USD"
                    },
                    "cva_capital_req": {
                      "type": "number",
                      "description": "CVA capital charge (8% × CVA RWA) USD"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "cva_calculator",
        "x-tool-url": "https://ainumbers.co/tools/200-cva-calculator.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/calculate_basel_rwa": {
      "post": {
        "operationId": "calculate_basel_rwa",
        "summary": "Basel III/IV RWA Credit Risk Calculator",
        "description": "Calculates Risk-Weighted Assets under the Basel III/CRR3 Standardised Approach. Covers all major exposure classes with full CRR3/Basel IV risk weight table. Produces capital requirement calculations and an AP2 risk parameter mandate.\n\n**Tool URL:** https://ainumbers.co/tools/201-basel-rwa-calculator.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "Basel III",
          "Basel IV",
          "CRR3",
          "RWA",
          "credit risk",
          "capital",
          "SA",
          "regulatory capital"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "framework",
                  "exposures"
                ],
                "properties": {
                  "framework": {
                    "type": "string",
                    "enum": [
                      "crr3",
                      "b3"
                    ]
                  },
                  "exposures": {
                    "type": "array",
                    "items": {
                      "type": "object"
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "total_ead": {
                      "type": "number"
                    },
                    "total_rwa": {
                      "type": "number"
                    },
                    "capital_req": {
                      "type": "number",
                      "description": "8% minimum capital requirement"
                    },
                    "tier1_min": {
                      "type": "number"
                    },
                    "cet1_min": {
                      "type": "number"
                    },
                    "avg_rw_pct": {
                      "type": "number"
                    },
                    "output_floor": {
                      "type": "number",
                      "description": "72.5% output floor (CRR3)"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "calculate_basel_rwa",
        "x-tool-url": "https://ainumbers.co/tools/201-basel-rwa-calculator.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/credit_stress_testing_workbench": {
      "post": {
        "operationId": "credit_stress_testing_workbench",
        "summary": "T202 · Credit Stress Testing Workbench",
        "description": "Apply macro stress scenarios — GDP shock, rate move, sector downturn, FX shock — to counterparty credit metrics. Outputs scenario comparison table, credit metric migration, Markdown stress memo, and Policy Mandate JSON stress scenario record. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/202-credit-stress-testing-workbench.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "base_rating": {
                    "type": "string",
                    "description": "Current S&P-equivalent rating e.g. BBB"
                  },
                  "sector": {
                    "type": "string",
                    "enum": [
                      "general",
                      "tech",
                      "healthcare",
                      "utilities",
                      "realestate",
                      "energy",
                      "retail",
                      "financial"
                    ]
                  },
                  "base_pd_pct": {
                    "type": "number",
                    "description": "Base 1-year PD (%)"
                  },
                  "base_ead": {
                    "type": "number"
                  },
                  "base_lgd_pct": {
                    "type": "number"
                  },
                  "base_rwa": {
                    "type": "number"
                  },
                  "scenarios": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "scenario_id": {
                          "type": "string",
                          "enum": [
                            "mild",
                            "moderate",
                            "severe",
                            "custom"
                          ]
                        },
                        "name": {
                          "type": "string"
                        },
                        "gdp_shock_pct": {
                          "type": "number"
                        },
                        "rate_move_bps": {
                          "type": "number"
                        },
                        "sector_shock_pct": {
                          "type": "number"
                        },
                        "fx_shock_pct": {
                          "type": "number"
                        }
                      },
                      "required": [
                        "scenario_id"
                      ]
                    },
                    "minItems": 1
                  }
                },
                "required": [
                  "base_rating",
                  "sector",
                  "base_pd_pct",
                  "base_ead",
                  "base_lgd_pct",
                  "base_rwa",
                  "scenarios"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "base": {
                      "type": "object"
                    },
                    "stressed_scenarios": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "scenario_id": {
                            "type": "string"
                          },
                          "stressed_rating": {
                            "type": "string"
                          },
                          "notch_change": {
                            "type": "integer"
                          },
                          "stressed_pd_pct": {
                            "type": "number"
                          },
                          "stressed_ecl": {
                            "type": "number"
                          },
                          "stressed_rwa": {
                            "type": "number"
                          },
                          "stressed_capital": {
                            "type": "number"
                          },
                          "ig_breach": {
                            "type": "boolean"
                          }
                        }
                      }
                    },
                    "ap2_mandate": {
                      "type": "object"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "credit_stress_testing_workbench",
        "x-tool-url": "https://ainumbers.co/tools/202-credit-stress-testing-workbench.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/raroc_loan_pricing_model": {
      "post": {
        "operationId": "raroc_loan_pricing_model",
        "summary": "T203 · RAROC Loan Pricing Model",
        "description": "Model risk-adjusted return on capital for loan pricing. Inputs: loan amount, margin, fees, cost of funds, expected loss (from T198), capital allocation (from T201), and operating cost. Outputs RAROC, economic profit/loss, minimum margin for target RAROC, and Policy Mandate JSON loan pricing record. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/203-raroc-loan-pricing-model.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "loan_amount": {
                    "type": "number"
                  },
                  "maturity_years": {
                    "type": "number"
                  },
                  "all_in_margin_bps": {
                    "type": "number",
                    "description": "All-in margin over reference rate (bps)"
                  },
                  "cost_of_funds_bps": {
                    "type": "number",
                    "description": "Bank internal funding cost over reference rate (bps)"
                  },
                  "upfront_fee_pct": {
                    "type": "number",
                    "description": "Upfront fee as % of facility"
                  },
                  "annual_fee_pct": {
                    "type": "number",
                    "description": "Annual agency/commitment fee as % of facility"
                  },
                  "expected_loss_annual": {
                    "type": "number",
                    "description": "Annual expected loss ($) — from T198"
                  },
                  "rwa": {
                    "type": "number",
                    "description": "Risk-Weighted Assets ($) — from T201"
                  },
                  "cet1_ratio_pct": {
                    "type": "number",
                    "description": "CET1 capital ratio held against this RWA (%)"
                  },
                  "opex_ratio_pct": {
                    "type": "number",
                    "description": "Operating cost as % of loan p.a."
                  },
                  "hurdle_rate_pct": {
                    "type": "number",
                    "description": "Target RAROC hurdle rate (%)"
                  },
                  "cost_of_equity_pct": {
                    "type": "number",
                    "description": "CAPM cost of equity for Economic Profit (%)"
                  }
                },
                "required": [
                  "loan_amount",
                  "maturity_years",
                  "all_in_margin_bps",
                  "cost_of_funds_bps",
                  "upfront_fee_pct",
                  "annual_fee_pct",
                  "expected_loss_annual",
                  "rwa",
                  "cet1_ratio_pct",
                  "opex_ratio_pct",
                  "hurdle_rate_pct",
                  "cost_of_equity_pct"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "nii": {
                      "type": "number",
                      "description": "Annual Net Interest Income ($)"
                    },
                    "fee_income_annualised": {
                      "type": "number"
                    },
                    "rani": {
                      "type": "number",
                      "description": "Risk-Adjusted Net Income ($)"
                    },
                    "economic_capital": {
                      "type": "number"
                    },
                    "raroc_pct": {
                      "type": "number"
                    },
                    "hurdle_rate_pct": {
                      "type": "number"
                    },
                    "raroc_vs_hurdle_pct": {
                      "type": "number"
                    },
                    "economic_profit": {
                      "type": "number"
                    },
                    "minimum_margin_bps": {
                      "type": "number"
                    },
                    "deal_verdict": {
                      "type": "string",
                      "enum": [
                        "approved",
                        "rejected"
                      ]
                    },
                    "ap2_mandate": {
                      "type": "object"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "raroc_loan_pricing_model",
        "x-tool-url": "https://ainumbers.co/tools/203-raroc-loan-pricing-model.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/ifrs9_credit_migration_matrix": {
      "post": {
        "operationId": "ifrs9_credit_migration_matrix",
        "summary": "T204 · IFRS 9 Credit Migration Matrix Generator",
        "description": "Generate cohort transition matrices across credit rating bands for IFRS 9 ECL modelling. Embedded benchmark matrices by asset class. Calculate Stage 1/2/3 migration probabilities, lifetime PD curves, macro overlay, and ECL stage allocation. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/204-ifrs9-credit-migration-matrix.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "asset_class": {
                    "type": "string",
                    "enum": [
                      "ig_corporate",
                      "sg_corporate",
                      "sme_loan",
                      "resi_mortgage",
                      "consumer"
                    ]
                  },
                  "current_rating_index": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 6,
                    "description": "0=AAA, 1=AA, 2=A, 3=BBB, 4=BB, 5=B, 6=CCC"
                  },
                  "origination_rating_index": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 6
                  },
                  "maturity_years": {
                    "type": "number",
                    "minimum": 0.5,
                    "maximum": 10
                  },
                  "ead": {
                    "type": "number"
                  },
                  "lgd_pct": {
                    "type": "number"
                  },
                  "macro_overlay_factor": {
                    "type": "number",
                    "description": "PiT uplift multiplier e.g. 1.35 = 35% increase. 1.0 = no overlay."
                  },
                  "portfolio_counts": {
                    "type": "array",
                    "items": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "minItems": 7,
                    "maxItems": 7,
                    "description": "Count of counterparties at each rating band [AAA,AA,A,BBB,BB,B,CCC] for portfolio stage distribution. Optional — set all to 0 to skip."
                  }
                },
                "required": [
                  "asset_class",
                  "current_rating_index",
                  "origination_rating_index",
                  "maturity_years",
                  "ead",
                  "lgd_pct",
                  "macro_overlay_factor"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ifrs9_stage": {
                      "type": "integer",
                      "enum": [
                        1,
                        2,
                        3
                      ]
                    },
                    "stage_label": {
                      "type": "string"
                    },
                    "stage_reason": {
                      "type": "string"
                    },
                    "pd_1yr_pct": {
                      "type": "number"
                    },
                    "pd_lifetime_pct": {
                      "type": "number"
                    },
                    "ecl_12m": {
                      "type": "number"
                    },
                    "ecl_lifetime": {
                      "type": "number"
                    },
                    "applied_ecl": {
                      "type": "number"
                    },
                    "ecl_horizon": {
                      "type": "string",
                      "enum": [
                        "12-month",
                        "lifetime"
                      ]
                    },
                    "cumulative_pd_schedule": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "year": {
                            "type": "integer"
                          },
                          "pd_current_rating_pct": {
                            "type": "number"
                          }
                        }
                      }
                    },
                    "transition_matrix": {
                      "type": "array",
                      "description": "8×8 annual transition probability matrix"
                    },
                    "ap2_mandate": {
                      "type": "object"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "ifrs9_credit_migration_matrix",
        "x-tool-url": "https://ainumbers.co/tools/204-ifrs9-credit-migration-matrix.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/fx_margin_cost_transparency": {
      "post": {
        "operationId": "fx_margin_cost_transparency",
        "summary": "FX Margin & Cost Transparency Calculator",
        "description": "Deconstruct FX spreads in real time. Compare up to 3 providers against mid-market rate, calculate implied margin in bps, and benchmark against corridor percentiles. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/209-fx-margin-cost-transparency.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "currency_pair": {
                    "type": "string",
                    "description": "ISO 4217 currency pair code, e.g. EURUSD, USDMXN",
                    "examples": [
                      "EURUSD",
                      "GBPUSD",
                      "USDMXN",
                      "USDINR"
                    ]
                  },
                  "mid_market_rate": {
                    "type": "number",
                    "description": "Mid-market reference rate. If omitted, embedded indicative rate is used."
                  },
                  "transfer_amount": {
                    "type": "number",
                    "description": "Transfer amount in base currency"
                  },
                  "providers": {
                    "type": "array",
                    "description": "1 to 3 provider quoted rates",
                    "items": {
                      "type": "object",
                      "properties": {
                        "name": {
                          "type": "string"
                        },
                        "quoted_rate": {
                          "type": "number"
                        }
                      },
                      "required": [
                        "quoted_rate"
                      ]
                    },
                    "minItems": 1,
                    "maxItems": 3
                  }
                },
                "required": [
                  "currency_pair",
                  "providers"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "providers": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "name": {
                            "type": "string"
                          },
                          "quoted_rate": {
                            "type": "number"
                          },
                          "margin_bps": {
                            "type": "number"
                          },
                          "margin_pct": {
                            "type": "number"
                          },
                          "cost_in_quote_ccy": {
                            "type": "number"
                          }
                        }
                      }
                    },
                    "best_provider": {
                      "type": "object"
                    },
                    "corridor_benchmark": {
                      "type": "object"
                    },
                    "g20_fsb_target": {
                      "type": "object"
                    },
                    "ap2_mandate": {
                      "type": "object"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "fx_margin_cost_transparency",
        "x-tool-url": "https://ainumbers.co/tools/209-fx-margin-cost-transparency.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/emerging_corridor_sheet": {
      "post": {
        "operationId": "emerging_corridor_sheet",
        "summary": "Emerging Market A2A Corridor Cheat Sheet",
        "description": "Fast reference for US/EU banks exploring local A2A and fast-payment infrastructure in LatAm, Africa, Caribbean, and South Asia before launching a tokenized A2A pilot.\n\n**Tool URL:** https://ainumbers.co/tools/21-emerging-corridor-sheet.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "emerging_corridor_sheet",
        "x-tool-url": "https://ainumbers.co/tools/21-emerging-corridor-sheet.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/cross_border_payment_failure_model": {
      "post": {
        "operationId": "cross_border_payment_failure_model",
        "summary": "Cross-Border Payment Failure Probability Model",
        "description": "Model failure probability for cross-border payment instructions by originator bank tier, correspondent chain length, beneficiary jurisdiction risk, and payment purpose code. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/210-cross-border-payment-failure-model.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "origTier": {
                    "type": "string"
                  },
                  "chainLen": {
                    "type": "string"
                  },
                  "jurisdRisk": {
                    "type": "string"
                  },
                  "purposeCode": {
                    "type": "string"
                  },
                  "payAmount": {
                    "type": "string"
                  },
                  "swiftGpi": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "cross_border_payment_failure_model",
        "x-tool-url": "https://ainumbers.co/tools/210-cross-border-payment-failure-model.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/fx_hedging_instrument_comparison": {
      "post": {
        "operationId": "fx_hedging_instrument_comparison",
        "summary": "FX Hedging Instrument Comparison",
        "description": "Compare FX hedging instruments: deliverable forward, NDF, vanilla FX option, participating forward, zero-cost collar. Payoff diagrams, premium cost, hedge effectiveness, Greeks. Export Policy Mandate hedging policy. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/211-fx-hedging-instrument-comparison.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "instrument": {
                    "type": "string",
                    "enum": [
                      "forward",
                      "ndf",
                      "option",
                      "participating",
                      "collar"
                    ]
                  },
                  "notional": {
                    "type": "number"
                  },
                  "spot": {
                    "type": "number"
                  },
                  "tenor_months": {
                    "type": "integer"
                  },
                  "strike": {
                    "type": "number"
                  },
                  "implied_vol_pct": {
                    "type": "number"
                  },
                  "rate_base_pct": {
                    "type": "number"
                  },
                  "rate_quote_pct": {
                    "type": "number"
                  }
                },
                "required": [
                  "instrument",
                  "notional",
                  "spot",
                  "tenor_months"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "instruments": {
                      "type": "array"
                    },
                    "selected_instrument": {
                      "type": "object"
                    },
                    "greeks": {
                      "type": "object"
                    },
                    "ap2_mandate": {
                      "type": "object"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "fx_hedging_instrument_comparison",
        "x-tool-url": "https://ainumbers.co/tools/211-fx-hedging-instrument-comparison.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/swift_gpi_rail_comparator": {
      "post": {
        "operationId": "swift_gpi_rail_comparator",
        "summary": "SWIFT gpi / SEPA Instant / FedNow / PIX Rail Comparator",
        "description": "Compare international and domestic real-time payment rails: SWIFT gpi, SEPA Instant, FedNow, PIX, UPI, PayTo, Faster Payments. Cost-speed-finality matrix, recommended rail, Policy Mandate JSON routing policy. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/212-swift-gpi-rail-comparator.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "origin_region": {
                    "type": "string"
                  },
                  "destination_region": {
                    "type": "string"
                  },
                  "payment_type": {
                    "type": "string",
                    "enum": [
                      "retail",
                      "b2b",
                      "highvalue",
                      "remittance"
                    ]
                  },
                  "urgency": {
                    "type": "string",
                    "enum": [
                      "instant",
                      "same_day",
                      "next_day",
                      "standard"
                    ]
                  }
                },
                "required": [
                  "origin_region",
                  "destination_region",
                  "payment_type"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "recommended_rail": {
                      "type": "object"
                    },
                    "scored_rails": {
                      "type": "array"
                    },
                    "ap2_mandate": {
                      "type": "object"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "swift_gpi_rail_comparator",
        "x-tool-url": "https://ainumbers.co/tools/212-swift-gpi-rail-comparator.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/currency_risk_exposure_heatmap": {
      "post": {
        "operationId": "currency_risk_exposure_heatmap",
        "summary": "Currency Risk Exposure Heatmap",
        "description": "Model subsidiary-level FX exposure across multi-entity corporate structure. Intercompany receivables/payables by currency, natural hedge identification, net FX exposure matrix. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/213-currency-risk-exposure-heatmap.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {},
                "patternProperties": {
                  "^e[0-3]_name$": {
                    "type": "string",
                    "description": "Entity name for entity slot 0-3 (optional)"
                  },
                  "^e[0-3]_fccy$": {
                    "type": "string",
                    "description": "Functional currency for entity slot 0-3 (USD/EUR/GBP/JPY)"
                  },
                  "^e[0-3]_(USD|EUR|GBP|JPY|CNY|BRL)$": {
                    "type": "string",
                    "description": "Net exposure in that currency for entity slot 0-3 (receivables +, payables -)"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "currency_risk_exposure_heatmap",
        "x-tool-url": "https://ainumbers.co/tools/213-currency-risk-exposure-heatmap.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/ibor_transition_reference_checker": {
      "post": {
        "operationId": "ibor_transition_reference_checker",
        "summary": "IBOR Transition Reference Checker",
        "description": "IBOR to RFR reference calculator. SOFR (ARRC), €STR (ECB), SONIA (BoE), TONA (BoJ) under ISDA spread adjustment methodologies. Replacement rate, spread adjustment, fallback language reference. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/214-ibor-transition-reference-checker.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "iborType": {
                    "type": "string"
                  },
                  "tenor": {
                    "type": "string"
                  },
                  "methodology": {
                    "type": "string"
                  },
                  "contractRate": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "ibor_transition_reference_checker",
        "x-tool-url": "https://ainumbers.co/tools/214-ibor-transition-reference-checker.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/fx_settlement_fails_assessor": {
      "post": {
        "operationId": "fx_settlement_fails_assessor",
        "summary": "FX Settlement Fails Risk Assessor",
        "description": "Assess FX settlement risk: CLS vs. non-CLS exposure, principal risk, replacement cost, Herstatt risk. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/215-fx-settlement-fails-assessor.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "settlType": {
                    "type": "string"
                  },
                  "notional": {
                    "type": "string"
                  },
                  "counterparty": {
                    "type": "string"
                  },
                  "pairClass": {
                    "type": "string"
                  },
                  "settlLag": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "fx_settlement_fails_assessor",
        "x-tool-url": "https://ainumbers.co/tools/215-fx-settlement-fails-assessor.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/corridor_cost_ranker": {
      "post": {
        "operationId": "corridor_cost_ranker",
        "summary": "Cross-Border B2B Corridor Cost Ranker",
        "description": "Rank cross-border B2B corridors by total all-in cost: FX margin + correspondent fee + SWIFT message fee + lifting charges. Compare bank wire vs. fintech aggregator. Policy Mandate JSON routing policy. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/216-corridor-cost-ranker.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "corridor": {
                    "type": "string"
                  },
                  "amount_usd": {
                    "type": "number"
                  },
                  "payment_method": {
                    "type": "string",
                    "enum": [
                      "all",
                      "bank",
                      "fintech"
                    ]
                  },
                  "monthly_volume": {
                    "type": "integer"
                  }
                },
                "required": [
                  "corridor",
                  "amount_usd"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "recommended_method": {
                      "type": "object"
                    },
                    "all_methods": {
                      "type": "array"
                    },
                    "monthly_saving": {
                      "type": "number"
                    },
                    "g20_compliant": {
                      "type": "boolean"
                    },
                    "ap2_mandate": {
                      "type": "object"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "corridor_cost_ranker",
        "x-tool-url": "https://ainumbers.co/tools/216-corridor-cost-ranker.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/em_fx_risk_classifier": {
      "post": {
        "operationId": "em_fx_risk_classifier",
        "summary": "Emerging Market FX Risk Classifier",
        "description": "Classify EM FX risk by currency: convertibility risk tier, capital controls, liquidity risk score, NDF premium, recommended hedging approach. 40+ EM currencies. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/217-em-fx-risk-classifier.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "region": {
                    "type": "string"
                  },
                  "currency": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "em_fx_risk_classifier",
        "x-tool-url": "https://ainumbers.co/tools/217-em-fx-risk-classifier.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/pvp_settlement_sync_model": {
      "post": {
        "operationId": "pvp_settlement_sync_model",
        "summary": "PvP Settlement Synchronisation Model",
        "description": "Compare CLS, bilateral PvP, and sequential FX settlement. Settlement risk exposure, timing mismatch, netting efficiency. PvP design memo. Based on BIS PvP guidance (Nov 2022). Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/218-pvp-settlement-sync-model.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "principalRisk": {
                      "type": "number"
                    },
                    "clsEligibleVolume": {
                      "type": "number"
                    },
                    "nettedExposure": {
                      "type": "number"
                    },
                    "mandateJson": {
                      "type": "object"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "pvp_settlement_sync_model",
        "x-tool-url": "https://ainumbers.co/tools/218-pvp-settlement-sync-model.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/pacs008_cross_border_generator": {
      "post": {
        "operationId": "pacs008_cross_border_generator",
        "summary": "pacs.008 Cross-Border Payload Generator & UETR Simulator",
        "description": "Generate ISO 20022 pacs.008 FIToFICstmrCdtTrf with generated UETR, SR2026 validation, CBPR+ check, MT103 field mapping. Policy Mandate JSON payment stub. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/219-pacs008-cross-border-generator.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "amount": {
                    "type": "number"
                  },
                  "currency": {
                    "type": "string"
                  },
                  "purpose": {
                    "type": "string"
                  },
                  "debtor_name": {
                    "type": "string"
                  },
                  "debtor_iban": {
                    "type": "string"
                  },
                  "debtor_bic": {
                    "type": "string"
                  },
                  "creditor_name": {
                    "type": "string"
                  },
                  "creditor_iban": {
                    "type": "string"
                  },
                  "creditor_bic": {
                    "type": "string"
                  },
                  "cbpr_validation": {
                    "type": "string",
                    "enum": [
                      "yes",
                      "no"
                    ]
                  }
                },
                "required": [
                  "amount",
                  "currency",
                  "debtor_bic",
                  "creditor_bic"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "uetr": {
                      "type": "string"
                    },
                    "pacs008_xml": {
                      "type": "string"
                    },
                    "mt103_mapping": {
                      "type": "string"
                    },
                    "validation_results": {
                      "type": "array"
                    },
                    "ap2_mandate": {
                      "type": "object"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "pacs008_cross_border_generator",
        "x-tool-url": "https://ainumbers.co/tools/219-pacs008-cross-border-generator.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/decline_code_decoder": {
      "post": {
        "operationId": "decline_code_decoder",
        "summary": "Payment Decline Code Decoder & Recovery Guide",
        "description": "Instantly decode cryptic payment decline codes across ACH/NACHA, FedNow/RTP, SEPA, Card, and Tokenized A2A rails. Plain-English explanations and step-by-step recovery guidance. Client-side only, zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/22-decline-code-decoder.html",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "decline_code_decoder",
        "x-tool-url": "https://ainumbers.co/tools/22-decline-code-decoder.html",
        "x-source": "manifest"
      }
    },
    "/v1/tools/correspondent_derisking_modeler": {
      "post": {
        "operationId": "correspondent_derisking_modeler",
        "summary": "Correspondent Banking De-Risking Impact Modeler",
        "description": "Model operational and cost impact of correspondent banking de-risking on a payment corridor. Simulate loss of 1, 2, or all correspondents. Hop count, cost, volume at risk, corridor vulnerability. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/220-correspondent-derisking-modeler.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "corridor": {
                    "type": "string"
                  },
                  "corrCount": {
                    "type": "string"
                  },
                  "volume": {
                    "type": "string"
                  },
                  "payType": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "correspondent_derisking_modeler",
        "x-tool-url": "https://ainumbers.co/tools/220-correspondent-derisking-modeler.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/cross_border_finality_comparator": {
      "post": {
        "operationId": "cross_border_finality_comparator",
        "summary": "Cross-Border Payment Transparency & D+0 Finality Comparator",
        "description": "Compare settlement transparency and finality across major cross-border rails. G20/FSB cross-border target alignment. Policy Mandate JSON rail policy. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/221-cross-border-finality-comparator.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "filter": {
                    "type": "string",
                    "enum": [
                      "all",
                      "cross-border",
                      "domestic",
                      "eu",
                      "us",
                      "global"
                    ]
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "rails": {
                      "type": "array"
                    },
                    "g20_compliant_count": {
                      "type": "integer"
                    },
                    "top_rail": {
                      "type": "string"
                    },
                    "ap2_mandate": {
                      "type": "object"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "cross_border_finality_comparator",
        "x-tool-url": "https://ainumbers.co/tools/221-cross-border-finality-comparator.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/fatf_travel_rule_checker": {
      "post": {
        "operationId": "fatf_travel_rule_checker",
        "summary": "FATF Travel Rule Cross-Border Threshold Checker",
        "description": "Determine Travel Rule data obligations for cross-border wire or virtual asset transfer by originating/destination jurisdiction. Covers US FinCEN, EU TFR 2023/1113, UK MLR 2017, SG MAS PSN02, AU AUSTRAC, UAE CBUAE, CH FINMA, FATF baseline. Policy Mandate JSON Travel Rule payload stub. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/222-fatf-travel-rule-checker.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "origin_jurisdiction": {
                    "type": "string",
                    "enum": [
                      "US",
                      "EU",
                      "UK",
                      "SG",
                      "AU",
                      "UAE",
                      "CH",
                      "FATF"
                    ]
                  },
                  "destination_jurisdiction": {
                    "type": "string",
                    "enum": [
                      "US",
                      "EU",
                      "UK",
                      "SG",
                      "AU",
                      "UAE",
                      "CH",
                      "FATF",
                      "NON_FATF"
                    ]
                  },
                  "transfer_amount_usd": {
                    "type": "number"
                  },
                  "asset_type": {
                    "type": "string",
                    "enum": [
                      "wire",
                      "vasp",
                      "stablecoin",
                      "emi"
                    ]
                  }
                },
                "required": [
                  "origin_jurisdiction",
                  "destination_jurisdiction",
                  "transfer_amount_usd",
                  "asset_type"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "travel_rule_triggered": {
                      "type": "boolean"
                    },
                    "effective_threshold_usd": {
                      "type": "number"
                    },
                    "mandatory_fields": {
                      "type": "array"
                    },
                    "conditional_fields": {
                      "type": "array"
                    },
                    "edd_required": {
                      "type": "boolean"
                    },
                    "ap2_mandate": {
                      "type": "object"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "fatf_travel_rule_checker",
        "x-tool-url": "https://ainumbers.co/tools/222-fatf-travel-rule-checker.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/check_nacha_ach_compliance": {
      "post": {
        "operationId": "check_nacha_ach_compliance",
        "summary": "NACHA ACH Rule Compliance Checker",
        "description": "Check ACH programme configurations against NACHA Operating Rules §2–§9. March 2026 Fraud Monitoring rules embedded. Outputs compliance status per section, return code reference, Markdown memo, and AP2 JSON compliance mandate.\n\n**Tool URL:** https://ainumbers.co/tools/224-nacha-ach-rule-compliance-checker.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "NACHA",
          "ACH",
          "ODFI",
          "RDFI",
          "return codes",
          "fraud monitoring",
          "data security",
          "compliance",
          "AP2"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "org_role": {
                    "type": "string"
                  },
                  "sec_code": {
                    "type": "string"
                  },
                  "monthly_volume": {
                    "type": "string"
                  },
                  "uses_same_day_ach": {
                    "type": "string"
                  },
                  "data_security_encryption": {
                    "type": "string"
                  }
                },
                "required": [
                  "org_role",
                  "sec_code"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "overall_status": {
                      "type": "string",
                      "enum": [
                        "compliant",
                        "review_required",
                        "non_compliant"
                      ]
                    },
                    "sections_checked": {
                      "type": "integer"
                    },
                    "compliant_count": {
                      "type": "integer"
                    },
                    "review_required_count": {
                      "type": "integer"
                    },
                    "non_compliant_count": {
                      "type": "integer"
                    },
                    "sections": {
                      "type": "array",
                      "items": {
                        "type": "object"
                      }
                    },
                    "ap2_mandate": {
                      "type": "object"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "check_nacha_ach_compliance",
        "x-tool-url": "https://ainumbers.co/tools/224-nacha-ach-rule-compliance-checker.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/test_interchange_qualification": {
      "post": {
        "operationId": "test_interchange_qualification",
        "summary": "Visa/MC Interchange Qualification Tester",
        "description": "Simulates interchange category qualification for Visa and Mastercard US domestic transactions. Covers Visa CPS/Standard/EIRF and MC Merit I/III/Enhanced Best. Outputs qualified tier, estimated rate, optimisation checks, and AP2 JSON interchange policy.\n\n**Tool URL:** https://ainumbers.co/tools/225-visa-mc-interchange-qualification-tester.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "interchange",
          "Visa",
          "Mastercard",
          "qualification",
          "CPS",
          "Merit I",
          "downgrade",
          "CNP",
          "EMV",
          "AP2"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "card_brand": {
                    "type": "string"
                  },
                  "card_type": {
                    "type": "string"
                  },
                  "transaction_amount_usd": {
                    "type": "number"
                  },
                  "channel": {
                    "type": "string"
                  },
                  "avs_result": {
                    "type": "string"
                  },
                  "same_day_batch": {
                    "type": "string"
                  }
                },
                "required": [
                  "card_brand",
                  "transaction_amount_usd",
                  "channel"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "qualified_tier": {
                      "type": "string"
                    },
                    "interchange_rate_pct": {
                      "type": "number"
                    },
                    "interchange_cents": {
                      "type": "number"
                    },
                    "estimated_interchange_cost_usd": {
                      "type": "number"
                    },
                    "effective_rate_pct": {
                      "type": "number"
                    },
                    "ap2_mandate": {
                      "type": "object"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "test_interchange_qualification",
        "x-tool-url": "https://ainumbers.co/tools/225-visa-mc-interchange-qualification-tester.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/assess_pci_dss_scope": {
      "post": {
        "operationId": "assess_pci_dss_scope",
        "summary": "PCI DSS v4.0 Scope Assessment Wizard",
        "description": "Step-by-step PCI DSS v4.0 scope assessment covering organisation type, payment channels, cardholder data environment, and architecture. Determines applicable SAQ form (A through D-SP), 12-requirement applicability table, and produces a compliance roadmap Markdown memo and AP2 JSON mandate.\n\n**Tool URL:** https://ainumbers.co/tools/226-pci-dss-v4-scope-wizard.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "PCI DSS",
          "v4.0",
          "SAQ",
          "CDE",
          "scope",
          "compliance",
          "audit",
          "AP2"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "org_type": {
                    "type": "string"
                  },
                  "channels": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "card_data_stored": {
                    "type": "boolean"
                  }
                },
                "required": [
                  "org_type",
                  "channels"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "saq_determination": {
                      "type": "string"
                    },
                    "applicable_requirements": {
                      "type": "array"
                    },
                    "compliance_gaps": {
                      "type": "array"
                    },
                    "ap2_mandate": {
                      "type": "object"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "assess_pci_dss_scope",
        "x-tool-url": "https://ainumbers.co/tools/226-pci-dss-v4-scope-wizard.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/lookup_dispute_reason_code": {
      "post": {
        "operationId": "lookup_dispute_reason_code",
        "summary": "Card Dispute & Chargeback Reason Code Mapper",
        "description": "Quick-reference lookup for 60 Visa VDR, Mastercard MDR, and Amex CMG dispute reason codes. Provides required response documentation, filing and rebuttal deadlines, and arbitration rules. No AP2 export — companion reference tool to the Chargeback Representment Builder (Tool 41).\n\n**Tool URL:** https://ainumbers.co/tools/227-card-dispute-reason-code-mapper.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "chargeback",
          "dispute",
          "reason codes",
          "Visa",
          "Mastercard",
          "Amex",
          "VDR",
          "MDR",
          "CMG",
          "representment"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "reason_code": {
                    "type": "string"
                  },
                  "scheme": {
                    "type": "string",
                    "enum": [
                      "visa",
                      "mc",
                      "amex",
                      "all"
                    ]
                  }
                },
                "required": [
                  "reason_code"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "scheme": {
                      "type": "string"
                    },
                    "title": {
                      "type": "string"
                    },
                    "category": {
                      "type": "string"
                    },
                    "required_documentation": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "chargeback_deadline": {
                      "type": "string"
                    },
                    "rebuttal_deadline": {
                      "type": "string"
                    },
                    "arbitration_path": {
                      "type": "string"
                    },
                    "notes": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "lookup_dispute_reason_code",
        "x-tool-url": "https://ainumbers.co/tools/227-card-dispute-reason-code-mapper.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/check_3ds_sca_compliance": {
      "post": {
        "operationId": "check_3ds_sca_compliance",
        "summary": "3DS 2.x / EMV 3D Secure Compliance Checker",
        "description": "Assesses 3DS 2.x authentication implementations against PSD2 SCA requirements, draft PSD3, and FCA UK SCA rules. Evaluates frictionless vs. challenge flow eligibility, SCA exemption applicability (TRA, low-value, trusted beneficiary, recurring), liability shift status, and soft decline handling.\n\n**Tool URL:** https://ainumbers.co/tools/228-3ds-emv-compliance-checker.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "3DS",
          "EMV",
          "SCA",
          "PSD2",
          "PSD3",
          "frictionless",
          "challenge",
          "TRA",
          "liability shift",
          "FCA",
          "AP2"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "jurisdiction": {
                    "type": "string"
                  },
                  "amount_eur": {
                    "type": "number"
                  },
                  "tds_version": {
                    "type": "string"
                  },
                  "exemption_type": {
                    "type": "string"
                  },
                  "tra_fraud_rate": {
                    "type": "string"
                  }
                },
                "required": [
                  "jurisdiction",
                  "amount_eur",
                  "tds_version"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "compliance_status": {
                      "type": "string",
                      "enum": [
                        "compliant",
                        "issues_found"
                      ]
                    },
                    "flow_decision": {
                      "type": "string"
                    },
                    "findings": {
                      "type": "array",
                      "items": {
                        "type": "object"
                      }
                    },
                    "exemption_details": {
                      "type": "object"
                    },
                    "ap2_mandate": {
                      "type": "object"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "check_3ds_sca_compliance",
        "x-tool-url": "https://ainumbers.co/tools/228-3ds-emv-compliance-checker.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/check_rtp_participation_eligibility": {
      "post": {
        "operationId": "check_rtp_participation_eligibility",
        "summary": "RTP Network Participation Checker",
        "description": "Checks institution eligibility and onboarding requirements for seven real-time payment networks: FedNow, RTP/TCH, PIX, UPI, PayTo/NPP, Faster Payments, and SEPA Instant. Returns per-network eligibility status, 8-step onboarding checklist, technical requirements, and AP2 JSON participation mandate.\n\n**Tool URL:** https://ainumbers.co/tools/229-rtp-network-participation-checker.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "RTP",
          "FedNow",
          "RTP/TCH",
          "PIX",
          "UPI",
          "NPP",
          "PayTo",
          "Faster Payments",
          "SEPA Instant",
          "ISO 20022",
          "participation",
          "AP2"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "institution_type": {
                    "type": "string"
                  },
                  "primary_jurisdiction": {
                    "type": "string"
                  },
                  "networks": {
                    "type": "string"
                  },
                  "iso_capability": {
                    "type": "string"
                  }
                },
                "required": [
                  "institution_type",
                  "primary_jurisdiction"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "networks_assessed": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "network": {
                            "type": "string"
                          },
                          "status": {
                            "type": "string",
                            "enum": [
                              "eligible",
                              "review",
                              "ineligible"
                            ]
                          }
                        }
                      }
                    },
                    "eligible_count": {
                      "type": "integer"
                    },
                    "review_count": {
                      "type": "integer"
                    },
                    "ineligible_count": {
                      "type": "integer"
                    },
                    "ap2_mandate": {
                      "type": "object"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "check_rtp_participation_eligibility",
        "x-tool-url": "https://ainumbers.co/tools/229-rtp-network-participation-checker.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/corridor_savings_calc": {
      "post": {
        "operationId": "corridor_savings_calc",
        "summary": "Cross-Border Corridor Savings Calculator",
        "description": "Calculate and compare cross-border A2A payment costs across traditional correspondent banking, fintech, stablecoin, and tokenized A2A rails. Client-side only, zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/23-corridor-savings-calc.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "corridor_savings_calc",
        "x-tool-url": "https://ainumbers.co/tools/23-corridor-savings-calc.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/assess_rule_change_impact": {
      "post": {
        "operationId": "assess_rule_change_impact",
        "summary": "Network Rule Change Impact Assessor",
        "description": "Models the estimated impact of 2025–2026 Visa, Mastercard, and NACHA rule changes on a transaction portfolio. Seven embedded rule changes covering CNP authentication, EMV fallback, authorisation optimisation, surcharge updates, NACHA fraud monitoring, and data security enforcement. Outputs volume affected, interchange impact, compliance actions, and timeline.\n\n**Tool URL:** https://ainumbers.co/tools/230-network-rule-change-impact-assessor.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "rule changes",
          "Visa",
          "Mastercard",
          "NACHA",
          "interchange impact",
          "compliance",
          "2026",
          "AP2"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "rule_change_id": {
                    "type": "string"
                  },
                  "monthly_volume": {
                    "type": "integer"
                  },
                  "average_ticket_usd": {
                    "type": "number"
                  },
                  "channel_mix": {
                    "type": "string"
                  }
                },
                "required": [
                  "rule_change_id",
                  "monthly_volume",
                  "average_ticket_usd"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "rule_change_title": {
                      "type": "string"
                    },
                    "impact_level": {
                      "type": "string",
                      "enum": [
                        "high",
                        "medium",
                        "low"
                      ]
                    },
                    "transactions_affected_per_month": {
                      "type": "integer"
                    },
                    "estimated_monthly_impact_usd": {
                      "type": "number"
                    },
                    "estimated_annual_impact_usd": {
                      "type": "number"
                    },
                    "compliance_actions": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "implementation_timeline": {
                      "type": "array"
                    },
                    "ap2_mandate": {
                      "type": "object"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "assess_rule_change_impact",
        "x-tool-url": "https://ainumbers.co/tools/230-network-rule-change-impact-assessor.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/benchmark_card_scheme_fees": {
      "post": {
        "operationId": "benchmark_card_scheme_fees",
        "summary": "Card Scheme Fee Benchmarking Tool",
        "description": "Benchmarks indicative Visa and Mastercard scheme fees (assessment, NABU, data service, and CNP surcharge fees) by card type and region (US, EU, UK, APAC). Outputs per-component fee breakdown, Visa/MC comparison, annual estimate, optimisation opportunities, and AP2 JSON fee policy.\n\n**Tool URL:** https://ainumbers.co/tools/233-card-scheme-fee-benchmarking.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "scheme fees",
          "Visa",
          "Mastercard",
          "assessment fee",
          "NABU",
          "benchmarking",
          "interchange",
          "optimisation",
          "AP2"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "region": {
                    "type": "string"
                  },
                  "card_type": {
                    "type": "string"
                  },
                  "monthly_volume": {
                    "type": "integer"
                  },
                  "average_ticket": {
                    "type": "number"
                  },
                  "channel_type": {
                    "type": "string"
                  }
                },
                "required": [
                  "region",
                  "card_type",
                  "monthly_volume",
                  "average_ticket"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "visa_monthly_fees": {
                      "type": "number"
                    },
                    "mc_monthly_fees": {
                      "type": "number"
                    },
                    "blended_monthly_fees": {
                      "type": "number"
                    },
                    "annual_scheme_fees": {
                      "type": "number"
                    },
                    "visa_effective_rate_bps": {
                      "type": "number"
                    },
                    "mc_effective_rate_bps": {
                      "type": "number"
                    },
                    "blended_effective_rate_bps": {
                      "type": "number"
                    },
                    "fees_as_pct_of_revenue": {
                      "type": "number"
                    },
                    "ap2_mandate": {
                      "type": "object"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "benchmark_card_scheme_fees",
        "x-tool-url": "https://ainumbers.co/tools/233-card-scheme-fee-benchmarking.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/sme_credit_risk_scoring": {
      "post": {
        "operationId": "sme_credit_risk_scoring",
        "summary": "SME Credit Risk Scoring Engine · T239 · Cat-20",
        "description": "6-dimension SME credit risk scoring engine. Score revenue, business age, DSCR, payment behaviour, sector risk, and adverse events. Internal rating, lending recommendations, Policy Mandate JSON export. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/239-sme-credit-risk-scoring.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "currency",
                  "sector",
                  "revenue",
                  "businessAge",
                  "dscr",
                  "paymentBehaviour",
                  "adverseEvents"
                ],
                "properties": {
                  "currency": {
                    "type": "string",
                    "enum": [
                      "GBP",
                      "USD",
                      "EUR"
                    ],
                    "description": "Reporting currency"
                  },
                  "sector": {
                    "type": "string",
                    "description": "Industry sector of the SME"
                  },
                  "revenue": {
                    "type": "number",
                    "minimum": 0,
                    "description": "Annual revenue in selected currency"
                  },
                  "businessAge": {
                    "type": "number",
                    "minimum": 0,
                    "description": "Business age in months"
                  },
                  "dscr": {
                    "type": "number",
                    "minimum": 0,
                    "description": "Debt Service Coverage Ratio (NOI / Debt Service)"
                  },
                  "paymentBehaviour": {
                    "type": "string",
                    "enum": [
                      "excellent",
                      "good",
                      "fair",
                      "poor",
                      "default"
                    ],
                    "description": "Historical payment behaviour classification"
                  },
                  "adverseEvents": {
                    "type": "string",
                    "enum": [
                      "none",
                      "minor",
                      "ccj",
                      "significant",
                      "insolvency"
                    ],
                    "description": "Adverse credit events on record"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "compositeScore": {
                      "type": "number",
                      "minimum": 0,
                      "maximum": 100
                    },
                    "rating": {
                      "type": "string",
                      "description": "Internal rating: Prime / Strong / Satisfactory / Weak / Speculative / Distressed"
                    },
                    "spEquivalent": {
                      "type": "string",
                      "description": "Approximate S&P equivalent rating band"
                    },
                    "dimensionScores": {
                      "type": "object",
                      "description": "Score breakdown per dimension"
                    },
                    "lendingRecommendations": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "sme_credit_risk_scoring",
        "x-tool-url": "https://ainumbers.co/tools/239-sme-credit-risk-scoring.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/churn_analyzer": {
      "post": {
        "operationId": "churn_analyzer",
        "summary": "Subscription Churn Analyzer: Card vs. A2A/VRP",
        "description": "Quantify the ROI of migrating subscription payments from cards to A2A/VRP rails. Plain-text summary of recovered revenue, payback period, and churn reduction. Client-side only, zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/24-churn-analyzer.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "churn_analyzer",
        "x-tool-url": "https://ainumbers.co/tools/24-churn-analyzer.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/working_capital_gap_calculator": {
      "post": {
        "operationId": "working_capital_gap_calculator",
        "summary": "Working Capital Gap Calculator · T240 · Cat-20",
        "description": "Calculate your SME's cash conversion cycle (CCC) and working capital funding gap. Recommends overdraft, invoice finance, revenue-based finance, and trade credit instruments. Policy Mandate JSON export. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/240-working-capital-gap-calculator.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "currency",
                  "sector",
                  "annualRevenue",
                  "arDays",
                  "inventoryDays",
                  "apDays"
                ],
                "properties": {
                  "currency": {
                    "type": "string",
                    "enum": [
                      "GBP",
                      "USD",
                      "EUR"
                    ]
                  },
                  "sector": {
                    "type": "string",
                    "description": "Industry sector for benchmark comparison"
                  },
                  "annualRevenue": {
                    "type": "number",
                    "minimum": 0
                  },
                  "arDays": {
                    "type": "number",
                    "minimum": 0,
                    "description": "Average accounts receivable days outstanding"
                  },
                  "inventoryDays": {
                    "type": "number",
                    "minimum": 0,
                    "description": "Average inventory holding days"
                  },
                  "apDays": {
                    "type": "number",
                    "minimum": 0,
                    "description": "Average accounts payable days"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ccc": {
                      "type": "number",
                      "description": "Cash Conversion Cycle in days"
                    },
                    "workingCapitalGap": {
                      "type": "number",
                      "description": "Funding gap in selected currency"
                    },
                    "riskTier": {
                      "type": "string",
                      "enum": [
                        "Low",
                        "Moderate",
                        "Elevated",
                        "High"
                      ]
                    },
                    "sensitivityMinus20": {
                      "type": "number"
                    },
                    "sensitivityPlus20": {
                      "type": "number"
                    },
                    "financingOptions": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "working_capital_gap_calculator",
        "x-tool-url": "https://ainumbers.co/tools/240-working-capital-gap-calculator.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/business_loan_readiness_checker": {
      "post": {
        "operationId": "business_loan_readiness_checker",
        "summary": "Business Loan Readiness Checker · T241 · Cat-20",
        "description": "Score SME loan readiness against high street bank, challenger bank, fintech, and government-backed scheme criteria. Gap analysis per lender category. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/241-business-loan-readiness-checker.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "currency": {
                    "type": "string"
                  },
                  "loanPurpose": {
                    "type": "string"
                  },
                  "revenue": {
                    "type": "string"
                  },
                  "tradingMonths": {
                    "type": "string"
                  },
                  "dscr": {
                    "type": "string"
                  },
                  "creditHistory": {
                    "type": "string"
                  },
                  "assetCoverage": {
                    "type": "string"
                  },
                  "profitability": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "business_loan_readiness_checker",
        "x-tool-url": "https://ainumbers.co/tools/241-business-loan-readiness-checker.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/invoice_finance_eligibility": {
      "post": {
        "operationId": "invoice_finance_eligibility",
        "summary": "Invoice Finance Eligibility Assessor · T242 · Cat-20",
        "description": "Assess SME eligibility for invoice discounting, factoring, and selective invoice finance. Funding availability estimate, fee model, Markdown report. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/242-invoice-finance-eligibility.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "currency": {
                    "type": "string"
                  },
                  "debtorType": {
                    "type": "string"
                  },
                  "monthlyInvoices": {
                    "type": "string"
                  },
                  "annualTurnover": {
                    "type": "string"
                  },
                  "paymentTerms": {
                    "type": "string"
                  },
                  "debtorConc": {
                    "type": "string"
                  },
                  "disputeRate": {
                    "type": "string"
                  },
                  "tradingYears": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "invoice_finance_eligibility",
        "x-tool-url": "https://ainumbers.co/tools/242-invoice-finance-eligibility.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/open_finance_credit_signal_mapper": {
      "post": {
        "operationId": "open_finance_credit_signal_mapper",
        "summary": "Open Finance Credit Signal Mapper · T243 · Cat-20",
        "description": "Model how CFPB 1033 / PSD3 open banking data improves SME underwriting. Credit signal quality assessment, underwriting improvement estimate, Policy Mandate JSON export. Modelling tool — no real data processed. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/243-open-finance-credit-signal-mapper.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "jurisdiction",
                  "currentApproach",
                  "dataMonths",
                  "smeSector",
                  "selectedSignalIds"
                ],
                "properties": {
                  "jurisdiction": {
                    "type": "string",
                    "enum": [
                      "uk",
                      "us",
                      "eu",
                      "au"
                    ],
                    "description": "Regulatory jurisdiction"
                  },
                  "currentApproach": {
                    "type": "string",
                    "enum": [
                      "trad",
                      "supplemented",
                      "hybrid",
                      "advanced"
                    ],
                    "description": "Current underwriting approach"
                  },
                  "dataMonths": {
                    "type": "integer",
                    "enum": [
                      3,
                      6,
                      12,
                      24
                    ],
                    "description": "Months of historical transaction data available"
                  },
                  "smeSector": {
                    "type": "string",
                    "enum": [
                      "retail",
                      "services",
                      "manufacturing",
                      "hospitality",
                      "construction"
                    ]
                  },
                  "selectedSignalIds": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "enum": [
                        "sig_income",
                        "sig_cashflow",
                        "sig_merchant",
                        "sig_savings",
                        "sig_credit_behav",
                        "sig_seasonal"
                      ]
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "signalScore": {
                      "type": "number",
                      "minimum": 0,
                      "maximum": 100
                    },
                    "tier": {
                      "type": "string",
                      "enum": [
                        "High Quality",
                        "Moderate Quality",
                        "Limited Quality",
                        "Low Quality"
                      ]
                    },
                    "accuracyImpPct": {
                      "type": "number",
                      "description": "Estimated credit decision accuracy improvement %"
                    },
                    "fpReductionPct": {
                      "type": "number",
                      "description": "Estimated false positive reduction %"
                    },
                    "complianceScore": {
                      "type": "number",
                      "minimum": 0,
                      "maximum": 100
                    },
                    "regulatoryStatus": {
                      "type": "string"
                    },
                    "signalResults": {
                      "type": "array",
                      "items": {
                        "type": "object"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "open_finance_credit_signal_mapper",
        "x-tool-url": "https://ainumbers.co/tools/243-open-finance-credit-signal-mapper.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/revenue_based_finance_calculator": {
      "post": {
        "operationId": "revenue_based_finance_calculator",
        "summary": "Revenue-Based Finance Calculator · T244 · Cat-20",
        "description": "Model revenue-based finance economics: advance, revenue share, cap rate. Repayment timeline, total cost of capital, effective APR, payback scenarios. Policy Mandate JSON export. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/244-revenue-based-finance-calculator.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "currency",
                  "advanceAmount",
                  "monthlyRevenue",
                  "revenueSharePct",
                  "capRate"
                ],
                "properties": {
                  "currency": {
                    "type": "string",
                    "enum": [
                      "GBP",
                      "USD",
                      "EUR"
                    ]
                  },
                  "businessType": {
                    "type": "string",
                    "enum": [
                      "saas",
                      "ecomm",
                      "services",
                      "marketplace",
                      "other"
                    ]
                  },
                  "advanceAmount": {
                    "type": "number",
                    "minimum": 1000,
                    "description": "Total RBF advance in selected currency"
                  },
                  "monthlyRevenue": {
                    "type": "number",
                    "minimum": 1,
                    "description": "Current monthly revenue"
                  },
                  "revenueSharePct": {
                    "type": "number",
                    "minimum": 0.5,
                    "maximum": 30,
                    "description": "Revenue share as % of monthly revenue"
                  },
                  "capRate": {
                    "type": "number",
                    "minimum": 1,
                    "maximum": 3,
                    "description": "Payback multiple (e.g. 1.35 = repay 135% of advance)"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "totalRepayment": {
                      "type": "number"
                    },
                    "costOfCapital": {
                      "type": "number"
                    },
                    "effectiveAPRpct": {
                      "type": "number",
                      "description": "Annualised IRR-equivalent rate %"
                    },
                    "baseMonthlyRepayment": {
                      "type": "number"
                    },
                    "basePaybackMonths": {
                      "type": "integer"
                    },
                    "downPaybackMonths": {
                      "type": "integer",
                      "description": "Payback at −20% revenue"
                    },
                    "upPaybackMonths": {
                      "type": "integer",
                      "description": "Payback at +20% revenue"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "revenue_based_finance_calculator",
        "x-tool-url": "https://ainumbers.co/tools/244-revenue-based-finance-calculator.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/government_funding_grant_mapper": {
      "post": {
        "operationId": "government_funding_grant_mapper",
        "summary": "Government Funding & Grant Eligibility Mapper · T245 · Cat-20",
        "description": "Map SME eligibility for SBIR/STTR, Innovate UK, EU Horizon, Growth Guarantee Scheme, and other government funding programmes by jurisdiction, sector, and size. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/245-government-funding-grant-mapper.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "jurisdiction": {
                    "type": "string"
                  },
                  "businessType": {
                    "type": "string"
                  },
                  "sector": {
                    "type": "string"
                  },
                  "headcount": {
                    "type": "string"
                  },
                  "currency": {
                    "type": "string"
                  },
                  "annualRevenue": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "government_funding_grant_mapper",
        "x-tool-url": "https://ainumbers.co/tools/245-government-funding-grant-mapper.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/sme_cashflow_stress_test": {
      "post": {
        "operationId": "sme_cashflow_stress_test",
        "summary": "Cash Flow Stress Test for SMEs · T246 · Cat-20",
        "description": "13-week rolling cash flow stress model for SMEs. Apply revenue shocks, payment delays, and unexpected capex to model cash runway under stress scenarios. Markdown memo export. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/246-sme-cashflow-stress-test.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "currency": {
                    "type": "string"
                  },
                  "minCashBuffer": {
                    "type": "string"
                  },
                  "openingCash": {
                    "type": "string"
                  },
                  "weeklyReceivables": {
                    "type": "string"
                  },
                  "weeklyPayables": {
                    "type": "string"
                  },
                  "shock_rev20": {
                    "type": "string"
                  },
                  "shock_rev40": {
                    "type": "string"
                  },
                  "shock_delay15": {
                    "type": "string"
                  },
                  "shock_delay30": {
                    "type": "string"
                  },
                  "shock_capex": {
                    "type": "string"
                  },
                  "capexAmount": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "sme_cashflow_stress_test",
        "x-tool-url": "https://ainumbers.co/tools/246-sme-cashflow-stress-test.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/lending_covenant_monitoring": {
      "post": {
        "operationId": "lending_covenant_monitoring",
        "summary": "Lending Covenant & Facility Monitoring Dashboard · T247 · Cat-20",
        "description": "Monitor SME lending covenants: DSCR, leverage ratio, minimum cash balance, current ratio, interest cover. RAG status, headroom %, breach alerts, and Markdown monitoring memo. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/247-lending-covenant-monitoring.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "currency": {
                    "type": "string"
                  },
                  "reviewPeriod": {
                    "type": "string"
                  },
                  "dscr_thresh": {
                    "type": "string"
                  },
                  "dscr_actual": {
                    "type": "string"
                  },
                  "lev_thresh": {
                    "type": "string"
                  },
                  "lev_actual": {
                    "type": "string"
                  },
                  "cash_thresh": {
                    "type": "string"
                  },
                  "cash_actual": {
                    "type": "string"
                  },
                  "curr_thresh": {
                    "type": "string"
                  },
                  "curr_actual": {
                    "type": "string"
                  },
                  "ic_thresh": {
                    "type": "string"
                  },
                  "ic_actual": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "lending_covenant_monitoring",
        "x-tool-url": "https://ainumbers.co/tools/247-lending-covenant-monitoring.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/validate_iso20022_message": {
      "post": {
        "operationId": "validate_iso20022_message",
        "summary": "ISO 20022 Message Validator + Field Explorer",
        "description": "Validate ISO 20022 XML messages (pacs.008, pain.001, camt.053) against embedded schema rules, parse every field with business context, and explore 20+ message types. Client-side only. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/248-iso20022-validator.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "ISO20022",
          "XML",
          "validator",
          "pacs",
          "pain",
          "camt",
          "SWIFT",
          "CBPR+",
          "export"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "xml_content"
                ],
                "properties": {
                  "xml_content": {
                    "type": "string"
                  },
                  "message_type": {
                    "type": "string"
                  },
                  "ruleset": {
                    "type": "string",
                    "enum": [
                      "cbpr+",
                      "base",
                      "fedwire",
                      "sepa"
                    ]
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "valid": {
                      "type": "boolean"
                    },
                    "message_type": {
                      "type": "string"
                    },
                    "field_map": {
                      "type": "object",
                      "description": "Parsed fields with business context labels"
                    },
                    "errors": {
                      "type": "array"
                    },
                    "warnings": {
                      "type": "array"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "validate_iso20022_message",
        "x-tool-url": "https://ainumbers.co/tools/248-iso20022-validator.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/payment_reference_gen": {
      "post": {
        "operationId": "payment_reference_gen",
        "summary": "ISO 20022 Payment Reference Generator",
        "description": "Generate valid ISO 20022 End-to-End IDs, NACHA Individual IDs, SEPA UET references, and UPI QR references — with format validation and best-practice guidance. Client-side only, zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/25-payment-reference-gen.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "payment_reference_gen",
        "x-tool-url": "https://ainumbers.co/tools/25-payment-reference-gen.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/iso20022_cross_rail_compatibility": {
      "post": {
        "operationId": "iso20022_cross_rail_compatibility",
        "summary": "T254 · ISO 20022 Cross-Rail Message Compatibility Checker — AINumbers.co",
        "description": "Check ISO 20022 message compatibility across real-time payment rail implementations: FedNow, RTP/TCH, SEPA Instant, Faster Payments, PIX, PayNow. Field-level diff report and Policy Mandate routing policy. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/254-iso20022-cross-rail-compatibility.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "message_type": {
                    "type": "string",
                    "enum": [
                      "pacs.008",
                      "pacs.002",
                      "pacs.004",
                      "camt.056"
                    ],
                    "description": "ISO 20022 message type to check compatibility for"
                  },
                  "source_rail": {
                    "type": "string",
                    "enum": [
                      "fednow",
                      "rtp",
                      "sepa_inst",
                      "fps",
                      "pix",
                      "paynow"
                    ],
                    "description": "Originating real-time payment rail"
                  },
                  "target_rails": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "enum": [
                        "fednow",
                        "rtp",
                        "sepa_inst",
                        "fps",
                        "pix",
                        "paynow"
                      ]
                    },
                    "minItems": 1,
                    "maxItems": 4,
                    "description": "One to four destination rails to check compatibility against"
                  }
                },
                "required": [
                  "message_type",
                  "source_rail",
                  "target_rails"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "fields_checked": {
                      "type": "integer"
                    },
                    "fields_fully_compatible": {
                      "type": "integer"
                    },
                    "fields_overlay_required": {
                      "type": "integer"
                    },
                    "fields_partial": {
                      "type": "integer"
                    },
                    "fields_absent": {
                      "type": "integer"
                    },
                    "compatibility_pct": {
                      "type": "number",
                      "minimum": 0,
                      "maximum": 100
                    },
                    "high_severity_differences": {
                      "type": "integer"
                    },
                    "high_diff_fields": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "routing_recommendation": {
                      "type": "string"
                    },
                    "agent_instructions": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "ap2_mandate": {
                      "type": "object"
                    }
                  },
                  "required": [
                    "fields_checked",
                    "compatibility_pct",
                    "routing_recommendation",
                    "agent_instructions",
                    "ap2_mandate"
                  ]
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "iso20022_cross_rail_compatibility",
        "x-tool-url": "https://ainumbers.co/tools/254-iso20022-cross-rail-compatibility.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/fednow_participation_readiness_scorer": {
      "post": {
        "operationId": "fednow_participation_readiness_scorer",
        "summary": "T255 · FedNow Participation Readiness Scorer — AINumbers.co",
        "description": "Score institution readiness against 47 FedNow technical and operational participation requirements across 6 domains. Outputs gap checklist, implementation roadmap, and Policy Mandate JSON. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/255-fednow-participation-readiness-scorer.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "institution_type": {
                    "type": "string",
                    "enum": [
                      "community-bank",
                      "credit-union",
                      "regional-bank",
                      "large-bank",
                      "non-bank-psp",
                      "core-vendor"
                    ],
                    "description": "Type of financial institution seeking FedNow participation"
                  },
                  "core_banking_system": {
                    "type": "string",
                    "enum": [
                      "jack-henry",
                      "fis",
                      "fiserv",
                      "temenos",
                      "thought-machine",
                      "ncr",
                      "inhouse",
                      "other"
                    ],
                    "description": "Core banking platform — used to contextualise integration complexity"
                  },
                  "connectivity_type": {
                    "type": "string",
                    "enum": [
                      "fedline-direct",
                      "fedline-command",
                      "fedline-web",
                      "passthrough",
                      "tbd"
                    ],
                    "description": "Planned FedNow connectivity method"
                  },
                  "item_statuses": {
                    "type": "object",
                    "description": "Map of requirement IDs to completion status. Keys: cbc1–cbc8, iso1–iso8, fraud1–fraud8, liq1–liq8, dispute1–dispute7, sla1–sla8. Values: 'yes' | 'partial' | 'no'.",
                    "additionalProperties": {
                      "type": "string",
                      "enum": [
                        "yes",
                        "partial",
                        "no"
                      ]
                    }
                  }
                },
                "required": [
                  "institution_type",
                  "item_statuses"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "overall_readiness_pct": {
                      "type": "number",
                      "minimum": 0,
                      "maximum": 100,
                      "description": "Weighted readiness score as a percentage of 47 requirements"
                    },
                    "readiness_tier": {
                      "type": "string",
                      "enum": [
                        "Ready to Launch",
                        "Near Ready",
                        "In Progress",
                        "Early Stage",
                        "Pre-Planning"
                      ]
                    },
                    "domain_scores": {
                      "type": "object",
                      "description": "Per-domain readiness percentage scores keyed by domain ID",
                      "properties": {
                        "cbc_readiness_pct": {
                          "type": "number"
                        },
                        "iso_readiness_pct": {
                          "type": "number"
                        },
                        "fraud_readiness_pct": {
                          "type": "number"
                        },
                        "liq_readiness_pct": {
                          "type": "number"
                        },
                        "dispute_readiness_pct": {
                          "type": "number"
                        },
                        "sla_readiness_pct": {
                          "type": "number"
                        }
                      }
                    },
                    "gap_count_total": {
                      "type": "integer",
                      "description": "Total number of incomplete requirements"
                    },
                    "gaps_not_started": {
                      "type": "integer",
                      "description": "Requirements with status 'no'"
                    },
                    "gaps_partial": {
                      "type": "integer",
                      "description": "Requirements with status 'partial'"
                    },
                    "top_open_gap_ids": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      },
                      "description": "IDs of up to 8 most critical open gaps"
                    },
                    "agent_instructions": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      },
                      "description": "Ordered remediation actions for an agent or programme manager"
                    },
                    "ap2_mandate": {
                      "type": "object",
                      "description": "Full Mandato de Política mandate object — ap2_version 1.0, mandate_type payment_policy"
                    }
                  },
                  "required": [
                    "overall_readiness_pct",
                    "readiness_tier",
                    "gap_count_total",
                    "agent_instructions",
                    "ap2_mandate"
                  ]
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "fednow_participation_readiness_scorer",
        "x-tool-url": "https://ainumbers.co/tools/255-fednow-participation-readiness-scorer.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/rtp_fraud_velocity_rule_builder": {
      "post": {
        "operationId": "rtp_fraud_velocity_rule_builder",
        "summary": "T256 · Real-Time Payment Fraud Velocity Rule Builder — AINumbers.co",
        "description": "Configure fraud velocity rules within the sub-second RTP authorisation window. Covers mule detection, reverse-push patterns, velocity thresholds for FedNow/RTP/PIX/Faster Payments, rule conflict detection, latency budget analysis, and Policy Mandate JSON RTP fraud policy. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/256-rtp-fraud-velocity-rule-builder.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "rail": {
                    "type": "string",
                    "enum": [
                      "fednow",
                      "rtp",
                      "fps",
                      "pix",
                      "sepa_inst",
                      "paynow"
                    ],
                    "description": "Target real-time payment rail"
                  },
                  "latency_budget_ms": {
                    "type": "integer",
                    "enum": [
                      250,
                      500,
                      750,
                      1000
                    ],
                    "description": "Maximum permissible latency for the entire rule set in the authorisation path"
                  },
                  "rules": {
                    "type": "array",
                    "maxItems": 6,
                    "items": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "enum": [
                            "velocity_count",
                            "velocity_amount",
                            "mule_detection",
                            "reverse_push",
                            "amount_anomaly",
                            "device_ip_vel"
                          ]
                        },
                        "window_seconds": {
                          "type": "integer",
                          "enum": [
                            60,
                            300,
                            900,
                            3600,
                            86400
                          ]
                        },
                        "customer_risk_tier": {
                          "type": "string",
                          "enum": [
                            "all",
                            "high",
                            "medium",
                            "low"
                          ]
                        },
                        "threshold_count": {
                          "type": "integer",
                          "minimum": 1
                        },
                        "threshold_amount": {
                          "type": "number",
                          "minimum": 0
                        },
                        "action": {
                          "type": "string",
                          "enum": [
                            "block",
                            "hold",
                            "alert",
                            "monitor"
                          ]
                        }
                      },
                      "required": [
                        "type",
                        "window_seconds",
                        "action"
                      ]
                    },
                    "description": "Array of fraud velocity rules to evaluate"
                  }
                },
                "required": [
                  "rail",
                  "latency_budget_ms",
                  "rules"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "total_rule_latency_ms": {
                      "type": "integer"
                    },
                    "budget_compliant": {
                      "type": "boolean"
                    },
                    "budget_remaining_ms": {
                      "type": "integer"
                    },
                    "conflict_count": {
                      "type": "integer"
                    },
                    "critical_conflicts": {
                      "type": "integer"
                    },
                    "rules": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "rule_index": {
                            "type": "integer"
                          },
                          "rule_type": {
                            "type": "string"
                          },
                          "rule_label": {
                            "type": "string"
                          },
                          "estimated_latency_ms": {
                            "type": "integer"
                          },
                          "reject_code": {
                            "type": "string"
                          },
                          "action": {
                            "type": "string"
                          }
                        }
                      }
                    },
                    "agent_instructions": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "ap2_mandate": {
                      "type": "object"
                    }
                  },
                  "required": [
                    "total_rule_latency_ms",
                    "budget_compliant",
                    "conflict_count",
                    "rules",
                    "ap2_mandate"
                  ]
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "rtp_fraud_velocity_rule_builder",
        "x-tool-url": "https://ainumbers.co/tools/256-rtp-fraud-velocity-rule-builder.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/psr_reimbursement_workflow_builder": {
      "post": {
        "operationId": "psr_reimbursement_workflow_builder",
        "summary": "T257 · PSR APP Fraud Reimbursement Workflow Builder — AINumbers.co",
        "description": "Step-by-step UK PSR mandatory APP fraud reimbursement claim assessment workflow. £85,000 cap, gross negligence checklist, 50/50 PSP split, 5-business-day clock. claims Policy Mandate JSON. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/257-psr-reimbursement-workflow-builder.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "claim_amount_gbp": {
                    "type": "number",
                    "minimum": 0.01,
                    "description": "Total amount claimed by the consumer as APP fraud loss (£GBP)"
                  },
                  "fraud_type": {
                    "type": "string",
                    "enum": [
                      "purchase",
                      "investment",
                      "romance",
                      "impersonation_bank",
                      "impersonation_police",
                      "impersonation_hmrc",
                      "ceo_mandate",
                      "advance_fee",
                      "other"
                    ],
                    "description": "APP fraud / scam typology"
                  },
                  "consumer_vulnerability": {
                    "type": "string",
                    "enum": [
                      "no",
                      "yes",
                      "potential"
                    ],
                    "description": "Consumer vulnerability status — confirmed vulnerable consumers receive zero excess and enhanced care"
                  },
                  "account_type": {
                    "type": "string",
                    "enum": [
                      "personal",
                      "business",
                      "charity"
                    ]
                  },
                  "sending_psp_type": {
                    "type": "string",
                    "enum": [
                      "bank",
                      "building_society",
                      "emi",
                      "payment_institution"
                    ]
                  },
                  "excess_configured_gbp": {
                    "type": "number",
                    "minimum": 0,
                    "maximum": 100,
                    "description": "PSP-configured excess amount (£0–£100 maximum per PSR Specific Direction 18)"
                  },
                  "receiving_psp_identified": {
                    "type": "boolean",
                    "description": "Whether the receiving PSP has been identified via FPS transaction records"
                  },
                  "gross_negligence_indicators": {
                    "type": "object",
                    "description": "Assessment of 6 PSR gross negligence indicators — values: 'yes' | 'no' | 'unknown'",
                    "properties": {
                      "ignored_specific_warning": {
                        "type": "string",
                        "enum": [
                          "yes",
                          "no",
                          "unknown"
                        ]
                      },
                      "overrode_payment_block": {
                        "type": "string",
                        "enum": [
                          "yes",
                          "no",
                          "unknown"
                        ]
                      },
                      "shared_credentials_otp": {
                        "type": "string",
                        "enum": [
                          "yes",
                          "no",
                          "unknown"
                        ]
                      },
                      "multiple_payments_despite_warnings": {
                        "type": "string",
                        "enum": [
                          "yes",
                          "no",
                          "unknown"
                        ]
                      },
                      "reported_outside_13_months": {
                        "type": "string",
                        "enum": [
                          "yes",
                          "no",
                          "unknown"
                        ]
                      },
                      "first_party_fraud_indicators": {
                        "type": "string",
                        "enum": [
                          "yes",
                          "no",
                          "unknown"
                        ]
                      }
                    }
                  }
                },
                "required": [
                  "claim_amount_gbp",
                  "fraud_type",
                  "consumer_vulnerability",
                  "gross_negligence_indicators"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "decision": {
                      "type": "string",
                      "enum": [
                        "reimburse-full",
                        "reimburse-excess",
                        "refer",
                        "reject"
                      ],
                      "description": "Claim outcome decision"
                    },
                    "consumer_reimbursement_gbp": {
                      "type": "number",
                      "description": "Amount to credit to consumer account"
                    },
                    "sending_psp_liability_gbp": {
                      "type": "number",
                      "description": "Sending PSP net liability (50% of reimbursable)"
                    },
                    "receiving_psp_recovery_gbp": {
                      "type": "number",
                      "description": "Amount recoverable from receiving PSP (50% of reimbursable)"
                    },
                    "psr_cap_applied": {
                      "type": "boolean"
                    },
                    "excess_applied_gbp": {
                      "type": "number"
                    },
                    "settlement_deadline_business_days": {
                      "type": "integer"
                    },
                    "playbook_steps": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "timeline": {
                      "type": "array"
                    },
                    "agent_instructions": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "ap2_mandate": {
                      "type": "object"
                    }
                  },
                  "required": [
                    "decision",
                    "consumer_reimbursement_gbp",
                    "sending_psp_liability_gbp",
                    "ap2_mandate"
                  ]
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "psr_reimbursement_workflow_builder",
        "x-tool-url": "https://ainumbers.co/tools/257-psr-reimbursement-workflow-builder.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/intraday_credit_facility_sizer": {
      "post": {
        "operationId": "intraday_credit_facility_sizer",
        "summary": "T258 · Intraday Credit Facility Sizing Model — AINumbers.co",
        "description": "Basel III LCR-framed intraday credit facility sizing model. Minimum liquidity buffer, LCR ratio impact, BCBS 248 indicator set, peak debit stress scenarios, and liquidity Policy Mandate JSON. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/258-intraday-credit-facility-sizer.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "institution_type": {
                    "type": "string",
                    "enum": [
                      "large_bank",
                      "regional_bank",
                      "community_bank",
                      "non_bank",
                      "emi"
                    ]
                  },
                  "settlement_window": {
                    "type": "string",
                    "enum": [
                      "fednow",
                      "fedwire",
                      "chips",
                      "chaps",
                      "target2",
                      "sepa_inst"
                    ]
                  },
                  "avg_daily_gross_volume_usd": {
                    "type": "number",
                    "minimum": 1,
                    "description": "Average daily gross payment settlement volume in USD"
                  },
                  "peak_net_debit_position_usd": {
                    "type": "number",
                    "minimum": 1,
                    "description": "Maximum intraday negative balance — the ILM1 BCBS 248 indicator (daily max intraday liquidity usage)"
                  },
                  "buffer_target_pct": {
                    "type": "number",
                    "enum": [
                      10,
                      20,
                      25,
                      30,
                      50
                    ],
                    "description": "Percentage buffer above peak net debit for minimum intraday liquidity buffer calculation"
                  },
                  "current_lcr_pct": {
                    "type": "number",
                    "minimum": 0,
                    "description": "Current Liquidity Coverage Ratio as a percentage (≥100% = compliant)"
                  },
                  "current_hqla_usd": {
                    "type": "number",
                    "minimum": 0,
                    "description": "Total High Quality Liquid Assets stock (LCR numerator)"
                  },
                  "net_cash_outflows_30d_usd": {
                    "type": "number",
                    "minimum": 1,
                    "description": "30-day net cash outflows (LCR denominator)"
                  },
                  "existing_intraday_line_usd": {
                    "type": "number",
                    "minimum": 0,
                    "description": "Existing committed intraday credit line amount"
                  },
                  "collateral_type": {
                    "type": "string",
                    "enum": [
                      "reserves",
                      "govt_securities",
                      "sovereign_bonds",
                      "corp_bonds",
                      "agency_mbs",
                      "other"
                    ]
                  },
                  "collateral_haircut_pct": {
                    "type": "number",
                    "minimum": 0,
                    "maximum": 100,
                    "description": "Basel III haircut applied to pre-positioned collateral"
                  },
                  "time_specific_obligations_pct": {
                    "type": "number",
                    "minimum": 0,
                    "maximum": 100,
                    "description": "Percentage of daily volume due at specific times (ILM4 input)"
                  },
                  "correspondent_flow_pct": {
                    "type": "number",
                    "minimum": 0,
                    "maximum": 100,
                    "description": "Percentage of daily volume flowing through correspondent arrangements (ILM5 input)"
                  },
                  "payment_timing_first_2hr_pct": {
                    "type": "number",
                    "minimum": 0,
                    "maximum": 100,
                    "description": "Percentage of daily payments sent in first 2 hours of settlement window (ILM7 input)"
                  }
                },
                "required": [
                  "peak_net_debit_position_usd",
                  "avg_daily_gross_volume_usd",
                  "current_lcr_pct",
                  "current_hqla_usd",
                  "net_cash_outflows_30d_usd"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "minimum_intraday_buffer_usd": {
                      "type": "number"
                    },
                    "recommended_facility_size_usd": {
                      "type": "number"
                    },
                    "facility_gap_usd": {
                      "type": "number"
                    },
                    "adequacy_assessment": {
                      "type": "string",
                      "enum": [
                        "Adequate",
                        "Marginal",
                        "Insufficient"
                      ]
                    },
                    "gross_collateral_required_usd": {
                      "type": "number"
                    },
                    "lcr_post_preposition_pct": {
                      "type": "number"
                    },
                    "lcr_impact_ppt": {
                      "type": "number"
                    },
                    "lcr_compliant_post_preposition": {
                      "type": "boolean"
                    },
                    "bcbs248_indicators": {
                      "type": "object",
                      "description": "ILM1–ILM7 values per BCBS 248",
                      "properties": {
                        "ilm1": {
                          "type": "number"
                        },
                        "ilm2": {
                          "type": "number"
                        },
                        "ilm3": {
                          "type": "number"
                        },
                        "ilm4": {
                          "type": "number"
                        },
                        "ilm5": {
                          "type": "number"
                        },
                        "ilm6": {
                          "type": "number"
                        },
                        "ilm7": {
                          "type": "number"
                        }
                      }
                    },
                    "stress_scenarios": {
                      "type": "object",
                      "properties": {
                        "stress_1_5x_covered": {
                          "type": "boolean"
                        },
                        "stress_2x_covered": {
                          "type": "boolean"
                        },
                        "stress_3x_covered": {
                          "type": "boolean"
                        }
                      }
                    },
                    "agent_instructions": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "ap2_mandate": {
                      "type": "object"
                    }
                  },
                  "required": [
                    "minimum_intraday_buffer_usd",
                    "recommended_facility_size_usd",
                    "adequacy_assessment",
                    "bcbs248_indicators",
                    "ap2_mandate"
                  ]
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "intraday_credit_facility_sizer",
        "x-tool-url": "https://ainumbers.co/tools/258-intraday-credit-facility-sizer.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/ap2_rtp_policy_builder": {
      "post": {
        "operationId": "ap2_rtp_policy_builder",
        "summary": "T259 · AP2 Real-Time Payments Policy Builder — AINumbers.co",
        "description": "Translate real-time payment operational rules, fraud thresholds, and compliance obligations into a validated Policy Mandate JSON for agentic payment systems. Configure rail eligibility, fraud velocity, liquidity triggers, settlement preferences, and escalation conditions. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/259-ap2-rtp-policy-builder.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "rail_eligibility": {
                    "type": "object",
                    "properties": {
                      "enabled_rails": {
                        "type": "array",
                        "items": {
                          "type": "string",
                          "enum": [
                            "fednow",
                            "rtp",
                            "sepa_inst",
                            "fps",
                            "pix",
                            "paynow"
                          ]
                        },
                        "minItems": 1
                      },
                      "min_payment_usd": {
                        "type": "number",
                        "minimum": 0
                      },
                      "max_payment_usd": {
                        "type": "number",
                        "minimum": 1
                      },
                      "international_payments": {
                        "type": "boolean"
                      },
                      "credit_push_only": {
                        "type": "boolean"
                      },
                      "always_on_247": {
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "enabled_rails"
                    ]
                  },
                  "fraud_velocity_thresholds": {
                    "type": "object",
                    "properties": {
                      "max_transactions_per_customer_per_hour": {
                        "type": "integer",
                        "minimum": 1
                      },
                      "max_amount_per_customer_per_hour_usd": {
                        "type": "number",
                        "minimum": 0
                      },
                      "max_transactions_per_device_per_15min": {
                        "type": "integer",
                        "minimum": 1
                      },
                      "auto_allow_below_usd": {
                        "type": "number"
                      },
                      "manual_review_above_usd": {
                        "type": "number"
                      },
                      "auto_block_above_usd": {
                        "type": "number"
                      },
                      "mule_detection_enabled": {
                        "type": "boolean"
                      },
                      "new_account_age_days": {
                        "type": "integer",
                        "minimum": 1
                      },
                      "first_time_payee_max_usd": {
                        "type": "number"
                      },
                      "fraud_classifier_v1": {
                        "type": "string",
                        "enum": [
                          "required",
                          "optional",
                          "na"
                        ]
                      }
                    }
                  },
                  "liquidity_buffer_triggers": {
                    "type": "object",
                    "properties": {
                      "alert_at_pct": {
                        "type": "integer",
                        "minimum": 1,
                        "maximum": 100
                      },
                      "auto_pause_at_pct": {
                        "type": "integer",
                        "minimum": 1,
                        "maximum": 100
                      },
                      "emergency_at_pct": {
                        "type": "integer",
                        "minimum": 1,
                        "maximum": 100
                      },
                      "resume_at_pct": {
                        "type": "integer",
                        "minimum": 1,
                        "maximum": 100
                      },
                      "on_alert_action": {
                        "type": "string"
                      },
                      "on_pause_action": {
                        "type": "string"
                      },
                      "on_emergency_action": {
                        "type": "string"
                      }
                    }
                  },
                  "settlement_window_preferences": {
                    "type": "object",
                    "properties": {
                      "primary_rail": {
                        "type": "string"
                      },
                      "secondary_rail": {
                        "type": "string"
                      },
                      "sla_preference": {
                        "type": "string",
                        "enum": [
                          "speed",
                          "balanced",
                          "cost"
                        ]
                      },
                      "consumer_rail": {
                        "type": "string"
                      },
                      "b2b_rail": {
                        "type": "string"
                      },
                      "payroll_rail": {
                        "type": "string"
                      },
                      "off_hours_action": {
                        "type": "string"
                      }
                    }
                  },
                  "escalation_conditions": {
                    "type": "object",
                    "properties": {
                      "triggers": {
                        "type": "array",
                        "items": {
                          "type": "string",
                          "enum": [
                            "fraud_score",
                            "high_amount",
                            "new_jurisdiction",
                            "liquidity_alert",
                            "sanction_hit",
                            "auth_failure",
                            "system_error",
                            "recall_request"
                          ]
                        }
                      },
                      "escalation_sla_minutes": {
                        "type": "integer",
                        "minimum": 1
                      },
                      "escalation_channel": {
                        "type": "string",
                        "enum": [
                          "queue",
                          "email",
                          "slack",
                          "phone"
                        ]
                      },
                      "sla_breach_action": {
                        "type": "string"
                      }
                    }
                  }
                },
                "required": [
                  "rail_eligibility"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "mandate_id": {
                      "type": "string",
                      "format": "uuid"
                    },
                    "mandate_type": {
                      "type": "string",
                      "const": "payment_policy"
                    },
                    "jurisdiction": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "payload": {
                      "type": "object",
                      "properties": {
                        "rail_eligibility": {
                          "type": "object"
                        },
                        "fraud_velocity_thresholds": {
                          "type": "object"
                        },
                        "liquidity_buffer_triggers": {
                          "type": "object"
                        },
                        "settlement_window_preferences": {
                          "type": "object"
                        },
                        "escalation_conditions": {
                          "type": "object"
                        },
                        "validation_result": {
                          "type": "object",
                          "properties": {
                            "valid": {
                              "type": "boolean"
                            },
                            "error_count": {
                              "type": "integer"
                            },
                            "warning_count": {
                              "type": "integer"
                            },
                            "errors": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              }
                            },
                            "warnings": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              }
                            }
                          }
                        }
                      }
                    },
                    "agent_instructions": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  },
                  "required": [
                    "mandate_id",
                    "mandate_type",
                    "payload",
                    "agent_instructions"
                  ]
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "ap2_rtp_policy_builder",
        "x-tool-url": "https://ainumbers.co/tools/259-ap2-rtp-policy-builder.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/app_fraud_matrix": {
      "post": {
        "operationId": "app_fraud_matrix",
        "summary": "APP Fraud Liability Decision Matrix",
        "description": "Interactive decision tree for A2A fraud liability splits under UK PSR 2026, US Reg E, and EU PSD2. Outputs plain-text claim summary with regulatory rationale. Client-side only, zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/26-app-fraud-matrix.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "jurisdiction": {
                    "type": "string"
                  },
                  "fraud_type": {
                    "type": "string"
                  },
                  "scam_category": {
                    "type": "string"
                  },
                  "is_vulnerable": {
                    "type": "string"
                  },
                  "ignored_warning": {
                    "type": "string"
                  },
                  "claim_amount": {
                    "type": "string"
                  },
                  "claim_timing": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "app_fraud_matrix",
        "x-tool-url": "https://ainumbers.co/tools/26-app-fraud-matrix.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/269_psp_safeguarding_assessment": {
      "post": {
        "operationId": "269_psp_safeguarding_assessment",
        "summary": "PSP Customer Fund Safeguarding Assessment",
        "description": "Assess UK FCA-enhanced safeguarding compliance for payment institutions and e-money institutions. Evaluates method, asset quality, reconciliation, and shortfall obligations. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/269-psp-safeguarding-assessment.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "269_psp_safeguarding_assessment",
        "x-tool-url": "https://ainumbers.co/tools/269-psp-safeguarding-assessment.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/settlement_finality": {
      "post": {
        "operationId": "settlement_finality",
        "summary": "A2A Settlement Finality Comparator",
        "description": "Calculate and compare settlement risk profiles across A2A rails — quantifying reversal windows, finality scores, and credit exposure. Client-side only, zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/27-settlement-finality.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "settlement_finality",
        "x-tool-url": "https://ainumbers.co/tools/27-settlement-finality.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/270_sepa_olo_readiness_checker": {
      "post": {
        "operationId": "270_sepa_olo_readiness_checker",
        "summary": "SEPA One-Leg-Out (OLO) Readiness Checker",
        "description": "Check EU PSP readiness for SEPA One-Leg-Out mandatory requirements: structured address, purpose codes, currency conversion disclosure for non-EEA legs. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/270-sepa-olo-readiness-checker.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "270_sepa_olo_readiness_checker",
        "x-tool-url": "https://ainumbers.co/tools/270-sepa-olo-readiness-checker.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/271_alias_proxy_directory_readiness_assessor": {
      "post": {
        "operationId": "271_alias_proxy_directory_readiness_assessor",
        "summary": "Alias/Proxy Payment Directory Readiness Assessor",
        "description": "Evaluate PSP readiness for alias-based payment routing systems: FedNow alias, UK CoP, UPI, PayID, Zelle. Covers enrollment, lookup, misdirected payment recovery, and GDPR obligations. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/271-alias-proxy-directory-readiness-assessor.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "271_alias_proxy_directory_readiness_assessor",
        "x-tool-url": "https://ainumbers.co/tools/271-alias-proxy-directory-readiness-assessor.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/272_payment_surcharging_compliance_navigator": {
      "post": {
        "operationId": "272_payment_surcharging_compliance_navigator",
        "summary": "Payment Surcharging Compliance Navigator",
        "description": "Cross-jurisdiction payment surcharging rules navigator. Determine where card and A2A surcharging is permitted, banned, or cost-capped across EU, UK, US, Australia. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/272-payment-surcharging-compliance-navigator.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "272_payment_surcharging_compliance_navigator",
        "x-tool-url": "https://ainumbers.co/tools/272-payment-surcharging-compliance-navigator.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/score_fida_open_finance_readiness": {
      "post": {
        "operationId": "score_fida_open_finance_readiness",
        "summary": "EU FIDA / Open Finance Readiness Scorer",
        "description": "Horizon-readiness scorer for the draft EU Financial Data Access Regulation (FIDA): classifies entity and data-category scope under the Commission proposal COM(2023) 360 and Council General Approach (Dec 2024), scores FDSS membership and permission-dashboard readiness, and compares against US CFPB 1033. Draft-law tool — FIDA is not adopted as of 2026-06-06.\n\n**Tool URL:** https://ainumbers.co/tools/273-fida-open-finance-readiness.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "FIDA",
          "open finance",
          "financial data access",
          "FDSS",
          "permission dashboard",
          "open banking",
          "EU",
          "CFPB 1033",
          "data holder",
          "data user"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "entity_type": {
                    "type": "string"
                  },
                  "role": {
                    "type": "string"
                  },
                  "data_categories": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  }
                },
                "required": [
                  "entity_type",
                  "role"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "in_scope": {
                      "type": "boolean"
                    },
                    "scope_reason": {
                      "type": "string"
                    },
                    "readiness_score": {
                      "type": "number"
                    },
                    "rag_status": {
                      "type": "string",
                      "enum": [
                        "GREEN",
                        "AMBER",
                        "RED"
                      ]
                    },
                    "gaps": {
                      "type": "array"
                    },
                    "draft_law": {
                      "type": "boolean"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "score_fida_open_finance_readiness",
        "x-tool-url": "https://ainumbers.co/tools/273-fida-open-finance-readiness.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/lint_mcp_tool_definition": {
      "post": {
        "operationId": "lint_mcp_tool_definition",
        "summary": "MCP Tool-Definition Linter & Annotation Designer",
        "description": "Lints a Model Context Protocol tool definition (name, description, inputSchema, outputSchema, annotations) against JSON Schema 2020-12 and current MCP tool-naming and annotation rules, scores conformance, and designs a consistent annotation set. Reference rules are static and may age — verify against the live MCP specification.\n\n**Tool URL:** https://ainumbers.co/tools/274-mcp-tool-definition-linter.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "MCP",
          "tool definition",
          "JSON Schema 2020-12",
          "annotations",
          "linter",
          "agent tooling"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "tool_definition": {
                    "type": "object",
                    "description": "The MCP tool definition to lint."
                  }
                },
                "required": [
                  "tool_definition"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "score": {
                      "type": "number"
                    },
                    "findings": {
                      "type": "array",
                      "items": {
                        "type": "object"
                      }
                    },
                    "annotations": {
                      "type": "object"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "lint_mcp_tool_definition",
        "x-tool-url": "https://ainumbers.co/tools/274-mcp-tool-definition-linter.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/validate_mcp_server_json": {
      "post": {
        "operationId": "validate_mcp_server_json",
        "summary": "MCP server.json Validator & Registry-Ready Skeleton Generator",
        "description": "Validates an MCP server.json against the 2025-12-11 generic schema and the official MCP Registry publishing constraints (reverse-DNS namespace, _meta 4KB publisher cap, allowlisted registry base URLs, MCPB fileSha256, stdio/streamable-http transport), and generates a compliant skeleton for npm/PyPI/OCI/MCPB/remote servers. Reference rules are static and may age — verify against the live MCP Registry docs.\n\n**Tool URL:** https://ainumbers.co/tools/275-mcp-server-json-validator.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "MCP",
          "server.json",
          "registry",
          "schema validation",
          "publishing",
          "agent tooling"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "server_json": {
                    "type": "object",
                    "description": "The MCP server.json document to validate."
                  }
                },
                "required": [
                  "server_json"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "score": {
                      "type": "number"
                    },
                    "findings": {
                      "type": "array",
                      "items": {
                        "type": "object"
                      }
                    },
                    "skeleton": {
                      "type": "object"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "validate_mcp_server_json",
        "x-tool-url": "https://ainumbers.co/tools/275-mcp-server-json-validator.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/compare_agentic_payment_protocols": {
      "post": {
        "operationId": "compare_agentic_payment_protocols",
        "summary": "Agentic Payments Protocol Comparator & Field Crosswalk",
        "description": "Compares AP2, the Agentic Commerce Protocol (Shared Payment Token), x402, Visa Trusted Agent Protocol, and Mastercard Agent Pay across credential model, signing, scope binding, settlement rail, identity substrate, and audit trail, with a field crosswalk and a scenario-based recommender. Reference data is a static June 2026 snapshot and may age — verify against each protocol's primary spec.\n\n**Tool URL:** https://ainumbers.co/tools/276-agentic-payments-protocol-comparator.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "agentic payments",
          "AP2",
          "ACP",
          "x402",
          "Visa Trusted Agent Protocol",
          "Mastercard Agent Pay",
          "comparator"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "protocols": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "description": "Subset of protocol ids to compare."
                  },
                  "scenario": {
                    "type": "string",
                    "description": "Optional scenario id for a recommendation."
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "matrix": {
                      "type": "array"
                    },
                    "crosswalk": {
                      "type": "array"
                    },
                    "recommendation": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "compare_agentic_payment_protocols",
        "x-tool-url": "https://ainumbers.co/tools/276-agentic-payments-protocol-comparator.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/decode_x402_payment": {
      "post": {
        "operationId": "decode_x402_payment",
        "summary": "x402 Header Decoder, Payload Linter & 402 Flow Simulator",
        "description": "Decodes x402 PAYMENT-REQUIRED / PAYMENT-SIGNATURE / PAYMENT-RESPONSE headers, lints an exact-scheme PaymentPayload, walks the HTTP-402 request/verify/settle flow, and shows the scheme x network support matrix. exact-scheme authorization sub-fields are illustrative (EIP-3009 style) — verify against the x402 spec.\n\n**Tool URL:** https://ainumbers.co/tools/277-x402-payload-decoder-flow-simulator.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "x402",
          "HTTP 402",
          "stablecoin",
          "PaymentPayload",
          "facilitator",
          "agentic payments"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "header_or_payload": {
                    "type": "string",
                    "description": "A base64 x402 header value or a PaymentPayload JSON."
                  }
                },
                "required": [
                  "header_or_payload"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "decoded": {
                      "type": "object"
                    },
                    "findings": {
                      "type": "array"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "decode_x402_payment",
        "x-tool-url": "https://ainumbers.co/tools/277-x402-payload-decoder-flow-simulator.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/audit_mcp_oauth": {
      "post": {
        "operationId": "audit_mcp_oauth",
        "summary": "MCP OAuth 2.1 Authorization Auditor",
        "description": "Validates an MCP protected-resource-metadata (RFC 9728) document, visualizes the OAuth 2.1 discovery chain, checks RFC 8707 resource-indicator / audience binding, and self-assesses token-passthrough and confused-deputy risk. Reference rules are static and may age — verify against the live MCP authorization spec.\n\n**Tool URL:** https://ainumbers.co/tools/278-mcp-oauth-authorization-auditor.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "MCP",
          "OAuth 2.1",
          "RFC 9728",
          "RFC 8707",
          "authorization",
          "confused deputy"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "protected_resource_metadata": {
                    "type": "object",
                    "description": "The /.well-known/oauth-protected-resource JSON."
                  },
                  "canonical_resource": {
                    "type": "string",
                    "description": "Canonical MCP server resource URI."
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "score": {
                      "type": "number"
                    },
                    "findings": {
                      "type": "array"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "audit_mcp_oauth",
        "x-tool-url": "https://ainumbers.co/tools/278-mcp-oauth-authorization-auditor.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/decode_http_message_signature": {
      "post": {
        "operationId": "decode_http_message_signature",
        "summary": "RFC 9421 Signature Decoder & Web Bot Auth Readiness",
        "description": "Decodes and validates RFC 9421 HTTP Message Signatures (Signature-Input / Signature), lints a Web Bot Auth JWKS directory (Ed25519), and scores Web Bot Auth readiness. This is the signature substrate Visa Trusted Agent Protocol builds on. Reference rules are static and may age — verify against RFC 9421 and the Web Bot Auth draft. Does not perform cryptographic signature verification.\n\n**Tool URL:** https://ainumbers.co/tools/279-rfc9421-signature-webbotauth.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "RFC 9421",
          "HTTP Message Signatures",
          "Web Bot Auth",
          "Ed25519",
          "Visa Trusted Agent Protocol",
          "agent identity"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "signature_input": {
                    "type": "string",
                    "description": "The Signature-Input header value."
                  },
                  "signature": {
                    "type": "string",
                    "description": "The Signature header value."
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "parsed": {
                      "type": "object"
                    },
                    "findings": {
                      "type": "array"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "decode_http_message_signature",
        "x-tool-url": "https://ainumbers.co/tools/279-rfc9421-signature-webbotauth.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/score_mcp_spec_revision": {
      "post": {
        "operationId": "score_mcp_spec_revision",
        "summary": "MCP Spec-Revision Compliance Scorer & Stateless Migration Advisor",
        "description": "Scores an MCP server's capability/handshake posture against a target spec revision (2025-06-18, 2025-11-25, or the 2026-07-28 release candidate) and advises on the breaking changes in the stateless protocol core. Reference rules are static and may age — verify against the live MCP specification.\n\n**Tool URL:** https://ainumbers.co/tools/280-mcp-spec-revision-compliance-scorer.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "MCP",
          "spec revision",
          "stateless",
          "migration",
          "compliance",
          "2026-07-28"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "target_revision": {
                    "type": "string",
                    "description": "One of 2025-06-18, 2025-11-25, 2026-07-28-rc"
                  },
                  "answers": {
                    "type": "object",
                    "description": "Capability answers"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "score": {
                      "type": "number"
                    },
                    "findings": {
                      "type": "array"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "score_mcp_spec_revision",
        "x-tool-url": "https://ainumbers.co/tools/280-mcp-spec-revision-compliance-scorer.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/lint_acp_checkout": {
      "post": {
        "operationId": "lint_acp_checkout",
        "summary": "ACP Checkout Validator & Shared Payment Token Scope Linter",
        "description": "Validates an Agentic Commerce Protocol checkout-session object (top-level shape) and lints a Shared Payment Token / delegated payment token for safe scoping: single-use, merchant binding, amount cap, currency, and expiry. ACP field names are illustrative (2026-04-17) — verify against the published ACP JSON schema.\n\n**Tool URL:** https://ainumbers.co/tools/281-acp-checkout-shared-payment-token-linter.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "ACP",
          "Agentic Commerce Protocol",
          "Shared Payment Token",
          "delegated payment",
          "OpenAI",
          "Stripe"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "checkout_session": {
                    "type": "object",
                    "description": "ACP checkout session JSON"
                  },
                  "payment_token": {
                    "type": "object",
                    "description": "Shared / delegated payment token descriptor"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "findings": {
                      "type": "array"
                    },
                    "score": {
                      "type": "number"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "lint_acp_checkout",
        "x-tool-url": "https://ainumbers.co/tools/281-acp-checkout-shared-payment-token-linter.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/scan_tool_poisoning": {
      "post": {
        "operationId": "scan_tool_poisoning",
        "summary": "MCP Tool-Poisoning & Prompt-Injection Manifest Scanner",
        "description": "Scans an MCP tool description or manifest for tool-poisoning and prompt-injection smells — instruction overrides, hidden/zero-width unicode, role-play framing, embedded model-directed instructions, and exfiltration hints. Heuristic pattern matcher mapped to OWASP ASI01 (Agent Goal Hijack); flags are signals, not proof.\n\n**Tool URL:** https://ainumbers.co/tools/282-mcp-tool-poisoning-scanner.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "MCP",
          "tool poisoning",
          "prompt injection",
          "OWASP ASI01",
          "security",
          "manifest"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "text": {
                    "type": "string",
                    "description": "The tool description or manifest text to scan"
                  }
                },
                "required": [
                  "text"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "risk": {
                      "type": "number"
                    },
                    "findings": {
                      "type": "array"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "scan_tool_poisoning",
        "x-tool-url": "https://ainumbers.co/tools/282-mcp-tool-poisoning-scanner.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/validate_a2a_agent_card": {
      "post": {
        "operationId": "validate_a2a_agent_card",
        "summary": "A2A Agent Card Validator & Extension Checker",
        "description": "Validates an Agent2Agent (A2A) agent-card.json against the v1.0 shape, checks the signed-card signatures block, and confirms AP2 / x402 extension declarations. Field names reflect A2A v1.0 — verify against the A2A schema. Does not perform cryptographic signature verification.\n\n**Tool URL:** https://ainumbers.co/tools/283-a2a-agent-card-validator.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "A2A",
          "Agent2Agent",
          "agent card",
          "signed agent card",
          "AP2",
          "capability discovery"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "agent_card": {
                    "type": "object",
                    "description": "The A2A agent-card.json document"
                  }
                },
                "required": [
                  "agent_card"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "score": {
                      "type": "number"
                    },
                    "findings": {
                      "type": "array"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "validate_a2a_agent_card",
        "x-tool-url": "https://ainumbers.co/tools/283-a2a-agent-card-validator.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/audit_mcp_transport": {
      "post": {
        "operationId": "audit_mcp_transport",
        "summary": "MCP Transport & DNS-Rebinding Security Auditor",
        "description": "Audits an MCP server's transport security posture — Origin/Host validation, loopback binding, DNS-rebinding protection, and token passthrough — against the spec requirements and the rmcp / mcp-toolbox CVE classes. Reference rules are static and may age — verify against the live MCP spec.\n\n**Tool URL:** https://ainumbers.co/tools/284-mcp-transport-dns-rebinding-auditor.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "MCP",
          "transport",
          "DNS rebinding",
          "Origin",
          "Streamable HTTP",
          "security"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "bind_address": {
                    "type": "string"
                  },
                  "allowed_origins": {
                    "type": "string"
                  },
                  "answers": {
                    "type": "object"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "score": {
                      "type": "number"
                    },
                    "findings": {
                      "type": "array"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "audit_mcp_transport",
        "x-tool-url": "https://ainumbers.co/tools/284-mcp-transport-dns-rebinding-auditor.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/build_google_ap2_mandate": {
      "post": {
        "operationId": "build_google_ap2_mandate",
        "summary": "Google AP2 Checkout/Payment Mandate (VDC) Builder & Validator",
        "description": "Builds and validates Google Agent Payments Protocol (AP2) Checkout Mandate and Payment Mandate Verifiable Digital Credentials across Open/Closed stages. This targets the EXTERNAL Google/FIDO AP2 spec (ap2-protocol.org), distinct from the AINumbers Policy Mandate export. Field names are illustrative — verify against the AP2 spec.\n\n**Tool URL:** https://ainumbers.co/tools/285-google-ap2-mandate-builder.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "AP2",
          "Agent Payments Protocol",
          "Google",
          "FIDO",
          "Verifiable Digital Credential",
          "mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "mandate_type": {
                    "type": "string",
                    "description": "checkout | payment"
                  },
                  "stage": {
                    "type": "string",
                    "description": "open | closed"
                  },
                  "fields": {
                    "type": "object"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "mandate": {
                      "type": "object"
                    },
                    "findings": {
                      "type": "array"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "build_google_ap2_mandate",
        "x-tool-url": "https://ainumbers.co/tools/285-google-ap2-mandate-builder.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/inspect_visa_tap_signature": {
      "post": {
        "operationId": "inspect_visa_tap_signature",
        "summary": "Visa Trusted Agent Protocol Signature Inspector & Readiness",
        "description": "Inspects Visa Trusted Agent Protocol (TAP) HTTP Message Signatures — the agent-recognition signature and replay protection (timestamp, session id, key id, algorithm) — and scores TAP readiness. Built on RFC 9421 and aligned with Web Bot Auth. TAP-specific labels are illustrative — verify against Visa Developer.\n\n**Tool URL:** https://ainumbers.co/tools/286-visa-trusted-agent-protocol-inspector.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "Visa",
          "Trusted Agent Protocol",
          "RFC 9421",
          "Web Bot Auth",
          "agent recognition",
          "payments"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "signature_input": {
                    "type": "string",
                    "description": "Signature-Input header"
                  },
                  "signature": {
                    "type": "string",
                    "description": "Signature header"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "parsed": {
                      "type": "object"
                    },
                    "findings": {
                      "type": "array"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "inspect_visa_tap_signature",
        "x-tool-url": "https://ainumbers.co/tools/286-visa-trusted-agent-protocol-inspector.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/build_mastercard_agentic_token": {
      "post": {
        "operationId": "build_mastercard_agentic_token",
        "summary": "Mastercard Agent Pay — Agentic Token Scope & Consent-Policy Builder",
        "description": "Builds and lints a Mastercard Agent Pay Agentic Token scope — the agent-ID binding, merchant scope, and consent policy (spend limit, allowed merchants, expiry, velocity) that constrain a tokenised card credential issued to an AI agent. Field names are illustrative (MDES Agentic Token) — verify against Mastercard.\n\n**Tool URL:** https://ainumbers.co/tools/287-mastercard-agentic-token-builder.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "Mastercard",
          "Agent Pay",
          "Agentic Token",
          "MDES",
          "consent policy",
          "payments"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "token_scope": {
                    "type": "object",
                    "description": "Agentic Token scope descriptor"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "token": {
                      "type": "object"
                    },
                    "findings": {
                      "type": "array"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "build_mastercard_agentic_token",
        "x-tool-url": "https://ainumbers.co/tools/287-mastercard-agentic-token-builder.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/score_mcp_readiness": {
      "post": {
        "operationId": "score_mcp_readiness",
        "summary": "MCP Developer Readiness Scorecard",
        "description": "A composite ship-readiness scorecard for an MCP server across six sections — tool-definition quality, server.json registry-readiness, OAuth 2.1 authorization, transport security, tool-poisoning hygiene, and spec-revision compliance. Reference rules are static and may age — verify against the live MCP spec and the linked per-section tools.\n\n**Tool URL:** https://ainumbers.co/tools/288-mcp-developer-readiness-scorecard.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "MCP",
          "readiness",
          "scorecard",
          "compliance",
          "security",
          "server"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "answers": {
                    "type": "object"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "overall": {
                      "type": "number"
                    },
                    "sections": {
                      "type": "array"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "score_mcp_readiness",
        "x-tool-url": "https://ainumbers.co/tools/288-mcp-developer-readiness-scorecard.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/simulate_vop_match_outcome": {
      "post": {
        "operationId": "simulate_vop_match_outcome",
        "summary": "Verification of Payee (VoP) Readiness & Match-Outcome Simulator",
        "description": "Deterministic VoP name-matching simulator returning the four EPC outcomes (Match / Close Match / No Match / Verification Not Possible) with tunable thresholds, deterministic normalisation (diacritics, legal-form suffixes, token order) and Levenshtein scoring, plus a PSP readiness scorer against the EPC VoP Scheme Rulebook (in force 2025-10-05) and Instant Payments Regulation (EU) 2024/886. Matching algorithm is illustrative — the Rulebook leaves algorithm choice to each responding PSP.\n\n**Tool URL:** https://ainumbers.co/tools/289-verification-of-payee-simulator.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "VoP",
          "verification of payee",
          "SCT Inst",
          "instant payments",
          "IPR",
          "EPC",
          "name matching",
          "close match",
          "IBAN",
          "SEPA",
          "APP fraud"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "payee_name": {
                    "type": "string"
                  },
                  "registered_name": {
                    "type": "string"
                  },
                  "iban": {
                    "type": "string"
                  },
                  "entity_type": {
                    "type": "string"
                  },
                  "match_threshold": {
                    "type": "number"
                  },
                  "close_threshold": {
                    "type": "number"
                  }
                },
                "required": [
                  "payee_name",
                  "registered_name"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "outcome": {
                      "type": "string",
                      "enum": [
                        "MATCH",
                        "CLOSE MATCH",
                        "NO MATCH",
                        "VERIFICATION NOT POSSIBLE"
                      ]
                    },
                    "similarity": {
                      "type": "number"
                    },
                    "readiness_score": {
                      "type": "number"
                    },
                    "rag_status": {
                      "type": "string",
                      "enum": [
                        "GREEN",
                        "AMBER",
                        "RED"
                      ]
                    },
                    "gaps": {
                      "type": "array"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "simulate_vop_match_outcome",
        "x-tool-url": "https://ainumbers.co/tools/289-verification-of-payee-simulator.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/policy_register": {
      "post": {
        "operationId": "policy_register",
        "summary": "Policy Mandate Register",
        "description": "Portfolio viewer for AINumbers Policy Mandate JSON files. Register table with expiry tracking, 30/90-day roll-ups, coverage matrix (mandate_type x jurisdiction), and duplicate detection via SHA-256 payload hash.\n\n**Tool URL:** https://ainumbers.co/tools/290-policy-register.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "mandate",
          "policy",
          "register",
          "portfolio",
          "expiry",
          "compliance",
          "ap2",
          "audit"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "mandates": {
                    "type": "array",
                    "description": "Array of Policy Mandate objects"
                  },
                  "as_of_date": {
                    "type": "string",
                    "description": "ISO date string (YYYY-MM-DD) to compute days-to-expiry against"
                  }
                },
                "required": [
                  "mandates"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "Tool execution result payload"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "policy_register",
        "x-tool-url": "https://ainumbers.co/tools/290-policy-register.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/mandate_diff": {
      "post": {
        "operationId": "mandate_diff",
        "summary": "Mandate Diff",
        "description": "Schema-aware diff between two AINumbers Policy Mandate JSON files: top-level field changes, payload deep-diff, agent_instructions deltas, and stage-level diff for composite mandates.\n\n**Tool URL:** https://ainumbers.co/tools/291-mandate-diff.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "mandate",
          "diff",
          "compare",
          "audit",
          "ap2",
          "policy",
          "lifecycle"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "mandate_a": {
                    "type": "object",
                    "description": "First (older) mandate"
                  },
                  "mandate_b": {
                    "type": "object",
                    "description": "Second (newer) mandate"
                  }
                },
                "required": [
                  "mandate_a",
                  "mandate_b"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "Tool execution result payload"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "mandate_diff",
        "x-tool-url": "https://ainumbers.co/tools/291-mandate-diff.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/dora_ict_risk_gap_analyser": {
      "post": {
        "operationId": "dora_ict_risk_gap_analyser",
        "summary": "DORA ICT Risk Management Gap Analyser",
        "description": "Five-pillar DORA ICT risk maturity assessment. Composite score /100, pillar heatmap, remediation priority table, Policy Mandate JSON and Markdown export. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/300-dora-ict-risk-gap-analyser.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "compositeScore": {
                      "type": "number"
                    },
                    "pillarScores": {
                      "type": "object"
                    },
                    "gapsByPillar": {
                      "type": "array"
                    },
                    "mandateJson": {
                      "type": "object"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "dora_ict_risk_gap_analyser",
        "x-tool-url": "https://ainumbers.co/tools/300-dora-ict-risk-gap-analyser.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/dora_roi_structure_builder": {
      "post": {
        "operationId": "dora_roi_structure_builder",
        "summary": "DORA Register of Information Structure Builder",
        "description": "Build and validate your DORA Register of Information. 24 ESA data quality checks, CIF T1/T2/T3 classification, xBRL-CSV structure export (Markdown), Policy Mandate JSON. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/301-dora-roi-structure-builder.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "entities": {
                      "type": "array"
                    },
                    "criticalFunctions": {
                      "type": "array"
                    },
                    "rtoMatrix": {
                      "type": "object"
                    },
                    "mandateJson": {
                      "type": "object"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "dora_roi_structure_builder",
        "x-tool-url": "https://ainumbers.co/tools/301-dora-roi-structure-builder.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/dora_cif_identifier": {
      "post": {
        "operationId": "dora_cif_identifier",
        "summary": "DORA CIF Function Identifier & Classifier",
        "description": "Classify ICT functions into DORA CIF tiers T1/T2/T3. RTO assessment for critical functions, TLPT scope flagging, Policy Mandate JSON. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/302-dora-cif-identifier.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "criticalFunctions": {
                      "type": "array"
                    },
                    "classification": {
                      "type": "string"
                    },
                    "reportingObligation": {
                      "type": "boolean"
                    },
                    "mandateJson": {
                      "type": "object"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "dora_cif_identifier",
        "x-tool-url": "https://ainumbers.co/tools/302-dora-cif-identifier.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/dora_incident_classification_engine": {
      "post": {
        "operationId": "dora_incident_classification_engine",
        "summary": "DORA Incident Classification & Reporting Timeline Engine",
        "description": "Classify ICT incidents against all 7 RTS 2024/1772 criteria. Live 4h/72h/1-month countdown. ITS 2025/302 Annex I notification draft. Policy Mandate JSON. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/303-dora-incident-classification-engine.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "classification": {
                      "type": "string"
                    },
                    "severity": {
                      "type": "string"
                    },
                    "reportingDeadlines": {
                      "type": "object"
                    },
                    "mandateJson": {
                      "type": "object"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "dora_incident_classification_engine",
        "x-tool-url": "https://ainumbers.co/tools/303-dora-incident-classification-engine.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/dora_resilience_testing_designer": {
      "post": {
        "operationId": "dora_resilience_testing_designer",
        "summary": "DORA Resilience Testing Programme Designer",
        "description": "Design a 3-tier DORA ICT resilience testing programme — basic, advanced, and TLPT/TIBER-EU. Entity classification, testing scope, 3-year schedule, and policy mandate export. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/304-dora-resilience-testing-designer.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "testingSchedule": {
                      "type": "array"
                    },
                    "tlptRequired": {
                      "type": "boolean"
                    },
                    "nextDeadlines": {
                      "type": "object"
                    },
                    "mandateJson": {
                      "type": "object"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "dora_resilience_testing_designer",
        "x-tool-url": "https://ainumbers.co/tools/304-dora-resilience-testing-designer.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/dora_third_party_contract_checker": {
      "post": {
        "operationId": "dora_third_party_contract_checker",
        "summary": "ICT Third-Party Contract Clause Checker",
        "description": "Validate ICT service agreements against DORA Art. 30 mandatory requirements. Missing clause list, model clause stubs, Policy Mandate JSON. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/305-dora-third-party-contract-checker.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "complianceScore": {
                      "type": "number"
                    },
                    "missingClauses": {
                      "type": "array"
                    },
                    "mandatoryAdditions": {
                      "type": "array"
                    },
                    "mandateJson": {
                      "type": "object"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "dora_third_party_contract_checker",
        "x-tool-url": "https://ainumbers.co/tools/305-dora-third-party-contract-checker.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/dora_ict_concentration_risk_modeller": {
      "post": {
        "operationId": "dora_ict_concentration_risk_modeller",
        "summary": "ICT Concentration Risk Modeller",
        "description": "Model ICT concentration risk. HHI index, SPOF flags, 19 CTPP providers, diversification recommendations, Policy Mandate JSON. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/306-dora-ict-concentration-risk-modeller.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "concentrationScore": {
                      "type": "number"
                    },
                    "topProviders": {
                      "type": "array"
                    },
                    "herfindahlIndex": {
                      "type": "number"
                    },
                    "mandateJson": {
                      "type": "object"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "dora_ict_concentration_risk_modeller",
        "x-tool-url": "https://ainumbers.co/tools/306-dora-ict-concentration-risk-modeller.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/dora_proportionality_assessment": {
      "post": {
        "operationId": "dora_proportionality_assessment",
        "summary": "DORA Proportionality Assessment",
        "description": "Classify your entity under DORA Article 3/4 proportionality criteria — full, simplified, or micro regime. Quantitative thresholds, qualitative factors, and obligation mapping. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/307-dora-proportionality-assessment.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "proportionalityClass": {
                      "type": "string"
                    },
                    "applicableRequirements": {
                      "type": "array"
                    },
                    "simplifiedRegime": {
                      "type": "boolean"
                    },
                    "mandateJson": {
                      "type": "object"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "dora_proportionality_assessment",
        "x-tool-url": "https://ainumbers.co/tools/307-dora-proportionality-assessment.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/dora_nca_submission_tracker": {
      "post": {
        "operationId": "dora_nca_submission_tracker",
        "summary": "DORA NCA Submission Tracker",
        "description": "Track all DORA NCA submission deadlines — incident reports (4h, 72h, 1-month), ICT register, testing schedules, and annual reviews. Auto-calculates dates from reference inputs. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/308-dora-nca-submission-tracker.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "submissionDeadlines": {
                      "type": "array"
                    },
                    "overdueItems": {
                      "type": "array"
                    },
                    "nextAction": {
                      "type": "string"
                    },
                    "mandateJson": {
                      "type": "object"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "dora_nca_submission_tracker",
        "x-tool-url": "https://ainumbers.co/tools/308-dora-nca-submission-tracker.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/nis2_dora_overlap_mapper": {
      "post": {
        "operationId": "nis2_dora_overlap_mapper",
        "summary": "NIS2 / DORA Overlap & Dual-Compliance Mapper",
        "description": "Map compliance overlap between DORA and NIS2. 14-control dual-compliance matrix. AI Act overlap flag. Policy Mandate JSON. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/309-nis2-dora-overlap-mapper.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "doraDuties": {
                      "type": "array"
                    },
                    "nis2Duties": {
                      "type": "array"
                    },
                    "overlapItems": {
                      "type": "array"
                    },
                    "mandateJson": {
                      "type": "object"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "nis2_dora_overlap_mapper",
        "x-tool-url": "https://ainumbers.co/tools/309-nis2-dora-overlap-mapper.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/ap2_dora_policy_mandate_builder": {
      "post": {
        "operationId": "ap2_dora_policy_mandate_builder",
        "summary": "AP2 DORA Policy Mandate Builder",
        "description": "Configure and export a validated Policy Mandate JSON DORA policy mandate covering all 5 pillars. ICT risk appetite, incident triggers, TLPT schedule, NCA calendar. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/310-ap2-dora-policy-mandate-builder.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "policyMandate": {
                      "type": "object"
                    },
                    "rtoRpoMatrix": {
                      "type": "object"
                    },
                    "escalationMatrix": {
                      "type": "object"
                    },
                    "mandateJson": {
                      "type": "object"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "ap2_dora_policy_mandate_builder",
        "x-tool-url": "https://ainumbers.co/tools/310-ap2-dora-policy-mandate-builder.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/generate_gdpr_dsr_workflow": {
      "post": {
        "operationId": "generate_gdpr_dsr_workflow",
        "summary": "GDPR / UK GDPR Data Subject Rights Workflow Generator",
        "description": "Generate jurisdiction-specific DSR response workflows for all seven GDPR/UK GDPR rights (Art. 15-22) plus CCPA equivalents. Outputs compliance clock, identity verification requirements, exemption analysis, response letter templates, and AP2 JSON mandate.\n\n**Tool URL:** https://ainumbers.co/tools/311-gdpr-dsr-workflow-generator.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "GDPR",
          "UK GDPR",
          "CCPA",
          "DSR",
          "data-subject-rights",
          "compliance",
          "zero-PII",
          "export",
          "AP2"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "jurisdiction",
                  "request_type",
                  "data_category",
                  "requestor_type",
                  "org_type"
                ],
                "properties": {
                  "jurisdiction": {
                    "type": "string",
                    "enum": [
                      "eu-gdpr",
                      "uk-gdpr",
                      "both",
                      "ccpa"
                    ],
                    "description": "Applicable legal jurisdiction"
                  },
                  "request_type": {
                    "type": "string",
                    "enum": [
                      "access",
                      "erasure",
                      "portability",
                      "rectification",
                      "objection",
                      "restriction",
                      "automated"
                    ]
                  },
                  "data_category": {
                    "type": "string",
                    "enum": [
                      "payment",
                      "transaction",
                      "biometric",
                      "special",
                      "standard"
                    ]
                  },
                  "requestor_type": {
                    "type": "string",
                    "enum": [
                      "consumer",
                      "employee",
                      "representative"
                    ]
                  },
                  "org_type": {
                    "type": "string",
                    "enum": [
                      "controller",
                      "processor",
                      "joint"
                    ]
                  },
                  "request_date": {
                    "type": "string",
                    "format": "date"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "http://json-schema.org/draft-07/schema#",
                  "type": "object",
                  "required": [
                    "jurisdiction",
                    "request_type",
                    "primary_deadline_days",
                    "workflow_steps",
                    "identity_verification",
                    "exemptions"
                  ],
                  "properties": {
                    "jurisdiction": {
                      "type": "string"
                    },
                    "request_type": {
                      "type": "string"
                    },
                    "primary_deadline_days": {
                      "type": "integer"
                    },
                    "extension_deadline_days": {
                      "type": "integer"
                    },
                    "primary_response_date": {
                      "type": "string"
                    },
                    "workflow_steps": {
                      "type": "array",
                      "items": {
                        "type": "object"
                      }
                    },
                    "identity_verification": {
                      "type": "object"
                    },
                    "exemptions": {
                      "type": "array",
                      "items": {
                        "type": "object"
                      }
                    },
                    "org_type_notes": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "generate_gdpr_dsr_workflow",
        "x-tool-url": "https://ainumbers.co/tools/311-gdpr-dsr-workflow-generator.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/score_bcbs239_model_risk": {
      "post": {
        "operationId": "score_bcbs239_model_risk",
        "summary": "BCBS 239 / SR 11-7 Model Risk & Data Governance Readiness Scorer",
        "description": "Score institutional readiness against BCBS 239 (14 principles for risk data aggregation and reporting) and US Federal Reserve SR 11-7 / OCC 2011-12 (Model Risk Management, superseded 2026-04-17 by SR 26-2). Full 47-question or quick 14-question mode. Outputs RAG scorecard, gap table, remediation roadmap, and board Risk Committee pack.\n\n**Tool URL:** https://ainumbers.co/tools/312-bcbs239-model-risk-readiness-scorer.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "BCBS-239",
          "SR-11-7",
          "SR-26-2",
          "model-risk",
          "data-governance",
          "risk-reporting",
          "compliance",
          "zero-PII",
          "AP2"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "institution_type",
                  "framework",
                  "assessment_mode",
                  "maturity"
                ],
                "properties": {
                  "institution_type": {
                    "type": "string",
                    "enum": [
                      "gsib",
                      "dsib",
                      "bank",
                      "mid-bank",
                      "fintech",
                      "credit-union",
                      "other"
                    ]
                  },
                  "framework": {
                    "type": "string",
                    "enum": [
                      "bcbs239-only",
                      "sr117-only",
                      "both"
                    ]
                  },
                  "assessment_mode": {
                    "type": "string",
                    "enum": [
                      "quick",
                      "full"
                    ]
                  },
                  "maturity": {
                    "type": "string",
                    "enum": [
                      "initial",
                      "developing",
                      "defined",
                      "managed",
                      "optimised"
                    ]
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "http://json-schema.org/draft-07/schema#",
                  "type": "object",
                  "required": [
                    "total_score",
                    "total_max",
                    "score_pct",
                    "overall_rag",
                    "domain_scores",
                    "open_gaps"
                  ],
                  "properties": {
                    "total_score": {
                      "type": "integer"
                    },
                    "total_max": {
                      "type": "integer"
                    },
                    "score_pct": {
                      "type": "integer"
                    },
                    "overall_rag": {
                      "type": "string",
                      "enum": [
                        "green",
                        "amber",
                        "red"
                      ]
                    },
                    "domain_scores": {
                      "type": "object"
                    },
                    "principle_scores": {
                      "type": "object"
                    },
                    "open_gaps": {
                      "type": "integer"
                    },
                    "red_count": {
                      "type": "integer"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "score_bcbs239_model_risk",
        "x-tool-url": "https://ainumbers.co/tools/312-bcbs239-model-risk-readiness-scorer.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/check_mifid2_reporting_readiness": {
      "post": {
        "operationId": "check_mifid2_reporting_readiness",
        "summary": "MiFID II / MiFIR Transaction Reporting Readiness Checker",
        "description": "Assess readiness for MiFID II Article 26 / MiFIR transaction reporting across 65 mandatory RTS 22 fields. Outputs field-category RAG scorecard, ESMA validation rule assessment, ARM connectivity checklist, LEI population audit, T+1 deadline reference, and remediation memo.\n\n**Tool URL:** https://ainumbers.co/tools/313-mifid2-transaction-reporting-checker.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "MiFID-II",
          "MiFIR",
          "RTS-22",
          "ESMA",
          "transaction-reporting",
          "ARM",
          "LEI",
          "compliance",
          "zero-PII"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "jurisdiction",
                  "entity_type",
                  "reporting_channel"
                ],
                "properties": {
                  "jurisdiction": {
                    "type": "string",
                    "enum": [
                      "eu",
                      "uk",
                      "both"
                    ]
                  },
                  "entity_type": {
                    "type": "string",
                    "enum": [
                      "investment-firm",
                      "systematic-internaliser",
                      "market-operator",
                      "credit-institution",
                      "non-eu-branch"
                    ]
                  },
                  "instrument_scope": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "reporting_channel": {
                    "type": "string",
                    "enum": [
                      "arm",
                      "direct-nca",
                      "trading-venue",
                      "mixed"
                    ]
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "http://json-schema.org/draft-07/schema#",
                  "type": "object",
                  "required": [
                    "total_score",
                    "overall_rag",
                    "category_scores"
                  ],
                  "properties": {
                    "total_score": {
                      "type": "integer"
                    },
                    "overall_rag": {
                      "type": "string",
                      "enum": [
                        "green",
                        "amber",
                        "red"
                      ]
                    },
                    "category_scores": {
                      "type": "object"
                    },
                    "esma_validation_results": {
                      "type": "array"
                    },
                    "lei_population_score": {
                      "type": "integer"
                    },
                    "remediation_gaps": {
                      "type": "array"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "check_mifid2_reporting_readiness",
        "x-tool-url": "https://ainumbers.co/tools/313-mifid2-transaction-reporting-checker.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/assess_operational_resilience": {
      "post": {
        "operationId": "assess_operational_resilience",
        "summary": "Operational Resilience Self-Assessment Tool",
        "description": "Map Important Business Services, set impact tolerances, and score programme maturity against FCA PS21/3 (testing phase active March 2025), PRA SS1/21, and FFIEC BCP. Dynamic IBS register, scenario testing agenda, DORA cross-reference, and AP2 JSON export.\n\n**Tool URL:** https://ainumbers.co/tools/314-operational-resilience-self-assessment.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "FCA-PS21-3",
          "PRA-SS1-21",
          "FFIEC-BCP",
          "operational-resilience",
          "IBS",
          "impact-tolerances",
          "compliance",
          "zero-PII",
          "AP2"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "jurisdiction",
                  "org_type",
                  "phase",
                  "ibs_documented"
                ],
                "properties": {
                  "jurisdiction": {
                    "type": "string",
                    "enum": [
                      "fca",
                      "pra",
                      "ffiec",
                      "all"
                    ]
                  },
                  "org_type": {
                    "type": "string",
                    "enum": [
                      "bank",
                      "building-society",
                      "payment",
                      "investment",
                      "insurer",
                      "ccp",
                      "other"
                    ]
                  },
                  "phase": {
                    "type": "string",
                    "enum": [
                      "identification",
                      "testing",
                      "embedding"
                    ]
                  },
                  "ibs_documented": {
                    "type": "string",
                    "enum": [
                      "yes",
                      "partial",
                      "no"
                    ]
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "http://json-schema.org/draft-07/schema#",
                  "type": "object",
                  "required": [
                    "total_score",
                    "overall_rag",
                    "ibs_count",
                    "open_gaps"
                  ],
                  "properties": {
                    "total_score": {
                      "type": "integer"
                    },
                    "overall_rag": {
                      "type": "string",
                      "enum": [
                        "green",
                        "amber",
                        "red"
                      ]
                    },
                    "ibs_count": {
                      "type": "integer"
                    },
                    "dimension_scores": {
                      "type": "object"
                    },
                    "open_gaps": {
                      "type": "integer"
                    },
                    "scenario_testing_agenda": {
                      "type": "array"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "assess_operational_resilience",
        "x-tool-url": "https://ainumbers.co/tools/314-operational-resilience-self-assessment.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/score_consumer_duty_outcomes": {
      "post": {
        "operationId": "score_consumer_duty_outcomes",
        "summary": "FCA Consumer Duty Outcome Testing Dashboard",
        "description": "Score product and service outcomes against the four FCA Consumer Duty outcome areas (PS22/9, PRIN 2A.3-2A.6). Generates RAG scorecard, 13-KPI MI monitoring framework, evidencing requirements checklist, remediation table, and board annual assessment template.\n\n**Tool URL:** https://ainumbers.co/tools/315-fca-consumer-duty-outcome-dashboard.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "FCA-Consumer-Duty",
          "PS22/9",
          "PRIN-2A",
          "four-outcomes",
          "compliance",
          "board-reporting",
          "zero-PII",
          "AP2"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "firm_type",
                  "product_category",
                  "customer_segment",
                  "monitoring_level"
                ],
                "properties": {
                  "firm_type": {
                    "type": "string",
                    "enum": [
                      "manufacturer",
                      "distributor",
                      "both"
                    ]
                  },
                  "product_category": {
                    "type": "string",
                    "enum": [
                      "payments",
                      "savings",
                      "lending",
                      "insurance",
                      "investments",
                      "mortgages",
                      "pensions",
                      "other"
                    ]
                  },
                  "customer_segment": {
                    "type": "string",
                    "enum": [
                      "mass-market",
                      "vulnerable",
                      "young",
                      "sme",
                      "affluent",
                      "mixed"
                    ]
                  },
                  "monitoring_level": {
                    "type": "string",
                    "enum": [
                      "none",
                      "basic",
                      "developing",
                      "established",
                      "advanced"
                    ]
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "http://json-schema.org/draft-07/schema#",
                  "type": "object",
                  "required": [
                    "total_score",
                    "total_max",
                    "overall_rag",
                    "board_sign_off_ready",
                    "outcome_scores"
                  ],
                  "properties": {
                    "total_score": {
                      "type": "integer"
                    },
                    "total_max": {
                      "type": "integer"
                    },
                    "overall_rag": {
                      "type": "string",
                      "enum": [
                        "green",
                        "amber",
                        "red"
                      ]
                    },
                    "board_sign_off_ready": {
                      "type": "boolean"
                    },
                    "outcome_scores": {
                      "type": "object"
                    },
                    "open_gaps": {
                      "type": "integer"
                    },
                    "red_outcomes": {
                      "type": "integer"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "score_consumer_duty_outcomes",
        "x-tool-url": "https://ainumbers.co/tools/315-fca-consumer-duty-outcome-dashboard.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/check_sanctions_programme_health": {
      "post": {
        "operationId": "check_sanctions_programme_health",
        "summary": "Institutional Sanctions Programme Health Checker",
        "description": "Assess the governance and effectiveness of an institutional sanctions compliance programme against OFAC's Five Essential Components Framework (2019), UK OFSI General Guidance (2024), and EU Article 8 due diligence. Outputs programme health score 0-100, gap analysis, screening coverage audit, regime-specific guidance, and VSD readiness checklist.\n\n**Tool URL:** https://ainumbers.co/tools/316-sanctions-programme-health-checker.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "OFAC",
          "OFSI",
          "EU-sanctions",
          "sanctions-programme",
          "compliance",
          "VSD",
          "zero-PII",
          "AP2"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "institution_type",
                  "regime",
                  "programme_maturity",
                  "screening_coverage"
                ],
                "properties": {
                  "institution_type": {
                    "type": "string",
                    "enum": [
                      "bank",
                      "payment",
                      "msb",
                      "fintech",
                      "investment",
                      "insurance",
                      "other"
                    ]
                  },
                  "regime": {
                    "type": "string",
                    "enum": [
                      "ofac-only",
                      "ofsi-only",
                      "eu-only",
                      "ofac-ofsi",
                      "ofac-eu",
                      "ofsi-eu",
                      "all"
                    ]
                  },
                  "programme_maturity": {
                    "type": "string",
                    "enum": [
                      "initial",
                      "developing",
                      "defined",
                      "managed",
                      "optimised"
                    ]
                  },
                  "screening_coverage": {
                    "type": "string",
                    "enum": [
                      "none",
                      "onboard-only",
                      "customers",
                      "customers-tx",
                      "full"
                    ]
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "http://json-schema.org/draft-07/schema#",
                  "type": "object",
                  "required": [
                    "total_score",
                    "overall_rag",
                    "component_scores",
                    "open_gaps"
                  ],
                  "properties": {
                    "total_score": {
                      "type": "integer"
                    },
                    "overall_rag": {
                      "type": "string",
                      "enum": [
                        "green",
                        "amber",
                        "red"
                      ]
                    },
                    "component_scores": {
                      "type": "object"
                    },
                    "open_gaps": {
                      "type": "integer"
                    },
                    "regime_guidance": {
                      "type": "array"
                    },
                    "screening_assessment": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "check_sanctions_programme_health",
        "x-tool-url": "https://ainumbers.co/tools/316-sanctions-programme-health-checker.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/validate_lei_lifecycle": {
      "post": {
        "operationId": "validate_lei_lifecycle",
        "summary": "LEI Lifecycle & GLEIF Validation Tool",
        "description": "Validate Legal Entity Identifiers against ISO 17442 check digit (MOD 97-10). Detect ISSUED, LAPSED, RETIRED, FORMAT ERROR status. Batch validate up to 100 LEIs. Map LEI to ISO 20022 CBPR+, MiFID II RTS 22, EMIR, and SFTR field population requirements.\n\n**Tool URL:** https://ainumbers.co/tools/317-lei-lifecycle-gleif-validator.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "LEI",
          "ISO-17442",
          "GLEIF",
          "MOD-97-10",
          "ISO-20022",
          "CBPR+",
          "MiFID-II",
          "EMIR",
          "zero-PII"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "mode"
                ],
                "properties": {
                  "mode": {
                    "type": "string",
                    "enum": [
                      "single",
                      "batch",
                      "mapper"
                    ]
                  },
                  "lei": {
                    "type": "string",
                    "pattern": "^[A-Z0-9]{20}$"
                  },
                  "lei_list": {
                    "type": "array",
                    "maxItems": 100,
                    "items": {
                      "type": "string"
                    }
                  },
                  "use_case": {
                    "type": "string",
                    "enum": [
                      "cbpr-pacs008",
                      "cbpr-pain001",
                      "cbpr-camt056",
                      "mifid-rts22",
                      "emir-tr",
                      "sftr"
                    ]
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "http://json-schema.org/draft-07/schema#",
                  "type": "object",
                  "required": [
                    "mode",
                    "results"
                  ],
                  "properties": {
                    "mode": {
                      "type": "string"
                    },
                    "results": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "lei": {
                            "type": "string"
                          },
                          "status": {
                            "type": "string",
                            "enum": [
                              "ISSUED",
                              "LAPSED",
                              "RETIRED",
                              "FORMAT_ERROR",
                              "PENDING_TRANSFER"
                            ]
                          },
                          "check_valid": {
                            "type": "boolean"
                          },
                          "lou": {
                            "type": "string"
                          },
                          "check_digits": {
                            "type": "string"
                          },
                          "notes": {
                            "type": "string"
                          }
                        }
                      }
                    },
                    "field_map": {
                      "type": "array",
                      "description": "Field population guide (mapper mode only)"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "validate_lei_lifecycle",
        "x-tool-url": "https://ainumbers.co/tools/317-lei-lifecycle-gleif-validator.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/assess_regulatory_change_impact": {
      "post": {
        "operationId": "assess_regulatory_change_impact",
        "summary": "Regulatory Change Impact Assessor",
        "description": "Generate a prioritised regulatory change calendar and impact assessment for the 2025-2027 horizon, customised by institution type, jurisdiction, and product scope. Embedded static database of 22 upcoming regulatory changes. Outputs effort/impact matrix, 12-month roadmap, and tool cross-reference map.\n\n**Tool URL:** https://ainumbers.co/tools/318-regulatory-change-impact-assessor.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "regulatory-change",
          "horizon-scanning",
          "compliance-calendar",
          "2025-2027",
          "impact-assessment",
          "zero-PII",
          "AP2"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "institution_type",
                  "jurisdiction",
                  "maturity"
                ],
                "properties": {
                  "institution_type": {
                    "type": "string",
                    "enum": [
                      "bank",
                      "payment",
                      "msb",
                      "fintech",
                      "investment",
                      "insurance",
                      "crypto",
                      "other"
                    ]
                  },
                  "jurisdiction": {
                    "type": "string",
                    "enum": [
                      "uk",
                      "eu",
                      "us",
                      "uk-eu",
                      "uk-us",
                      "eu-us",
                      "all"
                    ]
                  },
                  "maturity": {
                    "type": "string",
                    "enum": [
                      "initial",
                      "developing",
                      "defined",
                      "managed",
                      "optimised"
                    ]
                  },
                  "products": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "http://json-schema.org/draft-07/schema#",
                  "type": "object",
                  "required": [
                    "changes_identified",
                    "in_force_count",
                    "high_risk_count",
                    "change_register"
                  ],
                  "properties": {
                    "changes_identified": {
                      "type": "integer"
                    },
                    "in_force_count": {
                      "type": "integer"
                    },
                    "upcoming_count": {
                      "type": "integer"
                    },
                    "horizon_count": {
                      "type": "integer"
                    },
                    "high_risk_count": {
                      "type": "integer"
                    },
                    "critical_effort_count": {
                      "type": "integer"
                    },
                    "change_register": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "name": {
                            "type": "string"
                          },
                          "status": {
                            "type": "string"
                          },
                          "deadline": {
                            "type": "string"
                          },
                          "effort": {
                            "type": "string"
                          },
                          "regulatory_risk": {
                            "type": "string"
                          },
                          "tool_link": {
                            "type": "string"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "assess_regulatory_change_impact",
        "x-tool-url": "https://ainumbers.co/tools/318-regulatory-change-impact-assessor.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/decode_iso20022_rejection_codes": {
      "post": {
        "operationId": "decode_iso20022_rejection_codes",
        "summary": "ISO 20022 Status & Rejection Decoder",
        "description": "Decode ISO 20022 pacs.002/008/009 TxSts and StsRsnInf rejection codes to plain English with severity classification, remediation guidance, and CBPR+ Nov 2026 structured address risk flags. Batch mode for up to 20 messages.\n\n**Tool URL:** https://ainumbers.co/tools/319-iso20022-status-rejection-decoder.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "ISO20022",
          "pacs002",
          "rejection",
          "decoder",
          "CBPR+",
          "status",
          "remediation",
          "export"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "rejection_codes"
                ],
                "properties": {
                  "rejection_codes": {
                    "type": "array",
                    "maxItems": 20,
                    "items": {
                      "type": "object"
                    }
                  },
                  "message_type": {
                    "type": "string",
                    "enum": [
                      "pacs.002",
                      "pacs.008",
                      "pacs.009"
                    ]
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "decoded": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "code": {
                            "type": "string"
                          },
                          "plain_english": {
                            "type": "string"
                          },
                          "severity": {
                            "type": "string"
                          },
                          "remediation": {
                            "type": "string"
                          },
                          "cbpr_risk": {
                            "type": "string"
                          }
                        }
                      }
                    },
                    "summary": {
                      "type": "object"
                    },
                    "export_md": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "decode_iso20022_rejection_codes",
        "x-tool-url": "https://ainumbers.co/tools/319-iso20022-status-rejection-decoder.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/validate_ap2_mcp_policy": {
      "post": {
        "operationId": "validate_ap2_mcp_policy",
        "summary": "AP2 MCP Policy Validator & Bridge",
        "description": "Validate Policy Mandate JSON payloads against the Unified Build Contract v1.0 schema, auto-generate MCP tool definitions, and simulate agent ingestion of agent_instructions.\n\n**Tool URL:** https://ainumbers.co/tools/320-ap2-mcp-policy-validator.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "AP2",
          "MCP",
          "policy",
          "validator",
          "JSON",
          "schema",
          "agentic",
          "export"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "policy_mandate_json"
                ],
                "properties": {
                  "policy_mandate_json": {
                    "type": "string"
                  },
                  "validate_against": {
                    "type": "string"
                  },
                  "generate_mcp_definition": {
                    "type": "boolean"
                  },
                  "simulate_agent_ingestion": {
                    "type": "boolean"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "valid": {
                      "type": "boolean"
                    },
                    "schema_errors": {
                      "type": "array"
                    },
                    "mcp_tool_definition": {
                      "type": "object"
                    },
                    "agent_ingestion_simulation": {
                      "type": "object"
                    },
                    "export_json": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "validate_ap2_mcp_policy",
        "x-tool-url": "https://ainumbers.co/tools/320-ap2-mcp-policy-validator.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/score_synthetic_identity_fraud_risk": {
      "post": {
        "operationId": "score_synthetic_identity_fraud_risk",
        "summary": "Synthetic Identity Fraud Risk Scorer",
        "description": "Pre-application synthetic identity risk scoring across 7 structural identity attributes (SSN age consistency, credit file age, address tenure, account velocity, phone age, device anomaly). Returns composite score, risk tier, signal breakdown, and CIP enhancement steps. FRB SR 2022 · FinCEN FIN-2021-A003. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/321-synthetic-identity-fraud-scorer.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "synthetic-identity",
          "fraud",
          "risk-scoring",
          "CIP",
          "KYC",
          "FRB-SR-2022",
          "FinCEN",
          "zero-pii"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "ssn_issue_year": {
                    "type": "integer"
                  },
                  "applicant_age": {
                    "type": "integer"
                  },
                  "credit_file_age_months": {
                    "type": "integer"
                  },
                  "address_tenure_months": {
                    "type": "integer"
                  },
                  "new_account_velocity_90d": {
                    "type": "integer"
                  },
                  "phone_age_months": {
                    "type": "integer"
                  },
                  "device_anomaly_flag": {
                    "type": "boolean"
                  }
                },
                "required": [
                  "ssn_issue_year",
                  "applicant_age",
                  "credit_file_age_months",
                  "address_tenure_months",
                  "new_account_velocity_90d",
                  "phone_age_months",
                  "device_anomaly_flag"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "score": {
                      "type": "integer",
                      "minimum": 0,
                      "maximum": 100
                    },
                    "tier": {
                      "type": "string",
                      "enum": [
                        "Low",
                        "Moderate",
                        "High",
                        "Reject"
                      ]
                    },
                    "signals": {
                      "type": "array"
                    },
                    "cipSteps": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "score_synthetic_identity_fraud_risk",
        "x-tool-url": "https://ainumbers.co/tools/321-synthetic-identity-fraud-scorer.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/assess_app_scam_pre_payment_risk": {
      "post": {
        "operationId": "assess_app_scam_pre_payment_risk",
        "summary": "APP Scam Pre-Payment Risk Assessor",
        "description": "APP scam risk scoring and typology classification at the point of payment initiation. Scoped to pre-payment detection only — PSR liability split and reimbursement eligibility use T257 (Cat-21). PSR PS23/3 · UK FPS CoP v3.0 · EU Regulation 2024/886. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/322-app-scam-risk-assessor.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "APP",
          "scam",
          "push-payment",
          "PSR",
          "CoP",
          "pre-payment",
          "typology",
          "zero-pii"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "beneficiary_account_age_days": {
                    "type": "integer"
                  },
                  "first_time_payee": {
                    "type": "boolean"
                  },
                  "payment_purpose_category": {
                    "type": "string"
                  },
                  "instruction_channel": {
                    "type": "string"
                  },
                  "time_pressure_flag": {
                    "type": "boolean"
                  },
                  "amount_vs_sender_median_pct": {
                    "type": "integer"
                  },
                  "beneficiary_account_pattern": {
                    "type": "string"
                  }
                },
                "required": [
                  "beneficiary_account_age_days",
                  "first_time_payee",
                  "payment_purpose_category",
                  "instruction_channel",
                  "time_pressure_flag",
                  "amount_vs_sender_median_pct",
                  "beneficiary_account_pattern"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "score": {
                      "type": "integer",
                      "minimum": 0,
                      "maximum": 100
                    },
                    "tier": {
                      "type": "string",
                      "enum": [
                        "low",
                        "moderate",
                        "high",
                        "block"
                      ]
                    },
                    "tierLabel": {
                      "type": "string"
                    },
                    "topTypology": {
                      "type": "string"
                    },
                    "friction": {
                      "type": "object"
                    },
                    "signalSummary": {
                      "type": "array"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "assess_app_scam_pre_payment_risk",
        "x-tool-url": "https://ainumbers.co/tools/322-app-scam-risk-assessor.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/build_fraud_risk_ap2_mandate": {
      "post": {
        "operationId": "build_fraud_risk_ap2_mandate",
        "summary": "AP2 Fraud & Risk Policy Mandate Builder",
        "description": "Builds a validated AP2 agent_guardrail_mandate for autonomous fraud decisioning agents across 4 dimensions: detection thresholds (synthetic ID, ATO cutoffs), APP scam controls (CoP, delay, PSR acknowledgement), loss tolerance (bps budget, CNP/ATO/APP rates), and reporting triggers (SAR threshold, board frequency). Built-in contradiction detection. MCP server deployable. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/323-ap2-fraud-risk-policy-mandate-builder.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "AP2",
          "agentic",
          "fraud-policy",
          "risk-appetite",
          "mandate",
          "MCP",
          "agent_guardrail",
          "zero-pii"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "synth_cutoff": {
                    "type": "integer"
                  },
                  "ato_cutoff": {
                    "type": "integer"
                  },
                  "cop_enforcement": {
                    "type": "string"
                  },
                  "delay_policy": {
                    "type": "string"
                  },
                  "psr_ack": {
                    "type": "boolean"
                  },
                  "loss_budget_bps": {
                    "type": "integer"
                  },
                  "cnp_rate_bps": {
                    "type": "integer"
                  },
                  "ato_rate_bps": {
                    "type": "integer"
                  },
                  "app_rate_bps": {
                    "type": "integer"
                  },
                  "sar_threshold": {
                    "type": "integer"
                  },
                  "board_freq": {
                    "type": "string"
                  }
                },
                "required": [
                  "synth_cutoff",
                  "ato_cutoff",
                  "cop_enforcement",
                  "delay_policy",
                  "psr_ack",
                  "loss_budget_bps",
                  "cnp_rate_bps",
                  "ato_rate_bps",
                  "app_rate_bps",
                  "sar_threshold",
                  "board_freq"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "agent_instructions": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "config": {
                      "type": "object"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "build_fraud_risk_ap2_mandate",
        "x-tool-url": "https://ainumbers.co/tools/323-ap2-fraud-risk-policy-mandate-builder.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/schedule_realtime_rail_prefunding": {
      "post": {
        "operationId": "schedule_realtime_rail_prefunding",
        "summary": "Real-Time Rail Prefunding Scheduler",
        "description": "Prefunding schedule builder for FedNow, RTP, and SEPA Instant (prefunding-required rails only). Returns 24-row hourly net position table, minimum opening balance recommendation, predicted top-up windows, daily and annualised idle capital cost, and three-rail comparison. BCBS 248 facility sizing for credit-based rails is in T258 (Cat-21). Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/324-realtime-rail-prefunding-scheduler.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "prefunding",
          "liquidity",
          "intraday",
          "FedNow",
          "RTP",
          "SEPA-Instant",
          "schedule",
          "idle-capital",
          "zero-pii"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "rail": {
                    "type": "string",
                    "enum": [
                      "FedNow",
                      "RTP",
                      "SEPA-Instant"
                    ]
                  },
                  "daily_volume_value_m": {
                    "type": "number"
                  },
                  "outgoing_timing_profile": {
                    "type": "string"
                  },
                  "incoming_timing_profile": {
                    "type": "string"
                  },
                  "opening_balance_m": {
                    "type": "number"
                  },
                  "opportunity_cost_rate_pct": {
                    "type": "number"
                  },
                  "intraday_topup_threshold_pct": {
                    "type": "number"
                  }
                },
                "required": [
                  "rail",
                  "daily_volume_value_m",
                  "outgoing_timing_profile",
                  "incoming_timing_profile",
                  "opening_balance_m",
                  "opportunity_cost_rate_pct",
                  "intraday_topup_threshold_pct"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "rail": {
                      "type": "string"
                    },
                    "rows": {
                      "type": "array",
                      "description": "24 hourly schedule rows"
                    },
                    "minOpeningBalance": {
                      "type": "number"
                    },
                    "topupWindows": {
                      "type": "array"
                    },
                    "dailyIdleCost": {
                      "type": "number"
                    },
                    "annualIdleCost": {
                      "type": "number"
                    },
                    "railComparison": {
                      "type": "object"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "schedule_realtime_rail_prefunding",
        "x-tool-url": "https://ainumbers.co/tools/324-realtime-rail-prefunding-scheduler.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/lookup_payment_cutoff_windows": {
      "post": {
        "operationId": "lookup_payment_cutoff_windows",
        "summary": "Global Payment Cutoff & Settlement Atlas",
        "description": "Operator-level cutoff precision across 16 global payment rails (Fedwire, FedNow, ACH Same-Day, ACH Next-Day, RTP, CHAPS, UK FPS, SEPA CT, SEPA Instant, TARGET2, SWIFT gpi, PIX, UPI, NPP, BACS, CIPS) with DST adjustment and bank holiday flags for a specific date and corridor. Returns next available window when cutoff is already passed. Distinct from T21 (corridor-level emerging market strategy). Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/325-payment-cutoff-settlement-atlas.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "cutoff",
          "settlement",
          "CHAPS",
          "Fedwire",
          "SEPA",
          "FedNow",
          "TARGET2",
          "PIX",
          "UPI",
          "NPP",
          "CIPS",
          "calendar",
          "DST",
          "holidays",
          "zero-pii"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "dateStr": {
                    "type": "string",
                    "description": "YYYY-MM-DD"
                  },
                  "corridor": {
                    "type": "string",
                    "description": "US-DOM | UK-DOM | EU-DOM | US-UK | US-EU | UK-EU | GLOBAL | BR-DOM | IN-DOM | AU-DOM | CN-DOM"
                  }
                },
                "required": [
                  "dateStr",
                  "corridor"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "results": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "rail": {
                            "type": "string"
                          },
                          "isRelevant": {
                            "type": "boolean"
                          },
                          "status": {
                            "type": "string",
                            "enum": [
                              "open",
                              "always-open",
                              "past",
                              "closed",
                              "holiday",
                              "na"
                            ]
                          },
                          "cutoffDisplay": {
                            "type": "string"
                          },
                          "utcDisplay": {
                            "type": "string"
                          },
                          "nextWindow": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "dstActive": {
                            "type": "boolean"
                          },
                          "holiday": {
                            "type": [
                              "string",
                              "null"
                            ]
                          }
                        }
                      }
                    },
                    "openCount": {
                      "type": "integer"
                    },
                    "closedCount": {
                      "type": "integer"
                    },
                    "dstCount": {
                      "type": "integer"
                    },
                    "calDays": {
                      "type": "array"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "lookup_payment_cutoff_windows",
        "x-tool-url": "https://ainumbers.co/tools/325-payment-cutoff-settlement-atlas.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/build_payment_ops_ap2_mandate": {
      "post": {
        "operationId": "build_payment_ops_ap2_mandate",
        "summary": "AP2 Payment Ops Policy Mandate Builder",
        "description": "Builds a validated AP2 agent_guardrail_mandate for autonomous ops monitoring agents across 4 dimensions: liquidity policy (with T324 AP2 JSON import to auto-populate opening balance and rail), routing policy (primary/fallback rail per corridor, cost ceiling), SLA and monitoring policy (RT/batch targets, breach threshold, alert frequency), and incident policy (P1-P4 threshold, runbook URL, escalation role). MCP server deployable. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/326-ap2-payment-ops-policy-mandate-builder.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "AP2",
          "agentic",
          "ops-policy",
          "mandate",
          "MCP",
          "infrastructure",
          "liquidity",
          "routing",
          "SLA",
          "incident",
          "zero-pii"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "prefund_target_m": {
                    "type": "number"
                  },
                  "topup_threshold_pct": {
                    "type": "integer"
                  },
                  "primary_rail_liq": {
                    "type": "string"
                  },
                  "rail_us": {
                    "type": "string"
                  },
                  "rail_eu": {
                    "type": "string"
                  },
                  "rail_uk": {
                    "type": "string"
                  },
                  "rail_xb": {
                    "type": "string"
                  },
                  "fallback_rail": {
                    "type": "string"
                  },
                  "cost_ceiling_bps": {
                    "type": "integer"
                  },
                  "rt_sla_ms": {
                    "type": "integer"
                  },
                  "batch_sla_hrs": {
                    "type": "integer"
                  },
                  "sla_breach_pct": {
                    "type": "integer"
                  },
                  "alert_freq": {
                    "type": "string"
                  },
                  "p_level": {
                    "type": "string"
                  },
                  "runbook_url": {
                    "type": "string"
                  },
                  "escalation_role": {
                    "type": "string"
                  }
                },
                "required": [
                  "prefund_target_m",
                  "topup_threshold_pct",
                  "primary_rail_liq",
                  "rail_us",
                  "rail_eu",
                  "rail_uk",
                  "rail_xb",
                  "fallback_rail",
                  "cost_ceiling_bps",
                  "rt_sla_ms",
                  "batch_sla_hrs",
                  "sla_breach_pct",
                  "alert_freq",
                  "p_level"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "agent_instructions": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "config": {
                      "type": "object"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "build_payment_ops_ap2_mandate",
        "x-tool-url": "https://ainumbers.co/tools/326-ap2-payment-ops-policy-mandate-builder.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/classify_eu_ai_act_risk": {
      "post": {
        "operationId": "classify_eu_ai_act_risk",
        "summary": "EU AI Act Article 6 Risk-Class Mapper — Financial Services",
        "description": "Classify your financial-services AI system under EU AI Act Annex III. Identifies Unacceptable, High-Risk, Limited, and Minimal risk tiers with Article 6 legal basis, compliance obligations, and enforcement deadlines.\n\n**Tool URL:** https://ainumbers.co/tools/327-eu-ai-act-risk-class-mapper.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "EU-AI-Act",
          "AI",
          "risk-classification",
          "Annex-III",
          "compliance",
          "regtech",
          "export"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "ai_system_purpose",
                  "deployment_context"
                ],
                "properties": {
                  "ai_system_purpose": {
                    "type": "string"
                  },
                  "deployment_context": {
                    "type": "string"
                  },
                  "makes_autonomous_decisions": {
                    "type": "boolean"
                  },
                  "affects_consumer_rights": {
                    "type": "boolean"
                  },
                  "uses_biometric_data": {
                    "type": "boolean"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "risk_tier": {
                      "type": "string",
                      "enum": [
                        "unacceptable",
                        "high-risk",
                        "limited",
                        "minimal"
                      ]
                    },
                    "article_6_basis": {
                      "type": "string"
                    },
                    "annex_iii_category": {
                      "type": "string"
                    },
                    "compliance_obligations": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "enforcement_deadline": {
                      "type": "string"
                    },
                    "export_md": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "classify_eu_ai_act_risk",
        "x-tool-url": "https://ainumbers.co/tools/327-eu-ai-act-risk-class-mapper.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/genius_act_reserve_optimizer": {
      "post": {
        "operationId": "genius_act_reserve_optimizer",
        "summary": "GENIUS Act Reserve Composition Optimizer",
        "description": "Validates and optimises payment stablecoin reserve composition against GENIUS Act (enacted Jul 2025, effective Jan 2027) requirements. Checks 1:1 backing, UST maturity caps (≤93 days), Fed deposit allocation, asset segregation, and monthly disclosure obligations. Outputs AP2 compliance mandate.\n\n**Tool URL:** https://ainumbers.co/tools/328-genius-act-reserve-optimizer.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "GENIUS Act",
          "stablecoin",
          "reserve composition",
          "PPSI",
          "payment stablecoin",
          "Fed deposit",
          "T-bill",
          "UST",
          "OCC",
          "FDIC",
          "compliance",
          "regulatory",
          "AP2 export"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "issuer_type": {
                    "type": "string"
                  },
                  "outstanding_usd": {
                    "type": "number"
                  },
                  "reserves": {
                    "type": "object"
                  }
                },
                "required": [
                  "issuer_type",
                  "outstanding_usd",
                  "reserves"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "compliance_score_pct": {
                      "type": "number"
                    },
                    "backing_ratio": {
                      "type": "number"
                    },
                    "ust_maturity_compliant": {
                      "type": "boolean"
                    },
                    "gaps": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "verdict": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "genius_act_reserve_optimizer",
        "x-tool-url": "https://ainumbers.co/tools/328-genius-act-reserve-optimizer.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/fca_dpc_scope_classifier": {
      "post": {
        "operationId": "fca_dpc_scope_classifier",
        "summary": "FCA DPC Scope & Authorisation Classifier",
        "description": "Determines whether a BNPL/DPC lender falls within the FCA regulatory perimeter under PS26/1 (effective 15 July 2026), TPR eligibility, and which authorisation pathway applies.\n\n**Tool URL:** https://ainumbers.co/tools/329-fca-dpc-scope-classifier.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "FCA",
          "BNPL",
          "DPC",
          "PS26/1",
          "TPR",
          "authorisation",
          "CCA",
          "July 2026",
          "UK"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "lender_type": {
                    "type": "string",
                    "description": "Type of lender entity"
                  },
                  "repayment_instalments": {
                    "type": "string",
                    "description": "Number of instalments"
                  },
                  "repayment_months": {
                    "type": "string",
                    "description": "Repayment term in months"
                  },
                  "interest_charged": {
                    "type": "string",
                    "description": "Whether interest or charges apply"
                  },
                  "current_auth": {
                    "type": "string",
                    "description": "Current FCA authorisation status"
                  }
                },
                "required": [
                  "lender_type",
                  "repayment_instalments",
                  "repayment_months",
                  "interest_charged"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "fca_dpc_scope_classifier",
        "x-tool-url": "https://ainumbers.co/tools/329-fca-dpc-scope-classifier.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/build_fca_dpc_creditworthiness": {
      "post": {
        "operationId": "build_fca_dpc_creditworthiness",
        "summary": "FCA DPC Creditworthiness & Affordability Assessment Framework Builder",
        "description": "Builds a proportionate creditworthiness and affordability assessment protocol for DPC lenders per FCA PS26/1 and CONC 5A. Generates a documented framework with data field requirements, soft/hard check thresholds, escalation protocol, and Consumer Duty mapping.\n\n**Tool URL:** https://ainumbers.co/tools/330-fca-dpc-creditworthiness-assessment-builder.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "FCA",
          "BNPL",
          "DPC",
          "CONC 5A",
          "creditworthiness",
          "affordability",
          "PS26/1",
          "Consumer Duty",
          "UK",
          "July 2026"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "build_fca_dpc_creditworthiness",
        "x-tool-url": "https://ainumbers.co/tools/330-fca-dpc-creditworthiness-assessment-builder.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/map_fca_consumer_duty_dpc": {
      "post": {
        "operationId": "map_fca_consumer_duty_dpc",
        "summary": "FCA Consumer Duty Application to DPC Mapper",
        "description": "Maps a DPC product against the four FCA Consumer Duty outcomes (PS22/9) as required under PS26/1. Produces RAG status dashboard, identified gaps, remediation actions, and cross-cutting rules compliance check.\n\n**Tool URL:** https://ainumbers.co/tools/331-fca-consumer-duty-dpc-mapper.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "FCA",
          "Consumer Duty",
          "DPC",
          "BNPL",
          "PS22/9",
          "four outcomes",
          "PRIN 12",
          "July 2026"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "map_fca_consumer_duty_dpc",
        "x-tool-url": "https://ainumbers.co/tools/331-fca-consumer-duty-dpc-mapper.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/check_mica_casp_authorization": {
      "post": {
        "operationId": "check_mica_casp_authorization",
        "summary": "MiCA CASP Authorisation & Capital Readiness Checker",
        "description": "Assesses whether a Crypto-Asset Service Provider meets MiCA Title V authorisation requirements. Covers capital floors (€50k/€125k/€150k), asset segregation, AML/Travel Rule, whitepaper obligations, and EBA Feb 2026 PSD2 dual-authorisation opinion for EMT handlers.\n\n**Tool URL:** https://ainumbers.co/tools/332-mica-casp-authorization-checker.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "MiCA",
          "CASP",
          "crypto",
          "authorisation",
          "capital",
          "EMT",
          "Travel Rule",
          "July 2026",
          "ESMA",
          "EBA"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "check_mica_casp_authorization",
        "x-tool-url": "https://ainumbers.co/tools/332-mica-casp-authorization-checker.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/build_eu_ai_act_article9_risk_mgmt": {
      "post": {
        "operationId": "build_eu_ai_act_article9_risk_mgmt",
        "summary": "EU AI Act Article 9 Risk Management System Requirements Builder",
        "description": "Generates a compliant Art. 9 RMS documentation framework for high-risk AI systems in financial services. Covers iterative risk processes, residual risk assessment, testing, human oversight, and post-market monitoring.\n\n**Tool URL:** https://ainumbers.co/tools/333-eu-ai-act-article9-risk-mgmt-builder.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "EU AI Act",
          "Article 9",
          "risk management",
          "high-risk AI",
          "credit scoring",
          "fraud detection",
          "AML",
          "August 2026"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "build_eu_ai_act_article9_risk_mgmt",
        "x-tool-url": "https://ainumbers.co/tools/333-eu-ai-act-article9-risk-mgmt-builder.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/map_eu_ai_act_article10_data_governance": {
      "post": {
        "operationId": "map_eu_ai_act_article10_data_governance",
        "summary": "EU AI Act Article 10 Data Governance Requirements Mapper",
        "description": "Maps training and testing data governance obligations for high-risk AI systems under EU AI Act Art. 10. Covers bias examination, provenance, representativeness, Art. 10(5) special-category processing, and GDPR Art. 22 interaction.\n\n**Tool URL:** https://ainumbers.co/tools/334-eu-ai-act-article10-data-governance-mapper.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "EU AI Act",
          "Article 10",
          "data governance",
          "bias",
          "training data",
          "GDPR",
          "August 2026"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "map_eu_ai_act_article10_data_governance",
        "x-tool-url": "https://ainumbers.co/tools/334-eu-ai-act-article10-data-governance-mapper.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/split_eu_ai_act_provider_deployer_obligations": {
      "post": {
        "operationId": "split_eu_ai_act_provider_deployer_obligations",
        "summary": "EU AI Act Provider vs Deployer Obligations Splitter",
        "description": "Resolves the Art. 25 provider/deployer obligations split for financial institutions. Determines which Art.9-14 obligations sit with provider vs deployer and generates required contract clauses and vendor due diligence checklist.\n\n**Tool URL:** https://ainumbers.co/tools/335-eu-ai-act-provider-deployer-obligations-splitter.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "EU AI Act",
          "Art. 25",
          "provider",
          "deployer",
          "obligations",
          "financial services",
          "vendor contract",
          "August 2026"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "split_eu_ai_act_provider_deployer_obligations",
        "x-tool-url": "https://ainumbers.co/tools/335-eu-ai-act-provider-deployer-obligations-splitter.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/classify_genius_act_issuer": {
      "post": {
        "operationId": "classify_genius_act_issuer",
        "summary": "GENIUS Act Payment Stablecoin Issuer Classification & Licensing Mapper",
        "description": "Classifies a payment stablecoin issuer under the GENIUS Act framework (enacted July 18, 2025; effective January 18, 2027) and maps the applicable federal or state licensing pathway. Covers federally-chartered banks, state-licensed entities, insured depository institutions, and the $10B threshold for mandatory federal oversight.\n\n**Tool URL:** https://ainumbers.co/tools/336-genius-act-issuer-classification-mapper.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "GENIUS Act",
          "stablecoin",
          "PPSI",
          "OCC",
          "FDIC",
          "Federal Reserve",
          "state charter",
          "foreign issuer",
          "licensing",
          "payment stablecoin",
          "2027"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "entity_type": {
                    "type": "string",
                    "description": "Charter type: national_bank | state_bank_fed | state_bank_fdic | federal_credit_union | state_credit_union | money_transmitter | new_entrant | fbo | foreign_nonbank"
                  },
                  "outstanding_usd": {
                    "type": "number",
                    "description": "Outstanding payment stablecoins in USD"
                  },
                  "total_assets_usd": {
                    "type": "number",
                    "description": "Total consolidated assets in USD"
                  },
                  "already_regulated": {
                    "type": "string",
                    "description": "Already supervised by federal banking regulator: yes | no"
                  }
                },
                "required": [
                  "entity_type",
                  "outstanding_usd"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "pathway_class": {
                      "type": "string",
                      "enum": [
                        "federal",
                        "state",
                        "foreign"
                      ],
                      "description": "Determined PPSI licensing pathway"
                    },
                    "primary_regulator": {
                      "type": "string",
                      "description": "Primary federal or state regulator"
                    },
                    "license_type": {
                      "type": "string",
                      "description": "Applicable PPSI license category"
                    },
                    "exceeds_10b_threshold": {
                      "type": "boolean",
                      "description": "Whether outstanding stablecoins exceed $10B mandatory federal oversight threshold"
                    },
                    "ppsi_checklist": {
                      "type": "array",
                      "items": {
                        "type": "object"
                      },
                      "description": "PPSI qualification requirement checks"
                    },
                    "timeline_milestones": {
                      "type": "array",
                      "items": {
                        "type": "object"
                      },
                      "description": "Licensing timeline milestones"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "classify_genius_act_issuer",
        "x-tool-url": "https://ainumbers.co/tools/336-genius-act-issuer-classification-mapper.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/generate_reserve_attestation_checklist": {
      "post": {
        "operationId": "generate_reserve_attestation_checklist",
        "summary": "GENIUS Act Monthly Reserve Attestation & Disclosure Requirements Checklist",
        "description": "Generates a monthly reserve attestation and disclosure compliance checklist for permitted payment stablecoin issuers (PPSIs) per GENIUS Act §6. Covers the 1:1 reserve requirement, eligible asset composition, PCAOB-registered accounting firm examination obligations, public disclosure format, redemption policy publication, and the 15-business-day cure window for reserve shortfalls.\n\n**Tool URL:** https://ainumbers.co/tools/337-genius-act-reserve-attestation-checklist.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "GENIUS Act",
          "stablecoin",
          "reserve attestation",
          "monthly disclosure",
          "redemption policy",
          "1:1 backing",
          "OCC",
          "PPSI",
          "transparency",
          "2027"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "outstanding_usd": {
                    "type": "number",
                    "description": "Total outstanding stablecoins in USD"
                  },
                  "reserves_total_usd": {
                    "type": "number",
                    "description": "Total reserve assets held in USD"
                  },
                  "non_qualifying_pct": {
                    "type": "number",
                    "description": "Percentage of reserves in non-qualifying assets (target: 0)"
                  },
                  "pcaob_engaged": {
                    "type": "string",
                    "enum": [
                      "yes",
                      "pending",
                      "no"
                    ],
                    "description": "PCAOB firm engagement status"
                  },
                  "cure_window_active": {
                    "type": "string",
                    "enum": [
                      "yes",
                      "no"
                    ],
                    "description": "Whether a shortfall cure window is active"
                  },
                  "cure_days_elapsed": {
                    "type": "integer",
                    "description": "Business days elapsed in cure window (max 15)"
                  }
                },
                "required": [
                  "outstanding_usd",
                  "reserves_total_usd"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "verdict": {
                      "type": "string",
                      "enum": [
                        "compliant",
                        "cure",
                        "non-compliant"
                      ],
                      "description": "Overall attestation compliance verdict"
                    },
                    "coverage_ratio_pct": {
                      "type": "number",
                      "description": "Reserve coverage ratio as percentage (target: ≥100%)"
                    },
                    "surplus_usd": {
                      "type": "number",
                      "description": "Reserve surplus (positive) or shortfall (negative) in USD"
                    },
                    "disclosure_checklist": {
                      "type": "array",
                      "items": {
                        "type": "object"
                      },
                      "description": "14-item monthly disclosure checklist with pass/fail status"
                    },
                    "open_items": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      },
                      "description": "Disclosure checklist items that failed"
                    },
                    "cure_window": {
                      "type": "object",
                      "description": "Cure window status if shortfall detected",
                      "properties": {
                        "active": {
                          "type": "boolean"
                        },
                        "days_elapsed": {
                          "type": "integer"
                        },
                        "days_remaining": {
                          "type": "integer"
                        },
                        "expired": {
                          "type": "boolean"
                        },
                        "statutory_window_days": {
                          "type": "integer"
                        }
                      }
                    },
                    "pcaob_checklist": {
                      "type": "array",
                      "items": {
                        "type": "object"
                      },
                      "description": "PCAOB examination requirement checklist"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "generate_reserve_attestation_checklist",
        "x-tool-url": "https://ainumbers.co/tools/337-genius-act-reserve-attestation-checklist.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/build_genius_act_aml_scope": {
      "post": {
        "operationId": "build_genius_act_aml_scope",
        "summary": "GENIUS Act AML & Sanctions Program Scope Builder",
        "description": "Builds the AML/BSA compliance program scope for PPSIs per GENIUS Act §10 and Treasury's April 2026 proposed AML/sanctions rule. Covers BSA registration, CIP/CDD, transaction monitoring thresholds, OFAC screening, Travel Rule ($3,000 threshold), and SAR filing triggers.\n\n**Tool URL:** https://ainumbers.co/tools/338-genius-act-aml-sanctions-scope-builder.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "GENIUS Act",
          "AML",
          "sanctions",
          "BSA",
          "FinCEN",
          "OFAC",
          "stablecoin",
          "PPSI",
          "CIP",
          "transaction monitoring",
          "Travel Rule",
          "2027"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "monthly_volume_usd": {
                    "type": "number",
                    "description": "Monthly transaction volume in USD"
                  },
                  "avg_transaction_usd": {
                    "type": "number",
                    "description": "Average transaction size in USD"
                  },
                  "blockchain_type": {
                    "type": "string",
                    "enum": [
                      "public",
                      "permissioned",
                      "private",
                      "multi"
                    ]
                  },
                  "existing_aml_program": {
                    "type": "string",
                    "enum": [
                      "yes",
                      "partial",
                      "no"
                    ]
                  },
                  "pct_cross_border": {
                    "type": "number",
                    "description": "Cross-border transaction percentage"
                  }
                },
                "required": [
                  "monthly_volume_usd",
                  "blockchain_type",
                  "existing_aml_program"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "verdict": {
                      "type": "string",
                      "enum": [
                        "full",
                        "partial",
                        "gap"
                      ]
                    },
                    "bsa_category": {
                      "type": "string"
                    },
                    "travel_rule_applies": {
                      "type": "boolean"
                    },
                    "open_gaps": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "sar_trigger_matrix": {
                      "type": "array",
                      "items": {
                        "type": "object"
                      }
                    },
                    "required_program_components": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "build_genius_act_aml_scope",
        "x-tool-url": "https://ainumbers.co/tools/338-genius-act-aml-sanctions-scope-builder.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/sr2602_mrm_gap_analyzer": {
      "post": {
        "operationId": "sr2602_mrm_gap_analyzer",
        "summary": "SR 26-02 Interagency Model Risk Management Gap Analyzer",
        "description": "Assesses a banking organization's model risk management program against SR 26-02 Interagency Guidance on Model Risk Management (April 17, 2026), which replaced SR 11-7 (2011). Principles-based, proportional analysis across five domains: model development, validation, inventory, governance, and outcomes analysis. Generates gap score, remediation priority matrix, and AP2 compliance mandate.\n\n**Tool URL:** https://ainumbers.co/tools/339-sr2602-model-risk-mgmt-gap-analyzer.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "SR 26-02",
          "model risk management",
          "MRM",
          "OCC",
          "Federal Reserve",
          "FDIC",
          "SR 11-7",
          "model inventory",
          "validation",
          "governance",
          "2026",
          "US banks"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "total_assets_bn": {
                    "type": "number",
                    "description": "Total assets in USD billions"
                  },
                  "model_count": {
                    "type": "number",
                    "description": "Number of models in scope"
                  },
                  "validation_independence": {
                    "type": "string",
                    "description": "full | partial | none"
                  },
                  "doc_completeness_pct": {
                    "type": "number"
                  },
                  "outcome_analysis": {
                    "type": "string",
                    "description": "continuous | quarterly | annual | adhoc | none"
                  }
                },
                "required": [
                  "total_assets_bn",
                  "model_count"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "proportionality_tier": {
                      "type": "string",
                      "description": "SR 26-02 proportionality tier (full / enhanced / basic)"
                    },
                    "domain_scores": {
                      "type": "object",
                      "properties": {
                        "development": {
                          "type": "number"
                        },
                        "validation": {
                          "type": "number"
                        },
                        "inventory": {
                          "type": "number"
                        },
                        "governance": {
                          "type": "number"
                        },
                        "outcomes": {
                          "type": "number"
                        },
                        "overall": {
                          "type": "number"
                        }
                      }
                    },
                    "key_gaps": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "verdict": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "sr2602_mrm_gap_analyzer",
        "x-tool-url": "https://ainumbers.co/tools/339-sr2602-model-risk-mgmt-gap-analyzer.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/frtb_ima_eligibility_checker": {
      "post": {
        "operationId": "frtb_ima_eligibility_checker",
        "summary": "FRTB Internal Model Approach (IMA) Eligibility Checker",
        "description": "Determines whether a trading desk qualifies for the FRTB Internal Model Approach (IMA) or must use the Standardised Approach (SA) per CRR III provisions binding from January 1, 2027 in the EU. Runs P&L attribution test (PLAT) indicators per CRR III Art.325bh, risk factor modellability (NMRF) assessment per Art.325bj, and backtesting failure threshold evaluation per Art.325bi. Outputs AP2 mandate.\n\n**Tool URL:** https://ainumbers.co/tools/340-frtb-internal-model-eligibility-checker.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "FRTB",
          "Basel IV",
          "CRR III",
          "IMA",
          "SA",
          "market risk",
          "trading desk",
          "P&L attribution",
          "NMRF",
          "EU 2027",
          "capital requirements",
          "risk factors"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "desk_type": {
                    "type": "string",
                    "description": "Trading desk type: equity | fx | rates | credit | commodity | securitisation"
                  },
                  "backtesting_exceptions": {
                    "type": "number",
                    "description": "Number of 1-day 99% VaR exceptions in last 250 trading days"
                  },
                  "spearman_correlation": {
                    "type": "number"
                  },
                  "modellable_ratio_pct": {
                    "type": "number"
                  }
                },
                "required": [
                  "desk_type",
                  "backtesting_exceptions"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "eligible": {
                      "type": "boolean",
                      "description": "Whether the desk is IMA-eligible"
                    },
                    "plat_zone": {
                      "type": "string",
                      "enum": [
                        "green",
                        "amber",
                        "red"
                      ]
                    },
                    "backtesting_zone": {
                      "type": "string",
                      "enum": [
                        "green",
                        "amber",
                        "red"
                      ]
                    },
                    "nmrf_zone": {
                      "type": "string",
                      "enum": [
                        "green",
                        "amber",
                        "red"
                      ]
                    },
                    "verdict": {
                      "type": "string"
                    },
                    "capital_saving_vs_sa_m": {
                      "type": "number"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "frtb_ima_eligibility_checker",
        "x-tool-url": "https://ainumbers.co/tools/340-frtb-internal-model-eligibility-checker.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/basel_iii_endgame_capital_estimator": {
      "post": {
        "operationId": "basel_iii_endgame_capital_estimator",
        "summary": "Basel III Endgame (US) Capital Impact Estimator",
        "description": "Estimates the risk-weighted asset (RWA) impact on a US bank under the March 19, 2026 federal banking agency NPR implementing Basel III Endgame reforms (consultation closed June 18, 2026). Models the Expanded Risk-Based Approach (ERA) credit risk standardized weights, operational risk Business Indicator Component (BIC), and off-balance sheet conversion factors. Does not include market risk (covered by T340 FRTB tool). Outputs AP2 mandate.\n\n**Tool URL:** https://ainumbers.co/tools/341-basel-iii-endgame-capital-impact-estimator.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "Basel III Endgame",
          "US capital rules",
          "expanded risk-based approach",
          "ERA",
          "standardised approach",
          "operational risk",
          "credit risk",
          "RWA",
          "Fed",
          "OCC",
          "FDIC",
          "March 2026 proposal"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "total_assets_bn": {
                    "type": "number",
                    "description": "Total assets in USD billions"
                  },
                  "cet1_ratio_pct": {
                    "type": "number",
                    "description": "Current CET1 ratio (%)"
                  },
                  "gross_income_m": {
                    "type": "number",
                    "description": "3yr average gross income in USD millions"
                  },
                  "airb_usage": {
                    "type": "string",
                    "description": "yes | no"
                  }
                },
                "required": [
                  "total_assets_bn",
                  "cet1_ratio_pct"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "era_rwa_bn": {
                      "type": "number",
                      "description": "Estimated total RWA under ERA in USD billions"
                    },
                    "rwa_change_bn": {
                      "type": "number",
                      "description": "Change in RWA vs current approach in USD billions"
                    },
                    "rwa_change_pct": {
                      "type": "number",
                      "description": "Percentage change in RWA"
                    },
                    "cet1_era_pct": {
                      "type": "number",
                      "description": "Estimated CET1 ratio under ERA"
                    },
                    "cet1_impact_pct": {
                      "type": "number",
                      "description": "CET1 ratio change in percentage points"
                    },
                    "distance_to_requirement_pct": {
                      "type": "number",
                      "description": "Distance from ERA CET1 to minimum + conservation buffer + GSIB surcharge"
                    },
                    "op_risk_rwa_bn": {
                      "type": "number",
                      "description": "Operational risk RWA under BIC in USD billions"
                    },
                    "impact_label": {
                      "type": "string",
                      "description": "HIGH IMPACT | MODERATE IMPACT | LOWER IMPACT"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "basel_iii_endgame_capital_estimator",
        "x-tool-url": "https://ainumbers.co/tools/341-basel-iii-endgame-capital-impact-estimator.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/eu_ipr_iso20022_address_validator": {
      "post": {
        "operationId": "eu_ipr_iso20022_address_validator",
        "summary": "EU IPR — ISO 20022 Structured Address Field Validator",
        "description": "Validates EU payment message address fields against the November 2026 ISO 20022 structured address mandate under EU Instant Payments Regulation (EU) 2024/886.\n\n**Tool URL:** https://ainumbers.co/tools/342-eu-ipr-iso20022-address-validator.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "EU IPR",
          "ISO 20022",
          "structured address",
          "November 2026",
          "SEPA",
          "SCT Inst",
          "pacs.008",
          "TownName",
          "PostCode",
          "StreetName",
          "AP2 export"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "addr_format": {
                    "type": "string"
                  },
                  "unstr_pct": {
                    "type": "number"
                  }
                },
                "required": [
                  "addr_format",
                  "unstr_pct"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "eu_ipr_iso20022_address_validator",
        "x-tool-url": "https://ainumbers.co/tools/342-eu-ipr-iso20022-address-validator.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/psd3_psr2_transition_assessor": {
      "post": {
        "operationId": "psd3_psr2_transition_assessor",
        "summary": "PSD3 / PSR2 Transition Impact Assessor",
        "description": "Assesses transition from PSD2/EMD2 to PSD3/PSR. Covers EMI reclassification, VoP extension, API SLA standards, SCA revision, re-authorisation timeline (~Q4 2027).\n\n**Tool URL:** https://ainumbers.co/tools/343-psd3-psr2-transition-impact-assessor.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "PSD3",
          "PSR",
          "PSD2",
          "EMI",
          "VoP",
          "open banking",
          "API",
          "SCA",
          "2027",
          "AP2 export"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "inst_type": {
                    "type": "string"
                  },
                  "api_level": {
                    "type": "string"
                  }
                },
                "required": [
                  "inst_type"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "psd3_psr2_transition_assessor",
        "x-tool-url": "https://ainumbers.co/tools/343-psd3-psr2-transition-impact-assessor.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/rwa_jurisdiction_mapper": {
      "post": {
        "operationId": "rwa_jurisdiction_mapper",
        "summary": "RWA Tokenized Asset Securities Jurisdiction Mapper",
        "description": "Maps tokenized RWA to regulatory classifications across EU (MiCA/MiFID II), US (SEC/CFTC/GENIUS Act), UK (FCA), UAE, and Singapore. Returns jurisdiction-by-jurisdiction classification matrix and compliance flags.\n\n**Tool URL:** https://ainumbers.co/tools/344-rwa-tokenized-asset-jurisdiction-mapper.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "RWA",
          "tokenization",
          "MiCA",
          "SEC",
          "CFTC",
          "GENIUS Act",
          "jurisdiction",
          "classification",
          "blockchain",
          "AP2 export"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "asset_class": {
                    "type": "string"
                  },
                  "holder_rights": {
                    "type": "string"
                  },
                  "primary_jurisdiction": {
                    "type": "string"
                  }
                },
                "required": [
                  "asset_class",
                  "holder_rights"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "rwa_jurisdiction_mapper",
        "x-tool-url": "https://ainumbers.co/tools/344-rwa-tokenized-asset-jurisdiction-mapper.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/classify_vida_deemed_supplier_scope": {
      "post": {
        "operationId": "classify_vida_deemed_supplier_scope",
        "summary": "ViDA Deemed Supplier VAT Scope & Liability Classifier",
        "description": "Classifies whether an online platform falls within the ViDA deemed supplier provisions (effective 1 July 2028, Art.9a accommodation, Art.9b transport). Determines VAT liability, OSS registration requirements, and B2B exemption applicability.\n\n**Tool URL:** https://ainumbers.co/tools/345-vida-deemed-supplier-classifier.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "ViDA",
          "deemed supplier",
          "VAT",
          "platform economy",
          "short-term accommodation",
          "passenger transport",
          "OSS",
          "IOSS",
          "July 2028",
          "EU",
          "digital platforms"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "platform_type": {
                    "type": "string"
                  },
                  "eu_countries": {
                    "type": "integer"
                  },
                  "annual_gmv_eur": {
                    "type": "number"
                  },
                  "supplier_type": {
                    "type": "string"
                  }
                },
                "required": [
                  "platform_type",
                  "eu_countries",
                  "annual_gmv_eur",
                  "supplier_type"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "deemed_supplier_applies": {
                      "type": "boolean"
                    },
                    "vat_liability_estimate_eur": {
                      "type": "number"
                    },
                    "oss_required": {
                      "type": "boolean"
                    },
                    "compliance_gap_count": {
                      "type": "integer"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "classify_vida_deemed_supplier_scope",
        "x-tool-url": "https://ainumbers.co/tools/345-vida-deemed-supplier-classifier.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/calculate_mica_emt_reserve_compliance": {
      "post": {
        "operationId": "calculate_mica_emt_reserve_compliance",
        "summary": "MiCA EMT/ART Reserve Compliance Calculator",
        "description": "Calculate reserve composition compliance for e-money token (EMT) and asset-referenced token (ART) issuers under MiCA Article 36. Models the mandatory bank deposit floor (30% base, 60% for EBA-significant EMTs), permitted liquid sovereign instrument allocation, and reserve adequacy ratio.\n\n**Tool URL:** https://ainumbers.co/tools/346-mica-emt-reserve-compliance-calculator.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "MiCA",
          "EMT",
          "ART",
          "reserve",
          "crypto",
          "DLT",
          "EBA",
          "Art.36",
          "tokenization",
          "stablecoin",
          "EU"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "token_type": {
                    "type": "string"
                  },
                  "reserve_total_eur_m": {
                    "type": "number"
                  },
                  "eba_significant": {
                    "type": "boolean"
                  },
                  "deposit_pct": {
                    "type": "number"
                  },
                  "sovereign_pct": {
                    "type": "number"
                  },
                  "other_pct": {
                    "type": "number"
                  }
                },
                "required": [
                  "token_type",
                  "reserve_total_eur_m",
                  "eba_significant",
                  "deposit_pct",
                  "sovereign_pct",
                  "other_pct"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "overall_status": {
                      "type": "string",
                      "enum": [
                        "COMPLIANT",
                        "NON-COMPLIANT",
                        "REVIEW"
                      ]
                    },
                    "deposit_floor_required_pct": {
                      "type": "number"
                    },
                    "deposit_gap_pct": {
                      "type": "number"
                    },
                    "reserve_adequacy_ratio": {
                      "type": "number"
                    },
                    "reallocation_needed_eur_m": {
                      "type": "number"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "calculate_mica_emt_reserve_compliance",
        "x-tool-url": "https://ainumbers.co/tools/346-mica-emt-reserve-compliance-calculator.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/build_fca_consumer_duty_board_report": {
      "post": {
        "operationId": "build_fca_consumer_duty_board_report",
        "summary": "FCA Consumer Duty Annual Board Report Builder",
        "description": "Build a structured annual Consumer Duty board report meeting FCA PS22/9 requirements. Deadline: July 31 2026. Encodes FCA April 2026 observations on good practice.\n\n**Tool URL:** https://ainumbers.co/tools/347-fca-consumer-duty-board-report-builder.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "FCA",
          "Consumer Duty",
          "PS22/9",
          "board report",
          "four outcomes",
          "regulatory compliance",
          "UK",
          "2026"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "firm_type": {
                    "type": "string"
                  },
                  "retail_customer_count": {
                    "type": "integer"
                  },
                  "outcomes": {
                    "type": "array"
                  }
                },
                "required": [
                  "firm_type",
                  "outcomes"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "duty_score": {
                      "type": "number"
                    },
                    "risk_rating": {
                      "type": "string"
                    },
                    "report_text": {
                      "type": "string"
                    },
                    "fca_observations_triggered": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "build_fca_consumer_duty_board_report",
        "x-tool-url": "https://ainumbers.co/tools/347-fca-consumer-duty-board-report-builder.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/score_eidas2_eudi_relying_party_readiness": {
      "post": {
        "operationId": "score_eidas2_eudi_relying_party_readiness",
        "summary": "eIDAS 2.0 EUDI Wallet Relying Party Readiness Scorer",
        "description": "Assesses organisational readiness to accept EU Digital Identity Wallets (EUDI) as strong customer authentication under eIDAS 2.0. Covers technical, operational, and governance readiness dimensions with prioritised gap list.\n\n**Tool URL:** https://ainumbers.co/tools/348-eidas2-eudi-wallet-relying-party-readiness-scorer.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "eIDAS 2.0",
          "EUDI Wallet",
          "digital identity",
          "SCA",
          "KYC",
          "PSD3",
          "open banking",
          "December 2026",
          "relying party"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "entity_type": {
                    "type": "string"
                  },
                  "fapi_implemented": {
                    "type": "string"
                  },
                  "oid4vc_status": {
                    "type": "string"
                  }
                },
                "required": [
                  "entity_type"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "readiness_score": {
                      "type": "number"
                    },
                    "readiness_level": {
                      "type": "string"
                    },
                    "critical_gaps": {
                      "type": "array"
                    },
                    "recommended_sequence": {
                      "type": "array"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "score_eidas2_eudi_relying_party_readiness",
        "x-tool-url": "https://ainumbers.co/tools/348-eidas2-eudi-wallet-relying-party-readiness-scorer.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/build_sepa_ipr_annual_report": {
      "post": {
        "operationId": "build_sepa_ipr_annual_report",
        "summary": "SEPA Instant Payments Regulation Annual Report Builder",
        "description": "Builds the mandatory NCA annual report for EU PSPs under EU IPR Regulation 2024/886 (from April 2026). Calculates instant adoption rate, VOP pass rate, fee parity compliance, and generates structured report template.\n\n**Tool URL:** https://ainumbers.co/tools/349-sepa-ipr-annual-report-builder.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "SEPA",
          "instant payments",
          "IPR",
          "NCA",
          "annual report",
          "VOP",
          "fee parity",
          "2024/886",
          "April 2026"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "psp_type": {
                    "type": "string"
                  },
                  "sct_sent": {
                    "type": "number"
                  },
                  "sct_inst_sent": {
                    "type": "number"
                  },
                  "sct_fee": {
                    "type": "number"
                  },
                  "sct_inst_fee": {
                    "type": "number"
                  }
                },
                "required": [
                  "psp_type",
                  "sct_sent",
                  "sct_inst_sent"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "instant_adoption_rate": {
                      "type": "number"
                    },
                    "vop_pass_rate": {
                      "type": "number"
                    },
                    "fee_parity_status": {
                      "type": "string"
                    },
                    "report_template": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "build_sepa_ipr_annual_report",
        "x-tool-url": "https://ainumbers.co/tools/349-sepa-ipr-annual-report-builder.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/analyze_amla_2027_readiness_gaps": {
      "post": {
        "operationId": "analyze_amla_2027_readiness_gaps",
        "summary": "AMLA 2027 AML Readiness Gap Analyzer",
        "description": "Gap analysis for EU AMLR and AMLA authority (effective July 2027). Covers CDD harmonisation, UBO threshold changes, new obliged entities, and Single Rulebook readiness across 26 RTS/ITS.\n\n**Tool URL:** https://ainumbers.co/tools/350-amla-2027-readiness-gap-analyzer.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "AMLA",
          "AMLR",
          "AML",
          "EU",
          "July 2027",
          "Single Rulebook",
          "CDD",
          "UBO",
          "beneficial ownership",
          "obliged entity"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "entity_type": {
                    "type": "string"
                  },
                  "ubo_threshold": {
                    "type": "number"
                  }
                },
                "required": [
                  "entity_type"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "readiness_level": {
                      "type": "string"
                    },
                    "domain_scores": {
                      "type": "object"
                    },
                    "critical_gaps": {
                      "type": "array"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "analyze_amla_2027_readiness_gaps",
        "x-tool-url": "https://ainumbers.co/tools/350-amla-2027-readiness-gap-analyzer.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/assess_t1_settlement_operational_readiness": {
      "post": {
        "operationId": "assess_t1_settlement_operational_readiness",
        "summary": "T+1 Settlement Operational Readiness Assessor",
        "description": "Assesses operational readiness for UK T+1 settlement (October 2027). Scores affirmation/confirmation cycle, FX funding, securities lending recall, fails management, and technology readiness.\n\n**Tool URL:** https://ainumbers.co/tools/351-t1-settlement-operational-readiness-assessor.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "T+1",
          "settlement",
          "UK",
          "FCA",
          "capital markets",
          "securities",
          "affirmation",
          "CSD",
          "CREST",
          "October 2027"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "firm_type": {
                    "type": "string"
                  },
                  "affirmation_model": {
                    "type": "string"
                  },
                  "stp_rate": {
                    "type": "string"
                  }
                },
                "required": [
                  "firm_type"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "overall_readiness": {
                      "type": "string"
                    },
                    "domain_scores": {
                      "type": "object"
                    },
                    "critical_gaps": {
                      "type": "array"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "assess_t1_settlement_operational_readiness",
        "x-tool-url": "https://ainumbers.co/tools/351-t1-settlement-operational-readiness-assessor.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/build_crd6_prudential_transition_plan": {
      "post": {
        "operationId": "build_crd6_prudential_transition_plan",
        "summary": "CRD6 Prudential Transition Plan Builder",
        "description": "Build the structured prudential transition plan mandated by CRD6 Article 76a. Integrates ESG/climate transition risks into governance, strategy, and risk management.\n\n**Tool URL:** https://ainumbers.co/tools/352-crd6-prudential-transition-plan-builder.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "CRD6",
          "prudential",
          "transition plan",
          "ESG",
          "climate risk",
          "EBA",
          "Art.76a",
          "Jan 2026"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "institution_type": {
                    "type": "string"
                  },
                  "total_assets": {
                    "type": "string"
                  },
                  "physical_risk": {
                    "type": "string"
                  }
                },
                "required": [
                  "institution_type"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "overall_status": {
                      "type": "string"
                    },
                    "governance_score": {
                      "type": "number"
                    },
                    "content_score": {
                      "type": "number"
                    },
                    "plan_sections": {
                      "type": "array"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "build_crd6_prudential_transition_plan",
        "x-tool-url": "https://ainumbers.co/tools/352-crd6-prudential-transition-plan-builder.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/check_sfdr_fund_classification": {
      "post": {
        "operationId": "check_sfdr_fund_classification",
        "summary": "SFDR Article 8 / Article 9 Fund Classification Checker",
        "description": "Assess SFDR Art.8/Art.9 fund classification including 2026 review proposals and greenwashing risk flags.\n\n**Tool URL:** https://ainumbers.co/tools/353-sfdr-article89-fund-classification-checker.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "SFDR",
          "Art.8",
          "Art.9",
          "taxonomy",
          "PAI",
          "greenwashing",
          "ESG",
          "EU 2019/2088"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "fund_type": {
                    "type": "string"
                  },
                  "current_claim": {
                    "type": "string"
                  },
                  "promotes_es": {
                    "type": "string"
                  }
                },
                "required": [
                  "fund_type"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "check_sfdr_fund_classification",
        "x-tool-url": "https://ainumbers.co/tools/353-sfdr-article89-fund-classification-checker.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/score_eu_taxonomy_alignment": {
      "post": {
        "operationId": "score_eu_taxonomy_alignment",
        "summary": "EU Taxonomy CapEx / Revenue Alignment Scorer",
        "description": "Score EU Taxonomy alignment across 6 environmental objectives with DNSH and MSS checks. GAR proxy calculation.\n\n**Tool URL:** https://ainumbers.co/tools/354-eu-taxonomy-capex-revenue-alignment-scorer.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "EU taxonomy",
          "CapEx",
          "GAR",
          "DNSH",
          "MSS",
          "green asset ratio",
          "Art.8",
          "six objectives"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "entity_type": {
                    "type": "string"
                  },
                  "total_assets_bn": {
                    "type": "number"
                  }
                },
                "required": [
                  "entity_type"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "score_eu_taxonomy_alignment",
        "x-tool-url": "https://ainumbers.co/tools/354-eu-taxonomy-capex-revenue-alignment-scorer.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/build_csrd_double_materiality_assessment": {
      "post": {
        "operationId": "build_csrd_double_materiality_assessment",
        "summary": "CSRD Double Materiality Assessment Builder",
        "description": "Build a structured CSRD double materiality assessment scoring 10 ESRS topics.\n\n**Tool URL:** https://ainumbers.co/tools/355-csrd-double-materiality-assessment-builder.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "CSRD",
          "ESRS",
          "double materiality",
          "EFRAG",
          "sustainability",
          "reporting",
          "Wave 1"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "company_type": {
                    "type": "string"
                  },
                  "sector": {
                    "type": "string"
                  }
                },
                "required": [
                  "company_type"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "build_csrd_double_materiality_assessment",
        "x-tool-url": "https://ainumbers.co/tools/355-csrd-double-materiality-assessment-builder.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/check_uk_sdr_fund_labelling_readiness": {
      "post": {
        "operationId": "check_uk_sdr_fund_labelling_readiness",
        "summary": "UK SDR Fund Labelling Readiness Checker",
        "description": "Check UK FCA SDR label eligibility and anti-greenwashing rule compliance for investment funds.\n\n**Tool URL:** https://ainumbers.co/tools/356-uk-sdr-fund-labelling-readiness-checker.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "FCA",
          "SDR",
          "sustainability label",
          "PS23/16",
          "anti-greenwashing",
          "UK",
          "fund"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "fund_type": {
                    "type": "string"
                  },
                  "label_sought": {
                    "type": "string"
                  }
                },
                "required": [
                  "fund_type",
                  "label_sought"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "check_uk_sdr_fund_labelling_readiness",
        "x-tool-url": "https://ainumbers.co/tools/356-uk-sdr-fund-labelling-readiness-checker.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/calculate_crr3_output_floor_phase_in": {
      "post": {
        "operationId": "calculate_crr3_output_floor_phase_in",
        "summary": "CRR3 Output Floor Phase-In Capital Impact Calculator",
        "description": "Calculate year-by-year CRR3 output floor capital impact as floor ramps 50% to 72.5% 2025-2030.\n\n**Tool URL:** https://ainumbers.co/tools/357-crr3-output-floor-phase-in-calculator.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "CRR3",
          "output floor",
          "Basel III",
          "phase-in",
          "CET1",
          "capital",
          "EU 2024/1623"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "internal_trea_bn": {
                    "type": "number"
                  },
                  "sa_trea_bn": {
                    "type": "number"
                  },
                  "cet1_capital_bn": {
                    "type": "number"
                  }
                },
                "required": [
                  "internal_trea_bn",
                  "sa_trea_bn"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "calculate_crr3_output_floor_phase_in",
        "x-tool-url": "https://ainumbers.co/tools/357-crr3-output-floor-phase-in-calculator.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/build_dora_ict_tpp_register": {
      "post": {
        "operationId": "build_dora_ict_tpp_register",
        "summary": "DORA ICT Third-Party Provider Register of Information Builder",
        "description": "Build and validate DORA Art.28 Register of Information for ICT third-party providers.\n\n**Tool URL:** https://ainumbers.co/tools/358-dora-ict-tpp-register-builder.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "DORA",
          "ICT",
          "third-party",
          "register",
          "Art.28",
          "Art.30",
          "EBA",
          "ITS",
          "EU 2022/2554"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "entity_type": {
                    "type": "string"
                  },
                  "total_contracts": {
                    "type": "number"
                  }
                },
                "required": [
                  "entity_type"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "build_dora_ict_tpp_register",
        "x-tool-url": "https://ainumbers.co/tools/358-dora-ict-tpp-register-builder.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/assess_dora_tlpt_scope_frequency": {
      "post": {
        "operationId": "assess_dora_tlpt_scope_frequency",
        "summary": "DORA TLPT Scope & Frequency Assessor",
        "description": "Assess DORA Art.26 TLPT obligation, TIBER-EU framework requirements, and programme readiness scoring.\n\n**Tool URL:** https://ainumbers.co/tools/359-dora-tlpt-scope-assessor.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "DORA",
          "TLPT",
          "TIBER-EU",
          "CBEST",
          "penetration testing",
          "Art.26",
          "cyber resilience"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "entity_type": {
                    "type": "string"
                  },
                  "systemic_importance": {
                    "type": "string"
                  }
                },
                "required": [
                  "entity_type",
                  "systemic_importance"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "assess_dora_tlpt_scope_frequency",
        "x-tool-url": "https://ainumbers.co/tools/359-dora-tlpt-scope-assessor.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/map_fida_open_finance_data_scope": {
      "post": {
        "operationId": "map_fida_open_finance_data_scope",
        "summary": "FiDA Open Finance Data Access Scope Mapper",
        "description": "Map FiDA obligations, in-scope data categories, FDSS participation, and API readiness for EU open finance 2027+.\n\n**Tool URL:** https://ainumbers.co/tools/360-fida-open-finance-data-scope-mapper.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "FiDA",
          "open finance",
          "data sharing",
          "FDSS",
          "PSD3",
          "API",
          "FAPI 2.0",
          "2027"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "entity_type": {
                    "type": "string"
                  }
                },
                "required": [
                  "entity_type"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "map_fida_open_finance_data_scope",
        "x-tool-url": "https://ainumbers.co/tools/360-fida-open-finance-data-scope-mapper.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/361_iso8583_message_decoder": {
      "post": {
        "operationId": "361_iso8583_message_decoder",
        "summary": "ISO 8583 Message Decoder",
        "description": "Decode ISO 8583 financial transaction messages. Parse MTI, bitmaps, and all data elements DE 1–128. Full DE 39 response code lookup. Client-side, no data transmitted.\n\n**Tool URL:** https://ainumbers.co/tools/361-iso8583-message-decoder.html",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "361_iso8583_message_decoder",
        "x-tool-url": "https://ainumbers.co/tools/361-iso8583-message-decoder.html",
        "x-source": "manifest"
      }
    },
    "/v1/tools/362_payment_return_code_library": {
      "post": {
        "operationId": "362_payment_return_code_library",
        "summary": "Payment Return & Reject Code Library",
        "description": "Unified searchable reference for payment return and reject codes: SEPA R-transactions, NACHA ACH, FedNow, UK Faster Payments, and SWIFT rejection codes. No API. No PII.\n\n**Tool URL:** https://ainumbers.co/tools/362-payment-return-code-library.html",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "362_payment_return_code_library",
        "x-tool-url": "https://ainumbers.co/tools/362-payment-return-code-library.html",
        "x-source": "manifest"
      }
    },
    "/v1/tools/363_lei_bic_iban_decoder": {
      "post": {
        "operationId": "363_lei_bic_iban_decoder",
        "summary": "LEI / BIC / IBAN Anatomy Decoder",
        "description": "Decode and validate LEI (Legal Entity Identifier), BIC/SWIFT codes, and IBANs in one tool. Check digit validation, anatomy breakdown, and SEPA reachability. Client-side, no PII transmitted.\n\n**Tool URL:** https://ainumbers.co/tools/363-lei-bic-iban-decoder.html",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "363_lei_bic_iban_decoder",
        "x-tool-url": "https://ainumbers.co/tools/363-lei-bic-iban-decoder.html",
        "x-source": "manifest"
      }
    },
    "/v1/tools/364_tcfd_issb_climate_risk_builder": {
      "post": {
        "operationId": "364_tcfd_issb_climate_risk_builder",
        "summary": "TCFD / ISSB S2 Climate Risk Disclosure Builder",
        "description": "Map climate-related risks to TCFD/ISSB S2 pillars. Score readiness across Governance, Strategy, Risk Management, and Metrics & Targets. Generate disclosure checklists and gap-remediation priorities. Client-side, no PII.\n\n**Tool URL:** https://ainumbers.co/tools/364-tcfd-issb-climate-risk-builder.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "364_tcfd_issb_climate_risk_builder",
        "x-tool-url": "https://ainumbers.co/tools/364-tcfd-issb-climate-risk-builder.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/365_greenwashing_risk_assessor": {
      "post": {
        "operationId": "365_greenwashing_risk_assessor",
        "summary": "Greenwashing Risk Assessor",
        "description": "Score a financial product's sustainability claims against ESMA anti-greenwashing guidance (2024), FCA PS23/16, UK SDR, and SFDR. Claim-by-claim assessment and remediation checklist. Client-side, no PII.\n\n**Tool URL:** https://ainumbers.co/tools/365-greenwashing-risk-assessor.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "365_greenwashing_risk_assessor",
        "x-tool-url": "https://ainumbers.co/tools/365-greenwashing-risk-assessor.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/366_sll_kpi_adequacy_checker": {
      "post": {
        "operationId": "366_sll_kpi_adequacy_checker",
        "summary": "SLL / SLB KPI Adequacy Checker",
        "description": "Assess whether proposed KPIs for a Sustainability-Linked Loan or Bond meet the five ICMA SLP / LMA SLLP adequacy criteria. Score materiality, measurability, verifiability, ambition, and strategy alignment. Export for lender credit committee review.\n\n**Tool URL:** https://ainumbers.co/tools/366-sll-kpi-adequacy-checker.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "366_sll_kpi_adequacy_checker",
        "x-tool-url": "https://ainumbers.co/tools/366-sll-kpi-adequacy-checker.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/367_regulatory_acronym_reference": {
      "post": {
        "operationId": "367_regulatory_acronym_reference",
        "summary": "Payment & Fintech Regulatory Acronym Reference",
        "description": "Searchable reference of 250+ payment and fintech regulatory abbreviations, standards, and frameworks. Covers EU, US, international standards, scheme rules, and agentic payment protocols. Client-side, no API.\n\n**Tool URL:** https://ainumbers.co/tools/367-regulatory-acronym-reference.html",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "367_regulatory_acronym_reference",
        "x-tool-url": "https://ainumbers.co/tools/367-regulatory-acronym-reference.html",
        "x-source": "manifest"
      }
    },
    "/v1/tools/368_csdr_settlement_fails_penalty_calculator": {
      "post": {
        "operationId": "368_csdr_settlement_fails_penalty_calculator",
        "summary": "CSDR Settlement Fails Cash Penalty Calculator &middot; AINumbers.co",
        "description": "Calculate daily and cumulative cash penalties for settlement fails under CSDR/CSDR Refit settlement discipline. Covers all instrument types, buy-in trigger logic, break-even analysis, and AP2 JSON export.\n\n**Tool URL:** https://ainumbers.co/tools/368-csdr-settlement-fails-penalty-calculator.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "368_csdr_settlement_fails_penalty_calculator",
        "x-tool-url": "https://ainumbers.co/tools/368-csdr-settlement-fails-penalty-calculator.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/369_t1_post_trade_workflow_timing_assessor": {
      "post": {
        "operationId": "369_t1_post_trade_workflow_timing_assessor",
        "summary": "T+1 Post-Trade Workflow Timing Assessor",
        "description": "Assess whether your firm's post-trade workflow meets UK AST Code of Conduct and EU T+1 taskforce timing requirements. Step-by-step PASS/FAIL scoring, chain break identification, remediation actions, and AP2 export. Client-side, zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/369-t1-post-trade-workflow-timing-assessor.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "369_t1_post_trade_workflow_timing_assessor",
        "x-tool-url": "https://ainumbers.co/tools/369-t1-post-trade-workflow-timing-assessor.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/bin_iin_intelligence_workbench": {
      "post": {
        "operationId": "bin_iin_intelligence_workbench",
        "summary": "BIN / IIN Intelligence Workbench",
        "description": "Decode Bank Identification Numbers without an API key. Luhn-validate PANs, identify card network, infer card type, flag SCA applicability, map interchange tier. Batch CSV mode. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/37-bin-iin-intelligence-workbench.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "bin_iin_intelligence_workbench",
        "x-tool-url": "https://ainumbers.co/tools/37-bin-iin-intelligence-workbench.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/370_settlement_efficiency_rate_calculator": {
      "post": {
        "operationId": "370_settlement_efficiency_rate_calculator",
        "summary": "Settlement Efficiency Rate Calculator &amp; AST Benchmark",
        "description": "Calculate your firm's Settlement Efficiency Rate (SER) by fail cause, benchmark against the UK AST target of 98% by value, and map the improvement trajectory to July-September 2027. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/370-settlement-efficiency-rate-calculator.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "370_settlement_efficiency_rate_calculator",
        "x-tool-url": "https://ainumbers.co/tools/370-settlement-efficiency-rate-calculator.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/371_securities_lending_recall_revenue_impact_modeler": {
      "post": {
        "operationId": "371_securities_lending_recall_revenue_impact_modeler",
        "summary": "Securities Lending Recall Revenue Impact Modeler",
        "description": "Model the revenue impact on a securities lending programme of shortening recall periods to comply with UK T+1 settlement (October 2027). Quantifies revenue lost from tenor compression, CSDR penalty savings, and optimal rebalancing strategy.\n\n**Tool URL:** https://ainumbers.co/tools/371-securities-lending-recall-revenue-impact-modeler.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "371_securities_lending_recall_revenue_impact_modeler",
        "x-tool-url": "https://ainumbers.co/tools/371-securities-lending-recall-revenue-impact-modeler.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/372_buyin_scope_classifier_cost_penalty_estimator": {
      "post": {
        "operationId": "372_buyin_scope_classifier_cost_penalty_estimator",
        "summary": "Buy-In Scope Classifier &amp; Cost vs. Penalty Estimator",
        "description": "CSDR Art.7 buy-in scope classifier: determines trigger status, calculates cumulative cash penalties, estimates buy-in execution cost, and recommends accept-penalty vs execute buy-in. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/372-buyin-scope-classifier-cost-penalty-estimator.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "372_buyin_scope_classifier_cost_penalty_estimator",
        "x-tool-url": "https://ainumbers.co/tools/372-buyin-scope-classifier-cost-penalty-estimator.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/373_non_dvp_retail_fund_settlement_impact_assessor": {
      "post": {
        "operationId": "373_non_dvp_retail_fund_settlement_impact_assessor",
        "summary": "Non-DVP Retail Fund Settlement Impact Assessor",
        "description": "Assess the T+1 settlement impact on retail fund firms using non-DVP (BACS-based) settlement flows. Models cost uplift of migrating to Faster Payments or CHAPS rails. UK AST Code of Conduct compliance. Client-side, zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/373-non-dvp-retail-fund-settlement-impact-assessor.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "373_non_dvp_retail_fund_settlement_impact_assessor",
        "x-tool-url": "https://ainumbers.co/tools/373-non-dvp-retail-fund-settlement-impact-assessor.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/build_visa_vic_agent_token_scope": {
      "post": {
        "operationId": "build_visa_vic_agent_token_scope",
        "summary": "Visa Intelligent Commerce Agent Token Scope & Spend Control Policy Builder",
        "description": "Builds and validates a Visa Intelligent Commerce (VIC) agent-scoped payment credential — TAP-verified agent identity, MCC whitelist/blacklist, spend caps, credential lifecycle, payment rails (fiat/stablecoin), and consumer consent tier. Exports an AP2 Policy Mandate. Zero PII. Zero network.\n\n**Tool URL:** https://ainumbers.co/tools/374-visa-vic-agent-token-scope-builder.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "Visa",
          "VIC",
          "Visa Intelligent Commerce",
          "agent token",
          "TAP",
          "spend controls",
          "agentic payments",
          "stablecoin",
          "AP2"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "vic_token_scope": {
                    "type": "object",
                    "description": "VIC agent token scope descriptor"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "token_scope": {
                      "type": "object"
                    },
                    "findings": {
                      "type": "array"
                    },
                    "risk_level": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "build_visa_vic_agent_token_scope",
        "x-tool-url": "https://ainumbers.co/tools/374-visa-vic-agent-token-scope-builder.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/score_visa_agentic_ready_readiness": {
      "post": {
        "operationId": "score_visa_agentic_ready_readiness",
        "summary": "Visa Agentic Ready Program Issuer & Processor Readiness Scorer",
        "description": "Scores an institution across all six VIC Agentic Ready requirement pillars and outputs an implementation gap report with Q3 2026-Q1 2027 milestone dates.\n\n**Tool URL:** https://ainumbers.co/tools/375-visa-agentic-ready-issuer-readiness-scorer.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "Visa",
          "Agentic Ready",
          "VIC",
          "Intelligent Commerce",
          "agent token",
          "TAP",
          "spend controls",
          "stablecoin",
          "issuer readiness",
          "payments"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "institution_type": {
                    "type": "string"
                  },
                  "tier": {
                    "type": "string"
                  },
                  "pillar_scores": {
                    "type": "array",
                    "items": {
                      "type": "integer"
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "overall_score": {
                      "type": "number"
                    },
                    "tier_eligibility": {
                      "type": "string"
                    },
                    "pillar_scores": {
                      "type": "array"
                    },
                    "gaps": {
                      "type": "array"
                    },
                    "roadmap": {
                      "type": "object"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "score_visa_agentic_ready_readiness",
        "x-tool-url": "https://ainumbers.co/tools/375-visa-agentic-ready-issuer-readiness-scorer.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/376_fca_operational_resilience_impact_tolerance_builder": {
      "post": {
        "operationId": "376_fca_operational_resilience_impact_tolerance_builder",
        "summary": "FCA Operational Resilience Impact Tolerance Builder",
        "description": "Build and self-assess UK FCA PS21/3 operational resilience Important Business Services and impact tolerances. Map vulnerabilities and scenario-test tolerance breaches. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/376-fca-operational-resilience-impact-tolerance-builder.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "376_fca_operational_resilience_impact_tolerance_builder",
        "x-tool-url": "https://ainumbers.co/tools/376-fca-operational-resilience-impact-tolerance-builder.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/377_open_finance_data_product_revenue_modeler": {
      "post": {
        "operationId": "377_open_finance_data_product_revenue_modeler",
        "summary": "Open Finance Data Product Revenue Modeler",
        "description": "Model the commercial case for financial data products under FIDA and UK open finance. Estimate API pricing, TPP revenue share, and compliance cost offsets. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/377-open-finance-data-product-revenue-modeler.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "377_open_finance_data_product_revenue_modeler",
        "x-tool-url": "https://ainumbers.co/tools/377-open-finance-data-product-revenue-modeler.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/378_us_eu_settlement_mismatch_impact_estimator": {
      "post": {
        "operationId": "378_us_eu_settlement_mismatch_impact_estimator",
        "summary": "US-EU Settlement Mismatch Impact Estimator",
        "description": "Quantify the operational cost of the US T+1 vs EU T+2 settlement mismatch for cross-border broker-dealers and custodians. Models failed trade costs, pre-funding, FX exposure. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/378-us-eu-settlement-mismatch-impact-estimator.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "378_us_eu_settlement_mismatch_impact_estimator",
        "x-tool-url": "https://ainumbers.co/tools/378-us-eu-settlement-mismatch-impact-estimator.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/379_cbdc_pilot_participation_readiness_assessor": {
      "post": {
        "operationId": "379_cbdc_pilot_participation_readiness_assessor",
        "summary": "CBDC Pilot Participation Readiness Assessor",
        "description": "Evaluate a financial institution's readiness to join a CBDC pilot across technology, legal, AML/KYC, liquidity, and operations. Covers digital euro, Fed experiments, mBridge. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/379-cbdc-pilot-participation-readiness-assessor.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "379_cbdc_pilot_participation_readiness_assessor",
        "x-tool-url": "https://ainumbers.co/tools/379-cbdc-pilot-participation-readiness-assessor.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/380_physical_climate_risk_assessor": {
      "post": {
        "operationId": "380_physical_climate_risk_assessor",
        "summary": "Physical Climate Risk Exposure Assessor",
        "description": "Map portfolio exposure to IPCC physical climate hazards across acute and chronic risk categories. Generates per-hazard risk scores, TCFD physical risk pillar checklist, and priority actions for disclosure.\n\n**Tool URL:** https://ainumbers.co/tools/380-physical-climate-risk-assessor.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "380_physical_climate_risk_assessor",
        "x-tool-url": "https://ainumbers.co/tools/380-physical-climate-risk-assessor.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/381_eu_green_bond_standard_screener": {
      "post": {
        "operationId": "381_eu_green_bond_standard_screener",
        "summary": "EU Green Bond Standard Eligibility Screener",
        "description": "Screen bonds against EU Green Bond Standard (Regulation EU 2023/2631). Check taxonomy alignment, use of proceeds exclusivity, pre-issuance factsheet, accredited external verifier, and post-issuance reporting obligations. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/381-eu-green-bond-standard-screener.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "381_eu_green_bond_standard_screener",
        "x-tool-url": "https://ainumbers.co/tools/381-eu-green-bond-standard-screener.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/382_net_zero_alignment_scorer": {
      "post": {
        "operationId": "382_net_zero_alignment_scorer",
        "summary": "Net Zero Alignment Scorer",
        "description": "Assess portfolio or firm alignment with SBTi, NZAM, and Paris Agreement 1.5°C frameworks. Per-framework scores, gap analysis, and prioritised decarbonisation actions. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/382-net-zero-alignment-scorer.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "382_net_zero_alignment_scorer",
        "x-tool-url": "https://ainumbers.co/tools/382-net-zero-alignment-scorer.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/383_tnfd_nature_biodiversity_assessor": {
      "post": {
        "operationId": "383_tnfd_nature_biodiversity_assessor",
        "summary": "TNFD Nature &amp; Biodiversity Risk Assessor",
        "description": "Assess nature-related financial risks using the TNFD LEAP framework. Score ecosystem service dependencies, evaluate LEAP readiness, and generate a TNFD-aligned disclosure checklist by sector. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/383-tnfd-nature-biodiversity-assessor.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "383_tnfd_nature_biodiversity_assessor",
        "x-tool-url": "https://ainumbers.co/tools/383-tnfd-nature-biodiversity-assessor.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/384_sfdr_pai_indicator_calculator": {
      "post": {
        "operationId": "384_sfdr_pai_indicator_calculator",
        "summary": "SFDR PAI Indicator Calculator",
        "description": "Calculate the 14 mandatory Principal Adverse Impact (PAI) indicators for SFDR Article 4/8/9 fund reporting under Regulation EU 2019/2088 and RTS 2022. Coverage-adjusted disclosure scoring. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/384-sfdr-pai-indicator-calculator.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "384_sfdr_pai_indicator_calculator",
        "x-tool-url": "https://ainumbers.co/tools/384-sfdr-pai-indicator-calculator.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/385_transition_plan_adequacy_checker": {
      "post": {
        "operationId": "385_transition_plan_adequacy_checker",
        "summary": "Transition Plan Adequacy Checker &middot; AINumbers.co",
        "description": "Evaluate transition plan quality against FCA PS23/24, EU CSRD/CS3D, and ISSB S2. Scores ambition, milestones, CapEx alignment, governance, and supply chain coverage. Gap registry and narrative checklist. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/385-transition-plan-adequacy-checker.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "385_transition_plan_adequacy_checker",
        "x-tool-url": "https://ainumbers.co/tools/385-transition-plan-adequacy-checker.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/assess_genius_act_payment_stablecoin_compliance": {
      "post": {
        "operationId": "assess_genius_act_payment_stablecoin_compliance",
        "summary": "GENIUS Act Payment Stablecoin Compliance Checker",
        "description": "Tests issuer structure against GENIUS Act §2 payment stablecoin definition; routes to OCC bank trust, state, or federal nonbank licensing path.\n\n**Tool URL:** https://ainumbers.co/tools/386-genius-act-payment-stablecoin-compliance-checker.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "genius",
          "act",
          "stablecoin",
          "payment",
          "stablecoin",
          "definition",
          "occ",
          "federal",
          "reserve",
          "state"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "result": {
                      "type": "object"
                    },
                    "summary": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "assess_genius_act_payment_stablecoin_compliance",
        "x-tool-url": "https://ainumbers.co/tools/386-genius-act-payment-stablecoin-compliance-checker.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/select_genius_act_licensing_path": {
      "post": {
        "operationId": "select_genius_act_licensing_path",
        "summary": "GENIUS Act State vs. Federal Licensing Path Selector",
        "description": "Routes stablecoin issuers to OCC, state-licensed, or federally qualified nonbank path with timeline, capital requirements, and obligations.\n\n**Tool URL:** https://ainumbers.co/tools/387-genius-act-state-federal-licensing-path-selector.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "genius",
          "act",
          "stablecoin",
          "licensing",
          "path",
          "occ",
          "nonbank",
          "state",
          "regulator",
          "ppsi"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "result": {
                      "type": "object"
                    },
                    "summary": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "select_genius_act_licensing_path",
        "x-tool-url": "https://ainumbers.co/tools/387-genius-act-state-federal-licensing-path-selector.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/model_stablecoin_reserve_stress": {
      "post": {
        "operationId": "model_stablecoin_reserve_stress",
        "summary": "Stablecoin Reserve Stress Test Modeller",
        "description": "Models reserve adequacy under redemption surge and market shock per GENIUS Act §4. Outputs days-to-zero, stressed coverage ratio, §4 compliance flag.\n\n**Tool URL:** https://ainumbers.co/tools/388-stablecoin-reserve-stress-test-modeller.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "genius",
          "act",
          "stablecoin",
          "reserve",
          "stress",
          "test",
          "t-bills",
          "repo",
          "insured",
          "deposits"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "result": {
                      "type": "object"
                    },
                    "summary": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "model_stablecoin_reserve_stress",
        "x-tool-url": "https://ainumbers.co/tools/388-stablecoin-reserve-stress-test-modeller.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/build_genius_act_disclosure_report": {
      "post": {
        "operationId": "build_genius_act_disclosure_report",
        "summary": "GENIUS Act Disclosure & Reporting Builder",
        "description": "Generates required reserve reports and public disclosures per GENIUS Act §8. Produces structured disclosure template and §8 compliance checklist.\n\n**Tool URL:** https://ainumbers.co/tools/389-genius-act-disclosure-reporting-builder.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "genius",
          "act",
          "stablecoin",
          "disclosure",
          "reporting",
          "reserve",
          "attestation",
          "monthly",
          "compliance",
          "builder"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "result": {
                      "type": "object"
                    },
                    "summary": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "build_genius_act_disclosure_report",
        "x-tool-url": "https://ainumbers.co/tools/389-genius-act-disclosure-reporting-builder.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/build_mica_white_paper": {
      "post": {
        "operationId": "build_mica_white_paper",
        "summary": "MiCA ARF/EMT White Paper Builder",
        "description": "Generates MiCA-compliant white paper structure per Articles 19 (ART) / 51 (EMT) with 22-element completeness scoring and missing sections flagged.\n\n**Tool URL:** https://ainumbers.co/tools/390-mica-white-paper-builder.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "mica",
          "crypto",
          "asset",
          "regulation",
          "art",
          "emt",
          "white",
          "paper",
          "art19",
          "art51"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "result": {
                      "type": "object"
                    },
                    "summary": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "build_mica_white_paper",
        "x-tool-url": "https://ainumbers.co/tools/390-mica-white-paper-builder.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/calculate_mica_significant_token_threshold": {
      "post": {
        "operationId": "calculate_mica_significant_token_threshold",
        "summary": "MiCA Significant Token Threshold Calculator",
        "description": "Tests ART/EMT against MiCA Article 43 significance criteria triggering EBA/ESMA dual oversight. Per-criterion Pass/Fail/Borderline scoring.\n\n**Tool URL:** https://ainumbers.co/tools/391-mica-significant-token-threshold-calculator.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "mica",
          "significant",
          "token",
          "art43",
          "art56",
          "eba",
          "esma",
          "dual",
          "oversight",
          "threshold"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "result": {
                      "type": "object"
                    },
                    "summary": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "calculate_mica_significant_token_threshold",
        "x-tool-url": "https://ainumbers.co/tools/391-mica-significant-token-threshold-calculator.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/map_mica_market_abuse_surveillance": {
      "post": {
        "operationId": "map_mica_market_abuse_surveillance",
        "summary": "MiCA Market Abuse Surveillance Mapper",
        "description": "Maps MiCA Title VI insider dealing and market manipulation rules to required surveillance systems and STOR obligations per entity type.\n\n**Tool URL:** https://ainumbers.co/tools/392-mica-market-abuse-surveillance-mapper.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "mica",
          "market",
          "abuse",
          "insider",
          "dealing",
          "manipulation",
          "art88-97",
          "casp",
          "issuer",
          "stor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "result": {
                      "type": "object"
                    },
                    "summary": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "map_mica_market_abuse_surveillance",
        "x-tool-url": "https://ainumbers.co/tools/392-mica-market-abuse-surveillance-mapper.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/assess_mica_casp_passporting_readiness": {
      "post": {
        "operationId": "assess_mica_casp_passporting_readiness",
        "summary": "MiCA CASP Cross-Border Passporting Readiness Checker",
        "description": "Assesses readiness for CASPs planning EU-wide passporting under MiCA Article 60. Per-target-state compliance gaps and notification obligations.\n\n**Tool URL:** https://ainumbers.co/tools/393-mica-casp-passporting-readiness-checker.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "mica",
          "casp",
          "passporting",
          "art60",
          "eu27",
          "nca",
          "notification",
          "freedom",
          "services",
          "branch"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "result": {
                      "type": "object"
                    },
                    "summary": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "assess_mica_casp_passporting_readiness",
        "x-tool-url": "https://ainumbers.co/tools/393-mica-casp-passporting-readiness-checker.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/map_mica_periodic_reporting_obligations": {
      "post": {
        "operationId": "map_mica_periodic_reporting_obligations",
        "summary": "MiCA Periodic Reporting Obligation Tracker",
        "description": "Schedules all MiCA ongoing reporting obligations by entity type and significant status — full annual calendar with deadlines and recipients.\n\n**Tool URL:** https://ainumbers.co/tools/394-mica-periodic-reporting-obligation-mapper.html",
        "tags": [
          "mica",
          "reporting",
          "obligations",
          "casp",
          "art",
          "issuer",
          "emt",
          "nca",
          "eba",
          "esma"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "result": {
                      "type": "object"
                    },
                    "summary": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "map_mica_periodic_reporting_obligations",
        "x-tool-url": "https://ainumbers.co/tools/394-mica-periodic-reporting-obligation-mapper.html",
        "x-source": "manifest"
      }
    },
    "/v1/tools/assess_consumer_duty_vulnerability": {
      "post": {
        "operationId": "assess_consumer_duty_vulnerability",
        "summary": "Consumer Duty Vulnerability Assessment Builder",
        "description": "Maps vulnerable customer segments to FCA Consumer Duty four outcome areas. 4×4 RAG matrix with gap list and required actions per PS22/9 and FG21/1.\n\n**Tool URL:** https://ainumbers.co/tools/395-consumer-duty-vulnerability-assessment-builder.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "fca",
          "consumer",
          "duty",
          "ps22/9",
          "vulnerability",
          "fg21/1",
          "four",
          "outcomes",
          "rag",
          "matrix"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "result": {
                      "type": "object"
                    },
                    "summary": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "assess_consumer_duty_vulnerability",
        "x-tool-url": "https://ainumbers.co/tools/395-consumer-duty-vulnerability-assessment-builder.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/assess_consumer_duty_price_value": {
      "post": {
        "operationId": "assess_consumer_duty_price_value",
        "summary": "Consumer Duty Price & Value Assessment Tool",
        "description": "Tests product/service against FCA PRIN 2A.4 price and value outcome. Five-factor scoring with Pass/Review/Fail verdict and price band recommendations.\n\n**Tool URL:** https://ainumbers.co/tools/396-consumer-duty-price-value-assessment.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "fca",
          "consumer",
          "duty",
          "prin",
          "2a.4",
          "price",
          "value",
          "assessment",
          "ps22/9",
          "fair"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "result": {
                      "type": "object"
                    },
                    "summary": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "assess_consumer_duty_price_value",
        "x-tool-url": "https://ainumbers.co/tools/396-consumer-duty-price-value-assessment.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/build_consumer_duty_mi_framework": {
      "post": {
        "operationId": "build_consumer_duty_mi_framework",
        "summary": "Consumer Duty MI Framework Builder",
        "description": "Generates 16-metric MI framework covering all four Consumer Duty outcomes with data sources, frequency, owner, and escalation thresholds.\n\n**Tool URL:** https://ainumbers.co/tools/397-consumer-duty-mi-framework-builder.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "fca",
          "consumer",
          "duty",
          "ps22/9",
          "management",
          "information",
          "framework",
          "board",
          "reporting",
          "governance"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "result": {
                      "type": "object"
                    },
                    "summary": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "build_consumer_duty_mi_framework",
        "x-tool-url": "https://ainumbers.co/tools/397-consumer-duty-mi-framework-builder.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/assess_frtb_desk_ima_eligibility": {
      "post": {
        "operationId": "assess_frtb_desk_ima_eligibility",
        "summary": "FRTB Trading Desk Structure & IMA Eligibility Assessor",
        "description": "Maps trading desk boundaries and tests IMA qualification criteria under FRTB MAR30-33. Outputs eligibility, colour zone, and fallback capital add-on.\n\n**Tool URL:** https://ainumbers.co/tools/398-frtb-trading-desk-ima-eligibility-assessor.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "frtb",
          "ima",
          "trading",
          "desk",
          "mar30",
          "mar33",
          "crr3",
          "back-testing",
          "colour",
          "zone"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "result": {
                      "type": "object"
                    },
                    "summary": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "assess_frtb_desk_ima_eligibility",
        "x-tool-url": "https://ainumbers.co/tools/398-frtb-trading-desk-ima-eligibility-assessor.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/simulate_frtb_pnl_attribution_test": {
      "post": {
        "operationId": "simulate_frtb_pnl_attribution_test",
        "summary": "P&L Attribution Test Simulator",
        "description": "Simulates FRTB P&L Attribution Test. Calculates Pearson/Spearman correlations, UPL variance ratio, and Green/Amber/Red zone per MAR32.\n\n**Tool URL:** https://ainumbers.co/tools/399-pnl-attribution-test-simulator.html",
        "tags": [
          "frtb",
          "p&l",
          "attribution",
          "test",
          "plat",
          "pearson",
          "spearman",
          "correlation",
          "upl",
          "mar32"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "result": {
                      "type": "object"
                    },
                    "summary": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "simulate_frtb_pnl_attribution_test",
        "x-tool-url": "https://ainumbers.co/tools/399-pnl-attribution-test-simulator.html",
        "x-source": "manifest"
      }
    },
    "/v1/tools/calculate_sa_ccr_exposure": {
      "post": {
        "operationId": "calculate_sa_ccr_exposure",
        "summary": "SA-CCR Exposure-at-Default Calculator",
        "description": "Computes SA-CCR EAD = alpha × (RC + PFE) for derivatives per CRR2/CRR3. Full formula workings with supervisory delta and maturity factor.\n\n**Tool URL:** https://ainumbers.co/tools/400-sa-ccr-exposure-calculator.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "sa-ccr",
          "standardised",
          "counterparty",
          "credit",
          "risk",
          "ead",
          "pfe",
          "alpha",
          "1.4",
          "crr2"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "result": {
                      "type": "object"
                    },
                    "summary": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "calculate_sa_ccr_exposure",
        "x-tool-url": "https://ainumbers.co/tools/400-sa-ccr-exposure-calculator.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/select_cva_capital_framework": {
      "post": {
        "operationId": "select_cva_capital_framework",
        "summary": "CVA Capital Framework Selector",
        "description": "Routes banks to BA-CVA vs SA-CVA vs Simplified based on portfolio, waiver eligibility, and complexity per CRR2/CRR3 Articles 381-386.\n\n**Tool URL:** https://ainumbers.co/tools/401-cva-capital-framework-selector.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "cva",
          "capital",
          "ba-cva",
          "sa-cva",
          "simplified",
          "crr3",
          "g-sib",
          "waiver",
          "eba",
          "rts"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "result": {
                      "type": "object"
                    },
                    "summary": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "select_cva_capital_framework",
        "x-tool-url": "https://ainumbers.co/tools/401-cva-capital-framework-selector.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/decode_swift_mt_mx_field_migration": {
      "post": {
        "operationId": "decode_swift_mt_mx_field_migration",
        "summary": "SWIFT MT→MX Field Migration Decoder",
        "description": "Maps legacy SWIFT MT fields (MT103/MT202/MT940/MT950) to ISO 20022 MX equivalents with truncation alerts and coexistence period guidance.\n\n**Tool URL:** https://ainumbers.co/tools/402-swift-mt-mx-field-decoder.html",
        "tags": [
          "swift",
          "iso20022",
          "migration",
          "mt103",
          "mt202",
          "pacs008",
          "field",
          "mapping",
          "truncation",
          "hvps"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "result": {
                      "type": "object"
                    },
                    "summary": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "decode_swift_mt_mx_field_migration",
        "x-tool-url": "https://ainumbers.co/tools/402-swift-mt-mx-field-decoder.html",
        "x-source": "manifest"
      }
    },
    "/v1/tools/resolve_payment_error_code": {
      "post": {
        "operationId": "resolve_payment_error_code",
        "summary": "Payment Error Code Resolver",
        "description": "Resolves payment decline/error codes across 8 rails (SWIFT, SEPA, NACHA ACH, Visa, Mastercard, FPS, FedNow, RTP) with root cause and remediation steps.\n\n**Tool URL:** https://ainumbers.co/tools/403-payment-error-code-resolver.html",
        "tags": [
          "payment",
          "error",
          "code",
          "decline",
          "resolver",
          "swift",
          "sepa",
          "nacha",
          "ach",
          "visa"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "result": {
                      "type": "object"
                    },
                    "summary": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "resolve_payment_error_code",
        "x-tool-url": "https://ainumbers.co/tools/403-payment-error-code-resolver.html",
        "x-source": "manifest"
      }
    },
    "/v1/tools/assess_payment_institution_authorisation_readiness": {
      "post": {
        "operationId": "assess_payment_institution_authorisation_readiness",
        "summary": "Payment Institution Authorisation Readiness Checker",
        "description": "Gaps PI/EMI licence applications against FCA and EU NCA requirements. Readiness score 0-100 with gap list per PSD2/PSR 2017 Article requirement.\n\n**Tool URL:** https://ainumbers.co/tools/404-payment-institution-authorisation-readiness-checker.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "emi",
          "authorisation",
          "readiness",
          "fca",
          "psd2",
          "psrs",
          "2017",
          "payment",
          "institution",
          "capital"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "result": {
                      "type": "object"
                    },
                    "summary": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "assess_payment_institution_authorisation_readiness",
        "x-tool-url": "https://ainumbers.co/tools/404-payment-institution-authorisation-readiness-checker.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/calculate_emi_capital_requirements": {
      "post": {
        "operationId": "calculate_emi_capital_requirements",
        "summary": "E-Money Institution Capital Requirements Calculator",
        "description": "Computes EMI own-funds requirement per EMD2 Article 5 Methods A/B/C. Comparison table across all three methods with recommended approach.\n\n**Tool URL:** https://ainumbers.co/tools/405-emi-capital-requirements-calculator.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "emi",
          "capital",
          "requirements",
          "method",
          "emd2",
          "emr",
          "own",
          "funds",
          "ongoing",
          "initial"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "result": {
                      "type": "object"
                    },
                    "summary": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "calculate_emi_capital_requirements",
        "x-tool-url": "https://ainumbers.co/tools/405-emi-capital-requirements-calculator.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/split_psr_app_reimbursement_liability": {
      "post": {
        "operationId": "split_psr_app_reimbursement_liability",
        "summary": "PSR APP Reimbursement Liability Splitter",
        "description": "Allocates APP fraud reimbursement liability between sending and receiving PSPs under UK PSR PS23/3 (Oct 2024). Computes £ splits and claim eligibility.\n\n**Tool URL:** https://ainumbers.co/tools/406-psr-app-reimbursement-liability-splitter.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "psr",
          "app",
          "fraud",
          "reimbursement",
          "sending",
          "receiving",
          "psp",
          "liability",
          "ps23/3",
          "october"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "result": {
                      "type": "object"
                    },
                    "summary": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "split_psr_app_reimbursement_liability",
        "x-tool-url": "https://ainumbers.co/tools/406-psr-app-reimbursement-liability-splitter.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/assess_fida_fip_authorisation_readiness": {
      "post": {
        "operationId": "assess_fida_fip_authorisation_readiness",
        "summary": "FIDA FIP Authorisation Readiness Builder",
        "description": "Gaps FIP licence applications against EU FIDA Regulation Articles 14-25. Readiness score 0-100 with authorisation timeline and technical standards.\n\n**Tool URL:** https://ainumbers.co/tools/407-fida-fip-authorisation-readiness-builder.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "fida",
          "financial",
          "information",
          "service",
          "provider",
          "fip",
          "authorisation",
          "com/2023/360",
          "article",
          "14-25"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "result": {
                      "type": "object"
                    },
                    "summary": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "assess_fida_fip_authorisation_readiness",
        "x-tool-url": "https://ainumbers.co/tools/407-fida-fip-authorisation-readiness-builder.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/check_fida_permission_scheme_scope": {
      "post": {
        "operationId": "check_fida_permission_scheme_scope",
        "summary": "FIDA Permission Scheme Scope Checker",
        "description": "Maps data categories to FIDA permission scheme vs PSD2/open banking obligations. In Scope / Out of Scope / Existing Obligation per data type.\n\n**Tool URL:** https://ainumbers.co/tools/408-fida-permission-scheme-scope-checker.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "fida",
          "permission",
          "scheme",
          "scope",
          "psd2",
          "banking",
          "investment",
          "insurance",
          "pensions",
          "mortgage"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "result": {
                      "type": "object"
                    },
                    "summary": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "check_fida_permission_scheme_scope",
        "x-tool-url": "https://ainumbers.co/tools/408-fida-permission-scheme-scope-checker.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/calculate_open_finance_api_monetisation": {
      "post": {
        "operationId": "calculate_open_finance_api_monetisation",
        "summary": "Open Finance API Monetisation Calculator",
        "description": "Models revenue scenarios for data holders offering premium open finance API access under FIDA. 3-year projection, margin analysis, and break-even.\n\n**Tool URL:** https://ainumbers.co/tools/409-open-finance-api-monetisation-calculator.html",
        "tags": [
          "open",
          "finance",
          "fida",
          "api",
          "monetisation",
          "revenue",
          "tiered",
          "pricing",
          "cost-to-serve",
          "break-even"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "result": {
                      "type": "object"
                    },
                    "summary": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "calculate_open_finance_api_monetisation",
        "x-tool-url": "https://ainumbers.co/tools/409-open-finance-api-monetisation-calculator.html",
        "x-source": "manifest"
      }
    },
    "/v1/tools/chargeback_representment_builder": {
      "post": {
        "operationId": "chargeback_representment_builder",
        "summary": "Chargeback Representment Builder",
        "description": "Build chargeback representment packages for Visa, Mastercard, Amex, Discover. Reason code intelligence, CE 3.0 checker, win-probability estimator, letter templates. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/41-chargeback-representment-builder.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "chargeback_representment_builder",
        "x-tool-url": "https://ainumbers.co/tools/41-chargeback-representment-builder.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/map_fida_cross_sector_data_scope": {
      "post": {
        "operationId": "map_fida_cross_sector_data_scope",
        "summary": "FIDA Cross-Sector Data Scope Mapper",
        "description": "Maps insurance, pension, mortgage, and investment data into FIDA scope with Phase 1/2/3 implementation timeline per sector and standardisation body.\n\n**Tool URL:** https://ainumbers.co/tools/410-fida-cross-sector-data-scope-mapper.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "fida",
          "cross-sector",
          "data",
          "scope",
          "insurance",
          "pensions",
          "mortgage",
          "investment",
          "phase",
          "timeline"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "result": {
                      "type": "object"
                    },
                    "summary": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "map_fida_cross_sector_data_scope",
        "x-tool-url": "https://ainumbers.co/tools/410-fida-cross-sector-data-scope-mapper.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/model_open_finance_business_case_roi": {
      "post": {
        "operationId": "model_open_finance_business_case_roi",
        "summary": "Open Finance Business Case ROI Modeller",
        "description": "5-year ROI model with NPV, payback period, and ±20%/±30% sensitivity analysis for open finance API investment decisions.\n\n**Tool URL:** https://ainumbers.co/tools/411-open-finance-business-case-roi-modeller.html",
        "tags": [
          "open",
          "finance",
          "business",
          "case",
          "roi",
          "npv",
          "payback",
          "5-year",
          "model",
          "fida"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "result": {
                      "type": "object"
                    },
                    "summary": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "model_open_finance_business_case_roi",
        "x-tool-url": "https://ainumbers.co/tools/411-open-finance-business-case-roi-modeller.html",
        "x-source": "manifest"
      }
    },
    "/v1/tools/assess_mifid3_ifr_investment_firm_impact": {
      "post": {
        "operationId": "assess_mifid3_ifr_investment_firm_impact",
        "summary": "MiFID III / IFR Investment Firm Impact Assessor",
        "description": "Calculates IFR K-factor capital requirements (K-AUM + K-COH + K-ASA) by firm class and assesses MiFID III reform impact across best execution and research.\n\n**Tool URL:** https://ainumbers.co/tools/412-mifid3-ifr-investment-firm-impact-assessor.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "mifid3",
          "ifr",
          "ifd",
          "investment",
          "firm",
          "class",
          "k-factor",
          "k-aum",
          "k-coh",
          "k-asa"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "result": {
                      "type": "object"
                    },
                    "summary": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "assess_mifid3_ifr_investment_firm_impact",
        "x-tool-url": "https://ainumbers.co/tools/412-mifid3-ifr-investment-firm-impact-assessor.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/map_eu_data_act_financial_services_scope": {
      "post": {
        "operationId": "map_eu_data_act_financial_services_scope",
        "summary": "EU Data Act Financial Services Scope Mapper",
        "description": "Maps EU Data Act (Sep 2025) obligations for financial services. Articles 3-31 scope, cloud switching, public sector access, and overlap with FIDA/GDPR.\n\n**Tool URL:** https://ainumbers.co/tools/413-eu-data-act-financial-services-scope-mapper.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "data",
          "act",
          "2023/2854",
          "financial",
          "services",
          "september",
          "2025",
          "connected",
          "products",
          "cloud"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "result": {
                      "type": "object"
                    },
                    "summary": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "map_eu_data_act_financial_services_scope",
        "x-tool-url": "https://ainumbers.co/tools/413-eu-data-act-financial-services-scope-mapper.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/check_psd3_sca_transition": {
      "post": {
        "operationId": "check_psd3_sca_transition",
        "summary": "PSD3 SCA Transition Checker",
        "description": "Compares current PSD2 SCA implementation against PSD3. Gap analysis, exemption threshold changes, liability shift implications, and RTS timeline.\n\n**Tool URL:** https://ainumbers.co/tools/414-psd3-sca-transition-checker.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "psd3",
          "sca",
          "strong",
          "customer",
          "authentication",
          "transition",
          "psd2",
          "exemptions",
          "liability",
          "shift"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "result": {
                      "type": "object"
                    },
                    "summary": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "check_psd3_sca_transition",
        "x-tool-url": "https://ainumbers.co/tools/414-psd3-sca-transition-checker.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/415_scheme_fee_analyzer": {
      "post": {
        "operationId": "415_scheme_fee_analyzer",
        "summary": "Scheme Fee Analyzer",
        "description": "Break down Visa and Mastercard scheme fees for acquirers and large merchants — assessment fees, FANF, cross-border fees, NABU/NAPF — to model and benchmark total scheme cost. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/415-scheme-fee-analyzer.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "415_scheme_fee_analyzer",
        "x-tool-url": "https://ainumbers.co/tools/415-scheme-fee-analyzer.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/416_issuer_card_portfolio_pl": {
      "post": {
        "operationId": "416_issuer_card_portfolio_pl",
        "summary": "T416 — Issuer Card Portfolio P&amp;L Model",
        "description": "Model the full economics of a card issuer portfolio — net interest income, interchange revenue, annual fees, rewards cost, fraud losses, credit losses, and servicing cost — to produce per-account unit economics and portfolio ROA.\n\n**Tool URL:** https://ainumbers.co/tools/416-issuer-card-portfolio-pl.html",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "416_issuer_card_portfolio_pl",
        "x-tool-url": "https://ainumbers.co/tools/416-issuer-card-portfolio-pl.html",
        "x-source": "manifest"
      }
    },
    "/v1/tools/417_card_programme_unit_economics": {
      "post": {
        "operationId": "417_card_programme_unit_economics",
        "summary": "Card Programme Unit Economics Builder",
        "description": "Model the unit economics of a card programme — interchange split, rewards liability, marketing contribution, programme fees — to find breakeven spend-per-card and annual P&L. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/417-card-programme-unit-economics.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "417_card_programme_unit_economics",
        "x-tool-url": "https://ainumbers.co/tools/417-card-programme-unit-economics.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/418_pi_own_funds_calculator": {
      "post": {
        "operationId": "418_pi_own_funds_calculator",
        "summary": "Payment Institution Own Funds Calculator (PSD2 Art.9)",
        "description": "Computes own-funds requirement for Payment Institutions under PSD2 Article 9 / UK PSRs 2017. Methods A, B, and C comparison with capital adequacy check and Policy Mandate JSON. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/418-pi-own-funds-calculator.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "418_pi_own_funds_calculator",
        "x-tool-url": "https://ainumbers.co/tools/418-pi-own-funds-calculator.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/419_sca_exemption_classifier": {
      "post": {
        "operationId": "419_sca_exemption_classifier",
        "summary": "SCA Transaction Exemption Classifier &middot; AINumbers.co",
        "description": "Identify all applicable PSD2 / UK PSR SCA exemptions for a payment transaction, ranked by friction. Liability shift positions, regulatory basis, and AP2 export. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/419-sca-exemption-classifier.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "419_sca_exemption_classifier",
        "x-tool-url": "https://ainumbers.co/tools/419-sca-exemption-classifier.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/cashflow_forecaster_stress_lab": {
      "post": {
        "operationId": "cashflow_forecaster_stress_lab",
        "summary": "Cash Flow Forecaster & Liquidity Stress Lab",
        "description": "13-week rolling and 12-month cash flow workbench. Stackable stress scenarios. Runway warnings. Export CSV, PDF memo, AP2 JSON. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/42-cashflow-forecaster-stress-lab.html",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "cashflow_forecaster_stress_lab",
        "x-tool-url": "https://ainumbers.co/tools/42-cashflow-forecaster-stress-lab.html",
        "x-source": "manifest"
      }
    },
    "/v1/tools/420_mt700_lc_field_validator": {
      "post": {
        "operationId": "420_mt700_lc_field_validator",
        "summary": "MT700 LC Field Validator &amp; UCP 600 Compliance",
        "description": "Validate SWIFT MT700 Documentary Credit fields against UCP 600 rules and ISBP 821. Flags missing mandatory fields, format errors, date logic, and common discrepancy risks. Adds a presented-document UCP 600 discrepancy check (TF-02 rules R01-R14): compares presented documents (presentation/B/L/invoice dates, invoice amount & tolerance, goods description match, B/L ports, on-board notation, consignee, freight, partial/transhipment, insurance 110%, certificate-of-origin, originals count) against the captured LC terms, returning a per-rule PASS/FAIL/WARNING/N-A report with UCP 600 article citations, a discrepancy-count badge, an informational presentation-readiness score, and CSV export. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/420-mt700-lc-field-validator.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "420_mt700_lc_field_validator",
        "x-tool-url": "https://ainumbers.co/tools/420-mt700-lc-field-validator.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/421_supply_chain_finance_pricing": {
      "post": {
        "operationId": "421_supply_chain_finance_pricing",
        "summary": "Supply Chain Finance Programme Pricing Model",
        "description": "Model the economics of SCF programmes — reverse factoring, receivables discounting, and dynamic discounting — from buyer and supplier perspectives. Compare cost vs. WACC, yield to funder, and NPV of early payment.\n\n**Tool URL:** https://ainumbers.co/tools/421-supply-chain-finance-pricing.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "421_supply_chain_finance_pricing",
        "x-tool-url": "https://ainumbers.co/tools/421-supply-chain-finance-pricing.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/422_incoterms_2020_risk_mapper": {
      "post": {
        "operationId": "422_incoterms_2020_risk_mapper",
        "summary": "Incoterms 2020 Risk &amp; Cost Allocation Mapper &middot; AINumbers.co",
        "description": "Map risk transfer points, cost responsibilities, and insurance obligations across all 11 Incoterms 2020 rules. Compare two Incoterms side by side. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/422-incoterms-2020-risk-mapper.html",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "422_incoterms_2020_risk_mapper",
        "x-tool-url": "https://ainumbers.co/tools/422-incoterms-2020-risk-mapper.html",
        "x-source": "manifest"
      }
    },
    "/v1/tools/423_dc_vs_lc_analyzer": {
      "post": {
        "operationId": "423_dc_vs_lc_analyzer",
        "summary": "Documentary Collection vs Letter of Credit Cost-Benefit Analyzer &middot; AINumbers.co",
        "description": "Compare total cost and risk exposure of Documentary Collections (D/P, D/A) against Letters of Credit (Sight, Usance, SBLC) for trade transactions. Risk-adjusted recommendation, plus a URC 522 compliance checklist (Art. 1/4/7/24/26) and jurisdiction D/A enforceability flags (avalisation / protest) for the buyer/drawee country. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/423-dc-vs-lc-analyzer.html",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "423_dc_vs_lc_analyzer",
        "x-tool-url": "https://ainumbers.co/tools/423-dc-vs-lc-analyzer.html",
        "x-source": "manifest"
      }
    },
    "/v1/tools/424_trade_credit_country_risk": {
      "post": {
        "operationId": "424_trade_credit_country_risk",
        "summary": "Trade Credit &amp; Country Risk Assessor &middot; AINumbers.co",
        "description": "Assess combined country risk and commercial credit risk for a trade transaction. OECD Country Risk Classification, political risk overlays, and mitigation instrument recommendations. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/424-trade-credit-country-risk.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "424_trade_credit_country_risk",
        "x-tool-url": "https://ainumbers.co/tools/424-trade-credit-country-risk.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/425_forfaiting_factoring_economics": {
      "post": {
        "operationId": "425_forfaiting_factoring_economics",
        "summary": "Forfaiting vs Factoring vs Invoice Discounting Economics &middot; AINumbers.co",
        "description": "Compare net proceeds and cost of funding across forfaiting, factoring (with/without recourse), and invoice discounting. Model advance rates, discount rates, reserves, and fees. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/425-forfaiting-factoring-economics.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "425_forfaiting_factoring_economics",
        "x-tool-url": "https://ainumbers.co/tools/425-forfaiting-factoring-economics.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/426_trade_sanctions_compliance_checker": {
      "post": {
        "operationId": "426_trade_sanctions_compliance_checker",
        "summary": "Trade Sanctions &amp; Compliance Risk Checker &middot; AINumbers.co",
        "description": "Assess the sanctions and export control compliance risk of a trade transaction across OFAC, EU, UN, and UK regimes. Flag high-risk jurisdictions, dual-use goods, and red-flag indicators. Deterministic rule-based engine. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/426-trade-sanctions-compliance-checker.html",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "426_trade_sanctions_compliance_checker",
        "x-tool-url": "https://ainumbers.co/tools/426-trade-sanctions-compliance-checker.html",
        "x-source": "manifest"
      }
    },
    "/v1/tools/427_bank_guarantee_structuring_tool": {
      "post": {
        "operationId": "427_bank_guarantee_structuring_tool",
        "summary": "Bank Guarantee &amp; SBLC Structuring Tool &middot; AINumbers.co",
        "description": "Structure and cost bank guarantees and standby letters of credit. Compare URDG 758, ISP98, and UCP 600 governing rules. Model guarantee economics and generate a SWIFT MT760 field guide. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/427-bank-guarantee-structuring-tool.html",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "427_bank_guarantee_structuring_tool",
        "x-tool-url": "https://ainumbers.co/tools/427-bank-guarantee-structuring-tool.html",
        "x-source": "manifest"
      }
    },
    "/v1/tools/428_mifid_costs_charges_calculator": {
      "post": {
        "operationId": "428_mifid_costs_charges_calculator",
        "summary": "MiFID II Ex-Ante Costs &amp; Charges Calculator",
        "description": "Calculate and disclose ex-ante investment costs and charges per MiFID II Article 24(4) and PRIIPs KID methodology. Aggregates one-off, ongoing, and incidental costs into a total cost figure, reduction-in-yield (RIY), and standardized disclosure table. UK and EU regimes. Zero PII. Client-side.\n\n**Tool URL:** https://ainumbers.co/tools/428-mifid-costs-charges-calculator.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "428_mifid_costs_charges_calculator",
        "x-tool-url": "https://ainumbers.co/tools/428-mifid-costs-charges-calculator.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/429_model_portfolio_risk_analytics": {
      "post": {
        "operationId": "429_model_portfolio_risk_analytics",
        "summary": "Model Portfolio Risk Analytics",
        "description": "Calculate key risk and return metrics for a model portfolio of up to 8 asset classes. Outputs expected return, volatility, Sharpe ratio, max drawdown estimate, VaR 95%, tracking error vs benchmark, and efficient frontier. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/429-model-portfolio-risk-analytics.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "429_model_portfolio_risk_analytics",
        "x-tool-url": "https://ainumbers.co/tools/429-model-portfolio-risk-analytics.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/batch_sanctions_screening": {
      "post": {
        "operationId": "batch_sanctions_screening",
        "summary": "Batch Sanctions Screening Engine · Tool 43",
        "description": "Screen names, entities, and identifiers against OFAC SDN, OFSI, UN, and EU consolidated sanctions lists. Batch up to 500 records. Fuzzy-match. Policy Mandate. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/43-batch-sanctions-screening.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$schema": "http://json-schema.org/draft-07/schema#",
                "type": "object",
                "required": [
                  "records",
                  "lists",
                  "threshold"
                ],
                "properties": {
                  "records": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "required": [
                        "name"
                      ],
                      "properties": {
                        "name": {
                          "type": "string",
                          "minLength": 2,
                          "maxLength": 200
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "individual",
                            "entity",
                            "vessel",
                            "unknown"
                          ]
                        },
                        "country": {
                          "type": "string"
                        },
                        "ref_id": {
                          "type": "string"
                        }
                      }
                    },
                    "minItems": 1,
                    "maxItems": 500
                  },
                  "lists": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "enum": [
                        "ofac",
                        "ofsi",
                        "un",
                        "eu"
                      ]
                    },
                    "minItems": 1
                  },
                  "threshold": {
                    "type": "number",
                    "minimum": 60,
                    "maximum": 99,
                    "default": 85
                  },
                  "algorithm": {
                    "type": "string",
                    "enum": [
                      "jaro",
                      "lev",
                      "token"
                    ],
                    "default": "jaro"
                  },
                  "include_aliases": {
                    "type": "boolean",
                    "default": true
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "http://json-schema.org/draft-07/schema#",
                  "type": "object",
                  "properties": {
                    "summary": {
                      "type": "object"
                    },
                    "results": {
                      "type": "array"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "batch_sanctions_screening",
        "x-tool-url": "https://ainumbers.co/tools/43-batch-sanctions-screening.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/430_mifid_suitability_assessment": {
      "post": {
        "operationId": "430_mifid_suitability_assessment",
        "summary": "MiFID II/III Investment Suitability Assessment &middot; AINumbers.co",
        "description": "Structure a MiFID II Article 25 / MiFID III suitability assessment for retail and professional clients. Maps financial situation, objectives, risk, knowledge against product risk. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/430-mifid-suitability-assessment.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "430_mifid_suitability_assessment",
        "x-tool-url": "https://ainumbers.co/tools/430-mifid-suitability-assessment.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/431_advisory_fee_disclosure_builder": {
      "post": {
        "operationId": "431_advisory_fee_disclosure_builder",
        "summary": "Advisory Fee Disclosure Builder (RDR / MiFID II) &middot; AINumbers.co",
        "description": "Build a compliant adviser fee disclosure under UK RDR / MiFID II Article 24(4). Aggregates charges into a total cost projection with 5-year compounding drag analysis and SVG charts. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/431-advisory-fee-disclosure-builder.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "431_advisory_fee_disclosure_builder",
        "x-tool-url": "https://ainumbers.co/tools/431-advisory-fee-disclosure-builder.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/432_portfolio_drift_rebalancing": {
      "post": {
        "operationId": "432_portfolio_drift_rebalancing",
        "summary": "Portfolio Drift &amp; Rebalancing Trigger Calculator",
        "description": "Detect allocation drift from target weights for up to 8 asset classes. Calculate rebalancing trade sizes, estimate transaction costs vs. drift cost, and model tax impact. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/432-portfolio-drift-rebalancing.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "432_portfolio_drift_rebalancing",
        "x-tool-url": "https://ainumbers.co/tools/432-portfolio-drift-rebalancing.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/433_tax_wrapper_optimizer": {
      "post": {
        "operationId": "433_tax_wrapper_optimizer",
        "summary": "Tax-Efficient Investment Wrapper Optimizer",
        "description": "Compare after-tax returns across ISA, SIPP, GIA (UK) and Roth IRA, Traditional IRA, 401k, Taxable (US). Model contribution limits, tax relief, withdrawal taxation, and 30-year projections. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/433-tax-wrapper-optimizer.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "433_tax_wrapper_optimizer",
        "x-tool-url": "https://ainumbers.co/tools/433-tax-wrapper-optimizer.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/434_fiduciary_duty_gap_assessor": {
      "post": {
        "operationId": "434_fiduciary_duty_gap_assessor",
        "summary": "Fiduciary &amp; Best Interest Duty Gap Assessor",
        "description": "Gap-check investment firm practices against fiduciary and best interest requirements under FCA Consumer Duty (PS22/9), SEC Reg BI, DOL Fiduciary Rule (2024), and MiFID III. Outputs compliance gap score and remediation checklist. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/434-fiduciary-duty-gap-assessor.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "434_fiduciary_duty_gap_assessor",
        "x-tool-url": "https://ainumbers.co/tools/434-fiduciary-duty-gap-assessor.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/435_credit_facility_structuring": {
      "post": {
        "operationId": "435_credit_facility_structuring",
        "summary": "Credit Facility Structuring Calculator",
        "description": "Model the economics of corporate credit facilities — term loans, revolving credit, and capex facilities. Calculate all-in cost of funds, lender yield, amortisation schedules, and sensitivity analysis. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/435-credit-facility-structuring.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "435_credit_facility_structuring",
        "x-tool-url": "https://ainumbers.co/tools/435-credit-facility-structuring.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/436_loan_covenant_compliance_monitor": {
      "post": {
        "operationId": "436_loan_covenant_compliance_monitor",
        "summary": "Loan Covenant Compliance Monitor",
        "description": "Test financial covenant compliance for up to 6 covenants simultaneously. Input actual financial figures, compare against thresholds, calculate headroom, and model forward compliance under stress scenarios. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/436-loan-covenant-compliance-monitor.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "436_loan_covenant_compliance_monitor",
        "x-tool-url": "https://ainumbers.co/tools/436-loan-covenant-compliance-monitor.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/437_raroc_loan_pricing": {
      "post": {
        "operationId": "437_raroc_loan_pricing",
        "summary": "T437",
        "description": "Calculate Risk-Adjusted Return on Capital (RAROC) for a corporate loan. Model expected loss, economic capital, and compare RAROC vs. hurdle rate. Generate break-even spread. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/437-raroc-loan-pricing.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "437_raroc_loan_pricing",
        "x-tool-url": "https://ainumbers.co/tools/437-raroc-loan-pricing.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/438_dscr_interest_coverage_calculator": {
      "post": {
        "operationId": "438_dscr_interest_coverage_calculator",
        "summary": "T438",
        "description": "Calculate Debt Service Coverage Ratio (DSCR) and Interest Coverage Ratio (ICR) under all major bank, covenant, and CRE definitions. Input financials once, get all variants, sensitivity tables, lender threshold comparisons, and break-even EBITDA. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/438-dscr-interest-coverage-calculator.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "438_dscr_interest_coverage_calculator",
        "x-tool-url": "https://ainumbers.co/tools/438-dscr-interest-coverage-calculator.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/439_basel_credit_rwa_calculator": {
      "post": {
        "operationId": "439_basel_credit_rwa_calculator",
        "summary": "Basel III/IV Credit RWA Calculator",
        "description": "Calculate credit Risk-Weighted Assets under Basel III/IV Standardised Approach (CRR3). Input counterparty type, rating, exposure, collateral. Outputs RWA, Pillar 1 capital, SA comparison. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/439-basel-credit-rwa-calculator.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "439_basel_credit_rwa_calculator",
        "x-tool-url": "https://ainumbers.co/tools/439-basel-credit-rwa-calculator.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/440_loan_apr_aprc_disclosure": {
      "post": {
        "operationId": "440_loan_apr_aprc_disclosure",
        "summary": "Loan APR &amp; APRC Disclosure Builder",
        "description": "Calculate APR and APRC for consumer and mortgage loans under EU CCD2, UK FCA CONC/MCOB, and US TILA/Reg Z. Newton-Raphson solver, amortisation schedule, compliant disclosure text. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/440-loan-apr-aprc-disclosure.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "440_loan_apr_aprc_disclosure",
        "x-tool-url": "https://ainumbers.co/tools/440-loan-apr-aprc-disclosure.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/441_udaap_risk_assessor": {
      "post": {
        "operationId": "441_udaap_risk_assessor",
        "summary": "UDAAP Risk Assessor",
        "description": "Score products and practices against the CFPB UDAAP framework (Unfair, Deceptive, Abusive Acts or Practices) under Dodd-Frank Section 1031. Weighted risk flags and recommended controls. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/441-udaap-risk-assessor.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "441_udaap_risk_assessor",
        "x-tool-url": "https://ainumbers.co/tools/441-udaap-risk-assessor.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/442_reg_e_dispute_workflow_builder": {
      "post": {
        "operationId": "442_reg_e_dispute_workflow_builder",
        "summary": "Reg E Dispute Workflow Builder",
        "description": "Generate a compliant Reg E error resolution workflow for Electronic Funds Transfer disputes. Investigation timelines, provisional credit rules, consumer notification requirements per 12 CFR Part 1005. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/442-reg-e-dispute-workflow-builder.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "442_reg_e_dispute_workflow_builder",
        "x-tool-url": "https://ainumbers.co/tools/442-reg-e-dispute-workflow-builder.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/443_durbin_amendment_interchange_analyzer": {
      "post": {
        "operationId": "443_durbin_amendment_interchange_analyzer",
        "summary": "Durbin Amendment Interchange Analyzer &middot; AINumbers.co",
        "description": "Determine debit card interchange fee caps under the Durbin Amendment (Regulation II, 12 CFR Part 235). Calculates issuer coverage, applicable interchange cap, and routing compliance requirements.\n\n**Tool URL:** https://ainumbers.co/tools/443-durbin-amendment-interchange-analyzer.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "443_durbin_amendment_interchange_analyzer",
        "x-tool-url": "https://ainumbers.co/tools/443-durbin-amendment-interchange-analyzer.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/444_hmda_reportability_checker": {
      "post": {
        "operationId": "444_hmda_reportability_checker",
        "summary": "HMDA Reportability Checker &middot; AINumbers.co",
        "description": "Determine whether a loan application or action is reportable under the Home Mortgage Disclosure Act (HMDA, Regulation C, 12 CFR Part 1003). Checks institutional coverage, transaction coverage, and data collection requirements.\n\n**Tool URL:** https://ainumbers.co/tools/444-hmda-reportability-checker.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "444_hmda_reportability_checker",
        "x-tool-url": "https://ainumbers.co/tools/444-hmda-reportability-checker.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/445_bsa_sar_filing_adequacy_checker": {
      "post": {
        "operationId": "445_bsa_sar_filing_adequacy_checker",
        "summary": "BSA/SAR Filing Adequacy Checker",
        "description": "Evaluate whether a Suspicious Activity Report (SAR) meets FinCEN's BSA filing thresholds and content adequacy requirements under 31 CFR Part 1020. Checks mandatory filing triggers, content completeness, and filing timeliness.\n\n**Tool URL:** https://ainumbers.co/tools/445-bsa-sar-filing-adequacy-checker.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "445_bsa_sar_filing_adequacy_checker",
        "x-tool-url": "https://ainumbers.co/tools/445-bsa-sar-filing-adequacy-checker.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/model_embedded_insurance_pricing": {
      "post": {
        "operationId": "model_embedded_insurance_pricing",
        "summary": "Embedded Insurance Pricing Modeller",
        "description": "Model pricing, loss ratios, and unit economics for embedded insurance products distributed through non-insurance platforms (BNPL, e-commerce, mobility, fintech). Calculates gross written premium, expected loss ratio, expense ratio, combined ratio, and breakeven metrics. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/446-embedded-insurance-pricing-modeller.html",
        "tags": [
          "embedded-insurance",
          "insurtech",
          "loss-ratio",
          "GWP",
          "combined-ratio",
          "IDD",
          "FCA",
          "BNPL",
          "pricing-model",
          "breakeven",
          "reinsurance",
          "Zero-PII"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "itemValue",
                  "premiumPct",
                  "attachRate",
                  "monthlyTx",
                  "lossRatio",
                  "commissionPct",
                  "opexPct"
                ],
                "properties": {
                  "itemValue": {
                    "type": "number"
                  },
                  "premiumPct": {
                    "type": "number"
                  },
                  "attachRate": {
                    "type": "number"
                  },
                  "monthlyTx": {
                    "type": "integer"
                  },
                  "lossRatio": {
                    "type": "number"
                  },
                  "commissionPct": {
                    "type": "number"
                  },
                  "opexPct": {
                    "type": "number"
                  },
                  "reinsCeded": {
                    "type": "number"
                  },
                  "jurisdiction": {
                    "type": "string"
                  },
                  "distChannel": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "annualGWP": {
                      "type": "number"
                    },
                    "combinedRatio": {
                      "type": "number"
                    },
                    "uwProfit": {
                      "type": "number"
                    },
                    "breakevenLR": {
                      "type": "number"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "model_embedded_insurance_pricing",
        "x-tool-url": "https://ainumbers.co/tools/446-embedded-insurance-pricing-modeller.html",
        "x-source": "manifest"
      }
    },
    "/v1/tools/calculate_solvency_ii_scr": {
      "post": {
        "operationId": "calculate_solvency_ii_scr",
        "summary": "Solvency II SCR Calculator",
        "description": "Calculate the indicative Solvency Capital Requirement (SCR) for a non-life insurer using the Solvency II Standard Formula (Delegated Regulation EU 2015/35). Covers non-life underwriting, market, and counterparty default risk modules with aggregation using prescribed correlation matrices. Excludes operational risk SCR, LACTP/LACDT, and life/health underwriting modules. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/447-solvency-ii-scr-calculator.html",
        "tags": [
          "solvency-ii",
          "SCR",
          "BSCR",
          "standard-formula",
          "non-life",
          "market-risk",
          "underwriting-risk",
          "counterparty-default",
          "EU-2015/35",
          "EIOPA",
          "actuarial",
          "insurance-regulation",
          "Zero-PII"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "nlPremium",
                  "nlReserve",
                  "nlLoB"
                ],
                "properties": {
                  "nlPremium": {
                    "type": "number"
                  },
                  "nlReserve": {
                    "type": "number"
                  },
                  "nlLoB": {
                    "type": "string"
                  },
                  "eq1": {
                    "type": "number"
                  },
                  "eq2": {
                    "type": "number"
                  },
                  "bondVal": {
                    "type": "number"
                  },
                  "duration": {
                    "type": "number"
                  },
                  "propVal": {
                    "type": "number"
                  },
                  "fxVal": {
                    "type": "number"
                  },
                  "reinsRecov": {
                    "type": "number"
                  },
                  "ratingSelect": {
                    "type": "string"
                  },
                  "ownFunds": {
                    "type": "number"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "bscr": {
                      "type": "number",
                      "description": "Basic SCR (EUR M)"
                    },
                    "nl_scr": {
                      "type": "number"
                    },
                    "market_scr": {
                      "type": "number"
                    },
                    "counterparty_scr": {
                      "type": "number"
                    },
                    "diversification_benefit": {
                      "type": "number"
                    },
                    "scr_coverage_ratio": {
                      "type": "number"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "calculate_solvency_ii_scr",
        "x-tool-url": "https://ainumbers.co/tools/447-solvency-ii-scr-calculator.html",
        "x-source": "manifest"
      }
    },
    "/v1/tools/check_priips_kid_compliance": {
      "post": {
        "operationId": "check_priips_kid_compliance",
        "summary": "PRIIPs KID Compliance Checker",
        "description": "Evaluates whether a PRIIP KID meets Regulation (EU) No 1286/2014 and Level 2 RTS requirements. Checks mandatory sections, format compliance, SRI, performance scenarios, and cost disclosures.\n\n**Tool URL:** https://ainumbers.co/tools/448-priips-kid-compliance-checker.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "PRIIPs",
          "KID",
          "EU",
          "retail investment",
          "SRI",
          "cost disclosure",
          "compliance"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "product_type": {
                    "type": "string"
                  },
                  "jurisdiction": {
                    "type": "string"
                  },
                  "sections_present": {
                    "type": "object"
                  }
                },
                "required": [
                  "product_type"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "compliance_status": {
                      "type": "string"
                    },
                    "score": {
                      "type": "number"
                    },
                    "critical_failures": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "remediation_count": {
                      "type": "number"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "check_priips_kid_compliance",
        "x-tool-url": "https://ainumbers.co/tools/448-priips-kid-compliance-checker.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/calculate_isa_lisa_eligibility": {
      "post": {
        "operationId": "calculate_isa_lisa_eligibility",
        "summary": "ISA & LISA Eligibility Calculator",
        "description": "UK ISA and LISA eligibility, annual allowance calculation, and LISA government bonus modelling for 2024/25.\n\n**Tool URL:** https://ainumbers.co/tools/449-isa-lisa-eligibility-calculator.html",
        "tags": [
          "ISA",
          "LISA",
          "UK savings",
          "WealthTech",
          "tax-free",
          "annual allowance"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "age": {
                    "type": "number"
                  },
                  "already_isa": {
                    "type": "number"
                  },
                  "already_lisa": {
                    "type": "number"
                  },
                  "monthly_contribution": {
                    "type": "number"
                  }
                },
                "required": [
                  "age"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "calculate_isa_lisa_eligibility",
        "x-tool-url": "https://ainumbers.co/tools/449-isa-lisa-eligibility-calculator.html",
        "x-source": "manifest"
      }
    },
    "/v1/tools/subscription_dunning_optimizer": {
      "post": {
        "operationId": "subscription_dunning_optimizer",
        "summary": "Subscription Dunning & Recovery Simulator",
        "description": "Simulate subscription payment failures and dunning recovery sequences. Model retry logic, email/SMS cadence, billing cycle optimization. Export Policy Mandate and board memo. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/45-subscription-dunning-optimizer.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "subscription_dunning_optimizer",
        "x-tool-url": "https://ainumbers.co/tools/45-subscription-dunning-optimizer.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/450_pcaf_retail_portfolio_carbon_footprint": {
      "post": {
        "operationId": "450_pcaf_retail_portfolio_carbon_footprint",
        "summary": "PCAF Retail Portfolio Carbon Footprint &middot; T450 &middot; AINumbers.co",
        "description": "Calculate financed emissions for a retail lending portfolio using the PCAF Global GHG Accounting and Reporting Standard Part C. Covers residential mortgages, auto loans, personal loans, and credit cards. Zero PII. Client-side.\n\n**Tool URL:** https://ainumbers.co/tools/450-pcaf-retail-portfolio-carbon-footprint.html",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "450_pcaf_retail_portfolio_carbon_footprint",
        "x-tool-url": "https://ainumbers.co/tools/450-pcaf-retail-portfolio-carbon-footprint.html",
        "x-source": "manifest"
      }
    },
    "/v1/tools/451_sr11_7_model_risk_management_gap_assessor": {
      "post": {
        "operationId": "451_sr11_7_model_risk_management_gap_assessor",
        "summary": "SR 11-7 Model Risk Management Gap Assessor",
        "description": "Evaluate your institution's model risk management framework against Federal Reserve SR 11-7 / OCC 2011-12 guidance (superseded 2026-04-17 by SR 26-2; see the SR 26-2 Model Risk Management Gap Analyzer for a current assessment). Scores model development, validation, governance, and inventory practices with gap identification and remediation priorities.\n\n**Tool URL:** https://ainumbers.co/tools/451-sr11-7-model-risk-management-gap-assessor.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "451_sr11_7_model_risk_management_gap_assessor",
        "x-tool-url": "https://ainumbers.co/tools/451-sr11-7-model-risk-management-gap-assessor.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/assess_fair_lending_ai_bias": {
      "post": {
        "operationId": "assess_fair_lending_ai_bias",
        "summary": "Fair Lending AI Bias Assessment",
        "description": "Evaluates AI/ML credit decision models for fair lending compliance across 5 risk dimensions: model transparency, disparate impact, adverse action, governance, and regulatory exposure.\n\n**Tool URL:** https://ainumbers.co/tools/452-fair-lending-ai-bias-assessment.html",
        "tags": [
          "fair lending",
          "ECOA",
          "disparate impact",
          "EU AI Act",
          "model risk",
          "bias",
          "explainability"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "model_type": {
                    "type": "string"
                  },
                  "model_purpose": {
                    "type": "string"
                  },
                  "di_ratio": {
                    "type": "number"
                  },
                  "jurisdiction": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "assess_fair_lending_ai_bias",
        "x-tool-url": "https://ainumbers.co/tools/452-fair-lending-ai-bias-assessment.html",
        "x-source": "manifest"
      }
    },
    "/v1/tools/453_account_takeover_detection_policy_builder": {
      "post": {
        "operationId": "453_account_takeover_detection_policy_builder",
        "summary": "Account Takeover Detection Policy Builder",
        "description": "Build a customised ATO detection policy for financial services firms. Evaluates authentication controls, step-up triggers, and post-takeover response. Generates a structured policy framework. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/453-account-takeover-detection-policy-builder.html",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "453_account_takeover_detection_policy_builder",
        "x-tool-url": "https://ainumbers.co/tools/453-account-takeover-detection-policy-builder.html",
        "x-source": "manifest"
      }
    },
    "/v1/tools/454_first_party_fraud_mule_detection_framework": {
      "post": {
        "operationId": "454_first_party_fraud_mule_detection_framework",
        "summary": "First-Party Fraud &amp; Mule Detection Framework",
        "description": "Identify first-party fraud risk indicators and money mule typologies across retail banking portfolios. Score accounts for elevated risk, with SAR triggers and investigative priorities. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/454-first-party-fraud-mule-detection-framework.html",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "454_first_party_fraud_mule_detection_framework",
        "x-tool-url": "https://ainumbers.co/tools/454-first-party-fraud-mule-detection-framework.html",
        "x-source": "manifest"
      }
    },
    "/v1/tools/analyze_pc_combined_ratio": {
      "post": {
        "operationId": "analyze_pc_combined_ratio",
        "summary": "P&C Combined Ratio Analyzer & Benchmarker",
        "description": "Compute Loss Ratio, Expense Ratio, and Combined Ratio for a P&C insurer from premium, loss, and expense inputs, and benchmark against published industry medians (AM Best 2024/2025, NAIC 2024) by line of business with colour-coded adequacy zones and NAIC IRIS ratio context. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/455-pc-combined-ratio-analyzer.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "combined-ratio",
          "loss-ratio",
          "expense-ratio",
          "P&C",
          "underwriting",
          "NAIC-IRIS",
          "AM-Best",
          "benchmark",
          "insurance",
          "actuarial",
          "profitability",
          "Zero-PII"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "lob",
                  "earnedPremium",
                  "incurredLosses",
                  "uwExpenses"
                ],
                "properties": {
                  "lob": {
                    "type": "string"
                  },
                  "earnedPremium": {
                    "type": "number"
                  },
                  "writtenPremium": {
                    "type": "number"
                  },
                  "incurredLosses": {
                    "type": "number"
                  },
                  "lae": {
                    "type": "number"
                  },
                  "uwExpenses": {
                    "type": "number"
                  },
                  "acqCosts": {
                    "type": "number"
                  },
                  "basis": {
                    "type": "string"
                  },
                  "invYield": {
                    "type": "number"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "loss_ratio_pct": {
                      "type": "number",
                      "description": "(Incurred losses + LAE) / earned premium x 100"
                    },
                    "expense_ratio_pct": {
                      "type": "number",
                      "description": "Underwriting expenses / written or earned premium x 100"
                    },
                    "combined_ratio_pct": {
                      "type": "number",
                      "description": "Loss ratio + expense ratio"
                    },
                    "operating_ratio_pct": {
                      "type": [
                        "number",
                        "null"
                      ],
                      "description": "Combined ratio - investment yield % (illustrative; null if no yield)"
                    },
                    "adequacy_zone": {
                      "type": "string",
                      "enum": [
                        "green",
                        "amber",
                        "red"
                      ]
                    },
                    "naic_iris_flag": {
                      "type": "boolean",
                      "description": "True when combined ratio exceeds the 115% NAIC IRIS screening threshold"
                    },
                    "benchmark_median_combined_pct": {
                      "type": [
                        "number",
                        "null"
                      ]
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "analyze_pc_combined_ratio",
        "x-tool-url": "https://ainumbers.co/tools/455-pc-combined-ratio-analyzer.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/price_reinsurance_burning_cost": {
      "post": {
        "operationId": "price_reinsurance_burning_cost",
        "summary": "Reinsurance Burning Cost & XL Layer Pricer",
        "description": "Price an excess-of-loss (XL) reinsurance layer using the burning cost method (CAS Basics of Reinsurance Pricing). Enter historical loss experience and the layer structure; the tool trends ground-up losses to the prospective period, applies an IBNR load, computes the as-if per-occurrence (or aggregate) layer loss per year, and returns the burning cost rate, technical rate, technical premium, reinstatement cost, a year-by-year table, and a 5x5 attachment x limit sensitivity grid. Flags low credibility when fewer than 5 years or fewer than 5 non-zero layer years. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/456-reinsurance-burning-cost-pricer.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "reinsurance",
          "burning-cost",
          "excess-of-loss",
          "XL",
          "treaty-pricing",
          "technical-premium",
          "as-if",
          "reinstatement",
          "IBNR",
          "loss-trend",
          "sensitivity",
          "CAS",
          "actuarial",
          "Zero-PII"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "attach",
                  "limit",
                  "targetLR"
                ],
                "properties": {
                  "attach": {
                    "type": "number"
                  },
                  "limit": {
                    "type": "number"
                  },
                  "treatyType": {
                    "type": "string",
                    "enum": [
                      "per_occ",
                      "aggregate"
                    ]
                  },
                  "trend": {
                    "type": "number"
                  },
                  "trendYears": {
                    "type": "number"
                  },
                  "ibnr": {
                    "type": "number"
                  },
                  "targetLR": {
                    "type": "number"
                  },
                  "prospPrem": {
                    "type": "number"
                  },
                  "loss_experience": {
                    "type": "array",
                    "items": {
                      "type": "object"
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "burning_cost_rate": {
                      "type": "number"
                    },
                    "technical_rate": {
                      "type": "number"
                    },
                    "technical_premium": {
                      "type": "number"
                    },
                    "expected_layer_loss": {
                      "type": "number"
                    },
                    "implied_loss_ratio_pct": {
                      "type": "number"
                    },
                    "reinstatement_cost": {
                      "type": "number"
                    },
                    "credibility_low": {
                      "type": "boolean"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "price_reinsurance_burning_cost",
        "x-tool-url": "https://ainumbers.co/tools/456-reinsurance-burning-cost-pricer.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/calculate_naic_rbc_ratio": {
      "post": {
        "operationId": "calculate_naic_rbc_ratio",
        "summary": "NAIC Risk-Based Capital (RBC) Ratio Calculator",
        "description": "Calculate a simplified NAIC Risk-Based Capital (RBC) ratio for a US property/casualty insurer using standard formula components R0–R5, the covariance square-root aggregation, Authorized Control Level RBC, and the four NAIC action level thresholds (CAL/RAL/ACL/MCL). Simplified standard formula — indicative. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/457-naic-rbc-calculator.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "NAIC",
          "RBC",
          "risk-based-capital",
          "ACL",
          "authorized-control-level",
          "P&C",
          "property-casualty",
          "insurance-regulation",
          "Model-Act-312",
          "covariance",
          "solvency",
          "Zero-PII"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "surplus",
                  "admittedDebt",
                  "r1Base",
                  "r1Rate",
                  "r4Base",
                  "r5Base",
                  "lineSelect"
                ],
                "properties": {
                  "surplus": {
                    "type": "number"
                  },
                  "admittedDebt": {
                    "type": "number"
                  },
                  "capAdj": {
                    "type": "number"
                  },
                  "r0Base": {
                    "type": "number"
                  },
                  "r1Base": {
                    "type": "number"
                  },
                  "r1Rate": {
                    "type": "number"
                  },
                  "r2Base": {
                    "type": "number"
                  },
                  "r3Base": {
                    "type": "number"
                  },
                  "r3Rate": {
                    "type": "number"
                  },
                  "r4Base": {
                    "type": "number"
                  },
                  "r5Base": {
                    "type": "number"
                  },
                  "lineSelect": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "rbc_ratio_pct": {
                      "type": "number",
                      "description": "RBC ratio (%)"
                    },
                    "authorized_control_level_rbc": {
                      "type": "number",
                      "description": "Authorized Control Level RBC (USD M)"
                    },
                    "rbc_after_covariance": {
                      "type": "number",
                      "description": "RBC after covariance adjustment (USD M)"
                    },
                    "rbc_before_covariance": {
                      "type": "number",
                      "description": "Sum of R0–R5 charges before covariance (USD M)"
                    },
                    "total_adjusted_capital": {
                      "type": "number",
                      "description": "Total Adjusted Capital (USD M)"
                    },
                    "action_level": {
                      "type": "string",
                      "enum": [
                        "NONE",
                        "CAL",
                        "RAL",
                        "ACL",
                        "MCL"
                      ]
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "calculate_naic_rbc_ratio",
        "x-tool-url": "https://ainumbers.co/tools/457-naic-rbc-calculator.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/design_parametric_trigger": {
      "post": {
        "operationId": "design_parametric_trigger",
        "summary": "Parametric Insurance Trigger Designer & Basis Risk Estimator",
        "description": "Design a parametric insurance or catastrophe bond trigger structure, model expected annual payout, estimate a premium indication and technical rate on line, and quantify basis risk (the (1 − r²) mismatch between parametric payout and actual loss) and a settlement speed score. Inline SVG payout-curve diagram. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/458-parametric-trigger-designer.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "parametric-insurance",
          "catastrophe-bond",
          "ILS",
          "basis-risk",
          "rate-on-line",
          "trigger-structure",
          "reinsurance",
          "sovereign-risk",
          "payout-curve",
          "Zero-PII"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "attach",
                  "exhaust",
                  "limit",
                  "corrR"
                ],
                "properties": {
                  "triggerType": {
                    "type": "string"
                  },
                  "peril": {
                    "type": "string"
                  },
                  "territory": {
                    "type": "string"
                  },
                  "attach": {
                    "type": "number"
                  },
                  "exhaust": {
                    "type": "number"
                  },
                  "payAttach": {
                    "type": "number"
                  },
                  "payExhaust": {
                    "type": "number"
                  },
                  "payoutFn": {
                    "type": "string"
                  },
                  "limit": {
                    "type": "number"
                  },
                  "reinstate": {
                    "type": "number"
                  },
                  "freqAttach": {
                    "type": "number"
                  },
                  "freqExhaust": {
                    "type": "number"
                  },
                  "lossExhaust": {
                    "type": "number"
                  },
                  "lossAttach": {
                    "type": "number"
                  },
                  "corrR": {
                    "type": "number"
                  },
                  "riskLoad": {
                    "type": "number"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "expected_annual_payout_musd": {
                      "type": "number"
                    },
                    "risk_premium_musd": {
                      "type": "number"
                    },
                    "technical_rate_on_line_pct": {
                      "type": "number"
                    },
                    "expected_basis_risk_loss_musd": {
                      "type": "number"
                    },
                    "basis_risk_pct_of_limit": {
                      "type": "number"
                    },
                    "variance_explained_pct": {
                      "type": "number"
                    },
                    "settlement_speed_score": {
                      "type": "number"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "design_parametric_trigger",
        "x-tool-url": "https://ainumbers.co/tools/458-parametric-trigger-designer.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/test_ratemaking_adequacy": {
      "post": {
        "operationId": "test_ratemaking_adequacy",
        "summary": "Insurance Ratemaking Adequacy Tester — Pure Premium Method",
        "description": "Implements the pure premium (exposure-based) ratemaking method per CAS Exam 5 study materials and the CAS Statement of Principles Regarding P&C Insurance Ratemaking. Computes on-level premium, trended ultimate loss, exposure-weighted trended pure premium, the permissible loss ratio, the indicated rate change (loss-ratio method), and the credibility-weighted indication using the classical square-root standard (default full-credibility 1,082 claims). Outputs a year-by-year table, indicated-change summary, permissible-LR decomposition, an adequacy verdict, and a trend/PLR sensitivity grid. On-level factors and loss development are user-supplied. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/459-insurance-ratemaking-adequacy.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "ratemaking",
          "pure-premium-method",
          "loss-ratio-method",
          "indicated-rate-change",
          "credibility",
          "permissible-loss-ratio",
          "actuarial",
          "rate-filing",
          "CAS",
          "property-casualty",
          "insurance-pricing",
          "Zero-PII"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "lossTrend",
                  "trendPeriod",
                  "varExp",
                  "fixedExp",
                  "profit",
                  "fullCred"
                ],
                "properties": {
                  "lossTrend": {
                    "type": "number"
                  },
                  "trendPeriod": {
                    "type": "number"
                  },
                  "premTrend": {
                    "type": "number"
                  },
                  "varExp": {
                    "type": "number"
                  },
                  "fixedExp": {
                    "type": "number"
                  },
                  "profit": {
                    "type": "number"
                  },
                  "credMethod": {
                    "type": "string"
                  },
                  "fullCred": {
                    "type": "number"
                  },
                  "complementType": {
                    "type": "string"
                  },
                  "complementVal": {
                    "type": "number"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "indicated_change_uncapped": {
                      "type": "number",
                      "description": "Final credibility-weighted indicated rate change (fraction)"
                    },
                    "indication_before_credibility": {
                      "type": "number"
                    },
                    "credibility_z": {
                      "type": "number"
                    },
                    "trended_pure_premium": {
                      "type": "number"
                    },
                    "permissible_loss_ratio": {
                      "type": "number"
                    },
                    "actual_loss_ratio": {
                      "type": "number"
                    },
                    "total_claims": {
                      "type": "number"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "test_ratemaking_adequacy",
        "x-tool-url": "https://ainumbers.co/tools/459-insurance-ratemaking-adequacy.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/payment_roi_business_case": {
      "post": {
        "operationId": "payment_roi_business_case",
        "summary": "Payment Investment ROI & Business Case Builder",
        "description": "Build board-ready payment investment business cases. NPV, IRR, payback period. 3-scenario modelling. Card vs A2A, ACH vs real-time, build vs buy comparisons. Export PDF memo and Policy Mandate JSON.\n\n**Tool URL:** https://ainumbers.co/tools/46-payment-roi-business-case.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "payment_roi_business_case",
        "x-tool-url": "https://ainumbers.co/tools/46-payment-roi-business-case.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/compare_solvency_regimes": {
      "post": {
        "operationId": "compare_solvency_regimes",
        "summary": "Solvency Regime Capital Comparator",
        "description": "Compare required and available capital under four major international solvency regimes — EU Solvency II (SCR), NAIC RBC (US), Bermuda BSCR, and IRDAI Solvency Margin (India) — from one shared set of simplified balance sheet inputs. Identifies the binding capital constraint and quantifies the excess capital buffer under each regime. Simplified approximation — indicative. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/460-solvency-regime-comparator.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "solvency-ii",
          "NAIC-RBC",
          "bermuda-BSCR",
          "IRDAI",
          "solvency-margin",
          "capital-comparison",
          "binding-constraint",
          "cross-border",
          "reinsurance",
          "SCR",
          "ECR",
          "RBC",
          "insurance-regulation",
          "Zero-PII"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "totalAssets",
                  "nwp",
                  "netReserves"
                ],
                "properties": {
                  "totalAssets": {
                    "type": "number"
                  },
                  "techProvisions": {
                    "type": "number"
                  },
                  "otherLiab": {
                    "type": "number"
                  },
                  "nwp": {
                    "type": "number"
                  },
                  "nep": {
                    "type": "number"
                  },
                  "netReserves": {
                    "type": "number"
                  },
                  "grossReserves": {
                    "type": "number"
                  },
                  "netClaims": {
                    "type": "number"
                  },
                  "opex": {
                    "type": "number"
                  },
                  "bonds": {
                    "type": "number"
                  },
                  "equities": {
                    "type": "number"
                  },
                  "property": {
                    "type": "number"
                  },
                  "reinsRecov": {
                    "type": "number"
                  },
                  "premLoading": {
                    "type": "string"
                  },
                  "resLoading": {
                    "type": "string"
                  },
                  "catRisk": {
                    "type": "string"
                  },
                  "mktProfile": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "binding_constraint": {
                      "type": "string",
                      "description": "The regime requiring the most capital"
                    },
                    "binding_required_capital_usd_m": {
                      "type": "number"
                    },
                    "regimes": {
                      "type": "object",
                      "description": "Per-regime required capital, available capital, solvency ratio, minimum ratio, status, and excess buffer for Solvency II, NAIC RBC, Bermuda BSCR, and IRDAI"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "compare_solvency_regimes",
        "x-tool-url": "https://ainumbers.co/tools/460-solvency-regime-comparator.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/model_cyber_accumulation_pml": {
      "post": {
        "operationId": "model_cyber_accumulation_pml",
        "summary": "Cyber Insurance Accumulation & PML Modeler",
        "description": "Estimate portfolio-level cyber insurance Probable Maximum Loss (PML) at multiple return periods by scenario type, using published industry severity curves by sector and coverage trigger (IBM/Ponemon 2024, FBI IC3 2024) and Lloyd's RDS 2024 systemic PML scalars. Computes attritional expected loss, systemic PML by return period, combined PML upper bound, loss-ratio stress, and an accumulation alert at >25% of the aggregate limit. Client-side. Zero PII; synthetic aggregate inputs only.\n\n**Tool URL:** https://ainumbers.co/tools/461-cyber-insurance-accumulation-modeler.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "cyber-insurance",
          "accumulation-risk",
          "PML",
          "probable-maximum-loss",
          "return-period",
          "tail-risk",
          "systemic-cyber",
          "Lloyds-RDS",
          "catastrophe-model",
          "reinsurance",
          "underwriting",
          "insurtech",
          "Zero-PII"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "numRisks",
                  "avgRevenue",
                  "avgLimit",
                  "aggLimit",
                  "avgPremium"
                ],
                "properties": {
                  "numRisks": {
                    "type": "number"
                  },
                  "avgRevenue": {
                    "type": "number"
                  },
                  "revDist": {
                    "type": "string"
                  },
                  "sector": {
                    "type": "string"
                  },
                  "avgLimit": {
                    "type": "number"
                  },
                  "avgRetention": {
                    "type": "number"
                  },
                  "avgPremium": {
                    "type": "number"
                  },
                  "aggLimit": {
                    "type": "number"
                  },
                  "mixRansomNum": {
                    "type": "number"
                  },
                  "mixBreachNum": {
                    "type": "number"
                  },
                  "mixBINum": {
                    "type": "number"
                  },
                  "mixLiabNum": {
                    "type": "number"
                  },
                  "mixFTFNum": {
                    "type": "number"
                  },
                  "correlation": {
                    "type": "string"
                  },
                  "cspConc": {
                    "type": "string"
                  },
                  "scaExp": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "attritional_el_m": {
                      "type": "number",
                      "description": "Attritional expected annual loss ($M)"
                    },
                    "pml_1in100_m": {
                      "type": "number",
                      "description": "Combined 1-in-100 PML ($M)"
                    },
                    "pml_1in250_m": {
                      "type": "number",
                      "description": "Combined 1-in-250 PML ($M)"
                    },
                    "pml_1in100_pct_of_aggregate": {
                      "type": "number",
                      "description": "1-in-100 PML as % of aggregate limit"
                    },
                    "accumulation_alert": {
                      "type": "boolean",
                      "description": "True if 1-in-100 PML exceeds 25% of aggregate limit (Lloyd's RDS threshold)"
                    },
                    "loss_ratio_stress_pct": {
                      "type": "object",
                      "description": "Stressed loss ratio by return period"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "model_cyber_accumulation_pml",
        "x-tool-url": "https://ainumbers.co/tools/461-cyber-insurance-accumulation-modeler.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/check_claims_reserve_adequacy": {
      "post": {
        "operationId": "check_claims_reserve_adequacy",
        "summary": "Claims Reserve Adequacy Checker — Chain Ladder + Bornhuetter-Ferguson",
        "description": "Run the Chain Ladder (development) and Bornhuetter-Ferguson reserving methods on a loss development triangle. Computes age-to-age factors, loss development factors to ultimate, chain-ladder and B-F ultimate losses, IBNR by accident year, a selected (blended) IBNR, and a reserve adequacy signal versus a booked reserve. Flags >15% method divergence and low-credibility triangles. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/462-claims-reserve-adequacy-checker.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "reserving",
          "chain-ladder",
          "bornhuetter-ferguson",
          "loss-triangle",
          "IBNR",
          "LDF",
          "loss-development-factor",
          "reserve-adequacy",
          "actuarial",
          "CAS",
          "Friedland-2010",
          "Zero-PII"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "triangle",
                  "ldfMethod"
                ],
                "properties": {
                  "triangle": {
                    "type": "array",
                    "items": {
                      "type": "array",
                      "items": {
                        "type": [
                          "number",
                          "null"
                        ]
                      }
                    }
                  },
                  "ldfMethod": {
                    "type": "string",
                    "enum": [
                      "vw",
                      "simple",
                      "vw3",
                      "vw5",
                      "manual"
                    ]
                  },
                  "tailFactor": {
                    "type": "number"
                  },
                  "excludeDiag": {
                    "type": "boolean"
                  },
                  "elr": {
                    "type": "number"
                  },
                  "clWeight": {
                    "type": "number"
                  },
                  "earnedPremium": {
                    "type": "array",
                    "items": {
                      "type": "number"
                    }
                  },
                  "bookedReserve": {
                    "type": "number"
                  },
                  "priorReserve": {
                    "type": "number"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "selected_ibnr": {
                      "type": "number"
                    },
                    "chain_ladder_ibnr": {
                      "type": "number"
                    },
                    "bornhuetter_ferguson_ibnr": {
                      "type": "number"
                    },
                    "booked_reserve": {
                      "type": "number"
                    },
                    "redundancy_deficiency": {
                      "type": "number"
                    },
                    "redundancy_deficiency_pct": {
                      "type": "number"
                    },
                    "adequacy_signal": {
                      "type": "string",
                      "enum": [
                        "ADEQUATE",
                        "DEFICIENT"
                      ]
                    },
                    "method_divergence_pct": {
                      "type": "number"
                    },
                    "selected_ldfs_to_ultimate": {
                      "type": "array",
                      "items": {
                        "type": "number"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "check_claims_reserve_adequacy",
        "x-tool-url": "https://ainumbers.co/tools/462-claims-reserve-adequacy-checker.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/reg_bi_best_interest_checker": {
      "post": {
        "operationId": "reg_bi_best_interest_checker",
        "summary": "Reg BI Best-Interest Checker",
        "description": "Assess a securities recommendation against SEC Regulation Best Interest's four component obligations (Disclosure, Care, Conflict of Interest, Compliance). Returns per-obligation PASS/GAP determination, overall best-interest verdict, and ordered remediation list. Deterministic. US broker-dealer scope. 2026 FINRA enforcement priority.\n\n**Tool URL:** https://ainumbers.co/tools/463-reg-bi-best-interest-checker.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "reg-bi",
          "best-interest",
          "form-crs",
          "suitability",
          "us",
          "wealth",
          "broker-dealer",
          "finra",
          "sec",
          "compliance"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "recommendation_type": {
                    "type": "string",
                    "enum": [
                      "security_transaction",
                      "investment_strategy",
                      "account_type",
                      "rollover",
                      "margin"
                    ],
                    "description": "Type of recommendation being assessed"
                  },
                  "retail_customer": {
                    "type": "boolean",
                    "description": "True if the recommendation is made to a retail customer (required for Reg BI scope)"
                  },
                  "reasonably_available_alternatives_considered": {
                    "type": "integer",
                    "minimum": 0,
                    "description": "Number of reasonably available alternatives considered before making the recommendation"
                  },
                  "total_cost_bps": {
                    "type": "number",
                    "description": "Total cost to the retail customer in basis points"
                  },
                  "lower_cost_alternative_exists": {
                    "type": "boolean",
                    "description": "True if a lower-cost alternative was identified in the considered set"
                  },
                  "conflicts_disclosed": {
                    "type": "boolean",
                    "description": "True if material conflicts of interest were disclosed in writing"
                  },
                  "conflicts_mitigated": {
                    "type": "boolean",
                    "description": "True if conflicts of interest were mitigated or eliminated through written policies"
                  },
                  "form_crs_delivered": {
                    "type": "boolean",
                    "description": "True if Form CRS was delivered to the retail customer at or before the recommendation"
                  },
                  "rationale_documented": {
                    "type": "boolean",
                    "description": "True if the recommendation rationale (basis for best interest) was documented"
                  },
                  "compliance_program_in_place": {
                    "type": "boolean",
                    "description": "True if a written compliance program reasonably designed to achieve Reg BI compliance is in place"
                  }
                },
                "required": [
                  "recommendation_type",
                  "retail_customer"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "verdict": {
                      "type": "string",
                      "enum": [
                        "BEST_INTEREST_MET",
                        "ATTENTION",
                        "NOT_MET",
                        "OUT_OF_SCOPE"
                      ]
                    },
                    "verdict_label": {
                      "type": "string"
                    },
                    "obligations": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "obligation": {
                            "type": "string"
                          },
                          "citation": {
                            "type": "string"
                          },
                          "status": {
                            "type": "string",
                            "enum": [
                              "PASS",
                              "GAP"
                            ]
                          },
                          "gaps": {
                            "type": "array"
                          },
                          "detail": {
                            "type": "string"
                          }
                        }
                      }
                    },
                    "remediation": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "reg_bi_best_interest_checker",
        "x-tool-url": "https://ainumbers.co/tools/463-reg-bi-best-interest-checker.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/form_crs_generator": {
      "post": {
        "operationId": "form_crs_generator",
        "summary": "Form CRS Generator",
        "description": "Generate a Form CRS (Customer Relationship Summary) using SEC-prescribed headings and verbatim conversation-starter questions. Checks format compliance (estimated page count vs. SEC 2-page limit for BD/IA, 4-page limit for dual registrants). The Reg BI disclosure artifact required before or at the time of every retail investor recommendation. Markdown export IS the deliverable. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/464-form-crs-generator.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "reg-bi",
          "form-crs",
          "suitability",
          "us",
          "wealth",
          "broker-dealer",
          "investment-adviser",
          "disclosure",
          "sec",
          "compliance"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "firm_type": {
                    "type": "string",
                    "enum": [
                      "broker_dealer",
                      "investment_adviser",
                      "dual_registrant"
                    ],
                    "description": "Type of registered firm"
                  },
                  "fee_model": {
                    "type": "string",
                    "enum": [
                      "commission",
                      "aum_fee",
                      "wrap_fee",
                      "hourly",
                      "flat",
                      "mixed"
                    ],
                    "description": "Primary fee model"
                  },
                  "services_offered": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "description": "List of investment services offered to retail investors"
                  },
                  "account_minimums": {
                    "type": "string",
                    "description": "Account minimum requirements"
                  },
                  "monitoring_offered": {
                    "type": "boolean",
                    "description": "True if ongoing account monitoring is offered"
                  },
                  "discretionary_authority": {
                    "type": "boolean",
                    "description": "True if the firm exercises discretionary authority"
                  },
                  "material_conflicts": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "description": "List of material conflicts of interest to disclose"
                  },
                  "disciplinary_history": {
                    "type": "boolean",
                    "description": "True if the firm or its professionals have legal or disciplinary history"
                  }
                },
                "required": [
                  "firm_type",
                  "fee_model"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "sections": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "heading": {
                            "type": "string"
                          },
                          "question": {
                            "type": "string"
                          },
                          "body": {
                            "type": "string"
                          }
                        }
                      }
                    },
                    "format_ok": {
                      "type": "boolean"
                    },
                    "estimated_pages": {
                      "type": "number"
                    },
                    "max_pages": {
                      "type": "integer"
                    },
                    "conversation_starters": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "form_crs_generator",
        "x-tool-url": "https://ainumbers.co/tools/464-form-crs-generator.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/carf_dac8_reportable_classifier": {
      "post": {
        "operationId": "carf_dac8_reportable_classifier",
        "summary": "CARF / DAC8 Reportable Classifier",
        "description": "Classify CASPs, users, and transactions as reportable under OECD CARF and EU DAC8. Determines reporting-CASP status, reportable-user residency, and transaction-type triggers (exchanges, transfers to unhosted wallets, retail payments ≥ USD 50,000). CARF effective 1 Jan 2026 across 52 jurisdictions; DAC8 for FY2026, first reports 31 Jan 2027. Tier 1 Policy Mandate + Tier 2 classification CSV. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/465-carf-dac8-reportable-classifier.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "carf",
          "dac8",
          "crypto-tax",
          "casp",
          "reportable",
          "crypto-asset",
          "oecd",
          "eu",
          "tax-reporting",
          "compliance"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "entity_type": {
                    "type": "string",
                    "enum": [
                      "exchange",
                      "broker",
                      "wallet_provider",
                      "atm_operator",
                      "other"
                    ],
                    "description": "CASP entity type per CARF §II Reporting CASP definition"
                  },
                  "regime": {
                    "type": "string",
                    "enum": [
                      "carf",
                      "dac8",
                      "both"
                    ],
                    "description": "Applicable regime: carf (non-EU jurisdictions), dac8 (EU member states), or both"
                  },
                  "user_residencies": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "description": "ISO 3166-1 alpha-2 residency codes for each user to classify"
                  },
                  "transactions": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "enum": [
                            "crypto_to_fiat",
                            "fiat_to_crypto",
                            "crypto_to_crypto",
                            "transfer_out",
                            "retail_payment"
                          ]
                        },
                        "amount_usd": {
                          "type": "number"
                        },
                        "counterparty_hosted": {
                          "type": "boolean"
                        }
                      }
                    },
                    "description": "Transactions to classify; retail_payment threshold is USD 50,000 per CARF §II.D.3"
                  }
                },
                "required": [
                  "entity_type",
                  "regime"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "is_reporting_casp": {
                      "type": "boolean"
                    },
                    "reportable_users_count": {
                      "type": "integer"
                    },
                    "reportable_txns_count": {
                      "type": "integer"
                    },
                    "users": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "user_id": {
                            "type": "string"
                          },
                          "residency": {
                            "type": "string"
                          },
                          "reportable": {
                            "type": "boolean"
                          }
                        }
                      }
                    },
                    "transactions": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "tx_id": {
                            "type": "string"
                          },
                          "type": {
                            "type": "string"
                          },
                          "amount_usd": {
                            "type": "number"
                          },
                          "reportable": {
                            "type": "boolean"
                          },
                          "reason": {
                            "type": "string"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "carf_dac8_reportable_classifier",
        "x-tool-url": "https://ainumbers.co/tools/465-carf-dac8-reportable-classifier.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/crypto_cost_basis_gain_calculator": {
      "post": {
        "operationId": "crypto_cost_basis_gain_calculator",
        "summary": "Crypto Cost Basis & Gain Calculator",
        "description": "Compute cost basis and realized gain/loss per disposal using FIFO, LIFO, HIFO, or specific-identification lot matching. Short/long-term split at 12-month threshold (IRC §1222). Per-wallet basis tracking as required for US taxpayers from 2025 (IRS Rev. Proc. 2024-28). Feeds IRS Form 1099-DA and CARF/DAC8 basis reporting. Tier 1 Policy Mandate + Tier 2 gain/loss schedule CSV. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/466-crypto-cost-basis-gain-calculator.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "crypto-tax",
          "cost-basis",
          "capital-gain",
          "fifo",
          "lifo",
          "hifo",
          "spec-id",
          "1099-da",
          "carf",
          "dac8",
          "bitcoin",
          "digital-asset"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "method": {
                    "type": "string",
                    "enum": [
                      "FIFO",
                      "LIFO",
                      "HIFO",
                      "spec_id"
                    ],
                    "description": "Lot-matching method: FIFO=first-in-first-out; LIFO=last-in; HIFO=highest-cost-first; spec_id=taxpayer designates each lot"
                  },
                  "wallet_by_wallet": {
                    "type": "boolean",
                    "description": "Restrict lot matching to same wallet (required for US from 2025)"
                  },
                  "lots": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "lot_id": {
                          "type": "string"
                        },
                        "asset": {
                          "type": "string"
                        },
                        "wallet": {
                          "type": "string"
                        },
                        "date_acquired": {
                          "type": "string",
                          "description": "YYYY-MM-DD"
                        },
                        "qty": {
                          "type": "number"
                        },
                        "cost_usd": {
                          "type": "number"
                        }
                      }
                    },
                    "description": "Acquisition lots"
                  },
                  "disposals": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "disposal_id": {
                          "type": "string"
                        },
                        "asset": {
                          "type": "string"
                        },
                        "wallet": {
                          "type": "string"
                        },
                        "date_disposed": {
                          "type": "string",
                          "description": "YYYY-MM-DD"
                        },
                        "qty": {
                          "type": "number"
                        },
                        "proceeds_usd": {
                          "type": "number"
                        },
                        "spec_lot_id": {
                          "type": "string",
                          "description": "Required for spec_id method"
                        }
                      }
                    },
                    "description": "Disposals to match"
                  }
                },
                "required": [
                  "method",
                  "lots",
                  "disposals"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "total_proceeds_usd": {
                      "type": "number"
                    },
                    "total_basis_usd": {
                      "type": "number"
                    },
                    "net_gain_loss_usd": {
                      "type": "number"
                    },
                    "short_term_gain_loss_usd": {
                      "type": "number"
                    },
                    "long_term_gain_loss_usd": {
                      "type": "number"
                    },
                    "gain_loss_schedule": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "disposal_id": {
                            "type": "string"
                          },
                          "proceeds_usd": {
                            "type": "number"
                          },
                          "basis_usd": {
                            "type": "number"
                          },
                          "gain_loss_usd": {
                            "type": "number"
                          },
                          "term": {
                            "type": "string",
                            "enum": [
                              "short",
                              "long",
                              "unknown"
                            ]
                          },
                          "date_acquired": {
                            "type": "string"
                          },
                          "date_disposed": {
                            "type": "string"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "crypto_cost_basis_gain_calculator",
        "x-tool-url": "https://ainumbers.co/tools/466-crypto-cost-basis-gain-calculator.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/form_1099_da_generator": {
      "post": {
        "operationId": "form_1099_da_generator",
        "summary": "IRS Form 1099-DA Generator",
        "description": "Assemble IRS Form 1099-DA (Digital Asset Proceeds from Broker Transactions) records from disposal and basis data. Validates completeness per IRS final broker-reporting regulations (Treasury Decision 9996, June 2024). Gross-proceeds reporting effective 1 January 2025; basis reporting for covered securities effective 1 January 2026. IRS Notice 2025-7 transitional penalty relief for tax year 2025. Tier 1 Policy Mandate JSON + Markdown per-payee statements + Tier 2 CSV filing extract. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/467-form-1099-da-generator.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "1099-da",
          "crypto-tax",
          "broker-reporting",
          "digital-asset",
          "irs",
          "td-9996",
          "basis",
          "proceeds",
          "carf",
          "dac8",
          "covered-security"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "broker_name": {
                    "type": "string",
                    "description": "Synthetic broker name"
                  },
                  "broker_ein": {
                    "type": "string",
                    "description": "Synthetic broker EIN"
                  },
                  "tax_year": {
                    "type": "integer",
                    "description": "Tax year (2025 or later)"
                  },
                  "covered_status": {
                    "type": "string",
                    "enum": [
                      "covered",
                      "noncovered",
                      "transferred"
                    ],
                    "description": "Covered/noncovered status per TD 9996 §1.6045-1(a)(19)"
                  },
                  "disposals": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "recipient_id": {
                          "type": "string"
                        },
                        "asset": {
                          "type": "string"
                        },
                        "date_acquired": {
                          "type": "string",
                          "description": "YYYY-MM-DD"
                        },
                        "date_sold": {
                          "type": "string",
                          "description": "YYYY-MM-DD"
                        },
                        "proceeds_usd": {
                          "type": "number"
                        },
                        "basis_usd": {
                          "type": "number"
                        },
                        "wash_sale_adj_usd": {
                          "type": "number"
                        },
                        "term": {
                          "type": "string",
                          "enum": [
                            "short",
                            "long",
                            "unknown"
                          ]
                        },
                        "is_nft": {
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "recipient_id",
                        "asset",
                        "date_sold",
                        "proceeds_usd"
                      ]
                    },
                    "description": "Disposal records to assemble into 1099-DA entries; typically sourced from T466 gain/loss schedule"
                  }
                },
                "required": [
                  "tax_year",
                  "covered_status",
                  "disposals"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "record_count": {
                      "type": "integer"
                    },
                    "complete_count": {
                      "type": "integer"
                    },
                    "total_proceeds_usd": {
                      "type": "number"
                    },
                    "total_net_gain_loss_usd": {
                      "type": "number"
                    },
                    "records": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "recipient_id": {
                            "type": "string"
                          },
                          "asset": {
                            "type": "string"
                          },
                          "date_acquired": {
                            "type": "string"
                          },
                          "date_sold": {
                            "type": "string"
                          },
                          "proceeds_usd": {
                            "type": "number"
                          },
                          "basis_usd": {
                            "type": "number"
                          },
                          "wash_sale_adj_usd": {
                            "type": "number"
                          },
                          "net_gain_loss_usd": {
                            "type": "number"
                          },
                          "term": {
                            "type": "string"
                          },
                          "is_covered": {
                            "type": "boolean"
                          },
                          "complete": {
                            "type": "boolean"
                          },
                          "missing_fields": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "form_1099_da_generator",
        "x-tool-url": "https://ainumbers.co/tools/467-form-1099-da-generator.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/casp_tax_reporting_readiness_scorer": {
      "post": {
        "operationId": "casp_tax_reporting_readiness_scorer",
        "summary": "CASP Tax Reporting Readiness Scorer",
        "description": "Weighted domain scorer for Crypto-Asset Service Providers (CASPs) preparing for OECD CARF (effective 1 Jan 2026), EU DAC8 (Directive 2023/2226, first reports 31 Jan 2027), and IRS Form 1099-DA (TD 9996 — gross proceeds 2025, basis 2026). Scores five domains: Due Diligence, Data & Classification, Technical Infrastructure, Governance, and US Compliance. Outputs A–F grade, domain breakdown, and prioritised gap list linked to T465/T466/T467. Tier 1 Policy Mandate JSON + Markdown report. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/468-casp-tax-reporting-readiness-scorer.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "carf",
          "dac8",
          "1099-da",
          "casp",
          "readiness",
          "crypto-tax",
          "oecd",
          "eu",
          "irs",
          "compliance-scoring",
          "gap-analysis"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "entity_type": {
                    "type": "string",
                    "enum": [
                      "exchange",
                      "broker",
                      "wallet_provider",
                      "atm_operator",
                      "other"
                    ]
                  },
                  "regime": {
                    "type": "string",
                    "enum": [
                      "both",
                      "carf_only",
                      "dac8_only",
                      "us_only"
                    ],
                    "description": "Regime scope: both=CARF+DAC8+1099-DA; carf_only; dac8_only; us_only=IRS 1099-DA only"
                  }
                },
                "required": [
                  "entity_type",
                  "regime"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "overall_pct": {
                      "type": "integer",
                      "description": "Overall readiness percentage 0–100"
                    },
                    "grade": {
                      "type": "string",
                      "enum": [
                        "A",
                        "B",
                        "C",
                        "D",
                        "F"
                      ]
                    },
                    "domain_results": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "label": {
                            "type": "string"
                          },
                          "weight": {
                            "type": "number"
                          },
                          "raw": {
                            "type": "integer"
                          },
                          "max_pts": {
                            "type": "integer"
                          },
                          "pct": {
                            "type": "number"
                          }
                        }
                      }
                    },
                    "critical_gap_count": {
                      "type": "integer"
                    },
                    "gaps": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "label": {
                            "type": "string"
                          },
                          "priority": {
                            "type": "string",
                            "enum": [
                              "critical",
                              "high",
                              "medium",
                              "low"
                            ]
                          },
                          "desc": {
                            "type": "string"
                          },
                          "tool": {
                            "type": "string"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "casp_tax_reporting_readiness_scorer",
        "x-tool-url": "https://ainumbers.co/tools/468-casp-tax-reporting-readiness-scorer.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/lcr_calculator": {
      "post": {
        "operationId": "lcr_calculator",
        "summary": "LCR Calculator",
        "description": "Liquidity Coverage Ratio (LCR) per Basel III LCR standard (BCBS 238, January 2013). LCR = HQLA ÷ Net Cash Outflows (30-day stress) ≥ 100%. HQLA haircuts: Level 1 0%, Level 2A 15%, Level 2B 25–50%. Inflow cap 75%. Level 2A cap 40%, Level 2B cap 15% of HQLA. Tier 1 Policy Mandate JSON + Markdown. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/469-lcr-calculator.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "lcr",
          "liquidity",
          "hqla",
          "basel-iii",
          "bcbs-238",
          "pillar-3",
          "liq1",
          "capital",
          "regulatory"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "hqla_items": {
                    "type": "array",
                    "description": "HQLA stock — level, asset description, and market value",
                    "items": {
                      "type": "object",
                      "properties": {
                        "level": {
                          "type": "string",
                          "enum": [
                            "l1",
                            "l2a",
                            "l2b_25",
                            "l2b_40",
                            "l2b_50"
                          ]
                        },
                        "asset": {
                          "type": "string"
                        },
                        "market_value_m": {
                          "type": "number"
                        }
                      }
                    }
                  },
                  "outflow_items": {
                    "type": "array",
                    "description": "30-day stress outflow categories",
                    "items": {
                      "type": "object",
                      "properties": {
                        "label": {
                          "type": "string"
                        },
                        "balance_m": {
                          "type": "number"
                        },
                        "outflow_rate_pct": {
                          "type": "number",
                          "description": "Outflow rate 0–100%"
                        }
                      }
                    }
                  },
                  "inflow_items": {
                    "type": "array",
                    "description": "30-day stress inflow categories (capped at 75% of outflows)",
                    "items": {
                      "type": "object",
                      "properties": {
                        "label": {
                          "type": "string"
                        },
                        "balance_m": {
                          "type": "number"
                        },
                        "inflow_rate_pct": {
                          "type": "number"
                        }
                      }
                    }
                  }
                },
                "required": [
                  "hqla_items",
                  "outflow_items"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "hqla_total_m": {
                      "type": "number"
                    },
                    "gross_out_m": {
                      "type": "number"
                    },
                    "net_inflows_m": {
                      "type": "number"
                    },
                    "nco_m": {
                      "type": "number"
                    },
                    "lcr_ratio": {
                      "type": "number"
                    },
                    "lcr_pct": {
                      "type": "number"
                    },
                    "compliant": {
                      "type": "boolean"
                    },
                    "surplus_m": {
                      "type": "number"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "lcr_calculator",
        "x-tool-url": "https://ainumbers.co/tools/469-lcr-calculator.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/options_pnl_analyzer": {
      "post": {
        "operationId": "options_pnl_analyzer",
        "summary": "Options P&L Analyzer",
        "description": "Full Black-Scholes options pricing engine with all five Greeks. 10 prebuilt strategies. Interactive payoff diagram with expiry and current-value curves. Probability of profit. Client-side.\n\n**Tool URL:** https://ainumbers.co/tools/47-options-pnl-analyzer.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "options_pnl_analyzer",
        "x-tool-url": "https://ainumbers.co/tools/47-options-pnl-analyzer.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/nsfr_calculator": {
      "post": {
        "operationId": "nsfr_calculator",
        "summary": "NSFR Calculator",
        "description": "Net Stable Funding Ratio (NSFR) per Basel III NSFR standard (BCBS 295, October 2014). NSFR = Available Stable Funding (ASF) ÷ Required Stable Funding (RSF) ≥ 100%. ASF and RSF factors per BCBS 295 Tables 1–2. Tier 1 Policy Mandate JSON + Markdown. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/470-nsfr-calculator.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "nsfr",
          "stable-funding",
          "asf",
          "rsf",
          "basel-iii",
          "bcbs-295",
          "pillar-3",
          "liq2",
          "liquidity",
          "regulatory"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "asf_items": {
                    "type": "array",
                    "description": "Available Stable Funding items with ASF factor",
                    "items": {
                      "type": "object",
                      "properties": {
                        "label": {
                          "type": "string"
                        },
                        "amount_m": {
                          "type": "number"
                        },
                        "asf_factor_pct": {
                          "type": "number",
                          "description": "ASF factor 0–100"
                        }
                      }
                    }
                  },
                  "rsf_items": {
                    "type": "array",
                    "description": "Required Stable Funding items with RSF factor",
                    "items": {
                      "type": "object",
                      "properties": {
                        "label": {
                          "type": "string"
                        },
                        "amount_m": {
                          "type": "number"
                        },
                        "rsf_factor_pct": {
                          "type": "number",
                          "description": "RSF factor 0–100"
                        }
                      }
                    }
                  }
                },
                "required": [
                  "asf_items",
                  "rsf_items"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "total_asf_m": {
                      "type": "number"
                    },
                    "total_rsf_m": {
                      "type": "number"
                    },
                    "nsfr": {
                      "type": "number"
                    },
                    "nsfr_pct": {
                      "type": "number"
                    },
                    "compliant": {
                      "type": "boolean"
                    },
                    "surplus_m": {
                      "type": "number"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "nsfr_calculator",
        "x-tool-url": "https://ainumbers.co/tools/470-nsfr-calculator.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/leverage_ratio_calculator": {
      "post": {
        "operationId": "leverage_ratio_calculator",
        "summary": "Leverage Ratio Calculator",
        "description": "Basel III leverage ratio per BCBS 270 (January 2014) as revised by BCBS 360 (December 2017). Leverage Ratio = Tier 1 Capital ÷ Total Exposure Measure ≥ 3% (G-SIB leverage buffer up to 1.75% additional). Covers on-balance-sheet, derivative (SA-CCR), SFT, and off-balance-sheet exposures. Feeds Pillar 3 KM1 (T472). Tier 1 Policy Mandate JSON + Markdown. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/471-leverage-ratio-calculator.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "leverage-ratio",
          "tier-1",
          "bcbs-270",
          "bcbs-360",
          "basel-iii",
          "pillar-3",
          "km1",
          "g-sib",
          "capital",
          "regulatory"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "cet1": {
                    "type": "number",
                    "description": "CET1 capital (m)"
                  },
                  "at1": {
                    "type": "number",
                    "description": "Additional Tier 1 capital (m); defaults to 0"
                  },
                  "gsib_bucket": {
                    "type": "number",
                    "enum": [
                      0,
                      1,
                      1.5,
                      2,
                      2.5,
                      3.5
                    ],
                    "description": "G-SIB surcharge bucket; 0 = not G-SIB"
                  },
                  "obs_exp": {
                    "type": "number",
                    "description": "On-balance-sheet gross exposures (m)"
                  },
                  "deriv_exp": {
                    "type": "number",
                    "description": "Derivative exposure measure (SA-CCR RC+PFE, m)"
                  },
                  "sft_exp": {
                    "type": "number",
                    "description": "SFT exposure measure (m)"
                  },
                  "offbs_exp": {
                    "type": "number",
                    "description": "Off-balance-sheet CCF-adjusted exposures (m)"
                  },
                  "other_exp": {
                    "type": "number",
                    "description": "Other adjustments (m)"
                  }
                },
                "required": [
                  "cet1",
                  "obs_exp"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "tier1_m": {
                      "type": "number"
                    },
                    "total_exposure_m": {
                      "type": "number"
                    },
                    "leverage_ratio_pct": {
                      "type": "number"
                    },
                    "min_lr_pct": {
                      "type": "number"
                    },
                    "compliant": {
                      "type": "boolean"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "leverage_ratio_calculator",
        "x-tool-url": "https://ainumbers.co/tools/471-leverage-ratio-calculator.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/pillar_3_disclosure_builder": {
      "post": {
        "operationId": "pillar_3_disclosure_builder",
        "summary": "Pillar 3 Disclosure Builder",
        "description": "Assemble Basel III Pillar 3 disclosure tables per BCBS 309 (March 2017) and BCBS 400 (December 2018). Generates KM1 (key metrics), OV1 (overview of RWAs by risk type), LIQ1 (LCR detail), and LIQ2 (NSFR detail). Consumes outputs from T201 (RWA), T469 (LCR), T470 (NSFR), T471 (leverage ratio). Verify row definitions against EBA ITS (EU) or PRA rules (UK). Tier 1 Policy Mandate JSON + Markdown. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/472-pillar-3-disclosure-builder.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "pillar-3",
          "bcbs-309",
          "bcbs-400",
          "km1",
          "ov1",
          "liq1",
          "liq2",
          "disclosure",
          "regulatory-reporting",
          "capital",
          "liquidity"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "bank_name": {
                    "type": "string"
                  },
                  "period": {
                    "type": "string"
                  },
                  "cet1_ratio": {
                    "type": "number",
                    "description": "CET1 ratio %"
                  },
                  "t1_ratio": {
                    "type": "number"
                  },
                  "tc_ratio": {
                    "type": "number"
                  },
                  "rwa": {
                    "type": "number",
                    "description": "Total RWA (m)"
                  },
                  "lr_pct": {
                    "type": "number",
                    "description": "Leverage ratio %"
                  },
                  "lcr_pct": {
                    "type": "number",
                    "description": "LCR %"
                  },
                  "nsfr_pct": {
                    "type": "number",
                    "description": "NSFR %"
                  },
                  "cr_rwa": {
                    "type": "number"
                  },
                  "mr_rwa": {
                    "type": "number"
                  },
                  "or_rwa": {
                    "type": "number"
                  },
                  "hqla_m": {
                    "type": "number"
                  },
                  "gross_out": {
                    "type": "number"
                  },
                  "net_inf": {
                    "type": "number"
                  },
                  "nco": {
                    "type": "number"
                  },
                  "asf_m": {
                    "type": "number"
                  },
                  "rsf_m": {
                    "type": "number"
                  }
                },
                "required": [
                  "cet1_ratio",
                  "t1_ratio",
                  "tc_ratio",
                  "rwa",
                  "lcr_pct",
                  "nsfr_pct",
                  "lr_pct"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "km1": {
                      "type": "object",
                      "description": "KM1 key metrics table"
                    },
                    "ov1": {
                      "type": "object",
                      "description": "OV1 RWA overview table"
                    },
                    "liq1": {
                      "type": "object",
                      "description": "LIQ1 LCR detail table"
                    },
                    "liq2": {
                      "type": "object",
                      "description": "LIQ2 NSFR detail table"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "pillar_3_disclosure_builder",
        "x-tool-url": "https://ainumbers.co/tools/472-pillar-3-disclosure-builder.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/globe_etr_jurisdiction_calculator": {
      "post": {
        "operationId": "globe_etr_jurisdiction_calculator",
        "summary": "GloBE ETR Jurisdiction Calculator",
        "description": "OECD Pillar Two GloBE ETR per jurisdiction. GloBE ETR = Adjusted Covered Taxes / GloBE Income (Art. 5.1.1). Minimum rate: 15%. SBIE deduction: qualifying payroll × transitional rate + qualifying tangible assets × transitional rate (Art. 5.3). Identifies jurisdictions below 15% for top-up tax computation (T474). ⚠ US-HQ groups exempt from IIR/UTPR per January 2026 OECD side-by-side package. First stage of the Pillar Two GloBE composer chain. Tier 1 Policy Mandate JSON + Markdown. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/473-globe-etr-jurisdiction-calculator.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "pillar-two",
          "globe",
          "etr",
          "minimum-tax",
          "sbie",
          "oecd",
          "transitional",
          "covered-taxes",
          "jurisdiction",
          "mne"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "jurisdictions": {
                    "type": "array",
                    "description": "List of jurisdictions with GloBE income data",
                    "items": {
                      "type": "object",
                      "properties": {
                        "jur": {
                          "type": "string",
                          "description": "ISO-3 jurisdiction code (e.g. DE, IE, SG)"
                        },
                        "income": {
                          "type": "number",
                          "description": "GloBE income (m)"
                        },
                        "taxes": {
                          "type": "number",
                          "description": "Adjusted covered taxes (m)"
                        },
                        "payroll": {
                          "type": "number",
                          "description": "Qualifying payroll (m); used for SBIE"
                        },
                        "assets": {
                          "type": "number",
                          "description": "Qualifying tangible assets (m); used for SBIE"
                        },
                        "sbie_payroll_rate_pct": {
                          "type": "number",
                          "description": "SBIE payroll rate % — FY2024: 9.8, FY2025: 9.6, FY2026: 9.4, FY2027+: 5.0"
                        }
                      },
                      "required": [
                        "jur",
                        "income",
                        "taxes"
                      ]
                    }
                  }
                },
                "required": [
                  "jurisdictions"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "jurisdictions": {
                      "type": "array",
                      "description": "Per-jurisdiction ETR, SBIE, net income, top-up rate, indicative top-up"
                    },
                    "total_income_m": {
                      "type": "number"
                    },
                    "total_taxes_m": {
                      "type": "number"
                    },
                    "aggregate_etr": {
                      "type": "number"
                    },
                    "low_etr_count": {
                      "type": "number",
                      "description": "Count of jurisdictions below 15% ETR"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "globe_etr_jurisdiction_calculator",
        "x-tool-url": "https://ainumbers.co/tools/473-globe-etr-jurisdiction-calculator.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/topup_tax_qdmtt_calculator": {
      "post": {
        "operationId": "topup_tax_qdmtt_calculator",
        "summary": "Top-up Tax / QDMTT Calculator",
        "description": "OECD Pillar Two top-up tax per jurisdiction. Top-up tax = (15% − ETR) × GloBE income net SBIE (Art. 5.2.1). Allocates top-up tax across QDMTT (Art. 11.3), IIR (Art. 2.1), and UTPR (Art. 2.4). ⚠ US-HQ groups exempt from IIR and UTPR per January 2026 OECD side-by-side package. Consumes T473 ETR outputs. Feeds T476 GIR Builder. Tier 1 Policy Mandate JSON + Markdown. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/474-topup-tax-qdmtt-calculator.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "pillar-two",
          "globe",
          "top-up-tax",
          "qdmtt",
          "iir",
          "utpr",
          "oecd",
          "minimum-tax",
          "jurisdiction",
          "mne",
          "us-exemption"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "parent_hq": {
                    "type": "string",
                    "description": "Parent HQ ISO-3 code — use 'US' to apply IIR/UTPR exemption"
                  },
                  "fy": {
                    "type": "integer",
                    "description": "Fiscal year (affects SBIE transitional rates)"
                  },
                  "jurisdictions": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "jur": {
                          "type": "string"
                        },
                        "income": {
                          "type": "number",
                          "description": "GloBE income (m)"
                        },
                        "taxes": {
                          "type": "number",
                          "description": "Covered taxes (m)"
                        },
                        "sbie": {
                          "type": "number",
                          "description": "SBIE (m) from T473"
                        },
                        "qdmtt_enacted": {
                          "type": "boolean",
                          "description": "True if jurisdiction has enacted QDMTT"
                        },
                        "qdmtt_rate_pct": {
                          "type": "number",
                          "description": "QDMTT rate % (typically 15)"
                        }
                      },
                      "required": [
                        "jur",
                        "income",
                        "taxes",
                        "sbie"
                      ]
                    }
                  }
                },
                "required": [
                  "parent_hq",
                  "jurisdictions"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "jurisdictions": {
                      "type": "array",
                      "description": "Per-jurisdiction ETR, top-up amount, QDMTT, IIR, UTPR"
                    },
                    "total_topup_m": {
                      "type": "number"
                    },
                    "total_qdmtt_m": {
                      "type": "number"
                    },
                    "total_iir_m": {
                      "type": "number"
                    },
                    "total_utpr_m": {
                      "type": "number"
                    },
                    "us_exempt": {
                      "type": "boolean"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "topup_tax_qdmtt_calculator",
        "x-tool-url": "https://ainumbers.co/tools/474-topup-tax-qdmtt-calculator.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/pillar_two_safe_harbour_checker": {
      "post": {
        "operationId": "pillar_two_safe_harbour_checker",
        "summary": "Pillar Two Safe Harbour Checker",
        "description": "OECD Pillar Two transitional CbCR safe harbour eligibility checker (OECD agreed guidance, December 2022). Three transitional tests: (1) de minimis — CbCR revenue < €10M AND PBT < €1M; (2) simplified ETR — CbCR taxes/PBT ≥ threshold (15%/15%/16% for FY2024/2025/2026); (3) routine profits — CbCR PBT ≤ SBIE. Also checks permanent safe harbour (ETR ≥ 15%). Transitional period: FY2024–FY2026. ⚠ US-HQ groups exempt from IIR/UTPR per January 2026 OECD side-by-side package. Tier 1 Policy Mandate JSON + Markdown. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/475-pillar-two-safe-harbour-checker.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "pillar-two",
          "globe",
          "safe-harbour",
          "cbcr",
          "transitional",
          "de-minimis",
          "simplified-etr",
          "routine-profits",
          "oecd",
          "minimum-tax",
          "mne"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "parent_hq": {
                    "type": "string",
                    "description": "Parent HQ ISO-3 code"
                  },
                  "fy": {
                    "type": "integer",
                    "description": "Fiscal year — transitional safe harbours available 2024–2026 only"
                  },
                  "jurisdictions": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "jur": {
                          "type": "string"
                        },
                        "rev": {
                          "type": "number",
                          "description": "CbCR revenue (m)"
                        },
                        "pbt": {
                          "type": "number",
                          "description": "CbCR profit before tax (m)"
                        },
                        "taxes": {
                          "type": "number",
                          "description": "CbCR covered taxes (m)"
                        },
                        "globe_etr_pct": {
                          "type": "number",
                          "description": "GloBE ETR % from T473"
                        },
                        "sbie": {
                          "type": "number",
                          "description": "SBIE amount (m)"
                        }
                      },
                      "required": [
                        "jur",
                        "rev",
                        "pbt",
                        "taxes"
                      ]
                    }
                  }
                },
                "required": [
                  "parent_hq",
                  "fy",
                  "jurisdictions"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "jurisdictions": {
                      "type": "array",
                      "description": "Per-jurisdiction safe harbour eligibility per test"
                    },
                    "safe_count": {
                      "type": "integer"
                    },
                    "unsafe_count": {
                      "type": "integer"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "pillar_two_safe_harbour_checker",
        "x-tool-url": "https://ainumbers.co/tools/475-pillar-two-safe-harbour-checker.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/gir_builder": {
      "post": {
        "operationId": "gir_builder",
        "summary": "GloBE Information Return Builder",
        "description": "OECD GloBE Information Return (GIR) data assembly per the GIR (January 2025), Annex A1. Covers GIR Section 1 (MNE Group Information), Section 2 (Jurisdictional safe harbours and exclusions), Section 3 (GloBE Computations, top-up tax summary). Required for MNE groups with consolidated revenue ≥ €750M. First filing: FY2024 groups, due 30 June 2026. Consumes T473 (ETR), T474 (top-up), T475 (safe harbours). ⚠ US-HQ groups exempt from IIR/UTPR per January 2026 OECD side-by-side package. Final stage of the Pillar Two GloBE composer chain. Tier 1 Policy Mandate JSON + Markdown + CSV. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/476-gir-builder.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "pillar-two",
          "globe",
          "gir",
          "information-return",
          "oecd",
          "minimum-tax",
          "mne",
          "filing",
          "jurisdiction",
          "qdmtt",
          "sbie",
          "us-exemption"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "upe_name": {
                    "type": "string",
                    "description": "Synthetic UPE name"
                  },
                  "upe_jur": {
                    "type": "string",
                    "description": "UPE jurisdiction ISO-3"
                  },
                  "fy": {
                    "type": "integer",
                    "description": "Fiscal year"
                  },
                  "total_rev": {
                    "type": "number",
                    "description": "Total consolidated revenue (€m)"
                  },
                  "entity_count": {
                    "type": "integer",
                    "description": "Number of constituent entities"
                  },
                  "filing_jur": {
                    "type": "string",
                    "description": "GIR filing jurisdiction ISO-3"
                  },
                  "jurisdictions": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "jur": {
                          "type": "string"
                        },
                        "income": {
                          "type": "number"
                        },
                        "taxes": {
                          "type": "number"
                        },
                        "etr_pct": {
                          "type": "number"
                        },
                        "sbie": {
                          "type": "number"
                        },
                        "topup": {
                          "type": "number"
                        },
                        "qdmtt": {
                          "type": "number"
                        },
                        "safe_harbour": {
                          "type": "boolean"
                        },
                        "iir_utpr_exempt": {
                          "type": "boolean",
                          "description": "True for US-HQ parent jurisdictions"
                        }
                      },
                      "required": [
                        "jur",
                        "income",
                        "taxes",
                        "etr_pct"
                      ]
                    }
                  }
                },
                "required": [
                  "upe_name",
                  "upe_jur",
                  "fy",
                  "total_rev",
                  "jurisdictions"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "in_scope": {
                      "type": "boolean"
                    },
                    "jurisdictions": {
                      "type": "array"
                    },
                    "total_income_m": {
                      "type": "number"
                    },
                    "total_topup_m": {
                      "type": "number"
                    },
                    "total_qdmtt_m": {
                      "type": "number"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "gir_builder",
        "x-tool-url": "https://ainumbers.co/tools/476-gir-builder.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/fatf_customer_risk_rating": {
      "post": {
        "operationId": "fatf_customer_risk_rating",
        "summary": "FATF Customer Risk Rating",
        "description": "Score a customer across 6 FATF Recommendation 10/12 risk dimensions (entity type, geography, product/service, channel, PEP/sanctions exposure, transaction pattern) to derive a composite AML risk tier and required CDD level. Outputs per-dimension breakdown and Policy Mandate JSON.\n\n**Tool URL:** https://ainumbers.co/tools/477-fatf-customer-risk-rating.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "FATF",
          "AML",
          "KYC",
          "CDD",
          "EDD",
          "customer risk",
          "risk-based approach",
          "KYA",
          "compliance"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "entity_type": {
                    "type": "string",
                    "enum": [
                      "individual_standard",
                      "corporate_standard",
                      "corporate_complex",
                      "charity_npo",
                      "pep_domestic",
                      "pep_foreign"
                    ],
                    "description": "Customer/entity type"
                  },
                  "geography": {
                    "type": "string",
                    "enum": [
                      "low_risk",
                      "standard",
                      "fatf_grey",
                      "sanctions",
                      "tax_haven"
                    ],
                    "description": "Jurisdiction risk level"
                  },
                  "product_service": {
                    "type": "string",
                    "enum": [
                      "standard_deposit",
                      "internet_banking",
                      "cash_intensive",
                      "crypto_dlt",
                      "private_banking",
                      "trade_finance",
                      "correspondent"
                    ],
                    "description": "Product or service category"
                  },
                  "channel": {
                    "type": "string",
                    "enum": [
                      "face_to_face",
                      "non_face_verified",
                      "digital_biometric",
                      "agent_intermediary",
                      "correspondent_nested",
                      "anonymous"
                    ],
                    "description": "Onboarding/delivery channel"
                  },
                  "pep_sanctions": {
                    "type": "string",
                    "enum": [
                      "none",
                      "distant_link",
                      "close_associate",
                      "domestic_pep",
                      "foreign_pep_or_sanctions"
                    ],
                    "description": "PEP and sanctions exposure level"
                  },
                  "transaction_pattern": {
                    "type": "string",
                    "enum": [
                      "low_velocity",
                      "moderate",
                      "elevated_cross_border",
                      "high_velocity_structuring",
                      "red_flag"
                    ],
                    "description": "Observed or expected transaction risk pattern"
                  },
                  "w_entity": {
                    "type": "number",
                    "description": "Weight for entity dimension (default 1)"
                  },
                  "w_geo": {
                    "type": "number",
                    "description": "Weight for geography dimension (default 1)"
                  },
                  "w_product": {
                    "type": "number",
                    "description": "Weight for product dimension (default 1)"
                  },
                  "w_channel": {
                    "type": "number",
                    "description": "Weight for channel dimension (default 1)"
                  },
                  "w_pep": {
                    "type": "number",
                    "description": "Weight for PEP/sanctions dimension (default 1)"
                  },
                  "w_txn": {
                    "type": "number",
                    "description": "Weight for transaction pattern dimension (default 1)"
                  }
                },
                "required": [
                  "entity_type",
                  "geography",
                  "product_service",
                  "channel",
                  "pep_sanctions",
                  "transaction_pattern"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "composite_score": {
                      "type": "number"
                    },
                    "risk_tier": {
                      "type": "string",
                      "enum": [
                        "Low",
                        "Medium",
                        "High",
                        "Prohibited"
                      ]
                    },
                    "cdd_level": {
                      "type": "string"
                    },
                    "dimensions": {
                      "type": "array"
                    },
                    "ap2_mandate": {
                      "type": "object"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "fatf_customer_risk_rating",
        "x-tool-url": "https://ainumbers.co/tools/477-fatf-customer-risk-rating.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/kya_compliance_firewall": {
      "post": {
        "operationId": "kya_compliance_firewall",
        "summary": "KYA Compliance Firewall",
        "description": "Four-stage Know-Your-Agent (KYA) agentic compliance firewall: prompt-injection scan (T282), FATF customer risk rating (T477), Visa TAP signature verification (T286), AML mandate compilation (T131). Each stage output gates the next. Outputs a composite KYA clearance record and chain-of-custody audit log.\n\n**Tool URL:** https://ainumbers.co/tools/478-kya-compliance-firewall.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "KYA",
          "agentic",
          "compliance",
          "firewall",
          "FATF",
          "AML",
          "Visa TAP",
          "injection",
          "MCP",
          "workflow"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "transaction_context": {
                    "type": "string",
                    "description": "The transaction context or agent instruction text to scan"
                  },
                  "customer_risk_tier": {
                    "type": "string",
                    "enum": [
                      "Low",
                      "Medium",
                      "High",
                      "Prohibited"
                    ],
                    "description": "Pre-computed FATF risk tier (from T477) or omit to run T477 inline"
                  },
                  "tap_cleared": {
                    "type": "boolean",
                    "description": "TAP identity verified (from T286) or omit to run T286 inline"
                  }
                },
                "required": [
                  "transaction_context"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "clearance": {
                      "type": "string",
                      "enum": [
                        "CLEARED",
                        "BLOCKED",
                        "ESCALATE"
                      ]
                    },
                    "stage_results": {
                      "type": "array"
                    },
                    "mandate": {
                      "type": "object"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "kya_compliance_firewall",
        "x-tool-url": "https://ainumbers.co/tools/478-kya-compliance-firewall.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/b2b_micro_clearinghouse": {
      "post": {
        "operationId": "b2b_micro_clearinghouse",
        "summary": "B2B Micro-Clearinghouse",
        "description": "Three-stage autonomous B2B SaaS procurement and micro-metered clearinghouse: protocol arbitrage (T276), cart mandate cap compilation (T285), policy budget envelope validation (T320). Solves the interchange-floor gap for agentic sub-dollar M2M transactions.\n\n**Tool URL:** https://ainumbers.co/tools/479-b2b-micro-clearinghouse.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "micro-payment",
          "M2M",
          "agentic",
          "AP2",
          "x402",
          "clearinghouse",
          "BaaS",
          "protocol",
          "workflow"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "scenario": {
                    "type": "string",
                    "description": "Payment scenario description"
                  },
                  "max_amount_usd": {
                    "type": "number",
                    "description": "Maximum transaction amount in USD (e.g. 0.04)"
                  },
                  "preferred_protocol": {
                    "type": "string",
                    "description": "Preferred protocol hint: ap2 | x402 | visa_tap | mastercard"
                  }
                },
                "required": [
                  "scenario"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "Tool execution result payload"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "b2b_micro_clearinghouse",
        "x-tool-url": "https://ainumbers.co/tools/479-b2b-micro-clearinghouse.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/personal_finance_simulator": {
      "post": {
        "operationId": "personal_finance_simulator",
        "summary": "Personal Finance Life Simulator",
        "description": "Net worth trajectory, debt payoff (snowball vs avalanche), retirement projections with 401k/IRA, tax impact estimator, and what-if scenario comparisons. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/48-personal-finance-simulator.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "personal_finance_simulator",
        "x-tool-url": "https://ainumbers.co/tools/48-personal-finance-simulator.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/baas_orchestrator": {
      "post": {
        "operationId": "baas_orchestrator",
        "summary": "BaaS Orchestrator",
        "description": "Three-stage BaaS sponsor-bank routing optimiser: provider scoring (T152 compare_baas_providers), MCP workflow-chain construction (build_workflow_links), policy budget validation (T320). Turns static BaaS due diligence into a self-correcting algorithmic routing framework.\n\n**Tool URL:** https://ainumbers.co/tools/480-baas-orchestrator.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "BaaS",
          "sponsor-bank",
          "routing",
          "MCP",
          "workflow",
          "AP2",
          "policy",
          "orchestration"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "scenario": {
                    "type": "string",
                    "description": "BaaS programme scenario description"
                  },
                  "required_capabilities": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "description": "Required BaaS capabilities (e.g. card_issuing, ach, wire, fx)"
                  },
                  "budget_usd": {
                    "type": "number",
                    "description": "Annual programme budget in USD for policy validation"
                  }
                },
                "required": [
                  "scenario"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "Tool execution result payload"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "baas_orchestrator",
        "x-tool-url": "https://ainumbers.co/tools/480-baas-orchestrator.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/ccd2_scope_classifier": {
      "post": {
        "operationId": "ccd2_scope_classifier",
        "summary": "CCD2 Scope Classifier",
        "description": "Classify a credit product as in-scope or exempt under CCD2 (Directive (EU) 2023/2225). Determines applicable obligation tier including BNPL and interest-free instalments newly brought into scope. EU regime — distinct from UK FCA BNPL rules. Rules apply from 20 Nov 2026.\n\n**Tool URL:** https://ainumbers.co/tools/481-ccd2-scope-classifier.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "ccd2",
          "consumer-credit",
          "eu",
          "bnpl",
          "scope",
          "creditworthiness",
          "secci",
          "regulation"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "product_type": {
                    "type": "string"
                  },
                  "amount_eur": {
                    "type": "number"
                  },
                  "duration_days": {
                    "type": "integer"
                  },
                  "interest_bearing": {
                    "type": "boolean"
                  },
                  "charges_present": {
                    "type": "boolean"
                  },
                  "borrower_is_consumer": {
                    "type": "boolean"
                  },
                  "secured_on_property": {
                    "type": "boolean"
                  }
                },
                "required": [
                  "product_type",
                  "amount_eur",
                  "borrower_is_consumer"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "in_scope": {
                      "type": "boolean"
                    },
                    "obligation_tier": {
                      "type": "string"
                    },
                    "scope_basis": {
                      "type": "string"
                    },
                    "obligations": {
                      "type": "array"
                    },
                    "gaps": {
                      "type": "array"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "ccd2_scope_classifier",
        "x-tool-url": "https://ainumbers.co/tools/481-ccd2-scope-classifier.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/ccd2_creditworthiness_assessment_builder": {
      "post": {
        "operationId": "ccd2_creditworthiness_assessment_builder",
        "summary": "CCD2 Creditworthiness Assessment Builder",
        "description": "Build an Article 18 creditworthiness assessment framework under CCD2 (Directive (EU) 2023/2225). Validates forward-looking, verified-data requirements and proportionality. Flags reliance on behavioural-only signals (non-compliant). Cross-links EU AI Act cluster for automated-decision fairness. EU regime — distinct from UK FCA T330.\n\n**Tool URL:** https://ainumbers.co/tools/482-ccd2-creditworthiness-assessment-builder.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "ccd2",
          "consumer-credit",
          "eu",
          "bnpl",
          "creditworthiness",
          "article-18",
          "secci",
          "regulation"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "amount_eur": {
                    "type": "number"
                  },
                  "product_type": {
                    "type": "string"
                  },
                  "income_verified": {
                    "type": "boolean"
                  },
                  "expenses_verified": {
                    "type": "boolean"
                  },
                  "existing_debts_checked": {
                    "type": "boolean"
                  },
                  "database_consulted": {
                    "type": "boolean"
                  },
                  "automated_only": {
                    "type": "boolean"
                  }
                },
                "required": [
                  "amount_eur"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "assessment_verdict": {
                      "type": "string"
                    },
                    "data_sufficiency": {
                      "type": "boolean"
                    },
                    "gaps": {
                      "type": "array"
                    },
                    "framework_steps": {
                      "type": "array"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "ccd2_creditworthiness_assessment_builder",
        "x-tool-url": "https://ainumbers.co/tools/482-ccd2-creditworthiness-assessment-builder.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/ccd2_secci_precontractual_disclosure_generator": {
      "post": {
        "operationId": "ccd2_secci_precontractual_disclosure_generator",
        "summary": "CCD2 SECCI Pre-contractual Disclosure Generator",
        "description": "Generate and validate a SECCI form checklist per CCD2 Annex II (Directive (EU) 2023/2225). Covers all mandatory disclosure fields: lender identity, credit amount, duration, APR, total repayable, optional insurance, early repayment rights, and right-of-withdrawal. Rules apply 20 Nov 2026.\n\n**Tool URL:** https://ainumbers.co/tools/483-ccd2-secci-precontractual-disclosure-generator.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "ccd2",
          "consumer-credit",
          "eu",
          "secci",
          "precontractual",
          "annex-ii",
          "apr",
          "disclosure",
          "bnpl"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "product_type": {
                    "type": "string"
                  },
                  "credit_amount_eur": {
                    "type": "number"
                  },
                  "apr": {
                    "type": "number"
                  },
                  "duration_months": {
                    "type": "number"
                  },
                  "total_repayable_eur": {
                    "type": "number"
                  },
                  "includes_insurance": {
                    "type": "boolean"
                  }
                },
                "required": [
                  "credit_amount_eur",
                  "apr"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "Tool execution result payload"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "ccd2_secci_precontractual_disclosure_generator",
        "x-tool-url": "https://ainumbers.co/tools/483-ccd2-secci-precontractual-disclosure-generator.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/ccd2_readiness_scorer": {
      "post": {
        "operationId": "ccd2_readiness_scorer",
        "summary": "CCD2 Readiness Scorer",
        "description": "Score organisation readiness for CCD2 (Directive (EU) 2023/2225) compliance across five domains: scope & product, creditworthiness (Art. 18), SECCI disclosure (Annex II), consumer rights, and governance. Applies 20 Nov 2026. Final stage in the CCD2 Consumer Credit workflow.\n\n**Tool URL:** https://ainumbers.co/tools/484-ccd2-readiness-scorer.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "ccd2",
          "consumer-credit",
          "eu",
          "readiness",
          "scope",
          "creditworthiness",
          "secci",
          "bnpl",
          "compliance"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "scope_done": {
                    "type": "boolean"
                  },
                  "creditworthiness_done": {
                    "type": "boolean"
                  },
                  "secci_done": {
                    "type": "boolean"
                  },
                  "consumer_rights_done": {
                    "type": "boolean"
                  },
                  "governance_done": {
                    "type": "boolean"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "Tool execution result payload"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "ccd2_readiness_scorer",
        "x-tool-url": "https://ainumbers.co/tools/484-ccd2-readiness-scorer.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/amlr_obliged_entity_scope_mapper": {
      "post": {
        "operationId": "amlr_obliged_entity_scope_mapper",
        "summary": "AMLR Obliged Entity Scope Mapper",
        "description": "Map your legal entity to AMLR (Regulation (EU) 2024/1624) obliged entity categories (Art. 3). Determines AML/CFT obligations under the EU Single Rulebook. Applies 10 Jul 2027.\n\n**Tool URL:** https://ainumbers.co/tools/485-amlr-obliged-entity-scope-mapper.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "amlr",
          "aml",
          "eu",
          "obliged-entity",
          "single-rulebook",
          "cft",
          "kyc",
          "regulation"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "entity_type": {
                    "type": "string"
                  },
                  "activities": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  }
                },
                "required": [
                  "entity_type"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "Tool execution result payload"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "amlr_obliged_entity_scope_mapper",
        "x-tool-url": "https://ainumbers.co/tools/485-amlr-obliged-entity-scope-mapper.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/amlr_ubo_beneficial_ownership_mapper": {
      "post": {
        "operationId": "amlr_ubo_beneficial_ownership_mapper",
        "summary": "AMLR UBO Beneficial Ownership Mapper",
        "description": "Map beneficial ownership under AMLR (Reg (EU) 2024/1624) and AMLD6 (Directive (EU) 2024/1640). 25% threshold. Layered structures, trusts, foundations, and complex chains. Applies 10 Jul 2027.\n\n**Tool URL:** https://ainumbers.co/tools/486-amlr-ubo-beneficial-ownership-mapper.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "amlr",
          "ubo",
          "beneficial-ownership",
          "amld6",
          "eu",
          "25-percent",
          "kyc",
          "cdd"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "entity_structure": {
                    "type": "string"
                  },
                  "ownership_pct": {
                    "type": "number"
                  },
                  "layered_structure": {
                    "type": "boolean"
                  },
                  "trust_or_foundation": {
                    "type": "boolean"
                  }
                },
                "required": [
                  "entity_structure"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "Tool execution result payload"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "amlr_ubo_beneficial_ownership_mapper",
        "x-tool-url": "https://ainumbers.co/tools/486-amlr-ubo-beneficial-ownership-mapper.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/amlr_cash_limit_edd_classifier": {
      "post": {
        "operationId": "amlr_cash_limit_edd_classifier",
        "summary": "AMLR Cash Limit & EDD Classifier",
        "description": "Classify cash transactions against AMLR (Reg (EU) 2024/1624) Art. 80 €10,000 cash limit and Enhanced Due Diligence triggers. Identifies structuring risk and mandatory ID thresholds. Applies 10 Jul 2027.\n\n**Tool URL:** https://ainumbers.co/tools/487-amlr-cash-limit-edd-classifier.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "amlr",
          "cash",
          "edd",
          "10000-limit",
          "structuring",
          "eu",
          "cft",
          "aml"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "transaction_amount_eur": {
                    "type": "number"
                  },
                  "payment_method": {
                    "type": "string"
                  },
                  "counterparty_type": {
                    "type": "string"
                  }
                },
                "required": [
                  "transaction_amount_eur"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "Tool execution result payload"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "amlr_cash_limit_edd_classifier",
        "x-tool-url": "https://ainumbers.co/tools/487-amlr-cash-limit-edd-classifier.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/amlr_cdd_policy_builder": {
      "post": {
        "operationId": "amlr_cdd_policy_builder",
        "summary": "AMLR CDD Policy Builder",
        "description": "Build a Customer Due Diligence (CDD) policy framework per AMLR (Reg (EU) 2024/1624). Configures SDD, standard CDD, and EDD tiers with required measures. Applies 10 Jul 2027.\n\n**Tool URL:** https://ainumbers.co/tools/488-amlr-cdd-policy-builder.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "amlr",
          "cdd",
          "edd",
          "sdd",
          "kyc",
          "aml",
          "eu",
          "policy",
          "obliged-entity"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "entity_type": {
                    "type": "string"
                  },
                  "customer_risk_profile": {
                    "type": "string"
                  }
                },
                "required": [
                  "entity_type"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "Tool execution result payload"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "amlr_cdd_policy_builder",
        "x-tool-url": "https://ainumbers.co/tools/488-amlr-cdd-policy-builder.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/eudi_attribute_attestation_mapper": {
      "post": {
        "operationId": "eudi_attribute_attestation_mapper",
        "summary": "EUDI Attribute Attestation Mapper",
        "description": "Map KYC/onboarding attributes to EUDI Wallet PID + (Q)EAA attestation categories under eIDAS 2.0 (Reg (EU) 2024/1183). Covers selective disclosure, AML CDD mapping. EUDI Wallet availability by 31 Dec 2026.\n\n**Tool URL:** https://ainumbers.co/tools/489-eudi-attribute-attestation-mapper.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "eudi",
          "eidas2",
          "wallet",
          "pid",
          "qeaa",
          "kyc",
          "attestation",
          "selective-disclosure",
          "eu",
          "identity"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "use_case": {
                    "type": "string"
                  },
                  "attributes_needed": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  }
                },
                "required": [
                  "use_case"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "Tool execution result payload"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "eudi_attribute_attestation_mapper",
        "x-tool-url": "https://ainumbers.co/tools/489-eudi-attribute-attestation-mapper.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/portfolio_financed_emissions_pcaf": {
      "post": {
        "operationId": "portfolio_financed_emissions_pcaf",
        "summary": "Portfolio Financed Emissions Calculator (PCAF)",
        "description": "Calculate PCAF financed emissions across 7 asset classes. PCAF data quality scoring. Scope 1/2/3 breakdown. Divestment scenario modelling. SFDR/CSRD executive summary export. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/49-portfolio-financed-emissions-pcaf.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "portfolio_financed_emissions_pcaf",
        "x-tool-url": "https://ainumbers.co/tools/49-portfolio-financed-emissions-pcaf.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/eudi_kyc_flow_designer": {
      "post": {
        "operationId": "eudi_kyc_flow_designer",
        "summary": "EUDI KYC Flow Designer",
        "description": "Design a wallet-based KYC onboarding flow with EUDI Wallet acceptance under eIDAS 2.0 (Reg (EU) 2024/1183). Maps presentation request, selective disclosure, AML CDD, and SCA compliance. FI SCA acceptance ~Dec 2027.\n\n**Tool URL:** https://ainumbers.co/tools/490-eudi-kyc-flow-designer.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "eudi",
          "eidas2",
          "kyc",
          "onboarding",
          "sca",
          "aml",
          "cdd",
          "selective-disclosure",
          "presentation-request",
          "eu"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "onboarding_channel": {
                    "type": "string"
                  },
                  "aml_cdd_tier": {
                    "type": "string"
                  }
                },
                "required": [
                  "onboarding_channel"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "Tool execution result payload"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "eudi_kyc_flow_designer",
        "x-tool-url": "https://ainumbers.co/tools/490-eudi-kyc-flow-designer.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/eudi_relying_party_registration_checker": {
      "post": {
        "operationId": "eudi_relying_party_registration_checker",
        "summary": "EUDI Relying Party Registration Checker",
        "description": "Check EUDI Wallet relying-party registration obligations and intended-use declaration under eIDAS 2.0 (Reg (EU) 2024/1183). Computes acceptance-deadline runway. EUDI Wallet by 31 Dec 2026; FI SCA ~Dec 2027.\n\n**Tool URL:** https://ainumbers.co/tools/491-eudi-relying-party-registration-checker.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "eudi",
          "eidas2",
          "relying-party",
          "registration",
          "sca",
          "kyc",
          "eu",
          "onboarding",
          "acceptance-deadline"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "rp_sector": {
                    "type": "string"
                  },
                  "sca_obligation": {
                    "type": "boolean"
                  }
                },
                "required": [
                  "rp_sector"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "Tool execution result payload"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "eudi_relying_party_registration_checker",
        "x-tool-url": "https://ainumbers.co/tools/491-eudi-relying-party-registration-checker.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/build_ach_fraud_monitoring_procedures": {
      "post": {
        "operationId": "build_ach_fraud_monitoring_procedures",
        "summary": "ACH Fraud Monitoring Procedure Builder",
        "description": "Nacha Phase 2 (effective 2026-06-22): generates role-specific credit-entry fraud monitoring procedures, risk-based tiering worksheet, and annual-review schedule for Originators, TPSPs, TPSs, ODFIs, and RDFIs. Policy Mandate export. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/492-ach-fraud-monitoring-procedure-builder.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "nacha",
          "ach",
          "fraud monitoring",
          "phase 2",
          "credit entry",
          "odfi",
          "rdfi",
          "originator",
          "tpsp",
          "tps",
          "compliance",
          "2026"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "roles": {
                    "type": "array",
                    "description": "ACH participant roles: Originator, TPSP, TPS, ODFI, RDFI"
                  },
                  "volume_tier": {
                    "type": "string",
                    "description": "Annual credit entry volume tier: low, mid, high"
                  },
                  "annual_credit_volume": {
                    "type": "number",
                    "description": "Annual credit entry dollar volume"
                  },
                  "risk_appetite": {
                    "type": "string",
                    "description": "Risk appetite: conservative, moderate, aggressive"
                  }
                },
                "required": [
                  "roles"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "required_procedures": {
                      "type": "array"
                    },
                    "risk_tier": {
                      "type": "string"
                    },
                    "review_schedule": {
                      "type": "object"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "build_ach_fraud_monitoring_procedures",
        "x-tool-url": "https://ainumbers.co/tools/492-ach-fraud-monitoring-procedure-builder.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/simulate_ach_false_pretenses_scenario": {
      "post": {
        "operationId": "simulate_ach_false_pretenses_scenario",
        "summary": "ACH False-Pretenses Credit-Entry Simulator",
        "description": "Simulates Nacha Phase 2 false-pretenses credit-entry fraud scenarios (vendor impersonation, payroll redirect, BEC, account takeover, insider fraud), maps triggered rule obligations by role, and models the funds-recovery path. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/493-ach-false-pretenses-credit-entry-simulator.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "nacha",
          "ach",
          "false pretenses",
          "credit entry",
          "bec",
          "vendor impersonation",
          "payroll redirect",
          "fraud",
          "odfi",
          "rdfi",
          "phase 2",
          "2026"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "scenario": {
                    "type": "string",
                    "description": "Fraud scenario: vendor_impersonation, payroll_redirect, bec_wire_redirect, account_takeover, insider_credit_fraud"
                  },
                  "entry_class": {
                    "type": "string",
                    "description": "ACH entry class: CCD, CTX, PPD, WEB"
                  },
                  "amount_usd": {
                    "type": "number",
                    "description": "Credit entry amount in USD"
                  },
                  "discovered_timing": {
                    "type": "string",
                    "description": "When fraud discovered: same_day, next_day, t2_t5, after_t5"
                  }
                },
                "required": [
                  "scenario"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "obligations": {
                      "type": "array"
                    },
                    "recovery_path": {
                      "type": "object"
                    },
                    "recovery_likelihood": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "simulate_ach_false_pretenses_scenario",
        "x-tool-url": "https://ainumbers.co/tools/493-ach-false-pretenses-credit-entry-simulator.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/generate_ach_fraud_monitoring_audit_pack": {
      "post": {
        "operationId": "generate_ach_fraud_monitoring_audit_pack",
        "summary": "ACH Fraud Monitoring Audit Pack Generator",
        "description": "Generates a role-specific Nacha Phase 2 fraud monitoring evidence checklist and Markdown audit binder for the 'at least annually' review requirement (effective 2026-06-22). Interactive in-browser checklist with satisfied/gap marking, Policy Mandate export.\n\n**Tool URL:** https://ainumbers.co/tools/494-ach-fraud-monitoring-audit-pack-generator.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "nacha",
          "ach",
          "fraud monitoring",
          "audit",
          "annual review",
          "evidence",
          "phase 2",
          "compliance",
          "2026",
          "odfi",
          "rdfi"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "roles": {
                    "type": "array",
                    "description": "ACH participant roles to audit: Originator, TPSP, TPS, ODFI, RDFI"
                  },
                  "reviewer_type": {
                    "type": "string",
                    "description": "Reviewer type: internal_audit, compliance_team, external_auditor, self_assessment"
                  },
                  "prior_gaps": {
                    "type": "string",
                    "description": "Prior year open items or N/A"
                  }
                },
                "required": [
                  "roles"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "checklist": {
                      "type": "array"
                    },
                    "gaps_identified": {
                      "type": "array"
                    },
                    "completeness_pct": {
                      "type": "number"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "generate_ach_fraud_monitoring_audit_pack",
        "x-tool-url": "https://ainumbers.co/tools/494-ach-fraud-monitoring-audit-pack-generator.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/agentic_checkout_protocol_selector": {
      "post": {
        "operationId": "agentic_checkout_protocol_selector",
        "summary": "Agentic Checkout Protocol Selector",
        "description": "Select the right agentic checkout protocol — UCP, ACP, x402, or Visa TAP/VIC — for a merchant profile. Decision matrix with protocol-stack diagram and Policy Mandate export. Client-side, zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/495-agentic-checkout-protocol-selector.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "UCP",
          "ACP",
          "AP2",
          "x402",
          "Visa TAP",
          "VIC",
          "agentic",
          "checkout",
          "protocol",
          "merchant",
          "routing"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "platform": {
                    "type": "string",
                    "description": "Merchant platform type (e.g. ecommerce, marketplace, saas, api)"
                  },
                  "buyer_type": {
                    "type": "string",
                    "description": "Buyer type: consumer, business, agent"
                  },
                  "aov": {
                    "type": "string",
                    "description": "Average order value range: micro, low, mid, high, enterprise"
                  },
                  "agent_appetite": {
                    "type": "string",
                    "description": "Agent integration readiness: none, exploring, committed"
                  },
                  "geo": {
                    "type": "string",
                    "description": "Primary geographic market: us, eu, global"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "Tool execution result payload"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "agentic_checkout_protocol_selector",
        "x-tool-url": "https://ainumbers.co/tools/495-agentic-checkout-protocol-selector.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/acp_ucp_product_feed_conformance_auditor": {
      "post": {
        "operationId": "acp_ucp_product_feed_conformance_auditor",
        "summary": "ACP/UCP Product-Feed Conformance Auditor",
        "description": "Validate a product or checkout JSON payload against ACP (AP2) and UCP spec fields. Returns gap list, fix checklist, and Policy Mandate export. Deterministic schema validation. Client-side, zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/496-acp-ucp-product-feed-conformance-auditor.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "ACP",
          "UCP",
          "AP2",
          "product-feed",
          "checkout",
          "schema",
          "validation",
          "conformance",
          "agentic"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "payload": {
                    "type": "object",
                    "description": "Product or checkout JSON payload to audit"
                  },
                  "protocol": {
                    "type": "string",
                    "description": "Target protocol: acp, ucp, or both"
                  }
                },
                "required": [
                  "payload"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "Tool execution result payload"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "acp_ucp_product_feed_conformance_auditor",
        "x-tool-url": "https://ainumbers.co/tools/496-acp-ucp-product-feed-conformance-auditor.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/x402_micropayment_pricing_modeler": {
      "post": {
        "operationId": "x402_micropayment_pricing_modeler",
        "summary": "x402 Micropayment Pricing Modeler",
        "description": "Model API and content pricing under HTTP 402 (x402) flows: per-call price, settlement asset, network fee drag, and breakeven vs subscription. Agent economics analysis. Client-side, zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/497-x402-micropayment-pricing-modeler.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "x402",
          "HTTP 402",
          "micropayment",
          "pricing",
          "API",
          "agent",
          "breakeven",
          "subscription",
          "settlement",
          "fee"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "per_call_price_usd": {
                    "type": "number",
                    "description": "Per-call price in USD"
                  },
                  "settlement_asset": {
                    "type": "string",
                    "description": "Settlement asset: usdc, usdt, eth, sol"
                  },
                  "monthly_calls": {
                    "type": "number",
                    "description": "Expected monthly call volume"
                  },
                  "subscription_price_usd": {
                    "type": "number",
                    "description": "Alternative subscription price per month for breakeven comparison"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "Tool execution result payload"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "x402_micropayment_pricing_modeler",
        "x-tool-url": "https://ainumbers.co/tools/497-x402-micropayment-pricing-modeler.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/agent_traffic_acceptance_policy_builder": {
      "post": {
        "operationId": "agent_traffic_acceptance_policy_builder",
        "summary": "Agent-Traffic Acceptance Policy Builder",
        "description": "Build a policy mandate governing which AI agents an API or platform will accept: agent types, identity verification level, velocity caps, payment rails, and dispute posture. Policy Mandate export. Client-side, zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/498-agent-traffic-acceptance-policy-builder.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "agent-traffic",
          "acceptance-policy",
          "KYA",
          "identity",
          "velocity",
          "payment-rails",
          "agentic",
          "AP2",
          "mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "platform_type": {
                    "type": "string",
                    "description": "Platform type: api, marketplace, saas, financial"
                  },
                  "accepted_agent_types": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "description": "Agent types to accept: autonomous, supervised, human_in_loop"
                  },
                  "verification_level": {
                    "type": "string",
                    "description": "Identity verification level: none, tap, kyb, full_kyb"
                  },
                  "velocity_cap_usd": {
                    "type": "number",
                    "description": "Per-session spend cap in USD"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "Tool execution result payload"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "agent_traffic_acceptance_policy_builder",
        "x-tool-url": "https://ainumbers.co/tools/498-agent-traffic-acceptance-policy-builder.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/classify_crypto_inventory": {
      "post": {
        "operationId": "classify_crypto_inventory",
        "summary": "Crypto Asset Inventory Classifier",
        "description": "Classify each cryptographic asset in your environment against NISTIR 8547 / FIPS 203–205: QUANTUM_SAFE, DEPRECATED, DISALLOWED, UPGRADE_REC, COND_SAFE, or REVIEW_REQUIRED. Flags HNDL-risk assets and generates a PCI-DSS 12.3.3 compliant cryptographic inventory. Step 1 of the PQC Migration chain.\n\n**Tool URL:** https://ainumbers.co/tools/499-crypto-asset-inventory-classifier.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "PQC",
          "post-quantum",
          "crypto inventory",
          "NISTIR 8547",
          "FIPS 203",
          "FIPS 204",
          "FIPS 205",
          "HNDL",
          "PCI-DSS 12.3.3"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "assets": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "system_name": {
                          "type": "string"
                        },
                        "algorithm": {
                          "type": "string",
                          "enum": [
                            "rsa",
                            "ecdsa",
                            "ecdh",
                            "dh",
                            "dsa",
                            "aes",
                            "sha2",
                            "sha3",
                            "hmac",
                            "ml_kem",
                            "ml_dsa",
                            "slh_dsa",
                            "other"
                          ]
                        },
                        "key_size_bits": {
                          "type": "integer"
                        },
                        "use_case": {
                          "type": "string",
                          "enum": [
                            "key_exchange",
                            "tls",
                            "digital_signature",
                            "certificate",
                            "code_signing",
                            "data_at_rest",
                            "integrity",
                            "mac",
                            "identity",
                            "other"
                          ]
                        },
                        "shelf_life_years": {
                          "type": "number"
                        },
                        "vendor_controlled": {
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "system_name",
                        "algorithm",
                        "use_case"
                      ]
                    }
                  }
                },
                "required": [
                  "assets"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "classified_assets": {
                      "type": "array"
                    },
                    "compliance_flags": {
                      "type": "object"
                    },
                    "mandate_type": {
                      "type": "string",
                      "const": "crypto_inventory"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "classify_crypto_inventory",
        "x-tool-url": "https://ainumbers.co/tools/499-crypto-asset-inventory-classifier.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/trade_finance_lc_analyser": {
      "post": {
        "operationId": "trade_finance_lc_analyser",
        "summary": "Trade Finance Document & LC Analyser",
        "description": "Parse and validate Letters of Credit against UCP 600. Decode SWIFT MT700 messages. Incoterms 2020 selector. Discrepancy checker. Export report as Markdown. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/50-trade-finance-lc-analyser.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "trade_finance_lc_analyser",
        "x-tool-url": "https://ainumbers.co/tools/50-trade-finance-lc-analyser.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/score_hndl_risk": {
      "post": {
        "operationId": "score_hndl_risk",
        "summary": "HNDL Quantum Risk Scorer",
        "description": "Score Harvest-Now-Decrypt-Later (HNDL) risk for each cryptographic system: sensitivity × algorithm weight × time_exposure × multiplier. Risk tiers CRITICAL/HIGH/MEDIUM/LOW/NEGLIGIBLE map to migration phases pre-2027 through 2035. Step 2 of the PQC Migration chain.\n\n**Tool URL:** https://ainumbers.co/tools/500-hndl-quantum-risk-scorer.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "PQC",
          "HNDL",
          "quantum risk",
          "NISTIR 8547",
          "CRQC",
          "post-quantum"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "systems": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "system_name": {
                          "type": "string"
                        },
                        "algorithm": {
                          "type": "string"
                        },
                        "sensitivity": {
                          "type": "string",
                          "enum": [
                            "top_secret",
                            "confidential",
                            "restricted",
                            "internal",
                            "public"
                          ]
                        },
                        "shelf_life_years": {
                          "type": "number"
                        },
                        "internet_exposed": {
                          "type": "boolean"
                        },
                        "high_value_target": {
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "system_name",
                        "algorithm",
                        "sensitivity",
                        "shelf_life_years"
                      ]
                    }
                  },
                  "crqc_horizon_years": {
                    "type": "number",
                    "description": "CRQC arrival horizon in years from today. Default 10 (=2035)."
                  }
                },
                "required": [
                  "systems"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "scored_systems": {
                      "type": "array"
                    },
                    "compliance_flags": {
                      "type": "object"
                    },
                    "mandate_type": {
                      "type": "string",
                      "const": "risk_assessment"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "score_hndl_risk",
        "x-tool-url": "https://ainumbers.co/tools/500-hndl-quantum-risk-scorer.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/build_pqc_roadmap": {
      "post": {
        "operationId": "build_pqc_roadmap",
        "summary": "PQC Migration Roadmap Builder",
        "description": "Build a phased PQC migration roadmap per system. Maps current algorithm to FIPS 203/204/205 replacement by use case (key_exchange/TLS→ML-KEM, signature→ML-DSA+SLH-DSA, symmetric→AES-256, hash→SHA-384). Assigns Phase 1–4 windows by hndl_priority. Supports hybrid mode and target security category. Step 3 of the PQC Migration chain.\n\n**Tool URL:** https://ainumbers.co/tools/501-pqc-migration-roadmap-builder.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "PQC",
          "migration roadmap",
          "FIPS 203",
          "FIPS 204",
          "FIPS 205",
          "ML-KEM",
          "ML-DSA",
          "SLH-DSA",
          "hybrid mode",
          "NISTIR 8547"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "systems": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "system_name": {
                          "type": "string"
                        },
                        "algorithm": {
                          "type": "string"
                        },
                        "use_case": {
                          "type": "string"
                        },
                        "hndl_priority": {
                          "type": "string",
                          "enum": [
                            "immediate",
                            "within_2_years",
                            "within_5_years",
                            "post_2030",
                            "monitor"
                          ]
                        },
                        "vendor_controlled": {
                          "type": "boolean"
                        },
                        "library_support": {
                          "type": "string",
                          "enum": [
                            "yes",
                            "no",
                            "roadmap",
                            "unknown"
                          ]
                        }
                      },
                      "required": [
                        "system_name",
                        "algorithm",
                        "use_case",
                        "hndl_priority"
                      ]
                    }
                  },
                  "hybrid_mode": {
                    "type": "boolean",
                    "description": "Enable classical+PQC hybrid mode (recommended for transition). Default true."
                  },
                  "target_category": {
                    "type": "integer",
                    "enum": [
                      1,
                      3,
                      5
                    ],
                    "description": "NIST security category target. Default 3 (192-bit quantum security)."
                  },
                  "seed": {
                    "type": "string"
                  }
                },
                "required": [
                  "systems"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "migration_phases": {
                      "type": "array"
                    },
                    "roadmap_items": {
                      "type": "array"
                    },
                    "compliance_flags": {
                      "type": "object"
                    },
                    "mandate_type": {
                      "type": "string",
                      "const": "migration_plan"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "build_pqc_roadmap",
        "x-tool-url": "https://ainumbers.co/tools/501-pqc-migration-roadmap-builder.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/score_crypto_agility": {
      "post": {
        "operationId": "score_crypto_agility",
        "summary": "Crypto-Agility Readiness Scorer",
        "description": "Score your organisation's crypto-agility maturity across 8 control dimensions (0–5 each, 40 max): inventory, tooling, policy, testing, vendor, governance, monitoring, and incident response. Returns overall maturity level (Level 1–5), per-dimension gap analysis, prioritised recommendations, and a compliance_control Policy Mandate. Final step in the PQC Migration chain.\n\n**Tool URL:** https://ainumbers.co/tools/502-crypto-agility-readiness-scorer.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "PQC",
          "crypto-agility",
          "maturity",
          "readiness",
          "NISTIR 8547",
          "compliance",
          "FIPS 203",
          "FIPS 204",
          "FIPS 205"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "dimensions": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "dim_id": {
                          "type": "string",
                          "enum": [
                            "inventory",
                            "tooling",
                            "policy",
                            "testing",
                            "vendor",
                            "governance",
                            "monitoring",
                            "incident"
                          ]
                        },
                        "score": {
                          "type": "integer",
                          "minimum": 0,
                          "maximum": 5
                        }
                      },
                      "required": [
                        "dim_id",
                        "score"
                      ]
                    }
                  },
                  "org_size": {
                    "type": "string",
                    "enum": [
                      "small",
                      "medium",
                      "large",
                      "systemic"
                    ]
                  },
                  "regulated": {
                    "type": "boolean",
                    "description": "Is the organisation subject to financial regulation?"
                  },
                  "phase1_complete": {
                    "type": "boolean",
                    "description": "Are Phase 1 (pre-2027) migrations underway?"
                  }
                },
                "required": [
                  "dimensions"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "overall_score": {
                      "type": "number"
                    },
                    "maturity_level": {
                      "type": "string"
                    },
                    "dimension_scores": {
                      "type": "array"
                    },
                    "gaps": {
                      "type": "array"
                    },
                    "compliance_flags": {
                      "type": "object"
                    },
                    "mandate_type": {
                      "type": "string",
                      "const": "compliance_control"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "score_crypto_agility",
        "x-tool-url": "https://ainumbers.co/tools/502-crypto-agility-readiness-scorer.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/diagnose_canton_readiness": {
      "post": {
        "operationId": "diagnose_canton_readiness",
        "summary": "Canton Tokenization Readiness Diagnostic",
        "description": "12-question diagnostic across six weighted domains. Score your firm's readiness for a Canton Network pilot before committing resources.\n\n**Tool URL:** https://ainumbers.co/tools/\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "canton",
          "tokenization",
          "readiness",
          "DvP",
          "atomic settlement",
          "digital assets",
          "KYA",
          "capital"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "entity_name": {
                    "type": "string",
                    "description": "Illustrative entity name"
                  },
                  "lei": {
                    "type": "string",
                    "description": "Legal Entity Identifier (optional, 20 chars)"
                  },
                  "entity_type": {
                    "type": "string",
                    "enum": [
                      "g_sib",
                      "regional_bank",
                      "broker_dealer",
                      "asset_manager",
                      "hedge_fund",
                      "custodian",
                      "other"
                    ]
                  },
                  "q1": {
                    "type": "boolean",
                    "description": "Has your ops team tested atomic DvP/PvP settlement end-to-end?"
                  },
                  "q2": {
                    "type": "boolean",
                    "description": "Do you have a settlement-failure / unwind procedure defined?"
                  },
                  "q3": {
                    "type": "boolean",
                    "description": "Are your target assets DTC-eligible or Fed-eligible?"
                  },
                  "q4": {
                    "type": "boolean",
                    "description": "Have you mapped tokenized assets to HQLA tiers?"
                  },
                  "q5": {
                    "type": "boolean",
                    "description": "Have you identified a regulated cash-leg provider (USDC, deposit token)?"
                  },
                  "q6": {
                    "type": "boolean",
                    "description": "Has your cash-leg provider completed a reserve attestation?"
                  },
                  "q7": {
                    "type": "boolean",
                    "description": "Have you configured Daml party visibility / sub-transaction privacy?"
                  },
                  "q8": {
                    "type": "boolean",
                    "description": "Does your privacy config satisfy AML / audit disclosure obligations?"
                  },
                  "q9": {
                    "type": "boolean",
                    "description": "Have you completed counterparty KYA for Canton onboarding?"
                  },
                  "q10": {
                    "type": "boolean",
                    "description": "Have you screened all parties against FATF Travel Rule requirements?"
                  },
                  "q11": {
                    "type": "boolean",
                    "description": "Have you assessed SCO60 Group 1a treatment for your tokenized assets?"
                  },
                  "q12": {
                    "type": "boolean",
                    "description": "Have you engaged your prudential regulator on the Canton pilot?"
                  }
                },
                "required": [
                  "entity_name",
                  "entity_type",
                  "q1",
                  "q2",
                  "q3",
                  "q4",
                  "q5",
                  "q6",
                  "q7",
                  "q8",
                  "q9",
                  "q10",
                  "q11",
                  "q12"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "Tool execution result payload"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "diagnose_canton_readiness",
        "x-tool-url": "https://ainumbers.co/tools/",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/optimize_settlement_capital": {
      "post": {
        "operationId": "optimize_settlement_capital",
        "summary": "Settlement-Risk Capital Efficiency Optimizer",
        "description": "Quantify RWA and capital saving from Canton atomic DvP vs legacy settlement. SA-CCR (CRE52) and CRE70 settlement-risk charges. Build the business case for a Canton pilot.\n\n**Tool URL:** https://ainumbers.co/tools/\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "canton",
          "settlement risk",
          "DvP",
          "SA-CCR",
          "CRE52",
          "CRE70",
          "RWA",
          "capital efficiency",
          "Basel",
          "atomic settlement"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "approach": {
                    "type": "string",
                    "enum": [
                      "sa_ccr",
                      "simplified"
                    ],
                    "description": "sa_ccr = full SA-CCR (CRE52); simplified = 10% flat add-on (illustrative)"
                  },
                  "cet1_ratio": {
                    "type": "number",
                    "description": "CET1 ratio (e.g. 0.12 for 12%)"
                  },
                  "cost_of_capital": {
                    "type": "number",
                    "description": "Cost of equity capital / hurdle rate (e.g. 0.12)"
                  },
                  "seed": {
                    "type": "string",
                    "description": "Optional seed for deterministic labeling"
                  },
                  "exposures": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "instrument": {
                          "type": "string"
                        },
                        "notional": {
                          "type": "number"
                        },
                        "currency": {
                          "type": "string",
                          "enum": [
                            "USD",
                            "EUR",
                            "GBP",
                            "JPY",
                            "CHF"
                          ]
                        },
                        "legacy_settlement": {
                          "type": "string",
                          "enum": [
                            "t0",
                            "t1",
                            "t2",
                            "bilateral_repo"
                          ]
                        },
                        "counterparty_rating": {
                          "type": "string",
                          "enum": [
                            "aaa",
                            "aa",
                            "a",
                            "bbb",
                            "bb",
                            "b",
                            "unrated"
                          ]
                        },
                        "collateralised": {
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "instrument",
                        "notional",
                        "currency",
                        "legacy_settlement",
                        "counterparty_rating",
                        "collateralised"
                      ]
                    },
                    "maxItems": 5
                  }
                },
                "required": [
                  "approach",
                  "cet1_ratio",
                  "cost_of_capital",
                  "exposures"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "Tool execution result payload"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "optimize_settlement_capital",
        "x-tool-url": "https://ainumbers.co/tools/",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/check_tokenized_collateral_eligibility": {
      "post": {
        "operationId": "check_tokenized_collateral_eligibility",
        "summary": "Tokenized Collateral Eligibility Checker",
        "description": "Classify tokenized assets for DTC/Fed eligibility, Basel HQLA tier, and transfer restrictions. Used by DvP, repo, margin, and fund workflows. Deterministic logic per BCBS LCR paras 50–54 and BCBS SCO60/d545.\n\n**Tool URL:** https://ainumbers.co/tools/505-tokenized-collateral-eligibility-checker.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "canton",
          "collateral",
          "hqla",
          "dtc",
          "sco60",
          "basel",
          "tokenization"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "asset_type": {
                    "type": "string",
                    "enum": [
                      "ust",
                      "agency_mbs",
                      "ig_corp_bond",
                      "equity",
                      "tokenized_deposit",
                      "stablecoin",
                      "mmf_fund_share",
                      "gilt",
                      "eu_sovereign",
                      "other"
                    ],
                    "description": "Asset class. mmf_fund_share → always NON_HQLA (BCBS LCR paras 50–54 exhaustive list)."
                  },
                  "notional": {
                    "type": "number",
                    "description": "Face / notional amount in stated currency."
                  },
                  "currency": {
                    "type": "string",
                    "enum": [
                      "USD",
                      "EUR",
                      "GBP",
                      "JPY"
                    ]
                  },
                  "platform": {
                    "type": "string",
                    "enum": [
                      "canton_dtc",
                      "canton_standalone",
                      "other_dlt",
                      "traditional"
                    ],
                    "description": "On-chain settlement platform. Canton + DTC required for DTC_ELIGIBLE USTs."
                  },
                  "custody_linkage": {
                    "type": "string",
                    "enum": [
                      "dtc_custodied",
                      "fed_eligible",
                      "third_party_custodian",
                      "self_custodied"
                    ]
                  },
                  "transfer_restrictions": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "enum": [
                        "lock_up",
                        "min_denomination",
                        "transfer_agent_approval"
                      ]
                    },
                    "description": "Any restriction present adds +5% to HQLA haircut."
                  }
                },
                "required": [
                  "asset_type",
                  "notional",
                  "currency"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "dtc_status": {
                      "type": "string"
                    },
                    "hqla_tier": {
                      "type": "string"
                    },
                    "final_haircut_pct": {
                      "type": "number"
                    },
                    "adjusted_value": {
                      "type": "number"
                    },
                    "compliance_flags": {
                      "type": "object"
                    },
                    "mandate_type": {
                      "type": "string",
                      "const": "collateral_mandate"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "check_tokenized_collateral_eligibility",
        "x-tool-url": "https://ainumbers.co/tools/505-tokenized-collateral-eligibility-checker.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/check_cash_leg_finality": {
      "post": {
        "operationId": "check_cash_leg_finality",
        "summary": "On-Chain Cash-Leg Finality Checker",
        "description": "Validate the cash leg of a Canton settlement: finality model (PFMI P8/P12), reserve attestation, GENIUS Act / MiCA regulatory classification, and depeg circuit-breaker. Returns verdict PASS / CONDITIONAL / FAIL with assurance memo.\n\n**Tool URL:** https://ainumbers.co/tools/506-onchain-cash-leg-finality-checker.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "canton",
          "cash-leg",
          "finality",
          "stablecoin",
          "genius",
          "mica",
          "pfmi"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "cash_leg_type": {
                    "type": "string",
                    "enum": [
                      "usdc",
                      "jpmd",
                      "hsbc_deposit",
                      "eur_emt",
                      "custom"
                    ],
                    "description": "Type of on-chain cash instrument."
                  },
                  "amount": {
                    "type": "number",
                    "description": "Settlement amount in stated currency."
                  },
                  "currency": {
                    "type": "string",
                    "enum": [
                      "USD",
                      "EUR",
                      "GBP",
                      "HKD",
                      "SGD"
                    ]
                  },
                  "finality_model": {
                    "type": "string",
                    "enum": [
                      "atomic_dvp_bound",
                      "conditional_irrevocable",
                      "standard_blockchain",
                      "traditional_wire"
                    ],
                    "description": "Cash-leg finality mechanism. Assessed against CPMI-IOSCO PFMI Principles 8 and 12."
                  },
                  "jurisdiction": {
                    "type": "string",
                    "enum": [
                      "us",
                      "eu",
                      "hk",
                      "sg",
                      "other"
                    ],
                    "description": "Regulatory jurisdiction. us → GENIUS Act check; eu → MiCA Title III check."
                  },
                  "reserve_attestation_available": {
                    "type": "boolean"
                  },
                  "cash_pct": {
                    "type": "number",
                    "description": "Cash / FDIC-insured deposit % of reserves."
                  },
                  "tbills_pct": {
                    "type": "number",
                    "description": "T-bills ≤93 days % of reserves."
                  },
                  "repo_pct": {
                    "type": "number",
                    "description": "Fed overnight repo % of reserves."
                  },
                  "depeg_defined": {
                    "type": "boolean"
                  },
                  "depeg_threshold": {
                    "type": "number",
                    "description": "Depeg circuit-breaker trigger % (default 0.5). >1.0 → DEPEG_THRESHOLD_WIDE."
                  },
                  "redemption_window": {
                    "type": "string",
                    "enum": [
                      "instant",
                      "same_day",
                      "t1",
                      "t2_plus"
                    ]
                  }
                },
                "required": [
                  "cash_leg_type",
                  "amount",
                  "currency",
                  "finality_model",
                  "jurisdiction"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "verdict": {
                      "type": "string",
                      "enum": [
                        "CASH_LEG_VERDICT_PASS",
                        "CASH_LEG_VERDICT_CONDITIONAL",
                        "CASH_LEG_VERDICT_FAIL"
                      ]
                    },
                    "finality_flag": {
                      "type": "string"
                    },
                    "genius_status": {
                      "type": "string"
                    },
                    "mica_status": {
                      "type": "string"
                    },
                    "compliance_flags": {
                      "type": "object"
                    },
                    "mandate_type": {
                      "type": "string",
                      "const": "attestation_mandate"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "check_cash_leg_finality",
        "x-tool-url": "https://ainumbers.co/tools/506-onchain-cash-leg-finality-checker.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/validate_canton_dvp_atomicity": {
      "post": {
        "operationId": "validate_canton_dvp_atomicity",
        "summary": "Canton DvP Atomicity Validator",
        "description": "Validate atomic DvP settlement on Canton — PFMI P12, finality model, unwind semantics. Generate a counterparty-verifiable settlement attestation.\n\n**Tool URL:** https://ainumbers.co/tools/507-canton-dvp-atomicity-validator.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "canton",
          "dvp",
          "pfmi",
          "settlement",
          "atomicity",
          "herstatt",
          "finality"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "trade_id": {
                    "type": "string"
                  },
                  "instrument": {
                    "type": "string"
                  },
                  "notional": {
                    "type": "number"
                  },
                  "securities_currency": {
                    "type": "string"
                  },
                  "custodian": {
                    "type": "string"
                  },
                  "cash_type": {
                    "type": "string"
                  },
                  "cash_amount": {
                    "type": "number"
                  },
                  "cash_currency": {
                    "type": "string"
                  },
                  "platform": {
                    "type": "string"
                  },
                  "atomicity": {
                    "type": "string"
                  },
                  "finality": {
                    "type": "string"
                  },
                  "unwind_procedure": {
                    "type": "boolean"
                  },
                  "dtc_fed_eligible": {
                    "type": "boolean"
                  },
                  "netting_enabled": {
                    "type": "boolean"
                  }
                },
                "required": [
                  "trade_id",
                  "notional",
                  "atomicity",
                  "finality",
                  "platform"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "verdict": {
                      "type": "string",
                      "enum": [
                        "PASS",
                        "CONDITIONAL",
                        "FAIL"
                      ]
                    },
                    "atomicity_flag": {
                      "type": "string"
                    },
                    "finality_flag": {
                      "type": "string"
                    },
                    "herstatt_flag": {
                      "type": "string"
                    },
                    "compliance_flags": {
                      "type": "object"
                    },
                    "pacs008": {
                      "type": "object"
                    },
                    "execution_hash": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "validate_canton_dvp_atomicity",
        "x-tool-url": "https://ainumbers.co/tools/507-canton-dvp-atomicity-validator.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/calculate_repo_haircut": {
      "post": {
        "operationId": "calculate_repo_haircut",
        "summary": "On-Chain Repo Haircut & Collateral Mobility Calculator",
        "description": "Compute repo haircut, initial margin, and variation margin. Compare Canton 24/7 atomic valuation vs legacy weekend gap. Basel CRE22 comprehensive approach + d349 SFT minimum haircut floors + GMRA bilateral threshold.\n\n**Tool URL:** https://ainumbers.co/tools/508-repo-haircut-collateral-calculator.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "canton",
          "repo",
          "haircut",
          "gmra",
          "sftr",
          "collateral",
          "sft",
          "basel",
          "247"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "collateral_type": {
                    "type": "string"
                  },
                  "notional": {
                    "type": "number"
                  },
                  "currency": {
                    "type": "string"
                  },
                  "tenor": {
                    "type": "string"
                  },
                  "counterparty": {
                    "type": "string"
                  },
                  "canton_247": {
                    "type": "boolean"
                  },
                  "custodied": {
                    "type": "boolean"
                  },
                  "cross_border": {
                    "type": "boolean"
                  },
                  "concentration_pct": {
                    "type": "number"
                  }
                },
                "required": [
                  "collateral_type",
                  "notional",
                  "tenor",
                  "counterparty"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "base_haircut_pct": {
                      "type": "number"
                    },
                    "total_haircut_pct": {
                      "type": "number"
                    },
                    "sft_floor_applied": {
                      "type": "boolean"
                    },
                    "initial_margin": {
                      "type": "number"
                    },
                    "vm_threshold": {
                      "type": "number"
                    },
                    "canton_haircut_pct": {
                      "type": "number"
                    },
                    "legacy_haircut_pct": {
                      "type": "number"
                    },
                    "weekend_saving_pct": {
                      "type": "number"
                    },
                    "flags": {
                      "type": "array"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "calculate_repo_haircut",
        "x-tool-url": "https://ainumbers.co/tools/508-repo-haircut-collateral-calculator.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/validate_canton_party_allowlist": {
      "post": {
        "operationId": "validate_canton_party_allowlist",
        "summary": "Canton Party Allowlist Validator",
        "description": "Screen parties against FATF Travel Rule requirements and AML/KYA checks for Canton Network onboarding. Generate a counterparty-verifiable allowlist attestation.\n\n**Tool URL:** https://ainumbers.co/tools/509-canton-party-allowlist-validator.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "canton",
          "kyc",
          "kya",
          "aml",
          "fatf",
          "travel-rule",
          "allowlist",
          "compliance",
          "onboarding"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "parties": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "party_name": {
                          "type": "string"
                        },
                        "lei": {
                          "type": "string"
                        },
                        "entity_type": {
                          "type": "string",
                          "enum": [
                            "bank",
                            "broker_dealer",
                            "asset_manager",
                            "hedge_fund",
                            "custodian",
                            "exchange",
                            "other"
                          ]
                        },
                        "jurisdiction": {
                          "type": "string",
                          "enum": [
                            "us",
                            "eu",
                            "uk",
                            "sg",
                            "hk",
                            "jp",
                            "ch",
                            "other"
                          ]
                        },
                        "fatf_category": {
                          "type": "string",
                          "enum": [
                            "fatf_member_compliant",
                            "fatf_member_monitored",
                            "fatf_grey_list",
                            "fatf_black_list",
                            "non_fatf_member"
                          ]
                        },
                        "pep": {
                          "type": "boolean"
                        },
                        "adverse_media": {
                          "type": "boolean"
                        },
                        "daml_party_id_known": {
                          "type": "boolean"
                        },
                        "canton_access": {
                          "type": "string",
                          "enum": [
                            "global_synchronizer",
                            "canton_private",
                            "both",
                            "unknown"
                          ]
                        }
                      },
                      "required": [
                        "party_name",
                        "entity_type",
                        "jurisdiction",
                        "fatf_category"
                      ]
                    }
                  }
                },
                "required": [
                  "parties"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "party_results": {
                      "type": "array"
                    },
                    "portfolio_verdict": {
                      "type": "string"
                    },
                    "compliance_flags": {
                      "type": "object"
                    },
                    "iso20022_party_identification": {
                      "type": "array"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "validate_canton_party_allowlist",
        "x-tool-url": "https://ainumbers.co/tools/509-canton-party-allowlist-validator.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/vdcap_payload_auditor": {
      "post": {
        "operationId": "vdcap_payload_auditor",
        "summary": "VDCAP Payload Auditor & Card Fee Optimizer",
        "description": "Audit CNP payment payloads against Visa April 2026 VDCAP requirements. Detect missing Network Token, Device ID, IP fields. Estimate annual fee savings. Decode ISO 8583 bitmaps. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/51-vdcap-payload-auditor.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "vdcap_payload_auditor",
        "x-tool-url": "https://ainumbers.co/tools/51-vdcap-payload-auditor.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/classify_digital_asset_regulatory": {
      "post": {
        "operationId": "classify_digital_asset_regulatory",
        "summary": "Digital Asset Regulatory Classifier",
        "description": "Classify a tokenized asset under GENIUS Act, MiCA, MiFID II, and EU DLT Pilot Regime. Determine which regulatory framework applies — and what falls outside scope.\n\n**Tool URL:** https://ainumbers.co/tools/510-digital-asset-regulatory-classifier.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "digital-asset",
          "regulatory",
          "genius",
          "mica",
          "mifid",
          "dlt-pilot",
          "classification",
          "stablecoin",
          "tokenization"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "asset_name": {
                    "type": "string"
                  },
                  "asset_type": {
                    "type": "string",
                    "enum": [
                      "tokenized_security",
                      "stablecoin_usd",
                      "stablecoin_eur",
                      "deposit_token",
                      "utility_token",
                      "nft_financial",
                      "cbdc",
                      "crypto_native",
                      "other"
                    ]
                  },
                  "issuer_jurisdiction": {
                    "type": "string",
                    "enum": [
                      "us",
                      "eu",
                      "uk",
                      "sg",
                      "hk",
                      "jp",
                      "ch",
                      "other"
                    ]
                  },
                  "issuer_type": {
                    "type": "string",
                    "enum": [
                      "bank",
                      "payment_institution",
                      "investment_firm",
                      "fund",
                      "other"
                    ]
                  },
                  "transfer_value": {
                    "type": "boolean"
                  },
                  "redeemable_par": {
                    "type": "boolean"
                  },
                  "economic_rights": {
                    "type": "boolean"
                  },
                  "market_cap_eur": {
                    "type": "number"
                  },
                  "on_dlt": {
                    "type": "boolean"
                  },
                  "dlt_type": {
                    "type": "string",
                    "enum": [
                      "canton",
                      "ethereum",
                      "other_permissioned",
                      "other_public",
                      "none"
                    ]
                  }
                },
                "required": [
                  "asset_name",
                  "asset_type",
                  "issuer_jurisdiction"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "classification_results": {
                      "type": "array"
                    },
                    "compliance_flags": {
                      "type": "object"
                    },
                    "iso20022_party_identification": {
                      "type": "array"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "classify_digital_asset_regulatory",
        "x-tool-url": "https://ainumbers.co/tools/510-digital-asset-regulatory-classifier.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/validate_pvp_settlement": {
      "post": {
        "operationId": "validate_pvp_settlement",
        "summary": "Multi-Currency PvP Settlement Validator",
        "description": "Validate atomic Payment-vs-Payment (PvP) settlement across currency pairs. Eliminate Herstatt risk in cross-border FX and multi-currency repo on Canton. Outputs PvP compliance status, finality assessment, and SA-CCR FX add-on note.\n\n**Tool URL:** https://ainumbers.co/tools/511-multi-currency-pvp-validator.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "canton",
          "pvp",
          "fx",
          "herstatt",
          "pfmi",
          "settlement",
          "multi-currency",
          "cross-border"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "legs": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "currency_sold": {
                          "type": "string"
                        },
                        "amount_sold": {
                          "type": "number"
                        },
                        "currency_bought": {
                          "type": "string"
                        },
                        "amount_bought": {
                          "type": "number"
                        },
                        "settlement_platform": {
                          "type": "string",
                          "enum": [
                            "canton_daml",
                            "cls_bank",
                            "bilateral_wire",
                            "other"
                          ]
                        }
                      },
                      "required": [
                        "currency_sold",
                        "amount_sold",
                        "currency_bought",
                        "amount_bought",
                        "settlement_platform"
                      ]
                    }
                  },
                  "atomicity_model": {
                    "type": "string",
                    "enum": [
                      "atomic_pvp",
                      "sequential_pvp",
                      "free_payment"
                    ]
                  },
                  "finality_model": {
                    "type": "string",
                    "enum": [
                      "irrevocable_realtime",
                      "irrevocable_eod",
                      "provisional",
                      "undefined"
                    ]
                  },
                  "netting_enabled": {
                    "type": "boolean"
                  },
                  "canton_247": {
                    "type": "boolean"
                  },
                  "unwind_procedure_defined": {
                    "type": "boolean"
                  }
                },
                "required": [
                  "legs",
                  "atomicity_model",
                  "finality_model"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "Tool execution result payload"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "validate_pvp_settlement",
        "x-tool-url": "https://ainumbers.co/tools/511-multi-currency-pvp-validator.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/validate_tokenized_security_lifecycle": {
      "post": {
        "operationId": "validate_tokenized_security_lifecycle",
        "summary": "Tokenized Security Lifecycle Validator",
        "description": "Validate issuance, corporate actions, and maturity/redemption lifecycle for tokenized securities on Daml/Canton. Checks Daml contract coverage against required lifecycle events by security type. EU DLT Pilot Regime eligibility and prospectus obligation checks.\n\n**Tool URL:** https://ainumbers.co/tools/512-tokenized-security-lifecycle-validator.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "canton",
          "daml",
          "lifecycle",
          "tokenization",
          "issuance",
          "dlt-pilot",
          "corporate-action",
          "securities"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "security_name": {
                    "type": "string"
                  },
                  "security_type": {
                    "type": "string",
                    "enum": [
                      "ust",
                      "corporate_bond",
                      "equity",
                      "fund_unit",
                      "govt_bond",
                      "structured_note"
                    ]
                  },
                  "issuance_jurisdiction": {
                    "type": "string",
                    "enum": [
                      "us",
                      "eu",
                      "uk",
                      "sg",
                      "hk",
                      "other"
                    ]
                  },
                  "daml_contract_defined": {
                    "type": "boolean"
                  },
                  "daml_events_covered": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "enum": [
                        "issuance",
                        "coupon_payment",
                        "corporate_action",
                        "transfer",
                        "maturity_redemption",
                        "default_handling"
                      ]
                    }
                  },
                  "issuance_amount_usd": {
                    "type": "number"
                  },
                  "custodian_model": {
                    "type": "string",
                    "enum": [
                      "dtc_custodied",
                      "third_party_csd",
                      "self_custodied",
                      "canton_native"
                    ]
                  },
                  "prospectus_filed": {
                    "type": "boolean"
                  },
                  "isin_assigned": {
                    "type": "boolean"
                  },
                  "corporate_actions_expected": {
                    "type": "string",
                    "enum": [
                      "none",
                      "coupon_only",
                      "coupon_and_redemption",
                      "equity_events",
                      "complex"
                    ]
                  }
                },
                "required": [
                  "security_type",
                  "issuance_jurisdiction",
                  "daml_events_covered"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "Tool execution result payload"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "validate_tokenized_security_lifecycle",
        "x-tool-url": "https://ainumbers.co/tools/512-tokenized-security-lifecycle-validator.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/mobilize_margin_collateral": {
      "post": {
        "operationId": "mobilize_margin_collateral",
        "summary": "Margin Call Collateral Mobilizer",
        "description": "Compute initial and variation margin requirements and identify eligible collateral to mobilize. Correctly branched by instrument: UMR/BCBS d499 for derivatives; GMRA/d349 for repo/SFT. Outputs margin call amounts, eligible collateral table, and mobilization gap/surplus.\n\n**Tool URL:** https://ainumbers.co/tools/513-margin-call-collateral-mobilizer.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "margin",
          "collateral",
          "umr",
          "d499",
          "gmra",
          "sftr",
          "derivatives",
          "repo",
          "canton",
          "mobilization"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "instrument_type": {
                    "type": "string",
                    "enum": [
                      "interest_rate_swap",
                      "cds",
                      "fx_forward",
                      "equity_option",
                      "commodity_swap",
                      "swaption",
                      "repo",
                      "reverse_repo",
                      "securities_lending",
                      "buy_sell_back"
                    ]
                  },
                  "portfolio_mtm": {
                    "type": "number"
                  },
                  "aana_eur": {
                    "type": "number"
                  },
                  "counterparty_type": {
                    "type": "string",
                    "enum": [
                      "bank",
                      "investment_firm",
                      "fund",
                      "non_financial_counterparty"
                    ]
                  },
                  "collateral": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "asset_type": {
                          "type": "string",
                          "enum": [
                            "ust",
                            "gilt",
                            "ig_corp",
                            "equity",
                            "cash_usd",
                            "cash_eur"
                          ]
                        },
                        "notional": {
                          "type": "number"
                        },
                        "already_posted": {
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "asset_type",
                        "notional"
                      ]
                    }
                  },
                  "on_chain_mobilization": {
                    "type": "boolean"
                  },
                  "bilateral_csa": {
                    "type": "boolean"
                  },
                  "ccp_cleared": {
                    "type": "boolean"
                  },
                  "mta_eur": {
                    "type": "number"
                  }
                },
                "required": [
                  "instrument_type",
                  "portfolio_mtm"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "Tool execution result payload"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "mobilize_margin_collateral",
        "x-tool-url": "https://ainumbers.co/tools/513-margin-call-collateral-mobilizer.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/validate_fund_collateral": {
      "post": {
        "operationId": "validate_fund_collateral",
        "summary": "Tokenized Fund Collateral Validator",
        "description": "Validate tokenized MMF / CNAV / LVNAV / VNAV fund shares as collateral. Applies SEC Rule 2a-7 (post-Oct 2024 amendments), EU MMFR (Regulation (EU) 2017/1131), and Basel LCR HQLA exclusion rules. Supports Canton Benji (FOBXX) and other on-chain platforms.\n\n**Tool URL:** https://ainumbers.co/tools/514-tokenized-fund-collateral-validator.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "mmf",
          "fund",
          "collateral",
          "sec-2a7",
          "eu-mmfr",
          "hqla",
          "canton",
          "lvnav",
          "cnav",
          "benji"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "fund_name": {
                    "type": "string"
                  },
                  "fund_type": {
                    "type": "string",
                    "enum": [
                      "sec_govt_mmf",
                      "sec_retail_prime_mmf",
                      "sec_inst_prime_mmf",
                      "eu_cnav",
                      "eu_lvnav",
                      "eu_vnav",
                      "other_govt_fund"
                    ]
                  },
                  "nav_per_share": {
                    "type": "number"
                  },
                  "units_held": {
                    "type": "number"
                  },
                  "currency": {
                    "type": "string",
                    "enum": [
                      "USD",
                      "EUR",
                      "GBP"
                    ]
                  },
                  "platform": {
                    "type": "string",
                    "enum": [
                      "canton_benji",
                      "canton_other",
                      "other_dlt",
                      "traditional"
                    ]
                  },
                  "redemption_window": {
                    "type": "string",
                    "enum": [
                      "instant",
                      "same_day",
                      "t1",
                      "t2_plus"
                    ]
                  },
                  "collateral_use": {
                    "type": "string",
                    "enum": [
                      "repo_collateral",
                      "im_derivative",
                      "vm_derivative",
                      "lender_collateral",
                      "other"
                    ]
                  },
                  "wla_pct": {
                    "type": "number"
                  },
                  "dla_pct": {
                    "type": "number"
                  }
                },
                "required": [
                  "fund_type",
                  "nav_per_share",
                  "units_held",
                  "currency",
                  "collateral_use"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "Tool execution result payload"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "validate_fund_collateral",
        "x-tool-url": "https://ainumbers.co/tools/514-tokenized-fund-collateral-validator.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/validate_collateral_swap_eligibility": {
      "post": {
        "operationId": "validate_collateral_swap_eligibility",
        "summary": "Collateral Swap Eligibility Validator",
        "description": "Validate a collateral swap (upgrade/downgrade trade) under GMSLA, GMRA, and SFTR Art 15 collateral reuse rules. Determine HQLA tier impact and regulatory eligibility.\n\n**Tool URL:** https://ainumbers.co/tools/515-collateral-swap-eligibility-validator.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "collateral-swap",
          "gmsla",
          "gmra",
          "sftr",
          "hqla",
          "upgrade",
          "downgrade",
          "canton",
          "securities-lending"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "asset_type_a": {
                    "type": "string",
                    "enum": [
                      "ust",
                      "gilt",
                      "eu_sovereign",
                      "agency_mbs",
                      "ig_corp_bond",
                      "equity",
                      "cash_usd",
                      "cash_eur",
                      "mmf_fund_share"
                    ]
                  },
                  "notional_a": {
                    "type": "number"
                  },
                  "currency_a": {
                    "type": "string",
                    "enum": [
                      "USD",
                      "EUR",
                      "GBP"
                    ]
                  },
                  "asset_type_b": {
                    "type": "string",
                    "enum": [
                      "ust",
                      "gilt",
                      "eu_sovereign",
                      "agency_mbs",
                      "ig_corp_bond",
                      "equity",
                      "cash_usd",
                      "cash_eur",
                      "mmf_fund_share"
                    ]
                  },
                  "notional_b": {
                    "type": "number"
                  },
                  "currency_b": {
                    "type": "string",
                    "enum": [
                      "USD",
                      "EUR",
                      "GBP"
                    ]
                  },
                  "swap_direction": {
                    "type": "string",
                    "enum": [
                      "upgrade",
                      "downgrade",
                      "neutral"
                    ]
                  },
                  "governing_agreement": {
                    "type": "string",
                    "enum": [
                      "gmsla",
                      "gmra",
                      "bespoke_csa",
                      "undefined"
                    ]
                  },
                  "sftr_consent": {
                    "type": "boolean"
                  },
                  "collateral_reuse": {
                    "type": "boolean"
                  },
                  "haircut_a": {
                    "type": "number"
                  },
                  "haircut_b": {
                    "type": "number"
                  },
                  "provider_informed": {
                    "type": "boolean"
                  },
                  "eu_counterparty": {
                    "type": "boolean"
                  }
                },
                "required": [
                  "asset_type_a",
                  "notional_a",
                  "asset_type_b",
                  "notional_b",
                  "swap_direction",
                  "governing_agreement"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "Tool execution result payload"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "validate_collateral_swap_eligibility",
        "x-tool-url": "https://ainumbers.co/tools/515-collateral-swap-eligibility-validator.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/compute_sa_im_margin": {
      "post": {
        "operationId": "compute_sa_im_margin",
        "summary": "SA-IM Initial Margin Calculator",
        "description": "Compute Standardised Approach Initial Margin (SA-IM, BCBS-IOSCO d499) for non-centrally-cleared derivatives via the regulatory tenor add-on schedule, with UMR phase thresholds and the €50M IM / €500k MTA tests; GMRA haircut framework for repo/SFT. Variation margin and Canton 24/7 collateral mobilization.\n\n**Tool URL:** https://ainumbers.co/tools/516-sa-im-initial-margin-calculator.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "margin",
          "collateral",
          "umr",
          "gmra",
          "sftr",
          "derivatives",
          "repo",
          "canton",
          "sa-im"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "position_type": {
                    "type": "string",
                    "enum": [
                      "deriv_ir",
                      "deriv_fx",
                      "deriv_eq",
                      "deriv_credit",
                      "repo",
                      "sbl"
                    ]
                  },
                  "notional": {
                    "type": "number"
                  },
                  "currency": {
                    "type": "string",
                    "enum": [
                      "USD",
                      "EUR",
                      "GBP"
                    ]
                  },
                  "tenor": {
                    "type": "string",
                    "enum": [
                      "lt_1y",
                      "1_5y",
                      "gt_5y"
                    ]
                  },
                  "counterparty_threshold": {
                    "type": "string",
                    "enum": [
                      "phase1_gt8bn",
                      "phase2_gt8bn",
                      "below_threshold"
                    ]
                  },
                  "collateral_type": {
                    "type": "string",
                    "enum": [
                      "ust",
                      "agency_mbs",
                      "ig_corp_bond",
                      "gilt",
                      "cash"
                    ]
                  },
                  "canton_247": {
                    "type": "boolean"
                  }
                },
                "required": [
                  "position_type",
                  "notional",
                  "currency",
                  "collateral_type"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "Tool execution result payload"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "compute_sa_im_margin",
        "x-tool-url": "https://ainumbers.co/tools/516-sa-im-initial-margin-calculator.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/score_fuzzy_match_calibration": {
      "post": {
        "operationId": "score_fuzzy_match_calibration",
        "summary": "Fuzzy-Match Calibration Scorer",
        "description": "FPR/recall/F1 scoring and threshold calibration for sanctions fuzzy-match engines. Levenshtein, Jaro-Winkler, and Phonetic algorithms. Wolfsberg-aligned. Synthetic name pairs only — zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "sanctions",
          "fuzzy-match",
          "calibration",
          "model-governance",
          "wolfsberg",
          "AML",
          "screening"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "algorithm",
                  "threshold",
                  "name_pairs"
                ],
                "properties": {
                  "algorithm": {
                    "type": "string",
                    "enum": [
                      "levenshtein",
                      "jaro_winkler",
                      "phonetic"
                    ]
                  },
                  "threshold": {
                    "type": "number",
                    "description": "Similarity threshold 0–1"
                  },
                  "name_pairs": {
                    "type": "array",
                    "description": "Labelled name pairs [{original, candidate, is_match}]",
                    "items": {
                      "type": "object"
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "Tool execution result payload"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "score_fuzzy_match_calibration",
        "x-tool-url": "https://ainumbers.co/tools/",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/simulate_ict_cascade": {
      "post": {
        "operationId": "simulate_ict_cascade",
        "summary": "DORA ICT Cascade Simulator",
        "description": "Monte Carlo BFS simulation of ICT failure cascade propagation for DORA compliance. Models bank_core, cloud_native, and legacy_hybrid topologies. Reports DORA reporting probability and breach time percentiles.\n\n**Tool URL:** https://ainumbers.co/tools/\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "DORA",
          "ICT",
          "cascade",
          "simulation",
          "operational-resilience",
          "Monte-Carlo",
          "PFMI"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "topology",
                  "failure_node",
                  "n_runs"
                ],
                "properties": {
                  "topology": {
                    "type": "string",
                    "enum": [
                      "bank_core",
                      "cloud_native",
                      "legacy_hybrid"
                    ]
                  },
                  "failure_node": {
                    "type": "string",
                    "description": "Starting failure node ID"
                  },
                  "n_runs": {
                    "type": "number",
                    "description": "Monte Carlo iterations (100–10000)"
                  },
                  "seed": {
                    "type": "number",
                    "description": "PRNG seed for reproducibility"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "Tool execution result payload"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "simulate_ict_cascade",
        "x-tool-url": "https://ainumbers.co/tools/",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/simulate_app_fraud_graph": {
      "post": {
        "operationId": "simulate_app_fraud_graph",
        "summary": "APP Fraud Graph Simulator",
        "description": "Monte Carlo BFS simulation of APP (Authorised Push Payment) fraud propagation across payment networks. PSR reimbursement cap modelling. Retail, corporate-sweep, and mule-dense topologies. Synthetic networks only — zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "APP-fraud",
          "PSR",
          "Monte-Carlo",
          "fraud-graph",
          "aml",
          "PSD2",
          "payment-fraud",
          "UK-PSR"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "topology",
                  "n_runs"
                ],
                "properties": {
                  "topology": {
                    "type": "string",
                    "enum": [
                      "retail_network",
                      "corporate_sweep",
                      "mule_dense"
                    ]
                  },
                  "n_runs": {
                    "type": "number",
                    "description": "Monte Carlo iterations (100–10000)"
                  },
                  "seed": {
                    "type": "number",
                    "description": "PRNG seed for reproducibility"
                  },
                  "psr_cap_gbp": {
                    "type": "number",
                    "description": "PSR reimbursement cap per victim (default 85000)"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "Tool execution result payload"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "simulate_app_fraud_graph",
        "x-tool-url": "https://ainumbers.co/tools/",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/interchange_optimizer": {
      "post": {
        "operationId": "interchange_optimizer",
        "summary": "Tool 52 — Interchange Fee Optimizer",
        "description": "Model U.S. interchange fees across Visa, Mastercard, Amex, and Discover. Compare flat-rate vs interchange-plus vs tiered pricing. Calculate Level 2/3 savings, PIN debit routing, and A2A migration ROI. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/52-interchange-optimizer.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "interchange_optimizer",
        "x-tool-url": "https://ainumbers.co/tools/52-interchange-optimizer.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/validate_c2pa_manifest": {
      "post": {
        "operationId": "validate_c2pa_manifest",
        "summary": "C2PA Content Credential Manifest Validator",
        "description": "Validate a decoded C2PA 2.x manifest: claim well-formedness, hard-binding hash assertion, and claim-signature reference. Zero network. Feeds the Content Credential signature verifier.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-123-c2pa-manifest-validator.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "c2pa",
          "content-credentials",
          "manifest",
          "provenance",
          "eu-ai-act",
          "wave23"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "claim_generator": {
                    "type": "string"
                  },
                  "claim": {
                    "type": "object"
                  },
                  "assertions": {
                    "type": "array"
                  },
                  "signature": {
                    "type": "object"
                  }
                },
                "required": [
                  "claim_generator",
                  "claim",
                  "assertions"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "manifest_valid": {
                      "type": "boolean"
                    },
                    "has_hard_binding": {
                      "type": "boolean"
                    },
                    "has_actions": {
                      "type": "boolean"
                    },
                    "assertion_count": {
                      "type": "integer"
                    },
                    "missing_elements": {
                      "type": "array"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "validate_c2pa_manifest",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-123-c2pa-manifest-validator.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/cc_license_chooser": {
      "post": {
        "operationId": "cc_license_chooser",
        "summary": "Creative Commons License Chooser",
        "description": "Deterministic decision tree mapping creator answers (waive rights? commercial? adaptations?) to the matching Creative Commons license family (CC0, CC BY, BY-SA, BY-ND, BY-NC, BY-NC-SA, BY-NC-ND) with SPDX id, canonical deed URL, and attribution requirement. Recreates the CC chooser as a verifiable, agent-callable step for content licensing before tokenization. Selection only, not legal advice. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "creative-commons",
          "license",
          "cc0",
          "cc-by",
          "spdx",
          "tokenization",
          "ip",
          "content-creator"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "allow_commercial",
                  "allow_adaptations"
                ],
                "properties": {
                  "waive_all_rights": {
                    "type": "string",
                    "enum": [
                      "yes",
                      "no"
                    ],
                    "description": "yes = CC0 public domain dedication"
                  },
                  "allow_commercial": {
                    "type": "string",
                    "enum": [
                      "yes",
                      "no"
                    ],
                    "description": "Allow commercial use (no adds NonCommercial)"
                  },
                  "allow_adaptations": {
                    "type": "string",
                    "enum": [
                      "none",
                      "yes",
                      "share_alike"
                    ],
                    "description": "Allow adaptations (none adds NoDerivatives, share_alike adds ShareAlike)"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "Tool execution result payload"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "cc_license_chooser",
        "x-tool-url": "https://ainumbers.co/tools/",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/cbe_nft_license_picker": {
      "post": {
        "operationId": "cbe_nft_license_picker",
        "summary": "Can't Be Evil NFT License Picker",
        "description": "Deterministic rights-matrix lookup mapping creator answers (commercial, exclusivity, no-hate variant) to one of a16z's six Can't Be Evil NFT licenses (launch names CBE-CC0, ECR, NECR, NECR-HS, PR, PR-HS; current on-chain names PUBLIC through PERSONAL_NO_HATE, renamed in place October 2022, order unchanged). Returns license id, both on-chain enum names, Solidity LicenseVersion enum ordinal, full rights matrix verified against the canonical Arweave license texts, and canonical Arweave license URIs (current and legacy manifests, equivalent per index). Selection only, not legal advice. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "a16z",
          "cant-be-evil",
          "nft-license",
          "cc0",
          "commercial",
          "exclusive",
          "ip",
          "tokenization"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "commercial"
                ],
                "properties": {
                  "waive_all": {
                    "type": "string",
                    "enum": [
                      "yes",
                      "no"
                    ],
                    "description": "yes = CBE-CC0 / PUBLIC public domain"
                  },
                  "commercial": {
                    "type": "string",
                    "enum": [
                      "yes",
                      "no"
                    ],
                    "description": "Allow commercial use (no = personal license)"
                  },
                  "exclusive": {
                    "type": "string",
                    "enum": [
                      "yes",
                      "no"
                    ],
                    "description": "Exclusive commercial rights (only when commercial; qualified, no trademark rights)"
                  },
                  "hate_speech_termination": {
                    "type": "string",
                    "enum": [
                      "yes",
                      "no"
                    ],
                    "description": "Include the no-hate variant (broad objectionable-use restriction, license section 1.6, enforced by breach termination, not auto-termination)"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "Tool execution result payload"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "cbe_nft_license_picker",
        "x-tool-url": "https://ainumbers.co/tools/",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/verify_content_credential_signature": {
      "post": {
        "operationId": "verify_content_credential_signature",
        "summary": "Content Credential Signature Verifier",
        "description": "Verify a C2PA COSE_Sign1 claim signature using crypto.subtle.verify (Ed25519/ES256/ES384/PS256). Trust posture is caller-supplied — zero network, no OCSP. Emits ACCEPT or REFUSE.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-124-content-credential-signature-verifier.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "c2pa",
          "signature",
          "cose",
          "ed25519",
          "content-credentials",
          "eu-ai-act",
          "wave23"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "alg": {
                    "type": "string",
                    "enum": [
                      "Ed25519",
                      "ES256",
                      "ES384",
                      "PS256"
                    ]
                  },
                  "signer_public_key_jwk": {
                    "type": "object"
                  },
                  "signed_bytes_b64": {
                    "type": "string"
                  },
                  "signature_b64": {
                    "type": "string"
                  },
                  "trust_anchor_match": {
                    "type": "boolean"
                  },
                  "cert_not_expired": {
                    "type": "boolean"
                  },
                  "revocation_status": {
                    "type": "string"
                  }
                },
                "required": [
                  "alg",
                  "signer_public_key_jwk",
                  "signed_bytes_b64",
                  "signature_b64",
                  "trust_anchor_match",
                  "revocation_status"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "signature_cryptographically_valid": {
                      "type": "boolean"
                    },
                    "chain_trusted": {
                      "type": "boolean"
                    },
                    "alg": {
                      "type": "string"
                    },
                    "alg_allowed": {
                      "type": "boolean"
                    },
                    "verdict": {
                      "type": "string",
                      "enum": [
                        "ACCEPT",
                        "REFUSE"
                      ]
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "verify_content_credential_signature",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-124-content-credential-signature-verifier.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/resolve_provenance_ingredient_tree": {
      "post": {
        "operationId": "resolve_provenance_ingredient_tree",
        "summary": "Provenance Ingredient Tree Resolver",
        "description": "Walk the c2pa.ingredient parent-of tree; confirm each ingredient hashed_uri binding and nested manifest hash chains back to the active manifest; flag broken provenance edges. Emits intact/broken verdict.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-125-provenance-ingredient-tree-resolver.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "c2pa",
          "provenance",
          "ingredient-tree",
          "content-credentials",
          "wave23"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "active_manifest_hash": {
                    "type": "string"
                  },
                  "ingredients": {
                    "type": "array"
                  }
                },
                "required": [
                  "active_manifest_hash",
                  "ingredients"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "tree_intact": {
                      "type": "boolean"
                    },
                    "depth": {
                      "type": "integer"
                    },
                    "edges": {
                      "type": "array"
                    },
                    "broken_edges": {
                      "type": "array"
                    },
                    "root_ok": {
                      "type": "boolean"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "resolve_provenance_ingredient_tree",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-125-provenance-ingredient-tree-resolver.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/pil_flavor_selector": {
      "post": {
        "operationId": "pil_flavor_selector",
        "summary": "Story PIL Flavor Selector",
        "description": "Deterministic mapper from creator answers (commercial use, derivatives, minting fee, revenue share) to a Story Protocol Programmable IP License flavor (Non-Commercial Social Remixing, Commercial Use, Commercial Remix) with the full PILTerms struct. Selection only, not legal advice. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "story-protocol",
          "pil",
          "programmable-ip-license",
          "commercial-remix",
          "derivatives",
          "tokenization",
          "ip"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "commercial_use",
                  "derivatives_allowed"
                ],
                "properties": {
                  "commercial_use": {
                    "type": "string",
                    "enum": [
                      "yes",
                      "no"
                    ],
                    "description": "Allow commercial use (no = Non-Commercial Social Remixing)"
                  },
                  "derivatives_allowed": {
                    "type": "string",
                    "enum": [
                      "yes",
                      "no"
                    ],
                    "description": "Allow derivatives (with commercial: yes = Commercial Remix, no = Commercial Use)"
                  },
                  "minting_fee": {
                    "type": "number",
                    "description": "Creator-set default minting fee (commercial flavors)"
                  },
                  "rev_share_pct": {
                    "type": "number",
                    "description": "Creator-set commercial revenue share percent (Commercial Remix only)"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "Tool execution result payload"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "pil_flavor_selector",
        "x-tool-url": "https://ainumbers.co/tools/",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/check_ai_act_art50_marking": {
      "post": {
        "operationId": "check_ai_act_art50_marking",
        "summary": "EU AI Act Art. 50 Marking Checker",
        "description": "Check c2pa.actions for Art. 50(2) AI source-type marking adequacy and Art. 50(4) deepfake disclosure. Penalty: EUR 15M / 3% global turnover. Applies 2 Aug 2026.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-126-ai-act-art50-marking-checker.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "eu-ai-act",
          "art50",
          "c2pa",
          "iptc",
          "deepfake",
          "compliance",
          "wave23"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "actions": {
                    "type": "array"
                  },
                  "machine_readable_marking_present": {
                    "type": "boolean"
                  },
                  "is_deepfake": {
                    "type": "boolean"
                  },
                  "deepfake_disclosure_present": {
                    "type": "boolean"
                  }
                },
                "required": [
                  "actions",
                  "machine_readable_marking_present"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "art50_conformant": {
                      "type": "boolean"
                    },
                    "ai_marking_present": {
                      "type": "boolean"
                    },
                    "source_type_recognized": {
                      "type": "boolean"
                    },
                    "deepfake_disclosure_ok": {
                      "type": "boolean"
                    },
                    "source_type": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "gaps": {
                      "type": "array"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "check_ai_act_art50_marking",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-126-ai-act-art50-marking-checker.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/tabular_roundtrip_differ": {
      "post": {
        "operationId": "tabular_roundtrip_differ",
        "summary": "Tabular Data Round-Trip Differ",
        "description": "Import a CSV, TSV, or JSON table, edit it, and produce a canonical cell-wise diff plus the modified file with input and output SHA-256 content hashes. Demonstrates the OpenChainGraph import binding and write-back diff (lens get/put round trip). Client-side, deterministic, zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "import",
          "csv",
          "tsv",
          "json",
          "roundtrip",
          "cell-diff",
          "bidirectional",
          "write-back",
          "canonicalize",
          "openchaingraph"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "importData"
                ],
                "properties": {
                  "importData": {
                    "type": "string",
                    "description": "The raw CSV, TSV, or JSON table text"
                  },
                  "importFormat": {
                    "type": "string",
                    "enum": [
                      "auto",
                      "csv",
                      "tsv",
                      "json"
                    ],
                    "description": "Format (auto-detected if omitted)"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "Tool execution result payload"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "tabular_roundtrip_differ",
        "x-tool-url": "https://ainumbers.co/tools/",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/verify_dual_layer_disclosure": {
      "post": {
        "operationId": "verify_dual_layer_disclosure",
        "summary": "Dual-Layer Disclosure Verifier",
        "description": "Confirm both C2PA signed metadata and an imperceptible watermark are declared present per EU Commission Code of Practice (Art. 50 multi-layer). Emits DUAL_LAYER_PRESENT or DUAL_LAYER_INCOMPLETE.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-127-dual-layer-disclosure-verifier.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "eu-ai-act",
          "art50",
          "c2pa",
          "watermark",
          "synthid",
          "dual-layer",
          "wave23"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "c2pa_metadata_present": {
                    "type": "boolean"
                  },
                  "watermark_present": {
                    "type": "boolean"
                  },
                  "watermark_method": {
                    "type": "string"
                  }
                },
                "required": [
                  "c2pa_metadata_present",
                  "watermark_present"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "dual_layer_ok": {
                      "type": "boolean"
                    },
                    "layers_present": {
                      "type": "array"
                    },
                    "missing_layer": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "watermark_method": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "method_recognized": {
                      "type": "boolean"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "verify_dual_layer_disclosure",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-127-dual-layer-disclosure-verifier.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/build_tdm_reservation": {
      "post": {
        "operationId": "build_tdm_reservation",
        "summary": "TDMRep AI-Training Reservation Builder",
        "description": "Builds a W3C TDM Reservation Protocol /.well-known/tdmrep.json plus the HTML meta and HTTP header equivalents to reserve (opt out of) or open text and data mining and AI training rights on content, with optional TDM policy URL and ISCC soft-binding. The machine-readable AI-training opt-out the EU AI Act expects GPAI providers to honour. Deterministic, client-side, zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "tdmrep",
          "tdm",
          "ai-training",
          "opt-out",
          "rights-reservation",
          "eu-ai-act",
          "w3c",
          "content-creator"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "reservation"
                ],
                "properties": {
                  "reservation": {
                    "type": "string",
                    "enum": [
                      "1",
                      "0"
                    ],
                    "description": "1 = reserve (opt out of TDM/AI training), 0 = not reserved (allow)"
                  },
                  "location": {
                    "type": "string",
                    "description": "Path pattern the rule applies to, e.g. / or /images/*.jpg"
                  },
                  "policy_url": {
                    "type": "string",
                    "description": "Optional TDM policy document URL"
                  },
                  "iscc_ref": {
                    "type": "string",
                    "description": "Optional ISCC content code to soft-bind the reservation to (informational)"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "Tool execution result payload"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "build_tdm_reservation",
        "x-tool-url": "https://ainumbers.co/tools/",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/validate_content_binding_assertion": {
      "post": {
        "operationId": "validate_content_binding_assertion",
        "summary": "Content Binding Assertion Validator",
        "description": "Validate hard-binding (tamper-evident asset hash match) vs soft-binding (watermark survives re-encode). Emits TAMPER_EVIDENT / SOFT_BINDING_ONLY / UNBOUND verdict. Terminal stage.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-128-content-binding-assertion-validator.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "c2pa",
          "binding",
          "tamper-evident",
          "hash",
          "watermark",
          "content-credentials",
          "wave23"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "binding_type": {
                    "type": "string",
                    "enum": [
                      "hard",
                      "soft",
                      "both"
                    ]
                  },
                  "asset_bytes_hash": {
                    "type": "string"
                  },
                  "claimed_hard_binding_hash": {
                    "type": "string"
                  },
                  "soft_binding_identifier_present": {
                    "type": "boolean"
                  }
                },
                "required": [
                  "binding_type"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "binding_type": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "hard_binding_matches": {
                      "type": "boolean"
                    },
                    "tamper_evident": {
                      "type": "boolean"
                    },
                    "soft_binding_present": {
                      "type": "boolean"
                    },
                    "verdict": {
                      "type": "string",
                      "enum": [
                        "TAMPER_EVIDENT",
                        "SOFT_BINDING_ONLY",
                        "UNBOUND"
                      ]
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "validate_content_binding_assertion",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-128-content-binding-assertion-validator.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/iscc_content_code_generator": {
      "post": {
        "operationId": "iscc_content_code_generator",
        "summary": "ISCC Content-Code Generator",
        "description": "Generates a conformant ISO 24138 ISCC (Instance-Code, Data-Code, Meta-Code, and composite ISCC-CODE) from a file entirely in the browser. Pure-JS engine (BLAKE3, xxhash, content-defined chunking, minhash) verified byte-identical against the official iscc-core conformance vectors, with an on-load self-check gate. The file never leaves the device. Client-side, deterministic, zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "iscc",
          "iso-24138",
          "content-code",
          "fingerprint",
          "blake3",
          "provenance",
          "tokenization",
          "content-creator"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "meta_name": {
                    "type": "string",
                    "description": "Optional work title for the Meta-Code"
                  },
                  "meta_description": {
                    "type": "string",
                    "description": "Optional description for the Meta-Code"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "Tool execution result payload"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "iscc_content_code_generator",
        "x-tool-url": "https://ainumbers.co/tools/",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/generate_ccrel_attribution": {
      "post": {
        "operationId": "generate_ccrel_attribution",
        "summary": "ccREL Attribution Generator",
        "description": "Generates Creative Commons attribution notices in three formats: TASL (Title, Author, Source, License) plain text, ccREL JSON-LD structured data, and ccREL RDFa HTML snippet. Supports all CC 4.0 and CC0 license variants. Runs entirely client-side with no network calls.\n\n**Tool URL:** https://ainumbers.co/tools/526-ccrel-attribution-generator.html",
        "tags": [
          "creative commons",
          "ccrel",
          "attribution",
          "license",
          "json-ld",
          "rdfa",
          "tasl",
          "cc0",
          "cc-by",
          "nft",
          "tokenization",
          "ip licensing",
          "open license"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "title",
                  "creator",
                  "source_url",
                  "license"
                ],
                "properties": {
                  "title": {
                    "type": "string"
                  },
                  "creator": {
                    "type": "string"
                  },
                  "source_url": {
                    "type": "string"
                  },
                  "license": {
                    "type": "string",
                    "enum": [
                      "CC0-1.0",
                      "CC-BY-4.0",
                      "CC-BY-SA-4.0",
                      "CC-BY-ND-4.0",
                      "CC-BY-NC-4.0",
                      "CC-BY-NC-SA-4.0",
                      "CC-BY-NC-ND-4.0"
                    ]
                  },
                  "work_url": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "tasl": {
                      "type": "string",
                      "description": "TASL attribution line (plain text)"
                    },
                    "json_ld": {
                      "type": "string",
                      "description": "ccREL JSON-LD block (application/ld+json)"
                    },
                    "rdfa": {
                      "type": "string",
                      "description": "ccREL RDFa HTML snippet"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "generate_ccrel_attribution",
        "x-tool-url": "https://ainumbers.co/tools/526-ccrel-attribution-generator.html",
        "x-source": "manifest"
      }
    },
    "/v1/tools/verify_webbotauth_signature": {
      "post": {
        "operationId": "verify_webbotauth_signature",
        "summary": "Web Bot Auth Signature Verifier (RFC 9421)",
        "description": "Verify an RFC 9421 HTTP Message Signature for IETF Web Bot Auth (Ed25519). Reconstructs the signature base from covered components and @signature-params, verifies via crypto.subtle. Zero network, caller-supplied key. Emits ACCEPT or REFUSE.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-129-webbotauth-signature-verifier.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "rfc9421",
          "web-bot-auth",
          "ed25519",
          "http-message-signatures",
          "agent-identity",
          "wave24"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "covered_components": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "name": {
                          "type": "string"
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "name",
                        "value"
                      ]
                    }
                  },
                  "signature_params": {
                    "type": "string"
                  },
                  "signature_b64": {
                    "type": "string"
                  },
                  "public_key_jwk": {
                    "type": "object"
                  },
                  "alg": {
                    "type": "string"
                  },
                  "expected_tag": {
                    "type": "string"
                  },
                  "created": {
                    "type": "number"
                  },
                  "now_unix": {
                    "type": "number"
                  },
                  "max_age_s": {
                    "type": "number"
                  }
                },
                "required": [
                  "covered_components",
                  "signature_params",
                  "signature_b64",
                  "public_key_jwk",
                  "alg"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "signature_cryptographically_valid": {
                      "type": "boolean"
                    },
                    "alg_ok": {
                      "type": "boolean"
                    },
                    "tag_ok": {
                      "type": "boolean"
                    },
                    "fresh": {
                      "type": [
                        "boolean",
                        "null"
                      ]
                    },
                    "verdict": {
                      "type": "string",
                      "enum": [
                        "ACCEPT",
                        "REFUSE"
                      ]
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "verify_webbotauth_signature",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-129-webbotauth-signature-verifier.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/validate_royalty_split_config": {
      "post": {
        "operationId": "validate_royalty_split_config",
        "summary": "Royalty-Split Config Validator",
        "description": "Validates on-chain royalty split configurations for ERC-2981 (single-receiver) and 0xSplits-style (multi-recipient) protocols. Checks: sum equals 10000 basis points, no per-recipient cap breach, no duplicate or blank addresses, valid Ethereum address format, valid range per entry. Auto-detects bps vs percent mode. Exports an AINumbers Policy Mandate on valid configs.\n\n**Tool URL:** https://ainumbers.co/tools/527-royalty-split-validator.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "royalty",
          "erc-2981",
          "0xsplits",
          "basis points",
          "split",
          "nft",
          "tokenization",
          "ip licensing",
          "on-chain",
          "validation",
          "compliance"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "entries"
                ],
                "properties": {
                  "entries": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "address": {
                          "type": "string"
                        },
                        "basis_points": {
                          "type": "number"
                        },
                        "bps": {
                          "type": "number"
                        },
                        "shares": {
                          "type": "number"
                        },
                        "percent": {
                          "type": "number"
                        }
                      }
                    }
                  },
                  "cap_bps": {
                    "type": "number",
                    "default": 5000
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "valid": {
                      "type": "boolean"
                    },
                    "mode": {
                      "type": "string",
                      "enum": [
                        "bps",
                        "percent"
                      ]
                    },
                    "total_bps": {
                      "type": "number"
                    },
                    "recipient_count": {
                      "type": "integer"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "config_fingerprint": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "validate_royalty_split_config",
        "x-tool-url": "https://ainumbers.co/tools/527-royalty-split-validator.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/validate_signature_directory": {
      "post": {
        "operationId": "validate_signature_directory",
        "summary": "HTTP Signatures Directory Validator",
        "description": "Validate a /.well-known/http-message-signatures-directory JWKS: path correctness, all keys OKP+Ed25519, and keyid resolution. Emits VALID or INVALID.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-130-signature-directory-validator.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "rfc9421",
          "web-bot-auth",
          "jwks",
          "well-known",
          "http-message-signatures",
          "agent-identity",
          "wave24"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "well_known_path": {
                    "type": "string"
                  },
                  "keyid": {
                    "type": "string"
                  },
                  "directory_jwks": {
                    "type": "object"
                  }
                },
                "required": [
                  "well_known_path",
                  "keyid",
                  "directory_jwks"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "path_ok": {
                      "type": "boolean"
                    },
                    "all_keys_ok": {
                      "type": "boolean"
                    },
                    "keyid_resolved": {
                      "type": "boolean"
                    },
                    "verdict": {
                      "type": "string",
                      "enum": [
                        "VALID",
                        "INVALID"
                      ]
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "validate_signature_directory",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-130-signature-directory-validator.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/validate_nft_metadata": {
      "post": {
        "operationId": "validate_nft_metadata",
        "summary": "NFT Metadata Validator",
        "description": "Validates NFT metadata JSON against the ERC-721/ERC-1155 standard and the OpenSea metadata schema. Checks required fields (name, description, image), recommended fields (external_url, animation_url, attributes array structure), and optional license fields. Returns a pass/warn/fail verdict with per-field check results. Runs entirely client-side.\n\n**Tool URL:** https://ainumbers.co/tools/528-nft-metadata-validator.html",
        "tags": [
          "nft",
          "erc-721",
          "erc-1155",
          "opensea",
          "metadata",
          "validation",
          "tokenization",
          "ip licensing",
          "json schema",
          "on-chain"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "metadata"
                ],
                "properties": {
                  "metadata": {
                    "type": "object",
                    "description": "NFT metadata object (parsed from JSON)"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "valid": {
                      "type": "boolean"
                    },
                    "allPass": {
                      "type": "boolean"
                    },
                    "requiredPass": {
                      "type": "boolean"
                    },
                    "anyWarn": {
                      "type": "boolean"
                    },
                    "failCount": {
                      "type": "integer"
                    },
                    "warnCount": {
                      "type": "integer"
                    },
                    "fieldCount": {
                      "type": "integer"
                    },
                    "checks": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "field": {
                            "type": "string"
                          },
                          "status": {
                            "type": "string",
                            "enum": [
                              "pass",
                              "fail",
                              "warn"
                            ]
                          },
                          "message": {
                            "type": "string"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "validate_nft_metadata",
        "x-tool-url": "https://ainumbers.co/tools/528-nft-metadata-validator.html",
        "x-source": "manifest"
      }
    },
    "/v1/tools/validate_signature_agent_card": {
      "post": {
        "operationId": "validate_signature_agent_card",
        "summary": "Signature Agent Card Validator",
        "description": "Validate a Signature Agent Card (Cloudflare × Bedrock AgentCore registry format): required fields (name, operator, expected_request_rate, keys) present and all card key IDs resolve against a directory JWKS. Emits TRUSTED or UNTRUSTED.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-131-signature-agent-card-validator.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "web-bot-auth",
          "agent-card",
          "agent-identity",
          "cloudflare",
          "bedrock-agentcore",
          "wave24"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "card": {
                    "type": "object"
                  },
                  "directory_keyids": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  }
                },
                "required": [
                  "card",
                  "directory_keyids"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "fields_ok": {
                      "type": "boolean"
                    },
                    "keys_in_directory": {
                      "type": "boolean"
                    },
                    "verdict": {
                      "type": "string",
                      "enum": [
                        "TRUSTED",
                        "UNTRUSTED"
                      ]
                    },
                    "missing_fields": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "unresolved_key_ids": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "validate_signature_agent_card",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-131-signature-agent-card-validator.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/audit_agent_key_rotation": {
      "post": {
        "operationId": "audit_agent_key_rotation",
        "summary": "Agent Key Rotation Auditor",
        "description": "Audit Ed25519 key age and rotation posture for Web Bot Auth / Visa TAP / Mastercard Agent Pay. Computes key_age_s from key_created_unix and now_unix, checks next-key staging, emits HEALTHY / ROTATION_STAGED / ACTION_REQUIRED.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-132-agent-key-rotation-auditor.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "web-bot-auth",
          "key-rotation",
          "ed25519",
          "visa-tap",
          "mastercard-agent-pay",
          "agent-identity",
          "wave24"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "key_created_unix": {
                    "type": "number"
                  },
                  "now_unix": {
                    "type": "number"
                  },
                  "max_key_age_s": {
                    "type": "number"
                  },
                  "next_key_present": {
                    "type": "boolean"
                  },
                  "algorithm": {
                    "type": "string"
                  }
                },
                "required": [
                  "key_created_unix",
                  "now_unix"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "key_age_s": {
                      "type": "number"
                    },
                    "rotation_due": {
                      "type": "boolean"
                    },
                    "next_key_staged": {
                      "type": "boolean"
                    },
                    "alg_ok": {
                      "type": "boolean"
                    },
                    "verdict": {
                      "type": "string",
                      "enum": [
                        "HEALTHY",
                        "ROTATION_STAGED",
                        "ACTION_REQUIRED"
                      ]
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "audit_agent_key_rotation",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-132-agent-key-rotation-auditor.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/compute_ipfs_cidv1": {
      "post": {
        "operationId": "compute_ipfs_cidv1",
        "summary": "IPFS CIDv1 Computer",
        "description": "Computes a CIDv1 (Content Identifier version 1) for any file upload or text input in the browser using WebCrypto SHA-256. Outputs the CID string in base32 lowercase multibase encoding (RFC 4648, 'b' prefix) and displays the full multihash breakdown: function code (0x12), digest length (0x20), digest hex, CID bytes hex, and annotated byte-level breakdown. Supports raw (0x55) and dag-pb (0x70) codecs. No pinning, no upload, no network calls. Use to verify what tokenURI a file will resolve to on IPFS before minting.\n\n**Tool URL:** https://ainumbers.co/tools/529-ipfs-cidv1-computer.html",
        "tags": [
          "ipfs",
          "cidv1",
          "cid",
          "multihash",
          "sha-256",
          "base32",
          "multibase",
          "tokenuri",
          "nft",
          "tokenization",
          "pre-mint",
          "content addressing",
          "dag-pb",
          "raw codec"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "text": {
                    "type": "string",
                    "description": "Text content to hash (if no file provided)"
                  },
                  "codec": {
                    "type": "string",
                    "enum": [
                      "raw",
                      "dag-pb"
                    ],
                    "default": "raw",
                    "description": "Codec: raw (0x55) for unstructured bytes, dag-pb (0x70) for UnixFS"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "cid": {
                      "type": "string",
                      "description": "CIDv1 string in base32 lowercase multibase (starts with 'b')"
                    },
                    "codec": {
                      "type": "string"
                    },
                    "codecCode": {
                      "type": "string"
                    },
                    "multihashFn": {
                      "type": "string"
                    },
                    "multihashFnCode": {
                      "type": "string"
                    },
                    "digestLength": {
                      "type": "integer"
                    },
                    "digestHex": {
                      "type": "string"
                    },
                    "cidBytesHex": {
                      "type": "string"
                    },
                    "byteLength": {
                      "type": "integer"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "compute_ipfs_cidv1",
        "x-tool-url": "https://ainumbers.co/tools/529-ipfs-cidv1-computer.html",
        "x-source": "manifest"
      }
    },
    "/v1/tools/cbdc_architecture_comparator": {
      "post": {
        "operationId": "cbdc_architecture_comparator",
        "summary": "Tool 53 — CBDC Architecture Comparator",
        "description": "Compare CBDC architectural choices across three canonical design axes: distribution model, claim type, and access scope. Map to live jurisdictional implementations. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/53-cbdc-architecture-comparator.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "dist": {
                    "type": "string"
                  },
                  "claim": {
                    "type": "string"
                  },
                  "scope": {
                    "type": "string"
                  },
                  "juris": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "cbdc_architecture_comparator",
        "x-tool-url": "https://ainumbers.co/tools/53-cbdc-architecture-comparator.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/crosswalk_agent_payment_rail_trust": {
      "post": {
        "operationId": "crosswalk_agent_payment_rail_trust",
        "summary": "Agent Payment Rail Trust Crosswalk",
        "description": "Crosswalk agent identity posture to Visa TAP, Mastercard Agent Pay, and Web Bot Auth acceptance criteria. Per-rail verdict with gap list. Three rails checked: web_bot_auth, visa_tap, mastercard_agent_pay.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-133-agent-payment-rail-trust-crosswalk.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "visa-tap",
          "mastercard-agent-pay",
          "web-bot-auth",
          "agent-identity",
          "payment-rails",
          "wave24"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "alg": {
                    "type": "string"
                  },
                  "directory_published": {
                    "type": "boolean"
                  },
                  "card_present": {
                    "type": "boolean"
                  },
                  "signature_verified": {
                    "type": "boolean"
                  }
                },
                "required": [
                  "alg",
                  "directory_published",
                  "card_present",
                  "signature_verified"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "rails": {
                      "type": "object",
                      "properties": {
                        "web_bot_auth": {
                          "type": "object"
                        },
                        "visa_tap": {
                          "type": "object"
                        },
                        "mastercard_agent_pay": {
                          "type": "object"
                        }
                      }
                    },
                    "all_rails_accepted": {
                      "type": "boolean"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "crosswalk_agent_payment_rail_trust",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-133-agent-payment-rail-trust-crosswalk.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/lint_agreement_template": {
      "post": {
        "operationId": "lint_agreement_template",
        "summary": "Agreement Template Linter",
        "description": "Clause diff against a target open standard (Common Paper MNDA/CSA, oneSaaS 52, oneDPA, GDPR Art 28). Reports present, missing, and modified clauses. Selection and analysis only, not legal advice.\n\n**Tool URL:** https://ainumbers.co/tools/530-agreement-template-linter.html",
        "tags": [
          "agreement",
          "template",
          "linter",
          "clause",
          "diff",
          "common paper",
          "oneSaaS",
          "GDPR",
          "DPA",
          "legal",
          "contract"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "agreement_text",
                  "standard"
                ],
                "properties": {
                  "agreement_text": {
                    "type": "string",
                    "description": "Full text of the agreement to analyse"
                  },
                  "standard": {
                    "type": "string",
                    "enum": [
                      "common-paper-mnda",
                      "common-paper-csa",
                      "onesaas-52",
                      "onedpa",
                      "gdpr-art28"
                    ],
                    "description": "Target clause standard to diff against"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "present": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "missing": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "modified": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "coverage_pct": {
                      "type": "number",
                      "description": "Percentage of standard clauses detected as present"
                    },
                    "disclaimer": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "lint_agreement_template",
        "x-tool-url": "https://ainumbers.co/tools/530-agreement-template-linter.html",
        "x-source": "manifest"
      }
    },
    "/v1/tools/assess_agent_directory_publish_readiness": {
      "post": {
        "operationId": "assess_agent_directory_publish_readiness",
        "summary": "Agent Directory Publish Readiness Diagnostic",
        "description": "Emit a go/no-go directory publish-readiness verdict for Web Bot Auth / Visa TAP / Mastercard Agent Pay. Five boolean checks: well_known_path_ok, jwks_reachable, card_complete, rotation_posture_ok, alg_ed25519. ready = all true; gaps = failing checks.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-134-agent-directory-publish-readiness.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "web-bot-auth",
          "agent-identity",
          "publish-readiness",
          "visa-tap",
          "mastercard-agent-pay",
          "jwks",
          "wave24"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "well_known_path_ok": {
                    "type": "boolean"
                  },
                  "jwks_reachable": {
                    "type": "boolean"
                  },
                  "card_complete": {
                    "type": "boolean"
                  },
                  "rotation_posture_ok": {
                    "type": "boolean"
                  },
                  "alg_ed25519": {
                    "type": "boolean"
                  }
                },
                "required": [
                  "well_known_path_ok",
                  "jwks_reachable",
                  "card_complete",
                  "rotation_posture_ok",
                  "alg_ed25519"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ready": {
                      "type": "boolean"
                    },
                    "gaps": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "checks": {
                      "type": "object"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "assess_agent_directory_publish_readiness",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-134-agent-directory-publish-readiness.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/check_dpa_gdpr_art28": {
      "post": {
        "operationId": "check_dpa_gdpr_art28",
        "summary": "DPA GDPR Art 28(3) Checker",
        "description": "Checks a pasted DPA against GDPR Art 28(3) 12-point mandatory processor clause checklist. Returns present/missing/weak per clause and overall completeness score. Policy Mandate export. Selection and analysis only, not legal advice.\n\n**Tool URL:** https://ainumbers.co/tools/531-dpa-gdpr-art28-checker.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "DPA",
          "GDPR",
          "Art 28",
          "data processing",
          "processor",
          "controller",
          "compliance",
          "checklist",
          "privacy",
          "EU"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "dpa_text"
                ],
                "properties": {
                  "dpa_text": {
                    "type": "string",
                    "description": "Full text of the Data Processing Agreement to check"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "completeness_pct": {
                      "type": "number",
                      "description": "Overall completeness percentage (0-100)"
                    },
                    "verdict": {
                      "type": "string",
                      "enum": [
                        "Substantially Complete",
                        "Partially Complete",
                        "Materially Incomplete"
                      ]
                    },
                    "present_count": {
                      "type": "number"
                    },
                    "weak_count": {
                      "type": "number"
                    },
                    "missing_count": {
                      "type": "number"
                    },
                    "clauses": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "num": {
                            "type": "string"
                          },
                          "label": {
                            "type": "string"
                          },
                          "status": {
                            "type": "string",
                            "enum": [
                              "present",
                              "weak",
                              "missing"
                            ]
                          }
                        }
                      }
                    },
                    "disclaimer": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "check_dpa_gdpr_art28",
        "x-tool-url": "https://ainumbers.co/tools/531-dpa-gdpr-art28-checker.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/score_clause_coverage": {
      "post": {
        "operationId": "score_clause_coverage",
        "summary": "Clause Coverage Scorer",
        "description": "Scored clause coverage against a named taxonomy (oneSaaS 52, Common Paper Language Library, GDPR Art 28). Returns coverage %, missing/extra clause lists, and a maturity tier. Selection and analysis only, not legal advice.\n\n**Tool URL:** https://ainumbers.co/tools/532-clause-coverage-scorer.html",
        "tags": [
          "clause",
          "coverage",
          "taxonomy",
          "oneSaaS",
          "common paper",
          "GDPR",
          "agreement",
          "maturity",
          "scoring",
          "contract",
          "legal"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "agreement_text",
                  "taxonomy"
                ],
                "properties": {
                  "agreement_text": {
                    "type": "string",
                    "description": "Full text of the agreement to score"
                  },
                  "taxonomy": {
                    "type": "string",
                    "enum": [
                      "onesaas-52",
                      "common-paper-language-library",
                      "gdpr-art28"
                    ],
                    "description": "Named clause taxonomy to score against"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "coverage_pct": {
                      "type": "number",
                      "description": "Coverage percentage (0-100)"
                    },
                    "maturity_tier": {
                      "type": "string",
                      "enum": [
                        "Foundational",
                        "Developing",
                        "Proficient",
                        "Advanced"
                      ]
                    },
                    "present": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "partial": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "missing": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "disclaimer": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "score_clause_coverage",
        "x-tool-url": "https://ainumbers.co/tools/532-clause-coverage-scorer.html",
        "x-source": "manifest"
      }
    },
    "/v1/tools/validate_emir_trade_report": {
      "post": {
        "operationId": "validate_emir_trade_report",
        "summary": "EMIR Trade Report Field Validator",
        "description": "Validate the required-field subset of an EMIR Refit ISO 20022 auth.030 derivative trade report: action type, both counterparty LEIs (20-char ISO 17442), UTI, UPI, notional, currency, effective date, and asset class. Returns a list of missing or malformed fields. Zero network, zero PII.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-153-emir-trade-report-field-validator.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "emir",
          "emir-refit",
          "iso20022",
          "auth030",
          "trade-report",
          "lei",
          "uti",
          "upi",
          "derivatives",
          "wave28"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "report": {
                    "type": "object",
                    "description": "Decoded EMIR Refit auth.030 trade report fields",
                    "properties": {
                      "action_type": {
                        "type": "string"
                      },
                      "reporting_counterparty_lei": {
                        "type": "string"
                      },
                      "other_counterparty_lei": {
                        "type": "string"
                      },
                      "uti": {
                        "type": "string"
                      },
                      "upi": {
                        "type": "string"
                      },
                      "notional": {
                        "type": "number"
                      },
                      "notional_currency": {
                        "type": "string"
                      },
                      "effective_date": {
                        "type": "string"
                      },
                      "asset_class": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "action_type",
                      "reporting_counterparty_lei",
                      "other_counterparty_lei",
                      "uti",
                      "upi",
                      "notional",
                      "notional_currency",
                      "effective_date",
                      "asset_class"
                    ]
                  }
                },
                "required": [
                  "report"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "valid": {
                      "type": "boolean"
                    },
                    "missing_fields": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "malformed_fields": {
                      "type": "array",
                      "items": {
                        "type": "object"
                      }
                    },
                    "field_count": {
                      "type": "number"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "validate_emir_trade_report",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-153-emir-trade-report-field-validator.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/check_emir_uti_completeness": {
      "post": {
        "operationId": "check_emir_uti_completeness",
        "summary": "EMIR UTI Completeness Checker",
        "description": "Validate EMIR Refit UTI format (ISO 23897, 52 alphanumeric characters max), generating-party identity, and T+1 sharing timing: UTI must be shared with the other counterparty by 10:00 CET next business day (approximately 34-hour window). Caller supplies Unix timestamps. Returns format validity, sharing deadline, and whether the deadline was met. Zero network, zero PII.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-154-emir-uti-completeness-checker.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "emir",
          "emir-refit",
          "uti",
          "iso23897",
          "t+1",
          "sharing-deadline",
          "derivatives",
          "wave28"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "uti": {
                    "type": "string",
                    "description": "Unique Trade Identifier (ISO 23897, max 52 alphanumeric chars)"
                  },
                  "generating_party": {
                    "type": "string",
                    "description": "LEI of the party that generated the UTI"
                  },
                  "trade_unix": {
                    "type": "number",
                    "description": "Unix timestamp of trade execution"
                  },
                  "uti_shared_unix": {
                    "type": "number",
                    "description": "Unix timestamp when UTI was shared with the other counterparty"
                  }
                },
                "required": [
                  "uti",
                  "generating_party",
                  "trade_unix",
                  "uti_shared_unix"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "uti_format_valid": {
                      "type": "boolean"
                    },
                    "generating_party_valid": {
                      "type": "boolean"
                    },
                    "sharing_deadline_met": {
                      "type": "boolean"
                    },
                    "sharing_deadline_unix": {
                      "type": "number"
                    },
                    "hours_to_deadline": {
                      "type": "number"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "check_emir_uti_completeness",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-154-emir-uti-completeness-checker.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/validate_emir_upi": {
      "post": {
        "operationId": "validate_emir_upi",
        "summary": "EMIR UPI Validator",
        "description": "Validate EMIR Refit UPI format (ISO 4914, 12-character alphanumeric via ANNA Derivatives Service Bureau) and product classification consistency: asset class must be a supported EMIR class (IR/CR/EQ/CO/FX) and instrument type must be present. Returns format validity and classification verdict. Zero network, zero PII.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-155-emir-upi-validator.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "emir",
          "emir-refit",
          "upi",
          "iso4914",
          "anna-dsb",
          "product-classification",
          "derivatives",
          "wave28"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "upi": {
                    "type": "string",
                    "description": "Unique Product Identifier (ISO 4914, 12-char alphanumeric)"
                  },
                  "asset_class": {
                    "type": "string",
                    "description": "EMIR asset class: IR, CR, EQ, CO, FX"
                  },
                  "instrument_type": {
                    "type": "string",
                    "description": "Instrument type (e.g. IRS, CDS, OPT)"
                  }
                },
                "required": [
                  "upi",
                  "asset_class",
                  "instrument_type"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "upi_format_valid": {
                      "type": "boolean"
                    },
                    "asset_class_valid": {
                      "type": "boolean"
                    },
                    "instrument_type_present": {
                      "type": "boolean"
                    },
                    "classification_consistent": {
                      "type": "boolean"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "validate_emir_upi",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-155-emir-upi-validator.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/reconcile_emir_pairing": {
      "post": {
        "operationId": "reconcile_emir_pairing",
        "summary": "EMIR Counterparty Pairing Reconciler",
        "description": "Pair two counterparties' EMIR Refit reports by UTI and reconcile the caller-supplied matching-field set (up to 148 fields per the 2026 escalation) within a configurable per-field numeric tolerance. Identifies reconciliation breaks — value mismatches beyond tolerance — so a firm catches the pairing failure before the Trade Repository rejects it. Returns paired status, matched fields, and break list. Zero network, zero PII.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-156-emir-counterparty-pairing-reconciler.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "emir",
          "emir-refit",
          "reconciliation",
          "pairing",
          "uti",
          "148-fields",
          "trade-repository",
          "derivatives",
          "wave28"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "report_a": {
                    "type": "object",
                    "description": "Counterparty A trade report fields (must include uti)"
                  },
                  "report_b": {
                    "type": "object",
                    "description": "Counterparty B trade report fields (must include uti)"
                  },
                  "matching_fields": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "description": "Field names to reconcile (max 148)"
                  },
                  "numeric_tolerance_pct": {
                    "type": "number",
                    "description": "Percentage tolerance for numeric fields"
                  }
                },
                "required": [
                  "report_a",
                  "report_b",
                  "matching_fields"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "paired": {
                      "type": "boolean"
                    },
                    "uti_match": {
                      "type": "boolean"
                    },
                    "fields_checked": {
                      "type": "number"
                    },
                    "fields_matched": {
                      "type": "number"
                    },
                    "breaks": {
                      "type": "array",
                      "items": {
                        "type": "object"
                      }
                    },
                    "reconciled": {
                      "type": "boolean"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "reconcile_emir_pairing",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-156-emir-counterparty-pairing-reconciler.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/validate_emir_lifecycle_event": {
      "post": {
        "operationId": "validate_emir_lifecycle_event",
        "summary": "EMIR Lifecycle Event Validator",
        "description": "Validate an EMIR Refit action type against the prior reported state of the UTI: New/Position are legal on a previously unreported trade; Modify/Correct/Valuation/Terminate/Error require a prior open trade; Revive/Correct/Error apply to terminated trades. Catches the most common Refit rejection cause — illegal action-type sequences — before Trade Repository submission. Returns validity verdict and allowed action types for the current state. Zero network, zero PII.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-157-emir-lifecycle-event-validator.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "emir",
          "emir-refit",
          "lifecycle",
          "action-type",
          "trade-repository",
          "state-machine",
          "derivatives",
          "wave28"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "action_type": {
                    "type": "string",
                    "description": "Proposed EMIR action type: New, Modify, Correct, Terminate, Valuation, Error, Position, Revive"
                  },
                  "prior_state": {
                    "type": "string",
                    "description": "Prior reported state of the UTI: none, open, terminated"
                  }
                },
                "required": [
                  "action_type",
                  "prior_state"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "valid": {
                      "type": "boolean"
                    },
                    "action_type": {
                      "type": "string"
                    },
                    "prior_state": {
                      "type": "string"
                    },
                    "allowed_actions": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "rejection_reason": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "validate_emir_lifecycle_event",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-157-emir-lifecycle-event-validator.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/run_emir_reporting_fit": {
      "post": {
        "operationId": "run_emir_reporting_fit",
        "summary": "EMIR Reporting Readiness Diagnostic",
        "description": "Grade a firm's EMIR Refit reporting readiness across five dimensions: ISO 20022 format cutover, UPI sourcing via ANNA DSB, UTI sharing SLA (10:00 CET T+1), reconciliation tolerance configuration (148-field set, 2026 escalation), and lifecycle action-type controls. Returns an A–F grade and a gap list identifying failing dimensions. Zero network, zero PII.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-158-emir-reporting-readiness-diagnostic.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "emir",
          "emir-refit",
          "readiness",
          "diagnostic",
          "iso20022",
          "upi",
          "uti",
          "reconciliation",
          "lifecycle",
          "a-f-grade",
          "wave28"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "iso20022_cutover_done": {
                    "type": "boolean"
                  },
                  "upi_sourcing_configured": {
                    "type": "boolean"
                  },
                  "uti_sharing_sla_met": {
                    "type": "boolean"
                  },
                  "reconciliation_tolerance_set": {
                    "type": "boolean"
                  },
                  "lifecycle_action_controls": {
                    "type": "boolean"
                  }
                },
                "required": [
                  "iso20022_cutover_done",
                  "upi_sourcing_configured",
                  "uti_sharing_sla_met",
                  "reconciliation_tolerance_set",
                  "lifecycle_action_controls"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "grade": {
                      "type": "string",
                      "description": "A–F readiness grade"
                    },
                    "score": {
                      "type": "number",
                      "description": "Dimensions passed (0–5)"
                    },
                    "gaps": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      },
                      "description": "Failing dimension labels"
                    },
                    "dimensions": {
                      "type": "object",
                      "description": "Per-dimension pass/fail map"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "run_emir_reporting_fit",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-158-emir-reporting-readiness-diagnostic.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/validate_vida_einvoice_conformance": {
      "post": {
        "operationId": "validate_vida_einvoice_conformance",
        "summary": "ViDA EN 16931 E-Invoice Conformance Validator",
        "description": "Validate a structured e-invoice against EN 16931-1:2026 mandatory fields for ViDA (EU 2025/516) conformance: invoice number, date, ISO 4217 currency, seller name, buyer name, seller VAT ID, VAT breakdown with valid category code, and total with VAT. Returns conformant/vida_ready verdicts and list of missing fields. Root node of the vida-digital-reporting-requirements chain. Zero network, zero PII.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-159-vida-einvoice-en16931-conformance-validator.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "ViDA",
          "EN 16931",
          "e-invoice",
          "structured invoice",
          "EU 2025/516",
          "VAT",
          "chaingraph",
          "DRR",
          "compliance"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "invoice": {
                    "type": "object",
                    "properties": {
                      "invoice_number": {
                        "type": "string"
                      },
                      "invoice_date": {
                        "type": "string",
                        "description": "YYYY-MM-DD"
                      },
                      "currency_code": {
                        "type": "string",
                        "description": "ISO 4217 3-char"
                      },
                      "seller_name": {
                        "type": "string"
                      },
                      "buyer_name": {
                        "type": "string"
                      },
                      "seller_vat_id": {
                        "type": "string"
                      },
                      "syntax_id": {
                        "type": "string",
                        "description": "EN 16931 syntax identifier URI"
                      },
                      "vat_breakdown": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "category_code": {
                              "type": "string"
                            }
                          }
                        }
                      },
                      "total_with_vat": {
                        "type": "number"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "conformant": {
                      "type": "boolean"
                    },
                    "vida_ready": {
                      "type": "boolean"
                    },
                    "syntax_id_valid": {
                      "type": "boolean"
                    },
                    "mandatory_fields_checked": {
                      "type": "number"
                    },
                    "missing_fields": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "currency_code": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "total_with_vat": {
                      "type": "number"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "validate_vida_einvoice_conformance",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-159-vida-einvoice-en16931-conformance-validator.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/assess_vida_drr_reporting_obligation": {
      "post": {
        "operationId": "assess_vida_drr_reporting_obligation",
        "summary": "ViDA DRR Transaction Reporter",
        "description": "Assess whether a B2B transaction falls under ViDA Digital Reporting Requirements (DRR): check intra-EU cross-border B2B scope, calculate 10-day reporting deadline from invoice date, and verify data-element completeness (seller/buyer VAT IDs, transaction value). Returns drr_in_scope, reporting_deadline, and data_elements_ok. Middle node of the vida-digital-reporting-requirements chain. Zero network, zero PII.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-160-vida-drr-transaction-reporter.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "ViDA",
          "DRR",
          "digital reporting requirements",
          "intra-EU",
          "B2B",
          "VAT",
          "chaingraph",
          "reporting deadline",
          "compliance"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "transaction": {
                    "type": "object",
                    "properties": {
                      "supply_type": {
                        "type": "string"
                      },
                      "seller_member_state": {
                        "type": "string"
                      },
                      "buyer_member_state": {
                        "type": "string"
                      },
                      "seller_vat_id": {
                        "type": "string"
                      },
                      "buyer_vat_id": {
                        "type": "string"
                      },
                      "invoice_date": {
                        "type": "string"
                      },
                      "transaction_value": {
                        "type": "number"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "drr_in_scope": {
                      "type": "boolean"
                    },
                    "intra_eu": {
                      "type": "boolean"
                    },
                    "is_b2b": {
                      "type": "boolean"
                    },
                    "seller_member_state": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "buyer_member_state": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "reporting_deadline": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "mandatory_from": {
                      "type": "string"
                    },
                    "transaction_value": {
                      "type": "number"
                    },
                    "data_elements_ok": {
                      "type": "boolean"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "assess_vida_drr_reporting_obligation",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-160-vida-drr-transaction-reporter.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/smart_contract_validator": {
      "post": {
        "operationId": "smart_contract_validator",
        "summary": "Tool 54 — Smart Contract Parameter Validator",
        "description": "Client-side static analysis for Corda CorDapp and Hyperledger Fabric chaincode. Rule-based validation of settlement finality conditions, obligation logic, endorsement policies, and counterparty clauses. Air-gapped. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/54-smart-contract-validator.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "platform": {
                    "type": "string"
                  },
                  "codeInput": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "smart_contract_validator",
        "x-tool-url": "https://ainumbers.co/tools/54-smart-contract-validator.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/assess_vida_recapitulative_migration": {
      "post": {
        "operationId": "assess_vida_recapitulative_migration",
        "summary": "ViDA Recapitulative Statement Migration Assessor",
        "description": "Assess readiness to migrate from EC Sales Lists (recapitulative statements) to ViDA Digital Reporting Requirements: check mandatory ESL fields (seller_vat_id, buyer_vat_id, reporting_period, supply_type), identify data gaps, and surface the applicable harmonization deadline (2030-07-01 or 2035-01-01 for pre-2024 domestic regimes). Terminal node of the vida-digital-reporting-requirements chain. Zero network, zero PII.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-161-vida-recapitulative-statement-migration-assessor.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "ViDA",
          "EC Sales List",
          "ESL",
          "recapitulative statement",
          "DRR migration",
          "harmonization",
          "VAT",
          "chaingraph",
          "compliance"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "regime": {
                    "type": "object",
                    "properties": {
                      "pre2024_domestic": {
                        "type": "boolean"
                      },
                      "seller_vat_id": {
                        "type": "string"
                      },
                      "buyer_vat_id": {
                        "type": "string"
                      },
                      "reporting_period": {
                        "type": "string"
                      },
                      "supply_type": {
                        "type": "string"
                      },
                      "transaction_value": {
                        "type": "number"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "harmonize_deadline": {
                      "type": "string"
                    },
                    "pre2024_domestic": {
                      "type": "boolean"
                    },
                    "esl_fields_assessed": {
                      "type": "number"
                    },
                    "drr_gap_fields": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "gap_count": {
                      "type": "number"
                    },
                    "migration_ready": {
                      "type": "boolean"
                    },
                    "transaction_value": {
                      "type": "number"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "assess_vida_recapitulative_migration",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-161-vida-recapitulative-statement-migration-assessor.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/classify_vida_platform_deemed_supplier": {
      "post": {
        "operationId": "classify_vida_platform_deemed_supplier",
        "summary": "ViDA Platform Deemed Supplier Classifier",
        "description": "Classify a digital platform as a ViDA deemed supplier under Art. 46a (amended VAT Directive): short-term accommodation (≤30 consecutive nights) or intra-EU road passenger transport where the underlying supplier has no valid VAT ID causes VAT liability to transfer to the platform. Returns deemed_supplier verdict, sector_eligible, and applicable deadline (mandatory 2028-07-01, MS extension option 2030-01-01). Root node of the vida-platform-and-registration chain. Zero network, zero PII.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-162-vida-platform-deemed-supplier-classifier.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "ViDA",
          "deemed supplier",
          "platform economy",
          "Art. 46a",
          "short-term accommodation",
          "passenger transport",
          "VAT liability",
          "chaingraph",
          "EU 2025/516"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "platform": {
                    "type": "object",
                    "properties": {
                      "sector": {
                        "type": "string"
                      },
                      "duration_nights": {
                        "type": "number"
                      },
                      "supplier_has_valid_vat_id": {
                        "type": "boolean"
                      },
                      "intra_eu_supply": {
                        "type": "boolean"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "deemed_supplier": {
                      "type": "boolean"
                    },
                    "sector": {
                      "type": "string"
                    },
                    "sector_eligible": {
                      "type": "boolean"
                    },
                    "supplier_has_valid_vat_id": {
                      "type": [
                        "boolean",
                        "null"
                      ]
                    },
                    "intra_eu_supply": {
                      "type": "boolean"
                    },
                    "duration_nights": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "mandatory_from": {
                      "type": "string"
                    },
                    "ms_extension_option": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "classify_vida_platform_deemed_supplier",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-162-vida-platform-deemed-supplier-classifier.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/route_vida_oss_registration": {
      "post": {
        "operationId": "route_vida_oss_registration",
        "summary": "ViDA OSS Registration Router",
        "description": "Route a supply to the correct ViDA Single VAT Registration scheme: Union OSS (EU-established supplier, cross-border B2C or stock transfer within EU), Non-Union OSS (non-EU digital or deemed services to EU consumers), IOSS (non-EU goods ≤EUR 150 to EU consumers), or Domestic VAT (same-MS supply). ViDA extends Union OSS coverage from 2028-07-01. Returns recommended_scheme, scheme_rationale, and eligible_for_oss. Middle node of the vida-platform-and-registration chain. Zero network, zero PII.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-163-vida-oss-registration-router.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "ViDA",
          "OSS",
          "Union OSS",
          "Non-Union OSS",
          "IOSS",
          "Single VAT Registration",
          "SVR",
          "chaingraph",
          "VAT routing",
          "EU 2025/516"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "supply": {
                    "type": "object",
                    "properties": {
                      "supply_type": {
                        "type": "string"
                      },
                      "seller_establishment": {
                        "type": "string"
                      },
                      "destination_member_state": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "recommended_scheme": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "scheme_rationale": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "eligible_for_oss": {
                      "type": "boolean"
                    },
                    "supply_type": {
                      "type": "string"
                    },
                    "seller_establishment": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "destination_member_state": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "seller_in_eu": {
                      "type": "boolean"
                    },
                    "dest_in_eu": {
                      "type": "boolean"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "route_vida_oss_registration",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-163-vida-oss-registration-router.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/run_vida_readiness_diagnostic": {
      "post": {
        "operationId": "run_vida_readiness_diagnostic",
        "summary": "ViDA Compliance Readiness Diagnostic",
        "description": "Scored ViDA readiness diagnostic across four dimensions: einvoice (EN 16931-1:2026 ready), drr (DRR reporting pipeline ready), platform (deemed-supplier assessed or not applicable), and oss (OSS/SVR scheme configured or not applicable). Returns readiness_score (0–100), gaps list, fully_ready boolean, and phased obligation timeline (2028-07-01 platform+SVR, 2030-07-01 DRR+e-invoice mandatory, 2035-01-01 legacy regime harmonization). Terminal node of the vida-platform-and-registration chain. Zero network, zero PII.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-164-vida-compliance-readiness-diagnostic.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "ViDA",
          "readiness diagnostic",
          "compliance score",
          "DRR",
          "OSS",
          "EN 16931",
          "VAT",
          "chaingraph",
          "EU 2025/516",
          "timeline"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "entity": {
                    "type": "object",
                    "properties": {
                      "einvoice_ready": {
                        "type": "boolean"
                      },
                      "drr_ready": {
                        "type": "boolean"
                      },
                      "platform_assessed": {
                        "type": "boolean"
                      },
                      "platform_not_applicable": {
                        "type": "boolean"
                      },
                      "oss_scheme_configured": {
                        "type": "boolean"
                      },
                      "oss_not_applicable": {
                        "type": "boolean"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "readiness_score": {
                      "type": "number"
                    },
                    "fully_ready": {
                      "type": "boolean"
                    },
                    "dimensions_met": {
                      "type": "number"
                    },
                    "dimensions_total": {
                      "type": "number"
                    },
                    "gaps": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "timeline_obligations": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "date": {
                            "type": "string"
                          },
                          "scope": {
                            "type": "string"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "run_vida_readiness_diagnostic",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-164-vida-compliance-readiness-diagnostic.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/vc_issue": {
      "post": {
        "operationId": "vc_issue",
        "summary": "VC 2.0 Issuance Composer",
        "description": "Composes, signs (eddsa-jcs-2022, ephemeral did:key), and exports W3C Verifiable Credentials 2.0 client-side, with in-page verification and a ready-to-embed OCG Standard §23 vc-2.0 input-attestation block.\n\n**Tool URL:** https://ainumbers.co/tools/544-vc2-issuance-composer.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "verifiable credentials",
          "VC 2.0",
          "did:key",
          "eddsa-jcs-2022",
          "OCG section 23"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "claims"
                ],
                "properties": {
                  "subject_id": {
                    "type": "string"
                  },
                  "credential_type": {
                    "type": "string"
                  },
                  "claims": {
                    "type": "object"
                  },
                  "valid_from": {
                    "type": "string"
                  },
                  "valid_until": {
                    "type": "string"
                  },
                  "pointer": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "credential": {
                      "type": "object",
                      "description": "Signed W3C VC 2.0 with eddsa-jcs-2022 proof"
                    },
                    "input_attestation": {
                      "type": "object",
                      "description": "OCG Standard section 23 vc-2.0 input-attestation block"
                    },
                    "receipt": {
                      "type": "object",
                      "description": "OCG receipt of the issuance activity with execution_hash"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "vc_issue",
        "x-tool-url": "https://ainumbers.co/tools/544-vc2-issuance-composer.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/sdjwt_issue": {
      "post": {
        "operationId": "sdjwt_issue",
        "summary": "SD-JWT Disclosure Workbench",
        "description": "Issues and presents Selective Disclosure JWTs (RFC 9901) client-side: salted-hash per-claim disclosures, holder-binding KB-JWT, and a live what-the-verifier-sees panel showing exactly the disclosed subset.\n\n**Tool URL:** https://ainumbers.co/tools/545-sdjwt-disclosure-workbench.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "SD-JWT",
          "RFC 9901",
          "selective disclosure",
          "KB-JWT",
          "EUDI wallet"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "claims"
                ],
                "properties": {
                  "claims": {
                    "type": "object"
                  },
                  "selective_keys": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "sd_jwt": {
                      "type": "string",
                      "description": "Issued SD-JWT with all disclosures attached"
                    },
                    "presentation": {
                      "type": "string",
                      "description": "Redacted presentation with an optional KB-JWT"
                    },
                    "disclosed_claims": {
                      "type": "object",
                      "description": "Fully resolved claims a verifier would see"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "sdjwt_issue",
        "x-tool-url": "https://ainumbers.co/tools/545-sdjwt-disclosure-workbench.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/build_disclosure_manifest": {
      "post": {
        "operationId": "build_disclosure_manifest",
        "summary": "Disclosure Manifest Builder",
        "description": "Hashes a folder of data-room files client-side, builds a Merkle-rooted disclosure manifest with an eddsa-jcs-2022 signature, diffs it against a prior version, and links out to anchor.ainumbers.co to timestamp the Merkle root.\n\n**Tool URL:** https://ainumbers.co/tools/546-disclosure-manifest-builder.html",
        "tags": [
          "data room",
          "disclosure manifest",
          "merkle root",
          "due diligence",
          "M&A",
          "anchor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "entries"
                ],
                "properties": {
                  "room_label": {
                    "type": "string",
                    "description": "Label for the disclosure room"
                  },
                  "entries": {
                    "type": "array",
                    "description": "List of {path,size,digest,content_type}"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "manifest": {
                      "type": "object"
                    },
                    "merkle_root": {
                      "type": "string"
                    },
                    "diff": {
                      "type": "object"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "build_disclosure_manifest",
        "x-tool-url": "https://ainumbers.co/tools/546-disclosure-manifest-builder.html",
        "x-source": "manifest"
      }
    },
    "/v1/tools/verify_disclosure_inclusion": {
      "post": {
        "operationId": "verify_disclosure_inclusion",
        "summary": "Disclosure Manifest Verifier",
        "description": "Verifies a disclosure manifest's eddsa-jcs-2022 signature, proves a single file's Merkle inclusion against a manifest's root, and runs a full present/missing/mismatched coverage report of a folder against a manifest.\n\n**Tool URL:** https://ainumbers.co/tools/547-disclosure-manifest-verifier.html",
        "tags": [
          "data room",
          "disclosure manifest",
          "merkle proof",
          "inclusion proof",
          "due diligence",
          "M&A"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "manifest",
                  "path",
                  "digest"
                ],
                "properties": {
                  "manifest": {
                    "type": "object",
                    "description": "The disclosure manifest to check against"
                  },
                  "path": {
                    "type": "string",
                    "description": "Path of the entry to prove"
                  },
                  "digest": {
                    "type": "string",
                    "description": "sha256:-prefixed digest of the file to prove"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "inclusion_proof": {
                      "type": "object"
                    },
                    "coverage_report": {
                      "type": "object"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "verify_disclosure_inclusion",
        "x-tool-url": "https://ainumbers.co/tools/547-disclosure-manifest-verifier.html",
        "x-source": "manifest"
      }
    },
    "/v1/tools/fedwire_remediation_diff_receipt": {
      "post": {
        "operationId": "fedwire_remediation_diff_receipt",
        "summary": "Fedwire/CHIPS Remediation Diff Receipt",
        "description": "Diffs an original and a remediated Fedwire/CHIPS structured-address payment file (CSV) record-by-record against the November 2026 lint and produces a remediation-evidence receipt binding both file digests and the rule-clearance delta (non-compliant count before minus after).\n\n**Tool URL:** https://ainumbers.co/tools/548-fedwire-remediation-diff-receipt.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "fedwire",
          "chips",
          "remediation",
          "diff",
          "structured address",
          "iso 20022",
          "compliance",
          "evidence"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "originalCsv",
                  "remediatedCsv"
                ],
                "properties": {
                  "originalCsv": {
                    "type": "string",
                    "description": "Raw CSV content of the pre-remediation payment file. Header: network,street_name,building_number,post_code,town_name,country,country_subdivision,address_lines"
                  },
                  "remediatedCsv": {
                    "type": "string",
                    "description": "Raw CSV content of the post-remediation payment file, same row order as originalCsv"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "original_file_digest": {
                      "type": "string"
                    },
                    "remediated_file_digest": {
                      "type": "string"
                    },
                    "before_non_compliant_count": {
                      "type": "number"
                    },
                    "after_non_compliant_count": {
                      "type": "number"
                    },
                    "clearance_delta": {
                      "type": "number"
                    },
                    "fully_cleared": {
                      "type": "boolean"
                    },
                    "per_record_diff": {
                      "type": "array"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "fedwire_remediation_diff_receipt",
        "x-tool-url": "https://ainumbers.co/tools/548-fedwire-remediation-diff-receipt.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/compose_verification_failure_incident": {
      "post": {
        "operationId": "compose_verification_failure_incident",
        "summary": "Verification-Failure Incident Composer",
        "description": "Composes and signs (eddsa-jcs-2022, ephemeral did:key) a verification-failure incident record from session context, an OCG Standard section 22.9 AR4SI-tiered failure classification, and an escalation target, for fraud teams, regulators, or insurers. Attests the declared record only, never detection quality.\n\n**Tool URL:** https://ainumbers.co/tools/549-verification-failure-incident-composer.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "incident record",
          "IDV",
          "OCG section 22.9",
          "AR4SI",
          "failure receipt",
          "escalation"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "failing_rule_id",
                  "tier",
                  "description"
                ],
                "properties": {
                  "verifier_identity": {
                    "type": "string"
                  },
                  "session_id": {
                    "type": "string"
                  },
                  "session_timestamp": {
                    "type": "string"
                  },
                  "session_receipt_digest": {
                    "type": "string"
                  },
                  "failing_rule_id": {
                    "type": "string"
                  },
                  "tier": {
                    "type": "string"
                  },
                  "description": {
                    "type": "string"
                  },
                  "detection_source": {
                    "type": "string"
                  },
                  "escalation_target_type": {
                    "type": "string"
                  },
                  "escalation_reference": {
                    "type": "string"
                  },
                  "escalation_notes": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "incident": {
                      "type": "object",
                      "description": "Signed verification-failure incident record with eddsa-jcs-2022 proof"
                    },
                    "receipt": {
                      "type": "object",
                      "description": "OCG receipt of the composing activity with execution_hash"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "compose_verification_failure_incident",
        "x-tool-url": "https://ainumbers.co/tools/549-verification-failure-incident-composer.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/dvp_reconciliation": {
      "post": {
        "operationId": "dvp_reconciliation",
        "summary": "Tool 55 — DvP Reconciliation Engine",
        "description": "Three-pass delivery-versus-payment reconciliation for tokenized asset settlement. Match on-chain transfer events against off-chain cash ledger. Flags exceptions: delivered without payment, paid without delivery, timing mismatch, amount mismatch. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/55-dvp-reconciliation.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "timeTol": {
                    "type": "string"
                  },
                  "amtTol": {
                    "type": "string"
                  },
                  "onchainInput": {
                    "type": "string"
                  },
                  "offchainInput": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "dvp_reconciliation",
        "x-tool-url": "https://ainumbers.co/tools/55-dvp-reconciliation.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/compose_c2pa_manifest_definition": {
      "post": {
        "operationId": "compose_c2pa_manifest_definition",
        "summary": "C2PA Manifest Composer",
        "description": "Authors a C2PA manifest DEFINITION in-browser: c2pa.actions v2 assertions with a digitalSourceType picker (including trainedAlgorithmicMedia), ingredient declarations with client-side sha256 digests, a creative-work/EXIF-subset assertion, and a draft CAWG identity block. Composes and structurally validates only; never signs and makes no Trust List claims. Also exports a c2patool-compatible manifest-definition file so users can sign externally with their own certificate and tooling.\n\n**Tool URL:** https://ainumbers.co/tools/550-c2pa-manifest-composer.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "C2PA",
          "content credentials",
          "provenance",
          "manifest",
          "assertions",
          "CAWG",
          "digitalSourceType",
          "c2patool"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "claim_generator": {
                    "type": "string"
                  },
                  "actions": {
                    "type": "array"
                  },
                  "ingredients": {
                    "type": "array"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "manifest_definition": {
                      "type": "object",
                      "description": "Composed C2PA manifest DEFINITION JSON"
                    },
                    "definition_digest": {
                      "type": "string",
                      "description": "sha256 digest of the definition, computed client-side"
                    },
                    "structural_validation": {
                      "type": "object",
                      "description": "manifest_valid, has_hard_binding, has_actions, missing_elements — same checks as art-123-c2pa-manifest-validator"
                    },
                    "c2patool_definition": {
                      "type": "object",
                      "description": "Same definition remapped to c2patool's documented manifest JSON field names (claim_generator, title, format, instanceId, assertions) for external signing — never signed by this tool"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "compose_c2pa_manifest_definition",
        "x-tool-url": "https://ainumbers.co/tools/550-c2pa-manifest-composer.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/grade_lei_data_quality": {
      "post": {
        "operationId": "grade_lei_data_quality",
        "summary": "LEI Data-Quality Grading Worksheet",
        "description": "Grade the data quality of a pasted GLEIF LEI record across six dimensions (registration status, renewal timeliness, corroboration level, entity status, Level-2 parent disclosure, address completeness), then disposition each finding (accept/flag/escalate) into a tamper-evident KYB worksheet receipt. Paste-mode. Zero egress. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/551-lei-data-quality-grading-worksheet.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "LEI",
          "GLEIF",
          "data-quality",
          "KYB",
          "worksheet",
          "receipt",
          "disposition",
          "zero-PII"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "record"
                ],
                "properties": {
                  "record": {
                    "type": "object",
                    "description": "GLEIF JSON:API lei-records response body"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "http://json-schema.org/draft-07/schema#",
                  "type": "object",
                  "required": [
                    "lei",
                    "findings",
                    "composite"
                  ],
                  "properties": {
                    "lei": {
                      "type": "string"
                    },
                    "findings": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "dimension": {
                            "type": "string"
                          },
                          "grade": {
                            "type": "string",
                            "enum": [
                              "A",
                              "B",
                              "C",
                              "D",
                              "F"
                            ]
                          },
                          "detail": {
                            "type": "string"
                          },
                          "citation": {
                            "type": "string"
                          }
                        }
                      }
                    },
                    "composite": {
                      "type": "string",
                      "enum": [
                        "A",
                        "B",
                        "C",
                        "D",
                        "F"
                      ]
                    },
                    "worksheet_receipt": {
                      "type": "object",
                      "description": "Hash-chained disposition receipt (record digest, grader version, grades, disposition chain, timestamp)"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "grade_lei_data_quality",
        "x-tool-url": "https://ainumbers.co/tools/551-lei-data-quality-grading-worksheet.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/build_redline_diff_receipt": {
      "post": {
        "operationId": "build_redline_diff_receipt",
        "summary": "Text Redline Workbench & Diff Receipt",
        "description": "Deterministic line-level redline between an original and revised text or markdown document, with a cryptographic diff receipt (original/revised digests, diff-algorithm identifier, per-hunk digests, reviewer key, eddsa signature) and a hash-chained per-hunk accept/reject/comment disposition chain binding a replayable accepted-text digest. Built-in verifier recomputes the redline from a pasted receipt bundle and flags the exact hunk on any divergence. Paste-mode. Zero egress. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/552-text-redline-workbench.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "redline",
          "diff",
          "text",
          "markdown",
          "receipt",
          "disposition",
          "tamper-evident",
          "eddsa",
          "zero-PII"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "original",
                  "revised"
                ],
                "properties": {
                  "original": {
                    "type": "string",
                    "description": "Original text or markdown document"
                  },
                  "revised": {
                    "type": "string",
                    "description": "Revised text or markdown document"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "http://json-schema.org/draft-07/schema#",
                  "type": "object",
                  "required": [
                    "diff_receipt",
                    "hunk_receipts",
                    "disposition_receipt"
                  ],
                  "properties": {
                    "diff_receipt": {
                      "type": "object",
                      "description": "original_digest, revised_digest, diff_algorithm, hunk_digests, execution_hash, audit_signature (eddsa)"
                    },
                    "hunk_receipts": {
                      "type": "array",
                      "description": "One hash-chained receipt per hunk: hunk_digest, disposition, prev_hunk_receipt_digest, execution_hash"
                    },
                    "disposition_receipt": {
                      "type": "object",
                      "description": "Closing receipt binding the accepted_text_digest, replayable from original + accepted hunks"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "build_redline_diff_receipt",
        "x-tool-url": "https://ainumbers.co/tools/552-text-redline-workbench.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/check_acdc_said_structure": {
      "post": {
        "operationId": "check_acdc_said_structure",
        "summary": "vLEI / ACDC SAID Structural Checker",
        "description": "Recompute the self-addressing identifiers (SAIDs) of a pasted ACDC / vLEI credential (Blake3-256 or SHA2-256 CESR derivation codes) across the top-level and nested a/e/r blocks, and cross-check the schema SAID against a pinned table of official GLEIF vLEI schema SAIDs. Structural check only — not a KERI chain-of-trust verifier, not issuer authority, not revocation state. Paste-mode. Zero egress. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/553-vlei-acdc-said-structural-checker.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "vLEI",
          "ACDC",
          "KERI",
          "SAID",
          "GLEIF",
          "self-addressing",
          "credential",
          "structural-check",
          "zero-PII"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "credential"
                ],
                "properties": {
                  "credential": {
                    "type": "object",
                    "description": "ACDC / vLEI credential JSON object"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "http://json-schema.org/draft-07/schema#",
                  "type": "object",
                  "required": [
                    "overall_valid",
                    "findings"
                  ],
                  "properties": {
                    "overall_valid": {
                      "type": "boolean"
                    },
                    "findings": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "title": {
                            "type": "string"
                          },
                          "status": {
                            "type": "string",
                            "enum": [
                              "match",
                              "mismatch",
                              "missing",
                              "unsupported",
                              "known",
                              "unknown"
                            ]
                          },
                          "ok": {
                            "type": [
                              "boolean",
                              "null"
                            ]
                          }
                        }
                      }
                    },
                    "receipt": {
                      "type": "object",
                      "description": "OCG check receipt (policy_parameters, output_payload, execution_hash)"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "check_acdc_said_structure",
        "x-tool-url": "https://ainumbers.co/tools/553-vlei-acdc-said-structural-checker.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/edit_workbook_table": {
      "post": {
        "operationId": "edit_workbook_table",
        "summary": "Workbook Table Editor",
        "description": "A plain-table spreadsheet grid over the hand-rolled headless workbook core (WORKBOOK-1-BUILD-SPEC.md WB-1): CSV import/export, formula bar, keyboard navigation, range selection, and a digest-selected-range-to-manifest action for verifiable-compute pipelines. Not an Excel replacement, CSV only.\n\n**Tool URL:** https://ainumbers.co/tools/554-workbook-table-editor.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "workbook",
          "spreadsheet",
          "csv",
          "formula",
          "range digest",
          "zero-PII"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "csv": {
                    "type": "string",
                    "description": "RFC 4180 CSV text"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "http://json-schema.org/draft-07/schema#",
                  "type": "object",
                  "properties": {
                    "manifest": {
                      "type": "object",
                      "description": "range, values_digest (sha256 via the shared _hash.mjs canonicalizer), produced_at"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "edit_workbook_table",
        "x-tool-url": "https://ainumbers.co/tools/554-workbook-table-editor.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/iso20022_schema_subset_validate": {
      "post": {
        "operationId": "iso20022_schema_subset_validate",
        "summary": "ISO 20022 Schema-Subset Tables & Validators",
        "description": "Hand-derived schema-subset field tables for pain.001.001.09 (plus the .12 delta) and camt.053.001, with zero-dependency structural and facet validators: IBAN mod-97, BIC format, ISO 4217/3166 code lists, decimal/date facets, and batch-total cross-checks (control sum, transaction count, opening/closing balance). Subset validation, not full XSD conformance.\n\n**Tool URL:** https://ainumbers.co/tools/555-iso20022-schema-subset-validator.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "ISO 20022",
          "pain.001",
          "camt.053",
          "schema subset",
          "IBAN",
          "BIC",
          "control sum",
          "batch validation"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "message_type",
                  "xml"
                ],
                "properties": {
                  "message_type": {
                    "type": "string",
                    "enum": [
                      "pain.001.001.09",
                      "camt.053.001.09"
                    ]
                  },
                  "xml": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "valid": {
                      "type": "boolean"
                    },
                    "errors": {
                      "type": "array"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "iso20022_schema_subset_validate",
        "x-tool-url": "https://ainumbers.co/tools/555-iso20022-schema-subset-validator.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/lint_otlp_genai_trace": {
      "post": {
        "operationId": "lint_otlp_genai_trace",
        "summary": "OTLP GenAI Span Composer & Semconv Linter",
        "description": "Compose hand-rolled OTLP/JSON traces (resourceSpans/scopeSpans/spans) with gen_ai presets for invoke_agent, chat, and execute_tool spans, and lint any OTLP/JSON trace for structural validity and gen_ai attribute conformance against a pinned attribute snapshot — the gen_ai semantic-convention namespace has zero tagged upstream releases, so semconv_snapshot is stamped into every artifact. File export only, zero network egress. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/556-otlp-genai-span-composer-linter.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "OTLP",
          "OpenTelemetry",
          "gen_ai",
          "semconv",
          "tracing",
          "agent-observability",
          "span",
          "linter",
          "composer",
          "zero-PII"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "trace"
                ],
                "properties": {
                  "trace": {
                    "type": "object",
                    "description": "OTLP/JSON trace document (resourceSpans root)"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "http://json-schema.org/draft-07/schema#",
                  "type": "object",
                  "required": [
                    "overall_valid",
                    "findings"
                  ],
                  "properties": {
                    "overall_valid": {
                      "type": "boolean"
                    },
                    "violations": {
                      "type": "integer"
                    },
                    "checks_passed": {
                      "type": "integer"
                    },
                    "findings": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "title": {
                            "type": "string"
                          },
                          "status": {
                            "type": "string",
                            "enum": [
                              "ok",
                              "bad",
                              "warn",
                              "info"
                            ]
                          },
                          "ok": {
                            "type": [
                              "boolean",
                              "null"
                            ]
                          }
                        }
                      }
                    },
                    "receipt": {
                      "type": "object",
                      "description": "OCG check receipt (policy_parameters, output_payload, execution_hash, semconv_snapshot)"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "lint_otlp_genai_trace",
        "x-tool-url": "https://ainumbers.co/tools/556-otlp-genai-span-composer-linter.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/check_fips140_exposure": {
      "post": {
        "operationId": "check_fips140_exposure",
        "summary": "FIPS 140-2 Exposure Checker",
        "description": "Flag FIPS 140-2/140-1 validated modules in a pasted certificate inventory against the pinned NIST CMVP Historical-list transition date (2026-09-21) and summarize resulting procurement exposure. Structural check over user-declared data only — not a live CMVP scan or cryptographic audit. Paste-mode. Zero egress. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/557-fips-140-2-exposure-checker.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "FIPS 140-2",
          "FIPS 140-3",
          "CMVP",
          "NIST",
          "historical",
          "procurement",
          "exposure",
          "post-quantum",
          "crypto-agility",
          "zero-PII"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "inventory"
                ],
                "properties": {
                  "inventory": {
                    "type": "array",
                    "description": "Array of {module_name, cert_number, standard} rows"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "http://json-schema.org/draft-07/schema#",
                  "type": "object",
                  "required": [
                    "exposed_count",
                    "current_count",
                    "findings"
                  ],
                  "properties": {
                    "exposed_count": {
                      "type": "integer"
                    },
                    "current_count": {
                      "type": "integer"
                    },
                    "unrecognized_count": {
                      "type": "integer"
                    },
                    "findings": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "module_name": {
                            "type": "string"
                          },
                          "cert_number": {
                            "type": "string"
                          },
                          "declared_standard": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "status": {
                            "type": "string",
                            "enum": [
                              "exposed",
                              "current",
                              "unrecognized"
                            ]
                          }
                        }
                      }
                    },
                    "receipt": {
                      "type": "object",
                      "description": "OCG check receipt (policy_parameters, output_payload, execution_hash)"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "check_fips140_exposure",
        "x-tool-url": "https://ainumbers.co/tools/557-fips-140-2-exposure-checker.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/compose_app_reimbursement_claim_evidence": {
      "post": {
        "operationId": "compose_app_reimbursement_claim_evidence",
        "summary": "APP-Reimbursement Claim-Evidence Composer",
        "description": "Composes a hash-chained, Merkle-rooted APP-fraud reimbursement claim-evidence pack: VoP/CoP session receipts, customer-comms attestations, and a gross-negligence / standard-of-caution assessment, run through two built-in checklist definitions (UK PSR SD20; EU IPR VoP-failure liability with the PSD3/PSR-EU track flagged as forthcoming). Reuses the CHECKRUN-1 checklist/SOP runner pattern. Evidence composer, not an adjudicator: does not determine liability or negligence, not legal advice.\n\n**Tool URL:** https://ainumbers.co/tools/558-app-reimbursement-claim-evidence-composer.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "APP fraud",
          "reimbursement",
          "VoP",
          "CoP",
          "UK PSR",
          "SD20",
          "EU IPR",
          "PSD3",
          "claim evidence",
          "checklist",
          "Merkle receipt"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "jurisdiction": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "outcome": {
                      "type": "string",
                      "enum": [
                        "complete",
                        "aborted",
                        "escalated"
                      ]
                    },
                    "merkle_root": {
                      "type": "string"
                    },
                    "step_count": {
                      "type": "number"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "compose_app_reimbursement_claim_evidence",
        "x-tool-url": "https://ainumbers.co/tools/558-app-reimbursement-claim-evidence-composer.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/assess_cop_vop_scheme_readiness": {
      "post": {
        "operationId": "assess_cop_vop_scheme_readiness",
        "summary": "CoP & VoP Scheme Readiness Self-Assessment",
        "description": "Self-assessment diagnostic scoring a PSP's own declared answers against the EPC Verification of Payee Scheme Rulebook (EPC218-23 v1.1, published 2026-03-16) and Pay.UK Confirmation of Payee obligations, plus a separately-scored, clearly-flagged track for CoP-enhancement capabilities (multi-name matching, richer mismatch metadata) reported in industry PSP pilots ahead of a formal Pay.UK v2.0 publication. Produces a gap report and Policy Mandate.\n\n**Tool URL:** https://ainumbers.co/tools/559-cop-vop-scheme-readiness-diagnostic.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "confirmation of payee",
          "CoP",
          "CoP 2.0",
          "verification of payee",
          "VoP",
          "EPC",
          "Pay.UK",
          "scheme readiness",
          "self-assessment",
          "gap analysis"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "psp_role": {
                    "type": "string"
                  },
                  "scheme_scope": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "combined_readiness_pct": {
                      "type": "number"
                    },
                    "combined_rag": {
                      "type": "string",
                      "enum": [
                        "GREEN",
                        "AMBER",
                        "RED"
                      ]
                    },
                    "epc_readiness_pct": {
                      "type": "number"
                    },
                    "ukcop_readiness_pct": {
                      "type": "number"
                    },
                    "pilot_track_pct": {
                      "type": "number"
                    },
                    "gaps": {
                      "type": "array"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "assess_cop_vop_scheme_readiness",
        "x-tool-url": "https://ainumbers.co/tools/559-cop-vop-scheme-readiness-diagnostic.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/chain_config_auditor": {
      "post": {
        "operationId": "chain_config_auditor",
        "summary": "Tool 56 — Permissioned Chain Config Auditor",
        "description": "Client-side audit of Hyperledger Fabric configtx.yaml and Besu genesis.json. Checks endorsement policy completeness, MSP cert windows, Raft/QBFT quorum, PDC scoping, and Tessera deprecation status. Air-gapped. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/56-chain-config-auditor.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "platform": {
                    "type": "string"
                  },
                  "configInput": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "chain_config_auditor",
        "x-tool-url": "https://ainumbers.co/tools/56-chain-config-auditor.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/run_aiuc1_readiness_checkrun": {
      "post": {
        "operationId": "run_aiuc1_readiness_checkrun",
        "summary": "AIUC-1 Readiness Checkrun",
        "description": "CHECKRUN definition covering the 23 automatable AIUC-1 controls (pillars A-F, 2026-Q1 taxonomy). Each control is one step; attach an attestation note or a sha256 evidence digest, then produce a hash-chained, Merkle-rooted readiness bundle prepared for AIUC-1 review. Not an AIUC-1 certification.\n\n**Tool URL:** https://ainumbers.co/tools/560-aiuc1-readiness-checkrun.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "aiuc-1",
          "ai-underwriting",
          "checkrun",
          "readiness",
          "evidence-bundle",
          "zero-PII"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "control_evidence": {
                    "type": "array",
                    "description": "Per-control attestation notes or sha256 evidence digests"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "http://json-schema.org/draft-07/schema#",
                  "type": "object",
                  "properties": {
                    "readiness_bundle": {
                      "type": "object",
                      "description": "definition, definition_digest, run_receipt (Merkle root over 23 step receipts), step_receipts, coverage_summary"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "run_aiuc1_readiness_checkrun",
        "x-tool-url": "https://ainumbers.co/tools/560-aiuc1-readiness-checkrun.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/compose_technology_assisted_analysis_record": {
      "post": {
        "operationId": "compose_technology_assisted_analysis_record",
        "summary": "Technology-Assisted-Analysis Record Composer",
        "description": "Compose a signed, structured record of a technology-assisted analysis performed with an AI/ATT tool, per PCAOB AS 1105 / AS 2301 as amended (SEC Release No. 34-100774). Internal-tool analyses reference a deterministic OCG receipt (observed); external-tool analyses are asserted with digests. Labeling differs visibly.\n\n**Tool URL:** https://ainumbers.co/tools/561-technology-assisted-analysis-record-composer.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "pcaob",
          "as-1105",
          "as-2301",
          "audit-evidence",
          "technology-assisted-analysis",
          "workpaper",
          "auditor",
          "asserted",
          "observed",
          "digest"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "tool_provenance": {
                    "type": "string"
                  },
                  "analysis_description": {
                    "type": "string"
                  }
                },
                "required": [
                  "tool_provenance",
                  "analysis_description"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "Tool execution result payload"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "compose_technology_assisted_analysis_record",
        "x-tool-url": "https://ainumbers.co/tools/561-technology-assisted-analysis-record-composer.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/check_engagement_documentation_gap": {
      "post": {
        "operationId": "check_engagement_documentation_gap",
        "summary": "QC 1000 / AS 1215 Engagement-Documentation Gap Checker",
        "description": "Check an engagement-file inventory (presence flags only, never file content) against a cited PCAOB AS 1215 / QC 1000 documentation-element checklist and return a gap report. Not a compliance determination.\n\n**Tool URL:** https://ainumbers.co/tools/562-qc1000-as1215-engagement-doc-checker.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "audit",
          "pcaob",
          "as-1215",
          "qc-1000",
          "documentation",
          "gap-analysis",
          "engagement-file"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "elements": {
                    "type": "array"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "elements_checked": {
                      "type": "number"
                    },
                    "elements_present": {
                      "type": "number"
                    },
                    "gaps": {
                      "type": "array"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "check_engagement_documentation_gap",
        "x-tool-url": "https://ainumbers.co/tools/562-qc1000-as1215-engagement-doc-checker.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/compose_iso20022_onchain_correspondence_receipt": {
      "post": {
        "operationId": "compose_iso20022_onchain_correspondence_receipt",
        "summary": "ISO 20022 On-Chain Correspondence Receipt",
        "description": "Compose a receipt that records the asserted correspondence between an ISO 20022 payment message (pacs.008 / pain.001 / camt.053 / camt.054) and its on-chain settlement leg, with an optional external-rail reference attachment (SWIFT gpi UETR, Fedwire IMAD/OMAD, CHIPS UID). Asserted by mapping, not proven.\n\n**Tool URL:** https://ainumbers.co/tools/563-iso20022-onchain-correspondence-receipt.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "iso20022",
          "on-chain settlement",
          "correspondence receipt",
          "asserted mapping",
          "swift gpi",
          "uetr",
          "fedwire",
          "chips",
          "cross-border",
          "reconciliation"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "message_type": {
                    "type": "string"
                  },
                  "tx_hash": {
                    "type": "string"
                  },
                  "mapping_method": {
                    "type": "string"
                  }
                },
                "required": [
                  "message_type",
                  "tx_hash",
                  "mapping_method"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "Tool execution result payload"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "compose_iso20022_onchain_correspondence_receipt",
        "x-tool-url": "https://ainumbers.co/tools/563-iso20022-onchain-correspondence-receipt.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/pain001_compose": {
      "post": {
        "operationId": "pain001_compose",
        "summary": "pain.001.001.09 Payment Composer & Preparation Receipt",
        "description": "Author a multi-payment pain.001.001.09 credit-transfer initiation message with a debtor header form and payment-row grid, live per-field schema-subset validation (IBAN mod-97, BIC format, ISO 4217/3166, decimal/date facets), canonical byte-stable XML serialization, and a preparation receipt (message digest, validation report digest, control totals, prepared-not-transmitted flag). Subset validation, not full XSD conformance. Does not transmit live payments.\n\n**Tool URL:** https://ainumbers.co/tools/564-pain001-payment-composer.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "ISO 20022",
          "pain.001",
          "payment composer",
          "credit transfer initiation",
          "IBAN",
          "BIC",
          "control sum",
          "preparation receipt"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "header",
                  "rows"
                ],
                "properties": {
                  "header": {
                    "type": "object"
                  },
                  "rows": {
                    "type": "array"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "xml": {
                      "type": "string"
                    },
                    "message_digest": {
                      "type": "string"
                    },
                    "control_sum": {
                      "type": "string"
                    },
                    "nb_of_txs": {
                      "type": "integer"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "pain001_compose",
        "x-tool-url": "https://ainumbers.co/tools/564-pain001-payment-composer.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/camt053_reconcile": {
      "post": {
        "operationId": "camt053_reconcile",
        "summary": "camt.053 Reconciliation Workbench",
        "description": "Imports a camt.053 statement (strict schema-subset parse) plus a counterpart expectation set (CSV via the hand-rolled workbook core), runs a deterministic EndToEndId-then-tolerance match engine, and produces a hash-chained reconciliation receipt with per-disposition exception receipts.\n\n**Tool URL:** https://ainumbers.co/tools/565-camt053-reconciliation-workbench.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "camt.053",
          "reconciliation",
          "ISO 20022",
          "EndToEndId matching",
          "exception disposition",
          "receipt chain"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "statement_xml",
                  "expectations_csv"
                ],
                "properties": {
                  "statement_xml": {
                    "type": "string"
                  },
                  "expectations_csv": {
                    "type": "string"
                  },
                  "date_tolerance_days": {
                    "type": "number"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "reconciliation_receipt": {
                      "type": "object",
                      "description": "statement_digest, expectation_set_digest, match_rule_declaration, matched/unmatched counts, exception_digests, execution_hash"
                    },
                    "disposition_receipts": {
                      "type": "array",
                      "description": "Hash-chained per-exception disposition receipts"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "camt053_reconcile",
        "x-tool-url": "https://ainumbers.co/tools/565-camt053-reconciliation-workbench.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/verify_otel_span_receipt": {
      "post": {
        "operationId": "verify_otel_span_receipt",
        "summary": "OTel Span Receipt Verifier",
        "description": "Generates a per-span receipt chain over an OTLP/JSON trace (span digest, parent-span receipt digest, semconv_snapshot, eddsa-jcs-2022 signature over an ephemeral did:key) plus a Merkle-rooted (RFC 6962) trace receipt, then verifies any trace + receipt bundle: recomputes digests, walks the parent-receipt chain, rebuilds the Merkle root, and reports which spans are attested, unattested, or tampered. File export only, zero network egress. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/566-otel-span-receipt-verifier.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "OTLP",
          "OpenTelemetry",
          "gen_ai",
          "span receipt",
          "Merkle tree",
          "RFC 6962",
          "eddsa-jcs-2022",
          "did:key",
          "trace verification",
          "zero-PII"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "trace",
                  "bundle"
                ],
                "properties": {
                  "trace": {
                    "type": "object",
                    "description": "OTLP/JSON trace document (resourceSpans root)"
                  },
                  "bundle": {
                    "type": "object",
                    "description": "Span-receipt bundle (span_receipts[] + trace_receipt) to verify against the trace"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "http://json-schema.org/draft-07/schema#",
                  "type": "object",
                  "required": [
                    "span_receipts",
                    "trace_receipt"
                  ],
                  "properties": {
                    "span_receipts": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "span_id": {
                            "type": "string"
                          },
                          "parent_span_id": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "span_digest": {
                            "type": "string"
                          },
                          "parent_receipt_digest": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "semconv_snapshot": {
                            "type": "string"
                          },
                          "proof": {
                            "type": "object"
                          }
                        }
                      }
                    },
                    "trace_receipt": {
                      "type": "object",
                      "description": "RFC 6962 Merkle root over span_receipts, plus OCG execution_hash and eddsa-jcs-2022 proof"
                    },
                    "verification_report": {
                      "type": "object",
                      "description": "attested/unattested/tampered counts and per-span findings from a verify run"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "verify_otel_span_receipt",
        "x-tool-url": "https://ainumbers.co/tools/566-otel-span-receipt-verifier.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/compose_chargeback_evidence_bundle": {
      "post": {
        "operationId": "compose_chargeback_evidence_bundle",
        "summary": "Chargeback Evidence Bundle Composer",
        "description": "CHECKRUN definition assembling an agent-transaction dispute pack: mandate/receipt evidence (AP2 mandate chain, AP2 receipt), payment-protocol evidence (x402 payload, A2A x402 extension, batch settlement reconciliation), and session + delivery evidence (trace spans, delivery attestation). Produces a hash-chained, Merkle-rooted adjudication bundle prepared for a payment-network dispute/adjudication review. Verify-only.\n\n**Tool URL:** https://ainumbers.co/tools/567-chargeback-evidence-bundle-composer.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "chargeback",
          "dispute",
          "agent-payment",
          "evidence-bundle",
          "checkrun",
          "ap2",
          "x402",
          "adjudication",
          "zero-PII"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "evidence": {
                    "type": "array",
                    "description": "Per-step attestation notes or sha256 evidence digests"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "http://json-schema.org/draft-07/schema#",
                  "type": "object",
                  "properties": {
                    "adjudication_bundle": {
                      "type": "object",
                      "description": "definition, definition_digest, run_receipt (Merkle root over 8 step receipts), step_receipts, coverage_summary"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "compose_chargeback_evidence_bundle",
        "x-tool-url": "https://ainumbers.co/tools/567-chargeback-evidence-bundle-composer.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/verify_ocg_receipt": {
      "post": {
        "operationId": "verify_ocg_receipt",
        "summary": "OCG Receipt Verifier",
        "description": "Fully offline, upload-driven verifier for OCG receipts: recomputes the execution_hash, verifies any eddsa-jcs-2022 Ed25519 audit_signature.proof, and checks RFC 6962 Merkle inclusion against an anchor_bindings entry. Snapshot-batch mode verifies many receipts against one uploaded checkpoint note. Zero network calls anywhere in the tool.\n\n**Tool URL:** https://ainumbers.co/tools/568-ocg-receipt-verifier.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "OCG receipt",
          "offline verifier",
          "airgapped",
          "eddsa-jcs-2022",
          "Ed25519",
          "Merkle inclusion",
          "RFC 6962",
          "execution_hash",
          "checkpoint",
          "zero network",
          "zero-PII"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "receipt": {
                    "type": "object"
                  },
                  "checkpoint_note": {
                    "type": "string"
                  },
                  "receipts": {
                    "type": "array"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "http://json-schema.org/draft-07/schema#",
                  "type": "object",
                  "properties": {
                    "verification_report": {
                      "type": "object",
                      "description": "verdict, per-check pass/fail rows, recomputed_hash, signature verification, and anchor/merkle-inclusion results"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "verify_ocg_receipt",
        "x-tool-url": "https://ainumbers.co/tools/568-ocg-receipt-verifier.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/calculate_regcc_availability": {
      "post": {
        "operationId": "calculate_regcc_availability",
        "summary": "Reg CC Funds-Availability Calculator",
        "description": "Reference table of the Regulation CC (12 CFR 229) dollar thresholds frozen to their 2030 inflation-adjusted values, plus hold-schedule date math: given a deposit date and deposit type, computes the funds-availability date using configurable business-day counts. Reference figures and day-counts must be re-verified against the current Federal Register notice and 12 CFR 229 Subpart B before compliance use.\n\n**Tool URL:** https://ainumbers.co/tools/569-regcc-availability-calculator.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "regulation cc",
          "12 cfr 229",
          "funds availability",
          "check hold",
          "large deposit exception",
          "new account exception",
          "business days",
          "banking operations",
          "deposit compliance",
          "zero-PII"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "deposit_date",
                  "deposit_type"
                ],
                "properties": {
                  "deposit_date": {
                    "type": "string",
                    "description": "YYYY-MM-DD"
                  },
                  "deposit_type": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "http://json-schema.org/draft-07/schema#",
                  "type": "object",
                  "required": [
                    "availability_date",
                    "business_days_added",
                    "deposit_type"
                  ],
                  "properties": {
                    "availability_date": {
                      "type": "string"
                    },
                    "business_days_added": {
                      "type": "integer"
                    },
                    "deposit_type": {
                      "type": "string"
                    },
                    "skipped_dates": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "receipt": {
                      "type": "object",
                      "description": "OCG check receipt (policy_parameters, output_payload, execution_hash)"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "calculate_regcc_availability",
        "x-tool-url": "https://ainumbers.co/tools/569-regcc-availability-calculator.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/iso20022_dlt_mapper": {
      "post": {
        "operationId": "iso20022_dlt_mapper",
        "summary": "Tool 57 — ISO 20022 ↔ DLT Flow Mapper",
        "description": "Static reference mapping from ISO 20022 message fields (pain.001, pacs.008, pacs.004, camt.053, camt.056) to DLT parameters on Corda, Fabric, and Besu. Highlights interoperability gaps. Generates translation stub code. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/57-iso20022-dlt-mapper.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "isoMsg": {
                    "type": "string"
                  },
                  "dltPlat": {
                    "type": "string"
                  },
                  "showGaps": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "iso20022_dlt_mapper",
        "x-tool-url": "https://ainumbers.co/tools/57-iso20022-dlt-mapper.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/build_nydfs_part500_certification": {
      "post": {
        "operationId": "build_nydfs_part500_certification",
        "summary": "NYDFS Part 500 Certification Builder",
        "description": "Build the NYDFS 23 NYCRR 500 annual Certification of Material Compliance (or Acknowledgment of Noncompliance) evidence bundle. Five control domains, material-nonconformity remediation tracking, senior-officer sign-off gate, April 15 deadline math. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/570-nydfs-part500-certification-builder.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "NYDFS",
          "23 NYCRR 500",
          "certification",
          "CISO",
          "senior officer",
          "cybersecurity regulation"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "reportingYear": {
                    "type": "integer"
                  },
                  "exemptFiler": {
                    "type": "boolean"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "filing_type": {
                      "type": "string"
                    },
                    "overall_compliance_pct": {
                      "type": "number"
                    },
                    "material_nonconformities": {
                      "type": "array"
                    },
                    "filing_deadline": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "build_nydfs_part500_certification",
        "x-tool-url": "https://ainumbers.co/tools/570-nydfs-part500-certification-builder.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/check_export_fidelity": {
      "post": {
        "operationId": "check_export_fidelity",
        "summary": "Export Fidelity Checker",
        "description": "Given an exported xlsx/csv/pdf/xbrl/vc rendering and the canonical OCG v0.4 receipt it claims to come from, extracts the export's embedded binding (tool_id/execution_hash/chaingraph_version/compute_mode/keyid) and compares it field-by-field to the receipt, then deterministically re-renders the export from the receipt using the same shipped exporter and byte-compares. Also reports the receipt's §23 input_attestations (pointer resolution + digest binding). Zero network calls anywhere in the tool.\n\n**Tool URL:** https://ainumbers.co/tools/571-export-fidelity-checker.html",
        "tags": [
          "export fidelity",
          "chaingraph_export",
          "xlsx",
          "csv",
          "pdf",
          "xbrl",
          "verifiable credentials",
          "input attestations",
          "offline checker",
          "zero network",
          "zero-PII"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "receipt": {
                    "type": "object"
                  },
                  "export_bytes_base64": {
                    "type": "string"
                  },
                  "export_format": {
                    "type": "string"
                  }
                },
                "required": [
                  "receipt",
                  "export_bytes_base64"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "format": {
                      "type": "string"
                    },
                    "binding_comparison": {
                      "type": "array"
                    },
                    "byte_compare": {
                      "type": "object"
                    },
                    "input_attestations_report": {
                      "type": "array"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "check_export_fidelity",
        "x-tool-url": "https://ainumbers.co/tools/571-export-fidelity-checker.html",
        "x-source": "manifest"
      }
    },
    "/v1/tools/verify_workbook_roundtrip": {
      "post": {
        "operationId": "verify_workbook_roundtrip",
        "summary": "Workbook Round-Trip Verify",
        "description": "Loads a Spreadsheet Input Manifest for a run (WORKBOOK-1-BUILD-SPEC.md WB-2), surfaces the ranges to recompute in Excel, accepts a pasted range or CSV back per range, and produces a match/mismatch round-trip receipt (WORKBOOK-ROUNDTRIP-BUILD-SPEC.md XLR-1) naming every diverging cell. Reuses the WB-1 CSV parser and range digest; no second engine.\n\n**Tool URL:** https://ainumbers.co/tools/572-workbook-roundtrip-verify.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "workbook",
          "round-trip",
          "csv",
          "excel",
          "reconciliation",
          "zero-PII"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "manifest": {
                    "type": "object"
                  },
                  "observedByRef": {
                    "type": "object"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "http://json-schema.org/draft-07/schema#",
                  "type": "object",
                  "properties": {
                    "receipt": {
                      "type": "object",
                      "description": "workbook-roundtrip-receipt: result (match/mismatch), mismatches[], both sides' range digests"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "verify_workbook_roundtrip",
        "x-tool-url": "https://ainumbers.co/tools/572-workbook-roundtrip-verify.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/build_casefile_binder": {
      "post": {
        "operationId": "build_casefile_binder",
        "summary": "Case-File Binder Composer",
        "description": "Composes a signed, Merkle-rooted case-file binder manifest over a caller-supplied set of heterogeneous receipts (OCG artifacts, chain composites, disclosure manifests, Helm bundle signposts, anchor proofs). A manifest-of-manifests: never ingests file contents, never re-verifies a referenced receipt, only indexes it by digest with a hint for where to check it.\n\n**Tool URL:** https://ainumbers.co/tools/574-casefile-binder-composer.html",
        "tags": [
          "case file",
          "binder",
          "evidence index",
          "engagement",
          "examiner",
          "merkle root",
          "disclosure manifest",
          "anchor",
          "helm"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "entries"
                ],
                "properties": {
                  "engagement_label": {
                    "type": "string",
                    "description": "Label for the engagement or matter"
                  },
                  "period": {
                    "type": "string",
                    "description": "Reporting or engagement period"
                  },
                  "entries": {
                    "type": "array",
                    "description": "List of {kind,ref_label,digest,verify_hint}"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "manifest": {
                      "type": "object"
                    },
                    "merkle_root": {
                      "type": "string"
                    },
                    "diff": {
                      "type": "object"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "build_casefile_binder",
        "x-tool-url": "https://ainumbers.co/tools/574-casefile-binder-composer.html",
        "x-source": "manifest"
      }
    },
    "/v1/tools/verify_casefile_binder": {
      "post": {
        "operationId": "verify_casefile_binder",
        "summary": "Case-File Binder Verifier",
        "description": "Verifies a case-file binder manifest's eddsa-jcs-2022 signature, recomputes its Merkle root over entries, and offers per-entry digest checks against a pasted referenced receipt (disclosure manifest, OCG artifact, chain composite). Never claims to re-verify a Helm bundle or anchor proof's internals — surfaces the entry's verify_hint instead.\n\n**Tool URL:** https://ainumbers.co/tools/575-casefile-binder-verifier.html",
        "tags": [
          "case file",
          "binder",
          "evidence index",
          "verifier",
          "merkle inclusion",
          "examiner",
          "disclosure manifest"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "binder"
                ],
                "properties": {
                  "binder": {
                    "type": "object",
                    "description": "The case-file binder manifest to verify"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "signature_valid": {
                      "type": "boolean"
                    },
                    "merkle_root_valid": {
                      "type": "boolean"
                    },
                    "entry_checks": {
                      "type": "array"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "verify_casefile_binder",
        "x-tool-url": "https://ainumbers.co/tools/575-casefile-binder-verifier.html",
        "x-source": "manifest"
      }
    },
    "/v1/tools/build_evidence_handover_bundle": {
      "post": {
        "operationId": "build_evidence_handover_bundle",
        "summary": "Evidence Handover Bundle",
        "description": "Packages a case-file binder manifest plus its caller-pasted referenced receipts into one client-side zip: a self-contained offline verify.html (zero network calls at verify time), the raw JSON receipts, and a plain-English README explaining what verified does and does not mean. Built for handing an examiner a bundle they can open on an air-gapped machine.\n\n**Tool URL:** https://ainumbers.co/tools/576-evidence-handover-bundle.html",
        "tags": [
          "case file",
          "binder",
          "examiner",
          "offline",
          "handover",
          "zip",
          "evidence bundle",
          "air-gapped",
          "merkle root"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "binder"
                ],
                "properties": {
                  "binder": {
                    "type": "object",
                    "description": "A case-file binder manifest (ainumbers-casefile-binder-v1)"
                  },
                  "receipts": {
                    "type": "array",
                    "description": "Optional list of receipt JSON objects the caller has in hand, matched to binder entries by digest"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "zip_filename": {
                      "type": "string"
                    },
                    "file_count": {
                      "type": "number"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "build_evidence_handover_bundle",
        "x-tool-url": "https://ainumbers.co/tools/576-evidence-handover-bundle.html",
        "x-source": "manifest"
      }
    },
    "/v1/tools/check_mt101_coexistence_readiness": {
      "post": {
        "operationId": "check_mt101_coexistence_readiness",
        "summary": "Swift MT101 Coexistence Readiness Diff",
        "description": "Evaluates Swift CBPR+ MT101 message-type retirement readiness ahead of the 2026-11-14 coexistence deadline, when FI-to-FI bulk/multiple payment initiation drops MT101 (FIN) in favor of pain.001v9 (ISO 20022 MX). Declare the message format currently in production and a structural self-declared readiness checklist and get a deterministic ready/not-ready verdict plus days to deadline. Client-side, deterministic, zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/577-mt101-coexistence-readiness-diff.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "swift",
          "cbpr+",
          "mt101",
          "pain.001",
          "iso 20022",
          "coexistence",
          "compliance",
          "readiness"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "currentMessageFormat",
                  "asOfDate"
                ],
                "properties": {
                  "currentMessageFormat": {
                    "type": "string",
                    "description": "Message format currently in production for FI-to-FI bulk/multiple payment initiation: \"MT101\" or \"pain.001v9\""
                  },
                  "asOfDate": {
                    "type": "string",
                    "description": "ISO date (YYYY-MM-DD) to evaluate readiness as of"
                  },
                  "emitsPain001v9Bulk": {
                    "type": "boolean",
                    "description": "True if the sender's system already emits pain.001v9 for bulk FI-to-FI (only relevant when currentMessageFormat is pain.001v9)"
                  },
                  "fallbackPathStaged": {
                    "type": "boolean",
                    "description": "True if a fallback pain.001v9 path is staged (only relevant when currentMessageFormat is MT101)"
                  },
                  "correspondentConfirmedReceipt": {
                    "type": "boolean",
                    "description": "True if the correspondent has confirmed it can receive pain.001v9 (only relevant when currentMessageFormat is MT101)"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "mt101_coexistence_deadline": {
                      "type": "string"
                    },
                    "days_to_deadline": {
                      "type": "number"
                    },
                    "ready": {
                      "type": "boolean"
                    },
                    "readiness_gaps": {
                      "type": "array"
                    },
                    "structural_issues": {
                      "type": "array"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "check_mt101_coexistence_readiness",
        "x-tool-url": "https://ainumbers.co/tools/577-mt101-coexistence-readiness-diff.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/ccp_margin_monitor_compare": {
      "post": {
        "operationId": "ccp_margin_monitor_compare",
        "summary": "CCP Margin Monitor",
        "description": "Quarterly public benchmark comparing CPMI-IOSCO public quantitative disclosure (PQD) fields across FICC and ICE clearinghouses - backtest coverage, largest margin deficiency, default fund requirement, Cover-2 peak stress loss, total initial margin required - using a source-cited fixture dataset, never a live feed.\n\n**Tool URL:** https://ainumbers.co/tools/578-ccp-margin-monitor.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "CCP",
          "clearing",
          "PQD",
          "CPMI-IOSCO",
          "margin",
          "default fund",
          "Cover-2"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "entity_a",
                  "entity_b"
                ],
                "properties": {
                  "entity_a": {
                    "type": "string"
                  },
                  "entity_b": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "rows": {
                      "type": "array"
                    },
                    "availCount": {
                      "type": "number"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "ccp_margin_monitor_compare",
        "x-tool-url": "https://ainumbers.co/tools/578-ccp-margin-monitor.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/verify_matter_export": {
      "post": {
        "operationId": "verify_matter_export",
        "summary": "Matter Export Verifier",
        "description": "Fully offline, upload-driven verifier for a Helm matter export (matter-manifest.schema.json, HELM-MATTER-BUILD-SPEC.md §2). Validates the manifest's shape, recomputes manifest_digest via the same JCS canon path OCG artifacts use, and renders every binding and deadline with a distinct, never-collapsed status label. Optionally checks one bound artifact's own execution_hash, eddsa-jcs-2022 signature, and RFC 6962 anchor against a binding's subject_hash. Zero network calls anywhere in the tool.\n\n**Tool URL:** https://ainumbers.co/tools/579-matter-export-verifier.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "matter export",
          "Helm",
          "offline verifier",
          "airgapped",
          "manifest_digest",
          "evidence bundle",
          "OCG receipt",
          "compliance",
          "zero network",
          "zero-PII"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "manifest": {
                    "type": "object"
                  },
                  "bound_artifact": {
                    "type": "object"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "http://json-schema.org/draft-07/schema#",
                  "type": "object",
                  "properties": {
                    "verification_report": {
                      "type": "object",
                      "description": "verdict, schema/digest check rows, per-binding status labels, per-deadline open/done status"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "verify_matter_export",
        "x-tool-url": "https://ainumbers.co/tools/579-matter-export-verifier.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/cbdc_interop_modeler": {
      "post": {
        "operationId": "cbdc_interop_modeler",
        "summary": "Tool 58 — CBDC Interop Scenario Modeler",
        "description": "CBDC interoperability scenario analysis. Model atomic settlement, PvP, and failure scenarios between mBridge, Digital Euro, Project Dunbar, SAMA/CBUAE, Corda, Canton, and Besu platforms. Template-driven scenario generation and Policy Mandate artifact. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/58-cbdc-interop-modeler.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "cbdcA": {
                    "type": "string"
                  },
                  "assetLeg": {
                    "type": "string"
                  },
                  "dltB": {
                    "type": "string"
                  },
                  "cashLeg": {
                    "type": "string"
                  },
                  "settlCond": {
                    "type": "string"
                  },
                  "failScenario": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "cbdc_interop_modeler",
        "x-tool-url": "https://ainumbers.co/tools/58-cbdc-interop-modeler.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/build_dise_caption_category_matrix": {
      "post": {
        "operationId": "build_dise_caption_category_matrix",
        "summary": "DISE Caption-to-Category Matrix Builder + Coverage Checker",
        "description": "Builds a trial-balance-caption-to-DISE-natural-expense-category crosswalk for ASC 280 disaggregation of income statement expenses (ASU 2023-07). Computes a coverage matrix (caption x category), flags unmapped captions explicitly, and an optional dollar coverage percentage when balances are supplied.\n\n**Tool URL:** https://ainumbers.co/tools/581-dise-caption-category-matrix-builder.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "DISE",
          "segment reporting",
          "ASC 280",
          "ASU 2023-07",
          "expense disaggregation",
          "significant expense categories",
          "coverage matrix",
          "gap analysis"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "captions",
                  "mappings"
                ],
                "properties": {
                  "captions": {
                    "type": "array",
                    "description": "Entity income statement captions, optionally with total balances"
                  },
                  "mappings": {
                    "type": "array",
                    "description": "TB caption to DISE category mapping rows"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "matrix": {
                      "type": "object",
                      "description": "caption -> category -> mapped row count"
                    },
                    "unmapped_tb_captions": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "unrecognised_mapping_captions": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "coverage_pct": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "caption": {
                            "type": "string"
                          },
                          "total_balance": {
                            "type": "number"
                          },
                          "mapped_balance": {
                            "type": "number"
                          },
                          "coverage_pct": {
                            "type": "number"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "build_dise_caption_category_matrix",
        "x-tool-url": "https://ainumbers.co/tools/581-dise-caption-category-matrix-builder.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/analyze_dise_readiness_gaps": {
      "post": {
        "operationId": "analyze_dise_readiness_gaps",
        "summary": "DISE Readiness Gap Analyzer",
        "description": "Reads a DISE caption-to-category coverage matrix (the T581 matrix builder's output, or a caller-pasted equivalent) and classifies every required-category by income-statement-caption cell as no_coverage, partial_coverage or full_coverage. Ranks the gaps by materiality when dollar amounts are supplied, otherwise by declared category order, and returns a plain-English remediation note for each gap. Verify-only: it measures coverage of the pasted mapping and never asserts that a disclosure requirement has been met.\n\n**Tool URL:** https://ainumbers.co/tools/582-dise-readiness-gap-analyzer.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "DISE",
          "readiness",
          "gap analysis",
          "segment reporting",
          "ASC 280",
          "ASU 2023-07",
          "chart of accounts",
          "expense disaggregation"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "required_categories",
                  "captions",
                  "coverage_rows"
                ],
                "properties": {
                  "required_categories": {
                    "type": "array",
                    "description": "Categories the entity has determined it must be able to report separately"
                  },
                  "captions": {
                    "type": "array",
                    "description": "Income statement captions in scope, optionally with total balances"
                  },
                  "coverage_rows": {
                    "type": "array",
                    "description": "Caption plus category coverage rows from the matrix builder"
                  },
                  "threshold_pct": {
                    "type": "number",
                    "description": "Dollar coverage percentage at or above which a caption counts as fully mapped. Default 95."
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "cells": {
                      "type": "array",
                      "description": "Every required-category by caption cell with its classification",
                      "items": {
                        "type": "object",
                        "properties": {
                          "category": {
                            "type": "string"
                          },
                          "caption": {
                            "type": "string"
                          },
                          "status": {
                            "type": "string",
                            "enum": [
                              "no_coverage",
                              "partial_coverage",
                              "full_coverage"
                            ]
                          },
                          "mapped_tb_rows": {
                            "type": "number"
                          },
                          "mapped_amount": {
                            "type": "number"
                          },
                          "caption_coverage_pct": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "assessment_basis": {
                            "type": "string",
                            "enum": [
                              "rows_only",
                              "rows_and_dollars"
                            ]
                          },
                          "exposure": {
                            "type": "number"
                          },
                          "exposure_basis": {
                            "type": "string",
                            "enum": [
                              "category_amount",
                              "caption_balance",
                              "none"
                            ]
                          },
                          "remediation": {
                            "type": "string"
                          }
                        }
                      }
                    },
                    "gaps": {
                      "type": "array",
                      "description": "Cells that are not full_coverage, ranked, each carrying a remediation note",
                      "items": {
                        "type": "object"
                      }
                    },
                    "caption_coverage": {
                      "type": "array",
                      "items": {
                        "type": "object"
                      }
                    },
                    "extra_mapped_categories": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "unrecognised_coverage_captions": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "ranking_basis": {
                      "type": "string",
                      "enum": [
                        "materiality",
                        "category"
                      ]
                    },
                    "summary": {
                      "type": "object",
                      "properties": {
                        "required_categories": {
                          "type": "number"
                        },
                        "captions": {
                          "type": "number"
                        },
                        "cells_assessed": {
                          "type": "number"
                        },
                        "no_coverage": {
                          "type": "number"
                        },
                        "partial_coverage": {
                          "type": "number"
                        },
                        "full_coverage": {
                          "type": "number"
                        },
                        "readiness_pct": {
                          "type": "number"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "analyze_dise_readiness_gaps",
        "x-tool-url": "https://ainumbers.co/tools/582-dise-readiness-gap-analyzer.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/calc_taxes_paid_jurisdiction_threshold": {
      "post": {
        "operationId": "calc_taxes_paid_jurisdiction_threshold",
        "summary": "Taxes Paid by Jurisdiction Threshold Calculator",
        "description": "Computes each jurisdiction's share of total income taxes paid net of refunds received and flags the jurisdictions that reach ASU 2023-09's individual-disaggregation threshold of 5 percent (ASC 740-10-50-23). The comparison is made between the absolute value of each jurisdiction's net payment or net refund and the absolute value of the total, so a jurisdiction in a net refund position is measured by the size of that refund. Also reports the federal, state and foreign subtotals that ASC 740-10-50-22 requires regardless of any threshold. Verify-only: it reports shares computed from declared inputs and never asserts that a disclosure requirement has been met.\n\n**Tool URL:** https://ainumbers.co/tools/583-taxes-paid-jurisdiction-threshold-calc.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "ASU 2023-09",
          "income tax disclosure",
          "ASC 740",
          "taxes paid",
          "jurisdiction",
          "disaggregation",
          "threshold",
          "rate reconciliation"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "jurisdictions"
                ],
                "properties": {
                  "jurisdictions": {
                    "type": "array",
                    "description": "Rows of jurisdiction, tier and income taxes paid net of refunds received"
                  },
                  "declared_total": {
                    "type": [
                      "number",
                      "null"
                    ],
                    "description": "Total income taxes paid net of refunds, used as the denominator when supplied"
                  },
                  "threshold_pct": {
                    "type": "number",
                    "description": "Disaggregation threshold percentage. ASU 2023-09 states 5."
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "jurisdictions": {
                      "type": "array",
                      "description": "Every assessed jurisdiction, flagged first then ranked by share descending",
                      "items": {
                        "type": "object",
                        "properties": {
                          "jurisdiction": {
                            "type": "string"
                          },
                          "tier": {
                            "type": "string",
                            "enum": [
                              "federal",
                              "state",
                              "foreign"
                            ]
                          },
                          "amount": {
                            "type": "number"
                          },
                          "absolute_amount": {
                            "type": "number"
                          },
                          "share_of_total_pct": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "net_refund_position": {
                            "type": "boolean"
                          },
                          "separate_disclosure_indicated": {
                            "type": "boolean"
                          },
                          "basis": {
                            "type": "string",
                            "enum": [
                              "absolute_value_comparison",
                              "not_assessable_zero_denominator"
                            ]
                          },
                          "source_rows": {
                            "type": "number"
                          }
                        }
                      }
                    },
                    "category_subtotals": {
                      "type": "array",
                      "description": "Federal, state and foreign subtotals required by ASC 740-10-50-22 regardless of any threshold",
                      "items": {
                        "type": "object",
                        "properties": {
                          "tier": {
                            "type": "string"
                          },
                          "label": {
                            "type": "string"
                          },
                          "amount": {
                            "type": "number"
                          },
                          "jurisdictions": {
                            "type": "number"
                          },
                          "share_of_total_pct": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "disclosure_required": {
                            "type": "boolean"
                          }
                        }
                      }
                    },
                    "reconciliation": {
                      "type": "object",
                      "properties": {
                        "basis": {
                          "type": "string",
                          "enum": [
                            "row_sum",
                            "declared_total"
                          ]
                        },
                        "row_sum": {
                          "type": "number"
                        },
                        "declared_total": {
                          "type": [
                            "number",
                            "null"
                          ]
                        },
                        "denominator_used": {
                          "type": "number"
                        },
                        "difference": {
                          "type": "number"
                        },
                        "rows_entered": {
                          "type": "number"
                        },
                        "rows_after_combination": {
                          "type": "number"
                        }
                      }
                    },
                    "caveats": {
                      "type": "array",
                      "description": "Named conditions that affect how the result should be read, such as a zero or near-zero denominator, a reconciliation difference, or a non-standard threshold",
                      "items": {
                        "type": "string"
                      }
                    },
                    "summary": {
                      "type": "object",
                      "properties": {
                        "jurisdictions_assessed": {
                          "type": "number"
                        },
                        "above_threshold": {
                          "type": "number"
                        },
                        "below_threshold": {
                          "type": "number"
                        },
                        "not_assessable": {
                          "type": "number"
                        },
                        "net_refund_jurisdictions": {
                          "type": "number"
                        },
                        "threshold_pct": {
                          "type": "number"
                        },
                        "threshold_boundary": {
                          "type": "string",
                          "enum": [
                            "closed_greater_than_or_equal"
                          ]
                        },
                        "comparison_basis": {
                          "type": "string",
                          "enum": [
                            "absolute_value"
                          ]
                        },
                        "total_income_taxes_paid_net_of_refunds": {
                          "type": "number"
                        },
                        "denominator_basis": {
                          "type": "string",
                          "enum": [
                            "row_sum",
                            "declared_total"
                          ]
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "calc_taxes_paid_jurisdiction_threshold",
        "x-tool-url": "https://ainumbers.co/tools/583-taxes-paid-jurisdiction-threshold-calc.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/sequence_disclosure_effective_dates": {
      "post": {
        "operationId": "sequence_disclosure_effective_dates",
        "summary": "Disclosure Effective Date Sequencer",
        "description": "Maps a fiscal year end and SEC filer status to the FASB Accounting Standards Updates tracked by the disclosure readiness pack that bind for that fiscal year. The annual requirement and the interim requirement are reported separately, because several of these Updates start at different times for the two, and each Update's first affected annual period and first interim coverage are named for the entity's own fiscal calendar rather than assumed to be a December year end. Effective dates are carried as dated observations read from the Board's published Updates on 2026-08-15, each with its transition paragraph, so any figure can be rechecked at source. Verify-only: it sequences which Updates reach a period and never asserts that an adoption or a disclosure requirement has been met.\n\n**Tool URL:** https://ainumbers.co/tools/584-disclosure-effective-date-sequencer.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "ASU 2023-07",
          "ASU 2023-09",
          "ASU 2024-03",
          "ASU 2025-01",
          "DISE",
          "effective date",
          "segment reporting",
          "income tax disclosure",
          "fiscal year",
          "disclosure readiness"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "fiscal_year_end",
                  "filer_status"
                ],
                "properties": {
                  "fiscal_year_end": {
                    "type": "string",
                    "description": "Last day of the fiscal year being assessed, as YYYY-MM-DD"
                  },
                  "fiscal_year_start_override": {
                    "type": [
                      "string",
                      "null"
                    ],
                    "description": "First day of that fiscal year, for 52 or 53 week filers whose year start is not a fixed calendar date"
                  },
                  "filer_status": {
                    "type": "string",
                    "enum": [
                      "large_accelerated",
                      "accelerated",
                      "non_accelerated",
                      "smaller_reporting"
                    ],
                    "description": "SEC filer status. All four are public business entities."
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "entity": {
                      "type": "object",
                      "description": "The fiscal calendar the sequence was measured against",
                      "properties": {
                        "fiscal_year_end": {
                          "type": "string"
                        },
                        "fiscal_year_start": {
                          "type": "string"
                        },
                        "fiscal_year_start_basis": {
                          "type": "string",
                          "enum": [
                            "derived_from_year_end",
                            "override_supplied"
                          ]
                        },
                        "fiscal_year_length_days": {
                          "type": "number"
                        },
                        "calendar_year_end": {
                          "type": "boolean"
                        },
                        "filer_status": {
                          "type": "string"
                        },
                        "filer_status_label": {
                          "type": "string"
                        },
                        "entity_class": {
                          "type": "string",
                          "enum": [
                            "public_business_entity"
                          ]
                        }
                      }
                    },
                    "updates": {
                      "type": "array",
                      "description": "One entry per tracked Accounting Standards Update, in table order",
                      "items": {
                        "type": "object",
                        "properties": {
                          "asu": {
                            "type": "string"
                          },
                          "label": {
                            "type": "string"
                          },
                          "topic": {
                            "type": "string"
                          },
                          "subject": {
                            "type": "string"
                          },
                          "applies_to": {
                            "type": "string"
                          },
                          "pack_role": {
                            "type": "string",
                            "enum": [
                              "core",
                              "pipeline"
                            ]
                          },
                          "pack_note": {
                            "type": "string"
                          },
                          "annual_effective_for_periods_beginning_after": {
                            "type": "string"
                          },
                          "interim_effective_for_periods_beginning_after": {
                            "type": [
                              "string",
                              "null"
                            ],
                            "description": "Null means the Update states no separate interim effective date, which is a distinct answer from not yet binding"
                          },
                          "other_entities_annual_after": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "transition_paragraph": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "early_adoption_permitted": {
                            "type": "boolean"
                          },
                          "binding_annual": {
                            "type": "boolean"
                          },
                          "binding_interim": {
                            "type": [
                              "boolean",
                              "null"
                            ]
                          },
                          "first_affected_annual_period": {
                            "type": [
                              "object",
                              "null"
                            ],
                            "properties": {
                              "start": {
                                "type": "string"
                              },
                              "end": {
                                "type": "string"
                              }
                            }
                          },
                          "first_affected_interim_host_period": {
                            "type": [
                              "object",
                              "null"
                            ],
                            "properties": {
                              "start": {
                                "type": "string"
                              },
                              "end": {
                                "type": "string"
                              }
                            }
                          },
                          "is_annual_adoption_year": {
                            "type": "boolean"
                          },
                          "is_interim_adoption_year": {
                            "type": "boolean"
                          },
                          "filer_status_changes_this_date": {
                            "type": "boolean",
                            "description": "False for every tracked Update. Present so a caller can see the answer rather than infer it."
                          }
                        }
                      }
                    },
                    "caveats": {
                      "type": "array",
                      "description": "Named conditions that affect how the sequence should be read, including the dated-observation status of the table, the absence of any filer status dependency, and a non calendar year end",
                      "items": {
                        "type": "string"
                      }
                    },
                    "summary": {
                      "type": "object",
                      "properties": {
                        "updates_tracked": {
                          "type": "number"
                        },
                        "binding_annual": {
                          "type": "number"
                        },
                        "binding_interim": {
                          "type": "number"
                        },
                        "first_annual_adoption_this_year": {
                          "type": "number"
                        },
                        "not_yet_binding": {
                          "type": "number"
                        },
                        "boundary_rule": {
                          "type": "string",
                          "enum": [
                            "strictly_after_stated_date"
                          ]
                        },
                        "table_retrieved": {
                          "type": "string"
                        },
                        "table_source": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "sequence_disclosure_effective_dates",
        "x-tool-url": "https://ainumbers.co/tools/584-disclosure-effective-date-sequencer.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/verify_ics23_proof": {
      "post": {
        "operationId": "verify_ics23_proof",
        "summary": "ICS23 Proof Verifier",
        "description": "Offline verifier for ICS23 declarative Merkle proofs. Paste an ExistenceProof or NonExistenceProof in proofs.proto JSON shape (base64 or 0x-hex byte fields, enum names or numbers), supply the commitment root and the key being claimed, and pick one of three build-time-pinned ProofSpec presets (iavl, tendermint, smt). The page recomputes the Merkle root and every spec-conformance check entirely client-side and names the specific check that failed. There is no free-text ProofSpec input by design: a spec supplied alongside the proof it constrains could declare a forged shape legal, which is the shape of the October 2022 VSA-2022-103 forged-membership finding. Verify-only, no prover, zero network calls.\n\n**Tool URL:** https://ainumbers.co/tools/585-ics23-proof-verifier.html",
        "tags": [
          "ICS23",
          "ICS 023",
          "IBC",
          "Cosmos",
          "Merkle proof",
          "existence proof",
          "non-existence proof",
          "ProofSpec",
          "iavl",
          "tendermint",
          "smt",
          "vector commitment",
          "offline verifier",
          "zero network",
          "zero-PII"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "proofInput",
                  "rootInput",
                  "keyInput",
                  "specInput"
                ],
                "properties": {
                  "proofInput": {
                    "type": "string"
                  },
                  "rootInput": {
                    "type": "string"
                  },
                  "keyInput": {
                    "type": "string"
                  },
                  "specInput": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "verification_report": {
                      "type": "object",
                      "description": "PASS or FAIL verdict from verifyExistence/verifyNonExistence plus a per-step check list naming the exact failing check"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "verify_ics23_proof",
        "x-tool-url": "https://ainumbers.co/tools/585-ics23-proof-verifier.html",
        "x-source": "manifest"
      }
    },
    "/v1/tools/fabric_ops_console": {
      "post": {
        "operationId": "fabric_ops_console",
        "summary": "Tool 59 — Fabric Ops Console",
        "description": "Enterprise Hyperledger Fabric settlement verifier. Paste peer channel fetch output (block/transaction JSON) to browse blocks, view transaction detail, inspect chaincode invocation history, and decode channel config. Air-gapped. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/59-fabric-ops-console.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "inputType": {
                    "type": "string"
                  },
                  "channelName": {
                    "type": "string"
                  },
                  "jsonInput": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "fabric_ops_console",
        "x-tool-url": "https://ainumbers.co/tools/59-fabric-ops-console.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/compute_m3p_monthly_cap": {
      "post": {
        "operationId": "compute_m3p_monthly_cap",
        "summary": "M3P Monthly Cap Calculator",
        "description": "Recomputes the Medicare Prescription Payment Plan (M3P) maximum monthly cap under 42 CFR 423.137(c)(1)(i) (first month of participation) and (c)(1)(ii) (every subsequent month), verified by exhaustive enumeration over the full declared cents/months domain (4,830,023 states). The annual out-of-pocket threshold is a plan-year-indexed CMS figure, carried as a keyed, source-digested policy parameter rather than a bare constant -- CY2026 is $2,100. Rounding is declared half-up-to-the-cent, since the regulation states no explicit rounding rule for the division step; the declaration is backed by three independent CMS-sourced worked examples and implemented with exact integer arithmetic, never floating-point division. A caller-declared numerator or months value outside the declared domain is rejected with a named reason, never clamped or silently coerced. Verify-only: recomputes the formula from caller-declared inputs, does not track a real enrollee's true out-of-pocket accumulation, does not enroll anyone in M3P, and does not assert that any actual participant's bill is correct.\n\n**Tool URL:** https://ainumbers.co/tools/617-m3p-monthly-cap-calculator.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "Medicare",
          "M3P",
          "Part D",
          "prescription payment plan",
          "CMS",
          "42 CFR 423.137",
          "out-of-pocket",
          "monthly cap"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "branch",
                  "months_remaining"
                ],
                "properties": {
                  "plan_year": {
                    "type": "integer"
                  },
                  "branch": {
                    "type": "string",
                    "enum": [
                      "first_month",
                      "subsequent_month"
                    ]
                  },
                  "incurred_TrOOP_cents": {
                    "type": "integer"
                  },
                  "remaining_owed_cents": {
                    "type": "integer"
                  },
                  "newly_incurred_cents": {
                    "type": "integer"
                  },
                  "months_remaining": {
                    "type": "integer"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "valid_input": {
                      "type": "boolean"
                    },
                    "domain_errors": {
                      "type": "array",
                      "description": "Named reasons the input was rejected, if any"
                    },
                    "numerator_cents": {
                      "type": "integer"
                    },
                    "cap_cents": {
                      "type": "integer"
                    },
                    "cap_dollars_display": {
                      "type": "string"
                    },
                    "rounding_mode": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "compute_m3p_monthly_cap",
        "x-tool-url": "https://ainumbers.co/tools/617-m3p-monthly-cap-calculator.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/calculate_naic_clo_rbc_factor": {
      "post": {
        "operationId": "calculate_naic_clo_rbc_factor",
        "summary": "NAIC CLO/CBO/CDO Tranche RBC Factor Calculator",
        "description": "Recomputes the NAIC Life RBC per-tranche capital charge for CLO/CBO/CDO bond tranches against the LR002 Column (2) \"CLOs/CBOs/CDOs\" factor grid adopted by the RBC Investment Risk & Evaluation (E) Working Group (Proposal 2026-12-IRE, effective for YE2026 filings), including the flat 11.77% BSL thin-tranche surcharge. Sums per-tranche requirements into a portfolio total. Verify-only: recomputes a prescribed charge from declared inputs, never asserts filing compliance.\n\n**Tool URL:** https://ainumbers.co/tools/618-naic-clo-rbc-factor-calculator.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "NAIC",
          "RBC",
          "CLO",
          "CBO",
          "CDO",
          "LR002",
          "life insurance",
          "capital adequacy"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "tranches"
                ],
                "properties": {
                  "tranches": {
                    "type": "array",
                    "description": "Array of {naic_designation, bsl_thin_tranche, tranche_thickness_pct, book_adjusted_carrying_value}"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "tranches": {
                      "type": "array"
                    },
                    "portfolio_total_bacv": {
                      "type": "number"
                    },
                    "portfolio_total_rbc_requirement": {
                      "type": "number"
                    },
                    "tranche_count": {
                      "type": "number"
                    },
                    "naic_clo_rbc_factor_vintage": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "calculate_naic_clo_rbc_factor",
        "x-tool-url": "https://ainumbers.co/tools/618-naic-clo-rbc-factor-calculator.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/verify_summa_mst_inclusion": {
      "post": {
        "operationId": "verify_summa_mst_inclusion",
        "summary": "Summa MST Inclusion Checker",
        "description": "Paste a published Merkle-sum-tree root (hash + sum) and an inclusion proof for one leaf, verify membership AND local balance-sum-chain consistency, entirely offline. Independently recomputes both the hash chain and the sum chain and rejects any negative balance or over-bound value anywhere in the path, closing the Maxwell eprint 2022/043 'broken MST' hazard at the application layer. Verify-only: never a solvency or reserve-sufficiency claim.\n\n**Tool URL:** https://ainumbers.co/tools/620-summa-mst-inclusion-checker.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "Summa",
          "proof-of-reserves",
          "Merkle sum tree",
          "MST",
          "inclusion proof",
          "solvency",
          "crypto exchange",
          "verification"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "root",
                  "proof"
                ],
                "properties": {
                  "root": {
                    "type": "object",
                    "description": "{hash, sum}"
                  },
                  "proof": {
                    "type": "object",
                    "description": "{leaf:{id,balance}, path:[{side,sibling_hash,sibling_sum}]}"
                  },
                  "max_balance": {
                    "type": "string",
                    "description": "Decimal-string BigInt domain bound"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "verdict": {
                      "type": "string",
                      "description": "VERIFIED or NOT_VERIFIED"
                    },
                    "reason": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "computed_root": {
                      "type": [
                        "object",
                        "null"
                      ]
                    },
                    "declared_root": {
                      "type": "object"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "verify_summa_mst_inclusion",
        "x-tool-url": "https://ainumbers.co/tools/620-summa-mst-inclusion-checker.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/aggregate_summa_mst_liabilities": {
      "post": {
        "operationId": "aggregate_summa_mst_liabilities",
        "summary": "Summa MST Liability Aggregator",
        "description": "Given up to 16 (id, balance) leaf entries, deterministically builds a SHA-256 Merkle-sum-tree and emits the root commitment {hash, sum} plus every leaf's full inclusion proof. Applies Maxwell's (eprint 2022/043) mandatory range-check mitigation on the input side before building the tree. Pattern-borrowed from Summa (PSE)'s proof-of-reserves node layout, no code vendored. The generator counterpart to the MST inclusion checker (art-620) -- its proofs are consumable directly as that tool's input. Verify-only: commits to whatever balances it is given, never asserts they reflect real reserves.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-621-summa-mst-liability-aggregator.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "merkle sum tree",
          "proof of reserves",
          "summa",
          "MST",
          "inclusion proof",
          "SHA-256",
          "liability aggregation"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "leaves"
                ],
                "properties": {
                  "leaves": {
                    "type": "array",
                    "description": "Array of {id, balance} (balance as a decimal string), 1-16 entries."
                  },
                  "max_balance": {
                    "type": "string",
                    "description": "Optional declared MAX_BALANCE decimal-string bound."
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "valid": {
                      "type": "boolean"
                    },
                    "error": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "leaf_count": {
                      "type": "number"
                    },
                    "tree_depth": {
                      "type": "number"
                    },
                    "max_balance": {
                      "type": "string"
                    },
                    "root": {
                      "type": [
                        "object",
                        "null"
                      ]
                    },
                    "proofs": {
                      "type": "array"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "aggregate_summa_mst_liabilities",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-621-summa-mst-liability-aggregator.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/reanchor_receipt_pq": {
      "post": {
        "operationId": "reanchor_receipt_pq",
        "summary": "PQ Receipt Re-Anchor Tool",
        "description": "Countersigns an existing AINumbers receipt with a post-quantum SLH-DSA-SHA2-128f (FIPS 205, primary) + ML-DSA-65 (FIPS 204, secondary) dual signature, entirely client-side. The original receipt bytes, digest, and every existing proof are never touched — the tool only appends two new, independent proof-set members. Ephemeral in-browser keygen, zero-storage: no sessionStorage/localStorage/IndexedDB.\n\n**Tool URL:** https://ainumbers.co/tools/623-pq-receipt-reanchor.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "post-quantum",
          "PQC",
          "SLH-DSA",
          "ML-DSA",
          "FIPS 205",
          "FIPS 204",
          "dual signature",
          "attestation",
          "receipt",
          "re-anchor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "reanchored_receipt": {
                      "type": "object",
                      "description": "The original receipt with two appended proof-set members: SLH-DSA-SHA2-128f and ML-DSA-65"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "reanchor_receipt_pq",
        "x-tool-url": "https://ainumbers.co/tools/623-pq-receipt-reanchor.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/verify_vcjcs_envelope": {
      "post": {
        "operationId": "verify_vcjcs_envelope",
        "summary": "VC-JCS Envelope Verifier",
        "description": "Offline verifier for W3C VC 2.0 Data Integrity (eddsa-jcs-2022 / did:key) exports produced by AINumbers tools. Decodes the did:key verificationMethod directly to Ed25519 key bytes, recomputes the JCS-canonicalized proof hash and verifies the signature, and independently recomputes every embedded execution_hash from its policy_parameters/output_payload — never trusting either the proof or the execution_hash fields as stated in the pasted document. Zero network calls anywhere in the tool.\n\n**Tool URL:** https://ainumbers.co/tools/624-vcjcs-envelope-verifier.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "VC-JCS",
          "eddsa-jcs-2022",
          "did:key",
          "Ed25519",
          "Data Integrity Proof",
          "execution_hash",
          "offline verifier",
          "airgapped",
          "zero network",
          "zero-PII"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "export_document": {
                    "type": "object"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "http://json-schema.org/draft-07/schema#",
                  "type": "object",
                  "properties": {
                    "verification_report": {
                      "type": "object",
                      "description": "verdict, signature check, per-receipt execution_hash recompute results, attestation_grade and signing-identity class"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "verify_vcjcs_envelope",
        "x-tool-url": "https://ainumbers.co/tools/624-vcjcs-envelope-verifier.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/verify_c2sp_tlog_checkpoint": {
      "post": {
        "operationId": "verify_c2sp_tlog_checkpoint",
        "summary": "C2SP Transparency Log Verifier",
        "description": "Verifies a C2SP checkpoint (signed note) and an RFC 6962 inclusion proof against a C2SP tlog-policy trust policy, entirely client-side. Parses the note framing, matches every signature line against the policy's log and witness keys, verifies the log signature and each tlog-cosignature, evaluates the policy quorum rule, replays the inclusion path against the root the checkpoint carries, and optionally decodes a tlog-tiles path to confirm it is the tile holding the leaf.\n\n**Tool URL:** https://ainumbers.co/tools/625-c2sp-tlog-verifier.html",
        "tags": [
          "C2SP",
          "transparency log",
          "checkpoint",
          "signed note",
          "tlog-cosignature",
          "RFC 6962",
          "inclusion proof",
          "tlog-policy",
          "tlog-tiles",
          "Sigsum",
          "Rekor",
          "offline verifier"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "checkpoint",
                  "policy",
                  "proof"
                ],
                "properties": {
                  "checkpoint": {
                    "type": "string",
                    "description": "C2SP checkpoint as signed-note text"
                  },
                  "policy": {
                    "type": "string",
                    "description": "C2SP tlog-policy text naming the log and witness keys and the quorum rule"
                  },
                  "proof": {
                    "type": "object",
                    "description": "RFC 6962 inclusion proof: leaf value, leaf index, bottom-up sibling path"
                  },
                  "tile_path": {
                    "type": "string",
                    "description": "Optional tlog-tiles path for the tile the leaf was read from"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "noteParses": {
                      "type": "boolean"
                    },
                    "origin": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "size": {
                      "type": [
                        "integer",
                        "null"
                      ]
                    },
                    "rootHashHex": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "logKeyPinned": {
                      "type": "boolean"
                    },
                    "logSignatureValid": {
                      "type": "boolean"
                    },
                    "originMatchesPinnedLog": {
                      "type": [
                        "boolean",
                        "null"
                      ]
                    },
                    "witnessCosignaturesValid": {
                      "type": "integer"
                    },
                    "witnessCosignatureDetail": {
                      "type": "array",
                      "items": {
                        "type": "object"
                      }
                    },
                    "quorumRule": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "witnessQuorumMet": {
                      "type": "boolean"
                    },
                    "inclusionProofValid": {
                      "type": "boolean"
                    },
                    "tilePathValid": {
                      "type": [
                        "boolean",
                        "null"
                      ]
                    },
                    "tileCoversLeaf": {
                      "type": [
                        "boolean",
                        "null"
                      ]
                    },
                    "ALL_PASS": {
                      "type": "boolean"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "verify_c2sp_tlog_checkpoint",
        "x-tool-url": "https://ainumbers.co/tools/625-c2sp-tlog-verifier.html",
        "x-source": "manifest"
      }
    },
    "/v1/tools/analyze_gir_data_point_completeness": {
      "post": {
        "operationId": "analyze_gir_data_point_completeness",
        "summary": "GIR Data-Point Completeness Analyzer",
        "description": "Declare the GloBE Information Return data points your own systems can populate, together with the facts that switch conditional points on, and get back a per-point map of populated, partial and missing entries plus a coverage figure over the declared inventory. The data-point structure is taken from the OECD GloBE Information Return (January 2025), Annex A1, at the granularity of that publication's own numbered sub-tables. Readiness mapping only: it does not compose a return, does not render GIR XML, and never states that a return may be submitted.\n\n**Tool URL:** https://ainumbers.co/tools/626-gir-data-point-completeness-analyzer.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "GloBE",
          "Pillar Two",
          "GIR",
          "data points",
          "gap analysis",
          "OECD",
          "minimum tax",
          "readiness"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "declared_inventory",
                  "declared_facts"
                ],
                "properties": {
                  "declared_inventory": {
                    "type": "array",
                    "description": "[{id, status}] with status populated, partial or missing"
                  },
                  "declared_facts": {
                    "type": "object",
                    "description": "Boolean facts that switch conditional data points on"
                  },
                  "gir_schema_version": {
                    "type": "string",
                    "description": "Declared GIR structure identifier"
                  },
                  "reporting_fiscal_year_label": {
                    "type": "string",
                    "description": "Optional free-text label"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "gir_structure_declared": {
                      "type": "string"
                    },
                    "total_points_in_structure": {
                      "type": "integer"
                    },
                    "applicable_points": {
                      "type": "integer"
                    },
                    "populated": {
                      "type": "integer"
                    },
                    "partial": {
                      "type": "integer"
                    },
                    "missing": {
                      "type": "integer"
                    },
                    "not_applicable": {
                      "type": "integer"
                    },
                    "conditional_points_applicable": {
                      "type": "integer"
                    },
                    "coverage_over_declared_inventory_pct": {
                      "type": "number",
                      "description": "Populated over applicable, as a percentage. A coverage count over the declared inventory, never a readiness verdict."
                    },
                    "unrecognised_references": {
                      "type": "array",
                      "description": "Input references that matched no data point in the declared structure, reported rather than silently dropped."
                    },
                    "points": {
                      "type": "array",
                      "description": "Per data point: reference, label, requirement (always or conditional), the named condition, whether the condition was declared, applicability, and declared status."
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "analyze_gir_data_point_completeness",
        "x-tool-url": "https://ainumbers.co/tools/626-gir-data-point-completeness-analyzer.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/classify_pillar_two_side_by_side_scope": {
      "post": {
        "operationId": "classify_pillar_two_side_by_side_scope",
        "summary": "Pillar Two Side-by-Side Scope Classifier",
        "description": "Classifies a declared MNE group and jurisdiction fact pattern against the Qualified SbS Regime and Qualified UPE Regime conditions set out in Chapter 5 of the OECD Side-by-Side Package (Inclusive Framework on BEPS, approved and declassified 5 January 2026). Every verdict names the condition that governs it, and any fact the rule needs but the caller did not declare is reported as undeclared and sets manual_review_required rather than being defaulted or inferred. Rule thresholds, effective dates and Central Record listings are declared versioned inputs, never constants embedded in the page: the publication itself names no jurisdiction, and provides instead that qualifying jurisdictions are listed on the Central Record. Classification of the declared fact pattern only. It does not determine whether any group falls inside or outside the scope of anything, and it is not tax advice.\n\n**Tool URL:** https://ainumbers.co/tools/627-pillar-two-side-by-side-scope-classifier.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "Pillar Two",
          "GloBE",
          "side-by-side",
          "SbS Safe Harbour",
          "UPE Safe Harbour",
          "Qualified SbS Regime",
          "Central Record",
          "IIR",
          "UTPR",
          "QDMTT",
          "OECD",
          "scope classification"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "group_facts"
                ],
                "properties": {
                  "rule_parameters": {
                    "type": "object",
                    "description": "Declared versioned thresholds, dates and Central Record listings"
                  },
                  "group_facts": {
                    "type": "object",
                    "description": "UPE jurisdiction, fiscal year commencement, and the two election flags"
                  },
                  "jurisdiction_facts": {
                    "type": "object",
                    "description": "Declared facts about the UPE jurisdiction's domestic and worldwide tax systems"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "sbs_available": {
                      "type": "string",
                      "enum": [
                        "MET",
                        "NOT_MET",
                        "ND"
                      ],
                      "description": "SbS Safe Harbour conditions on the declared facts. ND means at least one needed fact was not declared."
                    },
                    "upe_available": {
                      "type": "string",
                      "enum": [
                        "MET",
                        "NOT_MET",
                        "ND"
                      ],
                      "description": "UPE Safe Harbour conditions on the declared facts"
                    },
                    "manual_review_required": {
                      "type": "boolean",
                      "description": "True whenever any condition could not be classified because a needed fact was absent, or two declared routes disagree"
                    },
                    "undeclared_count": {
                      "type": "integer",
                      "description": "Number of conditions left unclassified for want of a declared fact"
                    },
                    "sbs_group_conditions": {
                      "type": "array",
                      "description": "Per condition: reference, condition text, status, note"
                    },
                    "upe_group_conditions": {
                      "type": "array",
                      "description": "Per condition: reference, condition text, status, note"
                    },
                    "sbs_regime_conditions": {
                      "type": "array",
                      "description": "The four Qualified SbS Regime conditions, Ch5 box item 3"
                    },
                    "upe_regime_conditions": {
                      "type": "array",
                      "description": "The Qualified UPE Regime conditions, Ch5 paragraph 34 box item 2 and paragraphs 37 to 38"
                    },
                    "domestic": {
                      "type": "array",
                      "description": "The three eligible domestic tax system requirements, Ch5 box item 4"
                    },
                    "worldwide": {
                      "type": "array",
                      "description": "The five eligible worldwide tax system requirements, Ch5 box item 5"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "classify_pillar_two_side_by_side_scope",
        "x-tool-url": "https://ainumbers.co/tools/627-pillar-two-side-by-side-scope-classifier.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/verify_x402_payment_envelope": {
      "post": {
        "operationId": "verify_x402_payment_envelope",
        "summary": "x402 Payment Envelope Verifier",
        "description": "Offline verifier for x402 PaymentPayload envelopes (the exact-scheme EIP-3009-style payload shape). Checks header well-formedness (x402Version, scheme, network), the authorization sub-object's required fields, and the signature's structural shape, and -- when a PaymentRequirements body is also pasted -- checks amount/asset/recipient consistency between the two documents. Never recovers a signer address or claims a signature cryptographically verifies; that recovery is art-591-x402-signer-recovery-verifier's job, cited not duplicated. Never originates, funds, or settles a payment. Zero network calls.\n\n**Tool URL:** https://ainumbers.co/tools/628-x402-payment-envelope-verifier.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "x402",
          "PaymentPayload",
          "PaymentRequirements",
          "EIP-3009",
          "envelope verifier",
          "offline verifier",
          "airgapped",
          "zero network",
          "zero-PII"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "payment_payload": {
                    "type": "object"
                  },
                  "payment_requirements": {
                    "type": "object"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "$schema": "http://json-schema.org/draft-07/schema#",
                  "type": "object",
                  "properties": {
                    "verification_report": {
                      "type": "object",
                      "description": "verdict, per-check pass/fail list, and whether a PaymentRequirements was paired for cross-consistency checks"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "verify_x402_payment_envelope",
        "x-tool-url": "https://ainumbers.co/tools/628-x402-payment-envelope-verifier.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/verify_vpsf_claim_composite": {
      "post": {
        "operationId": "verify_vpsf_claim_composite",
        "summary": "VPSF Claim Algebra Verifier",
        "description": "Verifies x402 VPSF Payment Claim composites (conjunction, implication, aggregation, selective disclosure, revocation) over the four canonical Payment Claim types (PaymentIntent, SettlementReceipt, RefundClaim, DelegationGrant), entirely client-side. Recomputes every JCS Preimage Hash via RFC 8785 canonicalisation and SHA-256, resolves component claims against a user-supplied manifest, and applies each operator's algebraic rules: vacuous-truth rejection for Implication, non-idempotent non-nestable Revocation, sorted-operand homogeneous-currency Aggregation with recomputed totals, and commitment recomputation for Selective Disclosure.\n\n**Tool URL:** https://ainumbers.co/tools/629-vpsf-claim-verifier.html",
        "tags": [
          "x402",
          "VPSF",
          "claim algebra",
          "PaymentIntent",
          "SettlementReceipt",
          "RefundClaim",
          "DelegationGrant",
          "conjunction",
          "implication",
          "aggregation",
          "selective disclosure",
          "revocation",
          "JCS",
          "RFC 8785",
          "offline verifier"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "claims",
                  "composite"
                ],
                "properties": {
                  "claims": {
                    "type": "array",
                    "description": "x402 Payment Claim objects"
                  },
                  "composite": {
                    "type": "object",
                    "description": "VPSF operator composite over the claims"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ALL_PASS": {
                      "type": "boolean"
                    },
                    "operator": {
                      "type": "string"
                    },
                    "hash": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "children": {
                      "type": "array",
                      "items": {
                        "type": "object"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "verify_vpsf_claim_composite",
        "x-tool-url": "https://ainumbers.co/tools/629-vpsf-claim-verifier.html",
        "x-source": "manifest"
      }
    },
    "/v1/tools/tokenized_asset_compliance": {
      "post": {
        "operationId": "tokenized_asset_compliance",
        "summary": "Tool 63 — Tokenized Asset Compliance Pre-Checker",
        "description": "Static analysis of ERC-3643 (T-REX) and ERC-1400 token contract metadata JSON. Checks identityRegistry, compliance contract, claimTopic list, forced transfer, recovery address, partition restrictions, and jurisdictional compliance matrix (ESMA/SEC/SAMA/MAS). Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/63-tokenized-asset-compliance.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "tokenStd": {
                    "type": "string"
                  },
                  "juris": {
                    "type": "string"
                  },
                  "metaInput": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "tokenized_asset_compliance",
        "x-tool-url": "https://ainumbers.co/tools/63-tokenized-asset-compliance.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/emit_x402_spendevidence_vpsf_claims": {
      "post": {
        "operationId": "emit_x402_spendevidence_vpsf_claims",
        "summary": "x402 Spend-Evidence VPSF Bridge",
        "description": "Renders the x402-spend-evidence chain's assembled x402_spend_evidence pack (EIP-712 digest recompute, ECDSA signer recovery, domain/nonce/window check) as a VPSF SettlementReceipt + DelegationGrant Payment Claim pair, JCS-hashed via RFC 8785 canonicalisation and SHA-256, joined by a Conjunction composite. Verifiable offline by any VPSF-conformant verifier, including this suite's own VPSF Claim Algebra Verifier. Structural evidence only: never a settlement-finality claim.\n\n**Tool URL:** https://ainumbers.co/tools/630-x402-spendevidence-vpsf-bridge.html",
        "tags": [
          "x402",
          "VPSF",
          "DelegationGrant",
          "SettlementReceipt",
          "conjunction",
          "JCS",
          "RFC 8785",
          "spend evidence",
          "EIP-712",
          "EIP-3009",
          "agentic commerce"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "spend_evidence_pack",
                  "execution_hash_of_origin"
                ],
                "properties": {
                  "spend_evidence_pack": {
                    "type": "object",
                    "description": "x402_spend_evidence pack"
                  },
                  "execution_hash_of_origin": {
                    "type": "string",
                    "description": "origin chain-step execution_hash"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "delegation_grant": {
                      "type": "object"
                    },
                    "settlement_receipt": {
                      "type": "object"
                    },
                    "composite": {
                      "type": "object"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "emit_x402_spendevidence_vpsf_claims",
        "x-tool-url": "https://ainumbers.co/tools/630-x402-spendevidence-vpsf-bridge.html",
        "x-source": "manifest"
      }
    },
    "/v1/tools/chain_privacy_topology": {
      "post": {
        "operationId": "chain_privacy_topology",
        "summary": "Tool 64 — Chain Privacy Topology Visualizer",
        "description": "Visualize Hyperledger Fabric PDC topology and Canton sub-transaction privacy models. Parse configtx.yaml PDC definitions or Canton party-to-participant mapping to produce a color-coded visibility heatmap: teal=fully private, amber=partially visible, red=overexposed. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/64-chain-privacy-topology.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "platform": {
                    "type": "string"
                  },
                  "configInput": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "chain_privacy_topology",
        "x-tool-url": "https://ainumbers.co/tools/64-chain-privacy-topology.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/settlement_finality_auditor": {
      "post": {
        "operationId": "settlement_finality_auditor",
        "summary": "Tool 65 — Cross-Rail Settlement Finality Auditor",
        "description": "Compare operational vs legal finality timelines across RTGS, real-time, and tokenized payment rails. Counterparty exposure window calculator. Covers Fedwire, TARGET2, FedNow, RTP, Fnality, mBridge, and more.\n\n**Tool URL:** https://ainumbers.co/tools/65-settlement-finality-auditor.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "txnAmount": {
                    "type": "string"
                  },
                  "defaultProb": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "settlement_finality_auditor",
        "x-tool-url": "https://ainumbers.co/tools/65-settlement-finality-auditor.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/rwa_tokenization_cost_model": {
      "post": {
        "operationId": "rwa_tokenization_cost_model",
        "summary": "Tool 66 — RWA Tokenization Cost Model",
        "description": "5-year TCO model for tokenizing real-world assets vs. traditional settlement. Compare bond, MMF, repo, and trade receivable tokenization costs across Corda, Canton, Fabric, and public EVM. Break-even analysis. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/66-rwa-tokenization-cost-model.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "assetClass": {
                    "type": "string"
                  },
                  "notional": {
                    "type": "string"
                  },
                  "investors": {
                    "type": "string"
                  },
                  "platform": {
                    "type": "string"
                  },
                  "custody": {
                    "type": "string"
                  },
                  "settlFreq": {
                    "type": "string"
                  },
                  "txnCount": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "rwa_tokenization_cost_model",
        "x-tool-url": "https://ainumbers.co/tools/66-rwa-tokenization-cost-model.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/dlt_tco_calculator": {
      "post": {
        "operationId": "dlt_tco_calculator",
        "summary": "Tool 67 — DLT Platform TCO Calculator",
        "description": "3-year total cost of ownership comparison across Hyperledger Fabric, Hyperledger Besu, R3 Corda, and Digital Asset Canton. Infrastructure, developer, and support cost modelling. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/67-dlt-tco-calculator.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "nodes": {
                    "type": "string"
                  },
                  "regions": {
                    "type": "string"
                  },
                  "tps": {
                    "type": "string"
                  },
                  "devFTE": {
                    "type": "string"
                  },
                  "support": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "dlt_tco_calculator",
        "x-tool-url": "https://ainumbers.co/tools/67-dlt-tco-calculator.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/dlt_platform_comparator": {
      "post": {
        "operationId": "dlt_platform_comparator",
        "summary": "Tool 68 — Enterprise DLT Platform Comparator",
        "description": "Static reference comparison of Hyperledger Fabric, Hyperledger Besu, R3 Corda, and Digital Asset Canton across 10 enterprise dimensions. Platform Narrative generated client-side. Platform-neutral. Includes Contour failure case study. Last reviewed: May 2026.\n\n**Tool URL:** https://ainumbers.co/tools/68-dlt-platform-comparator.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "dlt_platform_comparator",
        "x-tool-url": "https://ainumbers.co/tools/68-dlt-platform-comparator.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/dlt_privacy_selector": {
      "post": {
        "operationId": "dlt_privacy_selector",
        "summary": "Tool 69 — DLT Privacy Model Selector",
        "description": "Decision-tree questionnaire (10 questions) recommending the optimal DLT privacy model: Fabric PDC, Fabric channels, Corda confidential transactions, Canton sub-transaction privacy, or Besu private transaction manager. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/69-dlt-privacy-selector.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "dlt_privacy_selector",
        "x-tool-url": "https://ainumbers.co/tools/69-dlt-privacy-selector.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/node_topology_modeler": {
      "post": {
        "operationId": "node_topology_modeler",
        "summary": "Tool 70 — Node Role & Trust Boundary Modeler",
        "description": "Interactive SVG node topology for permissioned DLT networks. Configure platform, node count, consensus type, and regions to generate a visual architecture diagram with quorum health check, single-point-of-failure flags, and a board-ready architecture brief. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/70-node-topology-modeler.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "platform": {
                    "type": "string"
                  },
                  "nodeCount": {
                    "type": "string"
                  },
                  "regions": {
                    "type": "string"
                  },
                  "showBoundaries": {
                    "type": "string"
                  },
                  "showLabels": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "node_topology_modeler",
        "x-tool-url": "https://ainumbers.co/tools/70-node-topology-modeler.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/dlt_guardrail_builder": {
      "post": {
        "operationId": "dlt_guardrail_builder",
        "summary": "Tool 71 — DLT Smart Contract Guardrail Builder",
        "description": "Programmable settlement logic guardrail generator. Input spend caps, counterparty allowlists, settlement windows, escalation triggers, and N-of-M approval requirements. Generates Policy Mandate JSON, Solidity stub (Besu), Kotlin CorDapp stub (Corda), and SVG approval workflow DAG. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/71-dlt-guardrail-builder.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "spendCapTxn": {
                    "type": "string"
                  },
                  "spendCapDay": {
                    "type": "string"
                  },
                  "allowlist": {
                    "type": "string"
                  },
                  "settlWindow": {
                    "type": "string"
                  },
                  "escalation": {
                    "type": "string"
                  },
                  "approvalN": {
                    "type": "string"
                  },
                  "approvalM": {
                    "type": "string"
                  },
                  "platform": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "dlt_guardrail_builder",
        "x-tool-url": "https://ainumbers.co/tools/71-dlt-guardrail-builder.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/dlt_readiness_checklist": {
      "post": {
        "operationId": "dlt_readiness_checklist",
        "summary": "Tool 72 — Governance, Finality & Operational Readiness Checklist",
        "description": "5-step wizard generating a governance, finality, operational, and regulatory readiness checklist for enterprise DLT deployment. Select jurisdiction, network type, and asset class. Export Markdown report matching Tool 40 format. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/72-dlt-readiness-checklist.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "jurisSelect": {
                    "type": "string"
                  },
                  "netType": {
                    "type": "string"
                  },
                  "assetClass": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "dlt_readiness_checklist",
        "x-tool-url": "https://ainumbers.co/tools/72-dlt-readiness-checklist.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/dlt_decision_lab": {
      "post": {
        "operationId": "dlt_decision_lab",
        "summary": "Tool 73 — Enterprise DLT Decision Lab",
        "description": "Five-stage unified decision shell: Use Case → Platform Comparison → Privacy Architecture → Node Topology → Governance. AI generates Nygard ADR rationale and consequences. Board-ready Architecture Decision Record export. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/73-dlt-decision-lab.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "dlt_decision_lab",
        "x-tool-url": "https://ainumbers.co/tools/73-dlt-decision-lab.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/dlt_settlement_verifier": {
      "post": {
        "operationId": "dlt_settlement_verifier",
        "summary": "Tool 74 — DLT Settlement Verifier",
        "description": "Paste Corda or Canton settlement transaction JSON to decode state machine transitions, verify WebCrypto signatures, map ISO 20022 fields, and verify iso20022Hash (keccak256 vs SHA-256). Pass/fail report with Policy Mandate. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/74-dlt-settlement-verifier.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "platform": {
                    "type": "string"
                  },
                  "txInput": {
                    "type": "string"
                  },
                  "expectedHash": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "dlt_settlement_verifier",
        "x-tool-url": "https://ainumbers.co/tools/74-dlt-settlement-verifier.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/stablecoin_reserve_auditor": {
      "post": {
        "operationId": "stablecoin_reserve_auditor",
        "summary": "Tool 75 — Stablecoin Reserve & Peg Health Auditor",
        "description": "Client-side stablecoin reserve composition analyzer and peg stress-testing engine. Model reserve health for USDT, USDC, DAI, PYUSD, FDUSD, and EURC. Stress-test peg stability under devaluation shocks, bank-run scenarios, and liquidity crunches. Regulatory compliance mapping across MiCA, US GENIUS Act, SAMA, CBUAE, and MAS. Zero PII. No install.\n\n**Tool URL:** https://ainumbers.co/tools/75-stablecoin-reserve-auditor.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "templateSelect": {
                    "type": "string"
                  },
                  "coinName": {
                    "type": "string"
                  },
                  "supply": {
                    "type": "string"
                  },
                  "redemptSlider": {
                    "type": "string"
                  },
                  "sl_cash": {
                    "type": "string",
                    "description": "Reserve allocation (%): Cash & bank deposits"
                  },
                  "sl_mmf": {
                    "type": "string",
                    "description": "Reserve allocation (%): Money-market funds / T-bills"
                  },
                  "sl_crypto": {
                    "type": "string",
                    "description": "Reserve allocation (%): Crypto assets"
                  },
                  "sl_loans": {
                    "type": "string",
                    "description": "Reserve allocation (%): Loans & receivables"
                  },
                  "sl_other": {
                    "type": "string",
                    "description": "Reserve allocation (%): Other assets"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "stablecoin_reserve_auditor",
        "x-tool-url": "https://ainumbers.co/tools/75-stablecoin-reserve-auditor.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/fx_hedge_optimizer": {
      "post": {
        "operationId": "fx_hedge_optimizer",
        "summary": "Tool 76 — Cross-Border FX Hedge Optimizer & All-in Cost Simulator",
        "description": "Model all-in costs for cross-border B2B payments across SWIFT, fintech aggregators, stablecoin conduits, and tokenized A2A rails. Embedded corridor data for 20 currency pairs. FX exposure at risk, hedge breakevens, board-ready treasury memo. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/76-fx-hedge-optimizer.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "sendCcy": {
                    "type": "string"
                  },
                  "recvCcy": {
                    "type": "string"
                  },
                  "notional": {
                    "type": "string"
                  },
                  "spotRate": {
                    "type": "string"
                  },
                  "freq": {
                    "type": "string"
                  },
                  "coc": {
                    "type": "string"
                  },
                  "naturalHedge": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "fx_hedge_optimizer",
        "x-tool-url": "https://ainumbers.co/tools/76-fx-hedge-optimizer.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/iso_truncation_auditor": {
      "post": {
        "operationId": "iso_truncation_auditor",
        "summary": "Tool 77 — ISO 20022 Data Truncation & Address Auditor",
        "description": "Detect silent data loss in ISO 20022 MX payment payloads. Identify XML fields exceeding legacy MT character limits and audit postal addresses against the November 2026 SWIFT/EPC structured address mandate. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/77-iso-truncation-auditor.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "xmlInput": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "iso_truncation_auditor",
        "x-tool-url": "https://ainumbers.co/tools/77-iso-truncation-auditor.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/recommend_payment_rail": {
      "post": {
        "operationId": "recommend_payment_rail",
        "summary": "Smart Routing Advisor — Payment Rail Decision Engine",
        "description": "7-step wizard that scores ACH, FedNow, RTP, Fedwire, SWIFT, SEPA, UK FPS, PIX, and UPI across speed, cost, finality, reach, and revocability to recommend the optimal payment rail for a given scenario.\n\n**Tool URL:** https://ainumbers.co/tools/78-smart-routing-advisor.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "payment rails",
          "routing",
          "ACH",
          "FedNow",
          "SWIFT",
          "SEPA",
          "decision engine"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "amount",
                  "currency",
                  "sendCountry",
                  "recvCountry",
                  "urgency"
                ],
                "properties": {
                  "amount": {
                    "type": "number"
                  },
                  "currency": {
                    "type": "string"
                  },
                  "sendCountry": {
                    "type": "string"
                  },
                  "recvCountry": {
                    "type": "string"
                  },
                  "urgency": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "recommendedRail": {
                      "type": "string"
                    },
                    "compositeScore": {
                      "type": "number"
                    },
                    "settlementWindow": {
                      "type": "string"
                    },
                    "rankedRails": {
                      "type": "array",
                      "items": {
                        "type": "object"
                      }
                    },
                    "filteredRails": {
                      "type": "array",
                      "items": {
                        "type": "object"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "recommend_payment_rail",
        "x-tool-url": "https://ainumbers.co/tools/78-smart-routing-advisor.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/dynamic_discounting": {
      "post": {
        "operationId": "dynamic_discounting",
        "summary": "Tool 79 — Dynamic Discounting &amp; Working Capital Optimizer",
        "description": "Evaluate whether paying supplier invoices early captures positive economic value. Single invoice mode and portfolio optimizer. Calculates annualized return, net benefit, DPO impact, and foregone yield. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/79-dynamic-discounting.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "coc": {
                    "type": "string"
                  },
                  "termStr": {
                    "type": "string"
                  },
                  "invAmount": {
                    "type": "string"
                  },
                  "discPct": {
                    "type": "string"
                  },
                  "discDays": {
                    "type": "string"
                  },
                  "netDays": {
                    "type": "string"
                  },
                  "cashBuffer": {
                    "type": "string"
                  },
                  "portfolio-budget": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "dynamic_discounting",
        "x-tool-url": "https://ainumbers.co/tools/79-dynamic-discounting.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/investigate_payment_fraud": {
      "post": {
        "operationId": "investigate_payment_fraud",
        "summary": "Payment Fraud Investigation Decision Lab",
        "description": "Five-stage fraud investigation workflow: Intake & Validation → Entity Intelligence → Risk Scoring → Compliance Mapping → Resolution & Reporting. Outputs fraud score, AML rules, EBA typology, SAR narrative, and AP2 investigation mandate.\n\n**Tool URL:** https://ainumbers.co/tools/80-fraud-investigation-lab.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "fraud",
          "AML",
          "SAR",
          "NACHA",
          "BSA",
          "investigation",
          "chargeback"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "fileType",
                  "amount"
                ],
                "properties": {
                  "fileType": {
                    "type": "string"
                  },
                  "amount": {
                    "type": "number"
                  },
                  "jurisdiction": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "investigationId": {
                      "type": "string"
                    },
                    "fraudScore": {
                      "type": "number",
                      "minimum": 0,
                      "maximum": 100
                    },
                    "riskBand": {
                      "type": "string"
                    },
                    "sarRequired": {
                      "type": "boolean"
                    },
                    "chargebackPackageReady": {
                      "type": "boolean"
                    },
                    "sarNarrativeDraft": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "investigate_payment_fraud",
        "x-tool-url": "https://ainumbers.co/tools/80-fraud-investigation-lab.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/audit_iso20022_migration": {
      "post": {
        "operationId": "audit_iso20022_migration",
        "summary": "ISO 20022 Migration Navigator",
        "description": "Four-stage ISO 20022 migration tool: address truncation audit → structured address parser → rail readiness scoring → liquidity impact calculator. Produces a migration memo and AP2 readiness mandate.\n\n**Tool URL:** https://ainumbers.co/tools/81-iso20022-migration-navigator.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "ISO 20022",
          "migration",
          "SWIFT CBPR+",
          "pacs.008",
          "address",
          "truncation",
          "liquidity"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "messageType",
                  "corridor"
                ],
                "properties": {
                  "messageType": {
                    "type": "string"
                  },
                  "corridor": {
                    "type": "string"
                  },
                  "institutionType": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "readinessGrade": {
                      "type": "string",
                      "enum": [
                        "READY",
                        "AT RISK",
                        "NOT READY",
                        "INCOMPLETE"
                      ]
                    },
                    "truncationRisk": {
                      "type": "string",
                      "enum": [
                        "HIGH",
                        "LOW"
                      ]
                    },
                    "silentLossDetected": {
                      "type": "boolean"
                    },
                    "recommendedRail": {
                      "type": "string"
                    },
                    "nov2026Ready": {
                      "type": "boolean"
                    },
                    "netBenefitPerAnnum": {
                      "type": "number"
                    },
                    "migrationMemoGenerated": {
                      "type": "boolean"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "audit_iso20022_migration",
        "x-tool-url": "https://ainumbers.co/tools/81-iso20022-migration-navigator.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/optimize_a2a_rail": {
      "post": {
        "operationId": "optimize_a2a_rail",
        "summary": "A2A Rail Optimization Command Center",
        "description": "Five-stage A2A rail evaluation: rail recommendation → fee modelling → liquidity impact → compliance mapping → NPV/IRR business case. Produces an Nygard ADR implementation memo and AP2 rail mandate.\n\n**Tool URL:** https://ainumbers.co/tools/82-a2a-rail-command-center.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "A2A",
          "rail",
          "FedNow",
          "RTP",
          "ACH",
          "SEPA",
          "optimization",
          "NPV",
          "IRR"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "annualVolume",
                  "currentRail"
                ],
                "properties": {
                  "annualVolume": {
                    "type": "number"
                  },
                  "currentRail": {
                    "type": "string"
                  },
                  "primaryDriver": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "recommended_rail": {
                      "type": "string"
                    },
                    "selected_rail": {
                      "type": "string"
                    },
                    "annual_saving": {
                      "type": "number"
                    },
                    "net_liquidity_benefit": {
                      "type": "number"
                    },
                    "npv": {
                      "type": "number"
                    },
                    "irr": {
                      "type": "number"
                    },
                    "payback_months": {
                      "type": "number"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "optimize_a2a_rail",
        "x-tool-url": "https://ainumbers.co/tools/82-a2a-rail-command-center.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/analyse_treasury_payment_opportunity": {
      "post": {
        "operationId": "analyse_treasury_payment_opportunity",
        "summary": "Treasury Operations Decision Lab",
        "description": "Four-stage treasury analysis: business context → payment fee modelling (interchange vs A2A) → liquidity & FX impact → leakage & chargeback recovery. Outputs total payment opportunity cost and a CFO-ready memo.\n\n**Tool URL:** https://ainumbers.co/tools/83-treasury-decision-lab.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "treasury",
          "interchange",
          "A2A",
          "liquidity",
          "FX",
          "chargeback",
          "CFO memo"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "annualVolume",
                  "interchange",
                  "rail"
                ],
                "properties": {
                  "annualVolume": {
                    "type": "number"
                  },
                  "interchange": {
                    "type": "string"
                  },
                  "rail": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "annual_fee_total": {
                      "type": "number"
                    },
                    "annual_fee_saving": {
                      "type": "number"
                    },
                    "idle_capital_cost": {
                      "type": "number"
                    },
                    "idle_saving": {
                      "type": "number"
                    },
                    "total_leakage": {
                      "type": "number"
                    },
                    "total_recovery": {
                      "type": "number"
                    },
                    "total_opportunity": {
                      "type": "number"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "analyse_treasury_payment_opportunity",
        "x-tool-url": "https://ainumbers.co/tools/83-treasury-decision-lab.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/plan_a2a_migration": {
      "post": {
        "operationId": "plan_a2a_migration",
        "summary": "A2A Real-Time Migration Lab",
        "description": "End-to-end A2A rail migration workbench: rail fit scoring → prefunding liquidity modelling → compliance configuration → synthetic test data generation → reconciliation configuration. Outputs an implementation playbook and AP2 migration mandate.\n\n**Tool URL:** https://ainumbers.co/tools/84-a2a-migration-lab.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "A2A",
          "migration",
          "FedNow",
          "RTP",
          "liquidity",
          "prefunding",
          "compliance",
          "test data"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "rail",
                  "annualVol",
                  "avgTxn"
                ],
                "properties": {
                  "rail": {
                    "type": "string"
                  },
                  "annualVol": {
                    "type": "number"
                  },
                  "avgTxn": {
                    "type": "number"
                  },
                  "driver": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "rail_fit_score": {
                      "type": "number"
                    },
                    "playbook": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "plan_a2a_migration",
        "x-tool-url": "https://ainumbers.co/tools/84-a2a-migration-lab.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/optimise_card_economics": {
      "post": {
        "operationId": "optimise_card_economics",
        "summary": "Merchant Card Economics Optimizer",
        "description": "Four-stage card cost analysis: merchant profile → MCC intelligence & chargeback risk → interchange optimisation (VDCAP, surcharging, LCR, A2A) → CFO memo generation. Outputs total savings breakdown and AP2 cost optimisation mandate.\n\n**Tool URL:** https://ainumbers.co/tools/85-card-economics-optimizer.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "interchange",
          "card",
          "MCC",
          "VDCAP",
          "surcharge",
          "LCR",
          "A2A",
          "chargeback",
          "merchant"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "annualRevenue",
                  "avgTransaction",
                  "pricingModel"
                ],
                "properties": {
                  "annualRevenue": {
                    "type": "number"
                  },
                  "avgTransaction": {
                    "type": "number"
                  },
                  "pricingModel": {
                    "type": "string"
                  },
                  "mccCode": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "blended_interchange_rate": {
                      "type": "number"
                    },
                    "current_annual_cost": {
                      "type": "number"
                    },
                    "optimized_annual_cost": {
                      "type": "number"
                    },
                    "total_annual_savings": {
                      "type": "number"
                    },
                    "vdcap_compliant": {
                      "type": "boolean"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "optimise_card_economics",
        "x-tool-url": "https://ainumbers.co/tools/85-card-economics-optimizer.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/simulate_startup_runway": {
      "post": {
        "operationId": "simulate_startup_runway",
        "summary": "Startup Survival — Runway & Trajectory Simulator",
        "description": "Models startup cash runway under current and optimised burn/revenue scenarios. Calculates zero-cash date, net burn, and month-by-month trajectory. Supports scenario comparison and produces an AP2 financial health mandate.\n\n**Tool URL:** https://ainumbers.co/tools/87-runway-simulator.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "startup",
          "runway",
          "burn rate",
          "cash",
          "forecast",
          "scenario",
          "founder"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "cashBalance",
                  "monthlyRevenue",
                  "monthlyBurn"
                ],
                "properties": {
                  "cashBalance": {
                    "type": "number"
                  },
                  "monthlyRevenue": {
                    "type": "number"
                  },
                  "monthlyBurn": {
                    "type": "number"
                  },
                  "growthRatePct": {
                    "type": "number"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "current_runway_months": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "current_zero_date": {
                      "type": "string"
                    },
                    "optimised_runway_months": {
                      "type": [
                        "number",
                        "string"
                      ]
                    },
                    "optimised_zero_date": {
                      "type": "string"
                    },
                    "net_burn_per_month": {
                      "type": "number"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "simulate_startup_runway",
        "x-tool-url": "https://ainumbers.co/tools/87-runway-simulator.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/assess_compliance_readiness": {
      "post": {
        "operationId": "assess_compliance_readiness",
        "summary": "Compliance Readiness Assessment",
        "description": "Maps regulatory requirements across jurisdictions (UK PSD2, EU PSD3, US CFPB 1033, AU CDR, SEPA) against entity type, product type, and self-assessed posture. Scores readiness, highlights critical gaps, and exports an AP2 compliance mandate.\n\n**Tool URL:** https://ainumbers.co/tools/88-compliance-readiness.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance",
          "PSD2",
          "PSD3",
          "CFPB 1033",
          "CDR",
          "SEPA",
          "open banking",
          "readiness"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "jurisdictions",
                  "entityType",
                  "productType"
                ],
                "properties": {
                  "jurisdictions": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "entityType": {
                    "type": "string"
                  },
                  "productType": {
                    "type": "string"
                  },
                  "posture": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "readiness_score": {
                      "type": "number",
                      "minimum": 0,
                      "maximum": 100
                    },
                    "requirement_count": {
                      "type": "number"
                    },
                    "pass_count": {
                      "type": "number"
                    },
                    "partial_count": {
                      "type": "number"
                    },
                    "fail_count": {
                      "type": "number"
                    },
                    "critical_gaps": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "assess_compliance_readiness",
        "x-tool-url": "https://ainumbers.co/tools/88-compliance-readiness.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/optimise_working_capital": {
      "post": {
        "operationId": "optimise_working_capital",
        "summary": "Working Capital Cycle Optimizer & CCC Stress Lab",
        "description": "Models the Cash Conversion Cycle (DSO, DIO, DPO) under baseline and stress scenarios. Ranks permutations by cash release, projects 30-day cash gap, and outputs a CFO-ready AP2 treasury mandate.\n\n**Tool URL:** https://ainumbers.co/tools/89-working-capital-optimizer.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "working capital",
          "CCC",
          "DSO",
          "DIO",
          "DPO",
          "liquidity",
          "treasury"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "ar",
                  "ap",
                  "inv"
                ],
                "properties": {
                  "ar": {
                    "type": "object"
                  },
                  "ap": {
                    "type": "object"
                  },
                  "inv": {
                    "type": "object"
                  },
                  "scenario": {
                    "type": "object"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "baseCCC": {
                      "type": "number",
                      "description": "Baseline CCC in days"
                    },
                    "scenCCC": {
                      "type": "number",
                      "description": "Optimised CCC in days"
                    },
                    "cashReleased": {
                      "type": "number",
                      "description": "Cash released in USD"
                    },
                    "dso": {
                      "type": "number"
                    },
                    "dpo": {
                      "type": "number"
                    },
                    "dio": {
                      "type": "number"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "optimise_working_capital",
        "x-tool-url": "https://ainumbers.co/tools/89-working-capital-optimizer.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/consent_dashboard_builder": {
      "post": {
        "operationId": "consent_dashboard_builder",
        "summary": "Open Banking Consent & Permission Dashboard Builder",
        "description": "Design and preview Open Banking consent dashboards for UK OBIE, EU PSD3/PSR, and US CFPB 1033. Generate compliance checklists and export to SVG, Markdown, or JSON. Zero PII, browser-only.\n\n**Tool URL:** https://ainumbers.co/tools/91-consent-dashboard-builder.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "tppName": {
                    "type": "string"
                  },
                  "tppReg": {
                    "type": "string"
                  },
                  "tppType": {
                    "type": "string"
                  },
                  "expiryDate": {
                    "type": "string"
                  },
                  "accessFreq": {
                    "type": "string"
                  }
                },
                "patternProperties": {
                  "^scope_[a-z_]+$": {
                    "type": "string",
                    "description": "Consent scope toggle (e.g. scope_balances, scope_tx_credits, scope_standing)"
                  },
                  "^chk_[a-z0-9_]+_\\d+_\\d+$": {
                    "type": "string",
                    "description": "Standards checklist checkbox (chk_<standard>_<group>_<item>)"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "consent_dashboard_builder",
        "x-tool-url": "https://ainumbers.co/tools/91-consent-dashboard-builder.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/sca_exemption_mapper": {
      "post": {
        "operationId": "sca_exemption_mapper",
        "summary": "Tool 92 — SCA Exemption &amp; Consent Scope Mapper",
        "description": "Calculate SCA exemption eligibility (EBA RTS 2023), map consent scopes across UK OB, EU PSD3, AU CDR, and US CFPB 1033, and generate FAPI 1.0/2.0 JWT payloads. Browser-only, zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/92-sca-exemption-mapper.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "sca-amount": {
                    "type": "string"
                  },
                  "sca-currency": {
                    "type": "string"
                  },
                  "sca-mcc": {
                    "type": "string"
                  },
                  "sca-fraud-rate": {
                    "type": "string"
                  },
                  "scope-source": {
                    "type": "string"
                  },
                  "scope-target": {
                    "type": "string"
                  },
                  "scope-input": {
                    "type": "string"
                  },
                  "fapi-client-id": {
                    "type": "string"
                  },
                  "fapi-redirect": {
                    "type": "string"
                  },
                  "fapi-scopes": {
                    "type": "string"
                  },
                  "fapi-state": {
                    "type": "string"
                  },
                  "fapi-nonce": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "sca_exemption_mapper",
        "x-tool-url": "https://ainumbers.co/tools/92-sca-exemption-mapper.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/vrp_mandate_builder": {
      "post": {
        "operationId": "vrp_mandate_builder",
        "summary": "Tool 93 — VRP Mandate &amp; Sweep Logic Builder",
        "description": "Design VRP mandates, stress-test hard limits, and visualize sweep algorithms for OBIE v3.1.10 and FDX v5.2. Browser-only, zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/93-vrp-mandate-builder.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "debtorAcct": {
                    "type": "string"
                  },
                  "creditorAcct": {
                    "type": "string"
                  },
                  "targetBal": {
                    "type": "string"
                  },
                  "sweepCcy": {
                    "type": "string"
                  },
                  "maxSweep": {
                    "type": "string"
                  },
                  "sweepFreq": {
                    "type": "string"
                  },
                  "sweepMonthly": {
                    "type": "string"
                  },
                  "merchantName": {
                    "type": "string"
                  },
                  "merchantRef": {
                    "type": "string"
                  },
                  "maxIndiv": {
                    "type": "string"
                  },
                  "commCcy": {
                    "type": "string"
                  },
                  "maxDaily": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "vrp_mandate_builder",
        "x-tool-url": "https://ainumbers.co/tools/93-vrp-mandate-builder.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/ob_transaction_visualizer": {
      "post": {
        "operationId": "ob_transaction_visualizer",
        "summary": "Tool 94 — Open Banking Transaction Visualizer & Ledger",
        "description": "Paste UK OBReadTransaction6 or FDX v5 JSON and instantly see a sortable ledger, cash flow breakdown, MCC category mapping, running balance chart, and schema sanity checks. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/94-ob-transaction-visualizer.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "jsonInput": {
                    "type": "string"
                  },
                  "fileInput": {
                    "type": "string"
                  },
                  "formatSelect": {
                    "type": "string"
                  },
                  "currencyDisplay": {
                    "type": "string"
                  },
                  "dateFormat": {
                    "type": "string"
                  },
                  "ledgerSearch": {
                    "type": "string"
                  },
                  "mccSearch": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "ob_transaction_visualizer",
        "x-tool-url": "https://ainumbers.co/tools/94-ob-transaction-visualizer.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/payment_corridor_optimizer": {
      "post": {
        "operationId": "payment_corridor_optimizer",
        "summary": "Open Banking Payment Corridor Optimizer",
        "description": "Rank A2A payment rails — FedNow, SEPA Instant, SWIFT gpi, Faster Payments, RTP, ACH, PIX, and more — by cost, speed, and compliance for any origin-to-destination corridor. Embedded static fee tables, PSD2/CFPB compliance notes, mock settlement timeline SVG. Browser-only. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/95-payment-corridor-optimizer.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "payment_corridor_optimizer",
        "x-tool-url": "https://ainumbers.co/tools/95-payment-corridor-optimizer.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/consent_receipt_generator": {
      "post": {
        "operationId": "consent_receipt_generator",
        "summary": "Open Banking Consent Receipt Generator + Validator",
        "description": "Generate and validate Open Banking consent receipts for UK OBIE, EU PSD2/PSD3, and US CFPB 1033. Export as JSON or human-readable audit memo. Zero PII, browser-only.\n\n**Tool URL:** https://ainumbers.co/tools/96-consent-receipt-generator.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "tppName": {
                    "type": "string"
                  },
                  "aspspName": {
                    "type": "string"
                  },
                  "consentType": {
                    "type": "string"
                  },
                  "consentStatus": {
                    "type": "string"
                  },
                  "creationDt": {
                    "type": "string"
                  },
                  "expirationDt": {
                    "type": "string"
                  },
                  "txnFromDt": {
                    "type": "string"
                  },
                  "txnToDt": {
                    "type": "string"
                  },
                  "validatorInput": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "consent_receipt_generator",
        "x-tool-url": "https://ainumbers.co/tools/96-consent-receipt-generator.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/validate_fapi_security_headers": {
      "post": {
        "operationId": "validate_fapi_security_headers",
        "summary": "FAPI Security Header & Compliance Validator",
        "description": "Validates HTTP security headers against FAPI 1.0 Advanced and FAPI 2.0 Message Signing standards. Checks for PKCE, DPoP, PAR, mTLS, and required header values. Produces a security compliance report with gap remediation guidance.\n\n**Tool URL:** https://ainumbers.co/tools/97-fapi-security-validator.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "FAPI",
          "security",
          "headers",
          "PKCE",
          "DPoP",
          "PAR",
          "mTLS",
          "open banking",
          "OAuth2"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "headers"
                ],
                "properties": {
                  "headers": {
                    "type": "object"
                  },
                  "standard": {
                    "type": "string",
                    "enum": [
                      "fapi1",
                      "fapi2"
                    ]
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "pass_count": {
                      "type": "number"
                    },
                    "warn_count": {
                      "type": "number"
                    },
                    "fail_count": {
                      "type": "number"
                    },
                    "score": {
                      "type": "number",
                      "minimum": 0,
                      "maximum": 100
                    },
                    "fapi_ready": {
                      "type": "boolean"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "validate_fapi_security_headers",
        "x-tool-url": "https://ainumbers.co/tools/97-fapi-security-validator.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/iso20022_validator": {
      "post": {
        "operationId": "iso20022_validator",
        "summary": "Tool 98 — ISO 20022 Message Validator + Field Explorer",
        "description": "Validate ISO 20022 XML messages (pacs.008, pain.001, camt.053) against embedded schema rules, parse every field with business context, and explore 20+ message types. Client-side only. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/98-iso20022-validator.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "iso20022_validator",
        "x-tool-url": "https://ainumbers.co/tools/98-iso20022-validator.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/a2a_liquidity_simulator": {
      "post": {
        "operationId": "a2a_liquidity_simulator",
        "summary": "A2A Liquidity Simulator — Single & Multi-Rail",
        "description": "Model intraday cash flow and prefunding requirements across FedNow, RTP, ACH, SEPA Instant, PIX, and UPI. Single and multi-rail simulation with overdraft risk, opportunity cost, and routing waterfall. Client-side, zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/a2a-liquidity-simulator.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "a2a_liquidity_simulator",
        "x-tool-url": "https://ainumbers.co/tools/a2a-liquidity-simulator.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/validate_ap2_mandate_chain": {
      "post": {
        "operationId": "validate_ap2_mandate_chain",
        "summary": "AP2 Mandate-Chain Validator",
        "description": "Validates AP2 v0.2 Intent→Cart→Payment mandate trio: signature-chain integrity, scope/limit consistency, TTL/expiry, over-spend detection, Human-Not-Present autonomous-agent flows. Publishes conformance test-vector fixtures.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-01-ap2-mandate-chain-validator.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "TODO_TAGS_REVIEW"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "intent",
                  "payment"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "validation_verdict": {
                      "type": "string"
                    },
                    "checks_run": {
                      "type": "integer"
                    },
                    "failing_checks": {
                      "type": "array"
                    },
                    "warning_checks": {
                      "type": "array"
                    },
                    "mandate_ids": {
                      "type": "object",
                      "properties": {
                        "intent": {
                          "type": "string"
                        },
                        "cart": {
                          "type": "string"
                        },
                        "payment": {
                          "type": "string"
                        }
                      }
                    },
                    "has_cart": {
                      "type": "boolean"
                    },
                    "human_not_present": {
                      "type": "boolean"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "validate_ap2_mandate_chain",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-01-ap2-mandate-chain-validator.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/simulate_spend_policy": {
      "post": {
        "operationId": "simulate_spend_policy",
        "summary": "Agent Spend-Policy Simulator",
        "description": "Simulates thousands of synthetic agent transactions against a user-authored spend policy (per-merchant caps, category allow/deny, velocity limits, cumulative ceilings). Flags scope creep and AP2 v0.2 Human-Not-Present policy-bypass paths.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-02-agent-spend-policy-simulator.html",
        "tags": [
          "TODO_TAGS_REVIEW",
          "TODO_AP2_EXPORT_REVIEW"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "policy"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "bypass_paths_detected": {
                      "type": "array"
                    },
                    "compliance_flags": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "fail_count": {
                      "type": "integer"
                    },
                    "fail_rate_pct": {
                      "type": "number"
                    },
                    "pass_count": {
                      "type": "integer"
                    },
                    "top_fail_reasons": {
                      "type": "object",
                      "properties": {
                        "EXCEEDS_DAILY_LIMIT": {
                          "type": "integer"
                        },
                        "EXCEEDS_MONTHLY_LIMIT": {
                          "type": "integer"
                        },
                        "EXCEEDS_PER_TX_LIMIT": {
                          "type": "integer"
                        }
                      }
                    },
                    "total_approved_spend": {
                      "type": "number"
                    },
                    "total_transactions": {
                      "type": "integer"
                    },
                    "verdict": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "simulate_spend_policy",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-02-agent-spend-policy-simulator.html",
        "x-source": "manifest"
      }
    },
    "/v1/tools/model_x402_settlement": {
      "post": {
        "operationId": "model_x402_settlement",
        "summary": "x402 Settlement Cost & Finality Modeler",
        "description": "Rail-selection and finality recommendation across x402 (HTTP 402), Stripe USDC, card, ACH, and SWIFT. Per-transaction cost, eligibility scoring, micropayment support, cross-border flags. ~69k active agents / 165M+ x402 txns (2026).\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-03-x402-settlement-modeler.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "TODO_TAGS_REVIEW"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "amount_usd": {
                    "type": "number"
                  },
                  "monthly_volume": {
                    "type": "number"
                  },
                  "payment_type": {
                    "type": "string",
                    "enum": [
                      "micropayment",
                      "retail",
                      "b2b",
                      "cross_border"
                    ]
                  },
                  "finality_requirement": {
                    "type": "string",
                    "enum": [
                      "instant",
                      "fast",
                      "minutes",
                      "hours",
                      "days"
                    ]
                  }
                },
                "required": [
                  "amount_usd"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "eligible_rails": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "finality_sec": {
                      "type": "integer"
                    },
                    "monthly_cost_usd": {
                      "type": "integer"
                    },
                    "per_tx_fee_usd": {
                      "type": "number"
                    },
                    "recommended_rail": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "model_x402_settlement",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-03-x402-settlement-modeler.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/classify_dora_incident": {
      "post": {
        "operationId": "classify_dora_incident",
        "summary": "DORA Major-Incident Reporting Threshold Classifier",
        "description": "DORA Article 19/20 reporting determination and reporting-clock start. Clients affected, transaction value, downtime, geographic spread, cross-border component. Fast, deterministic.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-09-dora-incident-classifier.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "DORA",
          "ICT incident",
          "major incident",
          "operational resilience",
          "regulatory reporting"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "incident_type": {
                    "type": "string",
                    "enum": [
                      "ict_outage",
                      "cyber_attack",
                      "data_breach",
                      "third_party_failure",
                      "other"
                    ]
                  },
                  "detection_datetime": {
                    "type": "string",
                    "format": "date-time"
                  },
                  "clients_affected": {
                    "type": "integer"
                  },
                  "total_clients": {
                    "type": "integer"
                  },
                  "transaction_value_eur_millions": {
                    "type": "number"
                  },
                  "outage_duration_minutes": {
                    "type": "integer"
                  },
                  "eu_member_states_affected": {
                    "type": "integer"
                  },
                  "data_loss_occurred": {
                    "type": "boolean"
                  },
                  "critical_function_affected": {
                    "type": "boolean"
                  },
                  "cross_border_payment": {
                    "type": "boolean"
                  }
                },
                "required": [
                  "detection_datetime",
                  "clients_affected",
                  "total_clients",
                  "outage_duration_minutes"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "major_incident": {
                      "type": "boolean"
                    },
                    "determination_code": {
                      "type": "string"
                    },
                    "qualifying_criteria": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "reporting_clock": {
                      "type": "object",
                      "properties": {
                        "detection_datetime": {
                          "type": "string"
                        },
                        "classification_datetime": {
                          "type": "string"
                        },
                        "initial_notification_deadline": {
                          "type": "string"
                        },
                        "intermediate_report_deadline": {
                          "type": "string"
                        },
                        "final_report_deadline": {
                          "type": "string"
                        }
                      }
                    },
                    "entity_type": {
                      "type": "string"
                    },
                    "incident_type": {
                      "type": "string"
                    },
                    "cross_border": {
                      "type": "boolean"
                    },
                    "third_party_ict": {
                      "type": "boolean"
                    },
                    "competent_authority_note": {
                      "type": "string"
                    },
                    "regulatory_framework": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "classify_dora_incident",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-09-dora-incident-classifier.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/score_mcp_server_readiness": {
      "post": {
        "operationId": "score_mcp_server_readiness",
        "summary": "MCP Developer Readiness Scorecard",
        "description": "Rolls up caller-supplied yes/partial/no answers across six MCP ship-readiness sections (tool definitions, server.json/registry, OAuth 2.1, transport security, tool-poisoning hygiene, spec-revision compliance) into an overall 0-100 score and a prioritized gap list. Stage 4 (terminal) of the Agentic Policy Chain. Self-reported rollup; validate each weak section with its own deep-dive tool. Deterministic, zero PII.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-18-mcp-developer-readiness-scorecard.html",
        "tags": [
          "TODO_TAGS_REVIEW",
          "TODO_AP2_EXPORT_REVIEW"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "answers_used": {
                      "type": "object",
                      "properties": {
                        "oauth_aud": {
                          "type": "string"
                        },
                        "oauth_pass": {
                          "type": "string"
                        },
                        "oauth_prm": {
                          "type": "string"
                        },
                        "poison_clean": {
                          "type": "string"
                        },
                        "poison_trust": {
                          "type": "string"
                        },
                        "serverjson_meta": {
                          "type": "string"
                        },
                        "serverjson_name": {
                          "type": "string"
                        },
                        "serverjson_pkg": {
                          "type": "string"
                        },
                        "spec_rev": {
                          "type": "string"
                        },
                        "spec_stateless": {
                          "type": "string"
                        },
                        "tooldef_ann": {
                          "type": "string"
                        },
                        "tooldef_desc": {
                          "type": "string"
                        },
                        "tooldef_schema": {
                          "type": "string"
                        },
                        "transport_bind": {
                          "type": "string"
                        },
                        "transport_origin": {
                          "type": "string"
                        }
                      }
                    },
                    "gaps": {
                      "type": "array"
                    },
                    "gaps_count": {
                      "type": "integer"
                    },
                    "note": {
                      "type": "string"
                    },
                    "overall": {
                      "type": "integer"
                    },
                    "sections": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "name": {
                            "type": "string"
                          },
                          "pct": {
                            "type": "integer"
                          },
                          "tool": {
                            "type": "string"
                          }
                        }
                      }
                    },
                    "verdict": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "score_mcp_server_readiness",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-18-mcp-developer-readiness-scorecard.html",
        "x-source": "manifest"
      }
    },
    "/v1/tools/generate_attribution_string": {
      "post": {
        "operationId": "generate_attribution_string",
        "summary": "Attribution String Generator",
        "description": "Generates a human-readable TASL (Title/Author/Source/License) attribution line plus machine-readable ccREL JSON-LD and RDFa blocks for any Creative Commons licensed work. Source of truth: Creative Commons Rights Expression Language (ccREL) specification. Not legal advice.\n\n**Tool URL:** https://ainumbers.co/tools/",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "title",
                  "creator",
                  "source_url",
                  "license"
                ],
                "properties": {
                  "title": {
                    "type": "string",
                    "description": "Title of the work being licensed"
                  },
                  "creator": {
                    "type": "string",
                    "description": "Name of the creator or rights holder to be credited"
                  },
                  "source_url": {
                    "type": "string",
                    "description": "URL where the work is hosted or originally published"
                  },
                  "license": {
                    "type": "string",
                    "enum": [
                      "CC0-1.0",
                      "CC-BY-4.0",
                      "CC-BY-SA-4.0",
                      "CC-BY-ND-4.0",
                      "CC-BY-NC-4.0",
                      "CC-BY-NC-SA-4.0",
                      "CC-BY-NC-ND-4.0"
                    ],
                    "description": "SPDX license identifier for the Creative Commons license"
                  },
                  "work_url": {
                    "type": "string",
                    "description": "Optional canonical URL for the work (used as cc:attributionURL in ccREL)"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "Tool execution result payload"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "generate_attribution_string",
        "x-tool-url": "https://ainumbers.co/tools/",
        "x-source": "manifest"
      }
    },
    "/v1/tools/validate_royalty_split": {
      "post": {
        "operationId": "validate_royalty_split",
        "summary": "Royalty Split Validator",
        "description": "Validates on-chain royalty split configurations against ERC-2981 (single-receiver) and 0xSplits (multi-recipient) rules. Checks Ethereum address format, per-recipient share range, sum integrity, duplicate detection, and optional per-recipient cap. Returns a deterministic config fingerprint for audit trails. Not legal advice.\n\n**Tool URL:** https://ainumbers.co/tools/",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "entries": {
                    "type": "array",
                    "description": "Array of {address, basis_points} or {address, percent} objects",
                    "items": {
                      "type": "object",
                      "properties": {
                        "address": {
                          "type": "string",
                          "description": "Ethereum address (0x-prefixed, 40 hex chars)"
                        },
                        "basis_points": {
                          "type": "number",
                          "description": "Share in basis points (0-10000); sum must equal 10000"
                        },
                        "percent": {
                          "type": "number",
                          "description": "Share as percentage (0-100); sum must equal 100"
                        }
                      }
                    }
                  },
                  "config": {
                    "type": "string",
                    "description": "JSON string of entries array (alternative to entries field)"
                  },
                  "cap_bps": {
                    "type": "number",
                    "description": "Optional per-recipient cap in basis points (0-10000)"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "Tool execution result payload"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "validate_royalty_split",
        "x-tool-url": "https://ainumbers.co/tools/",
        "x-source": "manifest"
      }
    },
    "/v1/tools/validate_nft_metadata_art209": {
      "post": {
        "operationId": "validate_nft_metadata_art209",
        "summary": "NFT Metadata Validator",
        "description": "Validates NFT metadata against ERC-721 and ERC-1155 required fields plus OpenSea metadata schema recommendations. Checks required fields (name, description, image), recommended fields (external_url, animation_url, attributes), and license declaration. Returns grouped pass/fail results. Not legal advice.\n\n**Tool URL:** https://ainumbers.co/tools/",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "metadata": {
                    "description": "NFT metadata as a JSON string or object. Required: name, description, image. Recommended: external_url, animation_url, attributes. Optional: license."
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "Tool execution result payload"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "validate_nft_metadata_art209",
        "x-tool-url": "https://ainumbers.co/tools/",
        "x-source": "manifest"
      }
    },
    "/v1/tools/compute_ipfs_cid": {
      "post": {
        "operationId": "compute_ipfs_cid",
        "summary": "IPFS CIDv1 Computer",
        "description": "Computes a deterministic IPFS CIDv1 (SHA-256 multihash, multibase base32) for any text input using a pure-JavaScript SHA-256 implementation. Output is byte-exact with go-ipfs and js-ipfs for the same UTF-8 input. Includes self-verified known test vector.\n\n**Tool URL:** https://ainumbers.co/tools/",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "text": {
                    "type": "string",
                    "description": "Text to compute CIDv1 for (UTF-8 encoded)"
                  },
                  "codec": {
                    "type": "string",
                    "enum": [
                      "raw",
                      "dag-pb"
                    ],
                    "description": "Multicodec: raw (0x55) for arbitrary bytes, dag-pb (0x70) for UnixFS compatibility"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "Tool execution result payload"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "compute_ipfs_cid",
        "x-tool-url": "https://ainumbers.co/tools/",
        "x-source": "manifest"
      }
    },
    "/v1/tools/analyze_prediction_market": {
      "post": {
        "operationId": "analyze_prediction_market",
        "summary": "Prediction Market Analyzer",
        "description": "Analyzes a binary or scalar prediction market position. Computes PnL, Kalshi parabolic fees, implied probability, break-even probability, no-vig fair value, expected value, Kelly criterion sizing, American and decimal odds, Brier score, and log score. Supports Polymarket, Kalshi, CME Event Contracts, and Robinhood. Zero PII. Client-side.\n\n**Tool URL:** https://ainumbers.co/tools/",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "venue": {
                    "type": "string",
                    "description": "polymarket | kalshi | cme | robinhood"
                  },
                  "market_type": {
                    "type": "string",
                    "description": "binary | scalar"
                  },
                  "entry_price": {
                    "type": "number",
                    "description": "Entry price per contract (0-1 for binary, or per unit for scalar)"
                  },
                  "payout": {
                    "type": "number",
                    "description": "Payout per contract on win (typically 1.00 for binary)"
                  },
                  "n_contracts": {
                    "type": "number",
                    "description": "Number of contracts"
                  },
                  "subjective_probability": {
                    "type": "number",
                    "description": "Your probability estimate (0-1)"
                  },
                  "settlement": {
                    "type": "number",
                    "description": "Actual settlement value (binary: 0 or 1; scalar: settlement price)"
                  },
                  "strike": {
                    "type": "number",
                    "description": "Strike price for scalar contracts"
                  },
                  "unit_value": {
                    "type": "number",
                    "description": "Payout per unit above/below strike (scalar mode)"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "Tool execution result payload"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "analyze_prediction_market",
        "x-tool-url": "https://ainumbers.co/tools/",
        "x-source": "manifest"
      }
    },
    "/v1/tools/find_prediction_arbitrage": {
      "post": {
        "operationId": "find_prediction_arbitrage",
        "summary": "Prediction Market Arbitrage Finder",
        "description": "Identifies cross-venue arbitrage opportunities in binary prediction markets. Computes gross spread, per-venue fees (Kalshi parabolic 7%, SX Bet 2%, CME $0.50/ct, Robinhood $0.10/ct), net edge, break-even stake, and max Kelly allocation. Flags positive-edge arb and near-miss near-arb signals. Zero PII. Client-side.\n\n**Tool URL:** https://ainumbers.co/tools/",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "venue_a": {
                    "type": "string",
                    "description": "First venue: polymarket | kalshi | cme | robinhood | sx_bet"
                  },
                  "venue_b": {
                    "type": "string",
                    "description": "Second venue: polymarket | kalshi | cme | robinhood | sx_bet"
                  },
                  "yes_price_a": {
                    "type": "number",
                    "description": "YES price at venue A (0-1)"
                  },
                  "no_price_b": {
                    "type": "number",
                    "description": "NO price at venue B (0-1)"
                  },
                  "stake": {
                    "type": "number",
                    "description": "Stake size per side in USD"
                  },
                  "n_contracts_a": {
                    "type": "number",
                    "description": "Number of contracts at venue A"
                  },
                  "n_contracts_b": {
                    "type": "number",
                    "description": "Number of contracts at venue B"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "Tool execution result payload"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "find_prediction_arbitrage",
        "x-tool-url": "https://ainumbers.co/tools/",
        "x-source": "manifest"
      }
    },
    "/v1/tools/compute_perp_margin": {
      "post": {
        "operationId": "compute_perp_margin",
        "summary": "Perp Liquidation Calculator",
        "description": "Computes liquidation price and margin health for perpetual futures positions. Supports isolated and cross-margin modes across Hyperliquid, dYdX v4, Binance, GMX v2, and Aster. Venue-specific MMR tiers, portfolio margin with spot-hedge offset, and GREEN/AMBER/RED health indicator. Zero PII. Client-side.\n\n**Tool URL:** https://ainumbers.co/tools/",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "venue": {
                    "type": "string",
                    "description": "hyperliquid | binance | dydx_v4 | gmx | aster"
                  },
                  "side": {
                    "type": "string",
                    "description": "long | short"
                  },
                  "mode": {
                    "type": "string",
                    "description": "isolated | cross"
                  },
                  "leverage": {
                    "type": "number",
                    "description": "Leverage multiplier (1-500)"
                  },
                  "entry_price": {
                    "type": "number",
                    "description": "Entry price in USD"
                  },
                  "mark_price": {
                    "type": "number",
                    "description": "Current mark price in USD"
                  },
                  "position_size": {
                    "type": "number",
                    "description": "Position size in base asset units"
                  },
                  "mmr_pct": {
                    "type": "number",
                    "description": "MMR override in % (optional, uses venue default if omitted)"
                  },
                  "spot_offset_usd": {
                    "type": "number",
                    "description": "USD value of hedging spot position (cross mode only)"
                  },
                  "correlation": {
                    "type": "number",
                    "description": "Correlation coefficient between perp and spot hedge (0-1, cross mode only)"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "Tool execution result payload"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "compute_perp_margin",
        "x-tool-url": "https://ainumbers.co/tools/",
        "x-source": "manifest"
      }
    },
    "/v1/tools/model_perp_position": {
      "post": {
        "operationId": "model_perp_position",
        "summary": "Perp Position Lifecycle",
        "description": "Models a full perpetual futures position from open to close. Computes liquidation price, realized PnL (gross and net of fees), cumulative funding impact over the holding period, taker and maker fees at open and close, total net PnL, and margin returned. Hyperliquid hourly funding cadence by default. Zero PII. Client-side.\n\n**Tool URL:** https://ainumbers.co/tools/",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "venue": {
                    "type": "string",
                    "description": "hyperliquid | binance | dydx_v4 | gmx | aster"
                  },
                  "side": {
                    "type": "string",
                    "description": "long | short"
                  },
                  "leverage": {
                    "type": "number",
                    "description": "Leverage multiplier (1-500)"
                  },
                  "entry_price": {
                    "type": "number",
                    "description": "Entry price in USD"
                  },
                  "exit_price": {
                    "type": "number",
                    "description": "Exit price in USD"
                  },
                  "position_size": {
                    "type": "number",
                    "description": "Position size in base asset units"
                  },
                  "open_fee_type": {
                    "type": "string",
                    "description": "taker | maker. Default: taker"
                  },
                  "close_fee_type": {
                    "type": "string",
                    "description": "taker | maker. Default: taker"
                  },
                  "taker_fee_pct": {
                    "type": "number",
                    "description": "Taker fee in % (default 0.055 for Hyperliquid)"
                  },
                  "maker_fee_pct": {
                    "type": "number",
                    "description": "Maker fee in %, negative = rebate (default -0.002)"
                  },
                  "funding_rate_per_interval": {
                    "type": "number",
                    "description": "Funding rate per interval (default 0.0001). Negative = shorts pay longs."
                  },
                  "n_intervals": {
                    "type": "number",
                    "description": "Number of funding intervals (default 24 = 1 day hourly)"
                  },
                  "mmr_pct": {
                    "type": "number",
                    "description": "MMR override in % (optional)"
                  },
                  "open_ts": {
                    "type": "string",
                    "description": "Open timestamp ISO 8601 (static string, default 2026-07-01T00:00:00Z)"
                  },
                  "close_ts": {
                    "type": "string",
                    "description": "Close timestamp ISO 8601 (static string, default 2026-07-02T00:00:00Z)"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "Tool execution result payload"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "model_perp_position",
        "x-tool-url": "https://ainumbers.co/tools/",
        "x-source": "manifest"
      }
    },
    "/v1/tools/run_mcp_deployability_diagnostic": {
      "post": {
        "operationId": "run_mcp_deployability_diagnostic",
        "summary": "MCP Server Deployability Diagnostic",
        "description": "12-question scored diagnostic: graded A–F across tool definitions & schemas, transport & auth, security hygiene, and operations. Single-node ChainGraph (chain_depth: 0). Promoted from guides/mcp-server-deployability-diagnostic.html.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-28-mcp-server-deployability-diagnostic.html",
        "tags": [
          "TODO_TAGS_REVIEW",
          "TODO_AP2_EXPORT_REVIEW"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "all_answered": {
                      "type": "boolean"
                    },
                    "domain_scores": {
                      "type": "object",
                      "properties": {
                        "defs": {
                          "type": "object",
                          "properties": {
                            "label": {
                              "type": "string"
                            },
                            "pct": {
                              "type": "integer"
                            }
                          }
                        },
                        "ops": {
                          "type": "object",
                          "properties": {
                            "label": {
                              "type": "string"
                            },
                            "pct": {
                              "type": "integer"
                            }
                          }
                        },
                        "security": {
                          "type": "object",
                          "properties": {
                            "label": {
                              "type": "string"
                            },
                            "pct": {
                              "type": "integer"
                            }
                          }
                        },
                        "transport": {
                          "type": "object",
                          "properties": {
                            "label": {
                              "type": "string"
                            },
                            "pct": {
                              "type": "integer"
                            }
                          }
                        }
                      }
                    },
                    "gaps": {
                      "type": "array"
                    },
                    "is_deployable": {
                      "type": "boolean"
                    },
                    "score_pct": {
                      "type": "integer"
                    },
                    "verdict": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "run_mcp_deployability_diagnostic",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-28-mcp-server-deployability-diagnostic.html",
        "x-source": "manifest"
      }
    },
    "/v1/tools/run_call_report_edit_checks": {
      "post": {
        "operationId": "run_call_report_edit_checks",
        "summary": "Call Report Published Edit-Check Gate",
        "description": "Runs a curated battery of FFIEC-style published Call Report edit checks -- balance-sheet identity, capital-stack ordering (CET1 <= Tier 1 <= Total capital), ratio-vs-component consistency, cross-schedule entity/period match -- against art-432 (Schedule RC) and art-433 (Schedule RC-R) output payloads, the same class of check FFIEC's own edit-check system runs against filed data before CDR publication. Emits a per-check pass/fail verdict list plus an overall gate_status (auto_pass | review_required) using the §27 Human Accountability gate-policy vocabulary, so this node can sit directly ahead of a §27 dual_control/review_required gate on downstream export or submission-evidence chains. Curated representative battery, not the FFIEC's full published edit-check catalog (thousands of checks) -- does not claim FFIEC edit-check completeness. Not a filer -- produces evidence artifacts only, never a submission.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-434-call-report-edit-check-gate.html",
        "tags": [
          "TODO_TAGS_REVIEW",
          "TODO_AP2_EXPORT_REVIEW"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "all_fatal_passed": {
                      "type": "boolean"
                    },
                    "check_count": {
                      "type": "integer"
                    },
                    "checks": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "description": {
                            "type": "string"
                          },
                          "id": {
                            "type": "string"
                          },
                          "passed": {
                            "type": "boolean"
                          },
                          "severity": {
                            "type": "string"
                          }
                        }
                      }
                    },
                    "coverage_note": {
                      "type": "string"
                    },
                    "entity_id": {
                      "type": "string"
                    },
                    "fatal_failure_count": {
                      "type": "integer"
                    },
                    "gate_status": {
                      "type": "string"
                    },
                    "report_form": {
                      "type": "string"
                    },
                    "reporting_period": {
                      "type": "string"
                    },
                    "rounding_tolerance_usd": {
                      "type": "integer"
                    },
                    "warning_failure_count": {
                      "type": "integer"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "run_call_report_edit_checks",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-434-call-report-edit-check-gate.html",
        "x-source": "manifest"
      }
    },
    "/v1/tools/compose_control_test_evidence": {
      "post": {
        "operationId": "compose_control_test_evidence",
        "summary": "Control-Test Evidence Composer",
        "description": "Composes a SOX 404 / ICFR control-test evidence artifact: reconciles a caller-declared attribute sample (item ids, e.g. from art-458) against a per-item pass/fail test-result set into one test-conclusion record -- sample coverage, exception count vs a caller-set tolerable-deviation threshold, and a test conclusion (operating effectively / exception noted / incomplete). The tester is recorded under the SOX 404 / PCAOB AS 1215 preparer role; every test carries a fixed review_required gate for reviewer sign-off. An exception count above zero flags a deficiency CANDIDATE only -- severity classification and its reason_code are a separate human reviewer approval record, never computed here. Deterministic reconciliation only. Zero network, zero PII.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-461-control-test-evidence-composer.html",
        "tags": [
          "TODO_TAGS_REVIEW",
          "TODO_AP2_EXPORT_REVIEW"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "control_id": {
                      "type": "string"
                    },
                    "coverage_complete": {
                      "type": "boolean"
                    },
                    "deficiency": {
                      "type": "string"
                    },
                    "exception_count": {
                      "type": "integer"
                    },
                    "exception_rate": {
                      "type": "integer"
                    },
                    "extra_results": {
                      "type": "array"
                    },
                    "fail_count": {
                      "type": "integer"
                    },
                    "gate_status": {
                      "type": "string"
                    },
                    "missing_results": {
                      "type": "array"
                    },
                    "not_a_severity_judgment": {
                      "type": "string"
                    },
                    "pass_count": {
                      "type": "integer"
                    },
                    "population_hash": {
                      "type": "string"
                    },
                    "reporting_period": {
                      "type": "string"
                    },
                    "sample_size": {
                      "type": "integer"
                    },
                    "test_conclusion": {
                      "type": "string"
                    },
                    "tested_count": {
                      "type": "integer"
                    },
                    "tester_id": {
                      "type": "string"
                    },
                    "tester_role": {
                      "type": "string"
                    },
                    "tolerable_exception_count": {
                      "type": "integer"
                    },
                    "within_tolerance": {
                      "type": "boolean"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "compose_control_test_evidence",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-461-control-test-evidence-composer.html",
        "x-source": "manifest"
      }
    },
    "/v1/tools/compose_workpaper_bundle": {
      "post": {
        "operationId": "compose_workpaper_bundle",
        "summary": "Workpaper Bundle Composer",
        "description": "Terminal composer for a substantive-procedure evidence bundle: a procedure identifier, a caller-declared population hash, the prior substantive-recalculation kernels' execution-hash artifacts (art-462 JE rule screen, art-463 recalc suite, art-464 confirmation matcher, or any other procedure kernel), an exception list with disposition inputs, and three declared sign-off roles (preparer, reviewer, partner). Mints no new judgment -- it does not re-run upstream kernels, does not recompute the population hash, and does not decide whether an exception is resolved, only whether a disposition was declared for it. Exception disposition is recorded as an approval record with a reason_code, never a silent close. Partner release is single-signer but always tagged gate_status review_required per the §27 Human Accountability vocabulary -- this node records that a release occurred; it does not enforce countersignature. Second of two ARCB-K-2 kernels. NaN-safe. Zero network, zero PII.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-465-workpaper-bundle-composer.html",
        "tags": [
          "TODO_TAGS_REVIEW",
          "TODO_AP2_EXPORT_REVIEW"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "disposed_exception_count": {
                      "type": "integer"
                    },
                    "exception_count": {
                      "type": "integer"
                    },
                    "exceptions": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "disposed_by_role": {
                            "type": "string"
                          },
                          "disposition": {
                            "type": "string"
                          },
                          "item_id": {
                            "type": "string"
                          },
                          "reason_code": {
                            "type": "string"
                          }
                        }
                      }
                    },
                    "kernel_artifact_count": {
                      "type": "integer"
                    },
                    "kernel_artifacts": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "execution_hash": {
                            "type": "string"
                          },
                          "tool_id": {
                            "type": "string"
                          }
                        }
                      }
                    },
                    "malformed_kernel_artifacts": {
                      "type": "array"
                    },
                    "population_hash": {
                      "type": "string"
                    },
                    "procedure_id": {
                      "type": "string"
                    },
                    "roles": {
                      "type": "object",
                      "properties": {
                        "partner": {
                          "type": "object",
                          "properties": {
                            "declared": {
                              "type": "boolean"
                            },
                            "gate_status": {
                              "type": "string"
                            },
                            "role": {
                              "type": "string"
                            },
                            "statement": {
                              "type": "string"
                            }
                          }
                        },
                        "preparer": {
                          "type": "object",
                          "properties": {
                            "declared": {
                              "type": "boolean"
                            },
                            "role": {
                              "type": "string"
                            },
                            "statement": {
                              "type": "string"
                            }
                          }
                        },
                        "reviewer": {
                          "type": "object",
                          "properties": {
                            "declared": {
                              "type": "boolean"
                            },
                            "role": {
                              "type": "string"
                            },
                            "statement": {
                              "type": "string"
                            }
                          }
                        }
                      }
                    },
                    "undisposed_exceptions": {
                      "type": "array"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "compose_workpaper_bundle",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-465-workpaper-bundle-composer.html",
        "x-source": "manifest"
      }
    },
    "/v1/tools/build_cbcr_report": {
      "post": {
        "operationId": "build_cbcr_report",
        "summary": "OECD Country-by-Country Report Builder",
        "description": "Builds an OECD BEPS Action 13 Country-by-Country Report XML schema skeleton from a caller-declared Table 1 (jurisdiction revenue/profit/tax/employee/asset data) and Table 2 (constituent-entity list) against a caller-declared, version-pinned Action 13 XML schema version. Runs internal consistency checks -- per-jurisdiction revenue-component sums, employee/asset non-negativity, entity-jurisdiction referential integrity between Table 1 and Table 2 -- and surfaces a profit-with-zero-employees anomaly flag for the downstream §27 review gate. Also produces EU Directive (EU) 2021/2101 and Australian public-CbCR field-subset export modes. NEVER a submission -- not accepted by any national CbCR gateway; each jurisdiction's own portal runs its own additional validation. Comparable-set selection and transfer-pricing judgment stay out of scope (see art-473-interquartile-benchmark for arm's-length range arithmetic). Zero network, zero PII.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-472-cbcr-builder.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "TODO_TAGS_REVIEW"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "schema_version": {
                    "type": "string"
                  },
                  "export_mode": {
                    "type": "string",
                    "enum": [
                      "private_filing",
                      "eu_public",
                      "au_public"
                    ]
                  },
                  "reporting_entity_name": {
                    "type": "string"
                  },
                  "reporting_entity_tin": {
                    "type": "string"
                  },
                  "table1_jurisdictions": {
                    "type": "array"
                  },
                  "table2_entities": {
                    "type": "array"
                  },
                  "rounding_tolerance": {
                    "type": "number"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "all_fatal_passed": {
                      "type": "boolean"
                    },
                    "anomaly_flags": {
                      "type": "array"
                    },
                    "checks": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "description": {
                            "type": "string"
                          },
                          "id": {
                            "type": "string"
                          },
                          "jurisdiction_code": {
                            "type": "string"
                          },
                          "passed": {
                            "type": "boolean"
                          },
                          "severity": {
                            "type": "string"
                          }
                        }
                      }
                    },
                    "export_mode": {
                      "type": "string"
                    },
                    "fatal_failure_count": {
                      "type": "integer"
                    },
                    "gate_status": {
                      "type": "string"
                    },
                    "jurisdictions": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "accumulated_earnings": {
                            "type": "integer"
                          },
                          "income_tax_accrued": {
                            "type": "integer"
                          },
                          "income_tax_paid": {
                            "type": "integer"
                          },
                          "jurisdiction_code": {
                            "type": "string"
                          },
                          "number_of_employees": {
                            "type": "integer"
                          },
                          "profit_before_tax": {
                            "type": "integer"
                          },
                          "stated_capital": {
                            "type": "integer"
                          },
                          "tangible_assets": {
                            "type": "integer"
                          },
                          "total_revenue": {
                            "type": "integer"
                          }
                        }
                      }
                    },
                    "not_submittable": {
                      "type": "string"
                    },
                    "orphan_entities": {
                      "type": "array"
                    },
                    "schema_version": {
                      "type": "string"
                    },
                    "xml_schema_skeleton": {
                      "type": "object",
                      "properties": {
                        "reporting_entity": {
                          "type": "object",
                          "properties": {
                            "entity_name": {
                              "type": "string"
                            },
                            "tin": {
                              "type": "string"
                            }
                          }
                        },
                        "root_element": {
                          "type": "string"
                        },
                        "schema_version": {
                          "type": "string"
                        },
                        "table1_jurisdiction_count": {
                          "type": "integer"
                        },
                        "table2_entity_count": {
                          "type": "integer"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "build_cbcr_report",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-472-cbcr-builder.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/register_source_arrival_freshness": {
      "post": {
        "operationId": "register_source_arrival_freshness",
        "summary": "Source Arrival & Freshness Register",
        "description": "Reconciles a caller-declared EXPECTED-source inventory against caller-declared OBSERVED arrivals, per source: arrived, missing, late (arrived after its declared expected-as-of), or stale (arrived but older than its declared freshness threshold relative to a declared reference-as-of). The expected inventory is always an independently supplied caller input, never derived from the observed set -- a register that only counts what showed up cannot tell 'nothing broke' from 'a whole source never arrived,' and closing that blind spot is this node's purpose. If no expected-source inventory is declared, the node refuses to report on arrivals alone and emits a did-not-run execution state instead of a degraded pass. All sources current yields auto_pass; any late-but-present source yields review_required (which routes to an exception step, never a human blocker); any missing expected source yields reject; an observed arrival supplied with no as-of yields a ran-stale execution state rather than a guessed decision. Deterministic reconciliation arithmetic only, no clock, no network, zero PII. Not a log tailer: completeness is measured against the declared expected inventory, never the extract's own self-reported arrivals. Clause: GAO-25-107721 SS13.07 (currency as an attribute of the information itself); ECB RDARR Guide (May 2024) SS3.5(1) (timeliness).\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-524-source-arrival-freshness-register.html",
        "tags": [
          "TODO_TAGS_REVIEW",
          "TODO_AP2_EXPORT_REVIEW"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "execution_state": {
                      "type": "string"
                    },
                    "decision": {
                      "type": "string"
                    },
                    "reason": {
                      "type": "string"
                    },
                    "source_count": {
                      "type": "integer"
                    },
                    "sources": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "source_id": {
                            "type": "string"
                          },
                          "expected_as_of": {
                            "type": "integer"
                          },
                          "freshness_threshold_hours": {
                            "type": "integer"
                          },
                          "arrived": {
                            "type": "boolean"
                          },
                          "observed_as_of": {
                            "type": "integer"
                          },
                          "late": {
                            "type": "boolean"
                          },
                          "stale": {
                            "type": "boolean"
                          },
                          "source_status": {
                            "type": "string"
                          }
                        }
                      }
                    },
                    "missing_sources": {
                      "type": "array"
                    },
                    "late_or_stale_sources": {
                      "type": "array"
                    },
                    "unknown_freshness_sources": {
                      "type": "array"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "register_source_arrival_freshness",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-524-source-arrival-freshness-register.html",
        "x-source": "manifest"
      }
    },
    "/v1/tools/check_nway_balance_closure": {
      "post": {
        "operationId": "check_nway_balance_closure",
        "summary": "N-Way Balance Closure Check",
        "description": "Takes three or more caller-declared balances for the same measure, at the same as-of moment, across named internal systems, and ENFORCES the arithmetic closure identity (A minus B) plus (B minus C) equals (A minus C) within a caller-declared tolerance. Reports every pairwise difference, the closure residual for every triple, which pair carries the break, and which system is the single consistent explanation for all breaking pairs. This is not a fourth balance display: three pairwise tables enforce nothing across each other, because the third difference is fully determined by the other two, and the residual is the test a dashboard leaves to a human. Where a firm already reconciles hop by hop, each hop's own reconciled difference can be declared as an independent input, and the node then checks that those hops close against each other and agree with the declared balances. Tolerance is always a declared input, never defaulted, since an unstated tolerance turns every rounding difference into a break. Residual within tolerance yields auto_pass; outside tolerance, or a pairwise break, or a declared hop that disagrees with the balances, yields review_required, which routes to an exception step and never blocks. Balances at differing or undeclared as-of moments yield a ran-stale execution state; fewer than three systems, an undeclared tolerance, or no designated authoritative system yields a did-not-run execution state rather than a degraded pass. Balances, hop differences and the tolerance are integer minor units, so the arithmetic is exact. Scoped to internal system-boundary hops inside one firm, ahead of any filing. Clause: BCBS 239 Principle 2 fn.16 (robust automated reconciliation where multiple systems are in use); BCBS 239 SS36(d) (reconcile to a designated authoritative source, never consumer to consumer).\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-525-nway-balance-closure-check.html",
        "tags": [
          "TODO_TAGS_REVIEW",
          "TODO_AP2_EXPORT_REVIEW"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "decision": {
                      "type": "object",
                      "properties": {
                        "gate_policy": {
                          "type": "string"
                        },
                        "execution_state": {
                          "type": "string"
                        },
                        "reason": {
                          "type": "string"
                        }
                      }
                    },
                    "measure_label": {
                      "type": "string"
                    },
                    "authoritative_system_id": {
                      "type": "string"
                    },
                    "closure_tolerance_minor": {
                      "type": "integer"
                    },
                    "system_count": {
                      "type": "integer"
                    },
                    "as_of_consistent": {
                      "type": "boolean"
                    },
                    "as_of_values": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "systems": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "system_id": {
                            "type": "string"
                          },
                          "balance_minor": {
                            "type": "integer"
                          },
                          "as_of": {
                            "type": "string"
                          },
                          "is_authoritative": {
                            "type": "boolean"
                          }
                        }
                      }
                    },
                    "pairwise": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "pair": {
                            "type": "string"
                          },
                          "system_a": {
                            "type": "string"
                          },
                          "system_b": {
                            "type": "string"
                          },
                          "against_authoritative": {
                            "type": "boolean"
                          },
                          "balance_difference_minor": {
                            "type": "integer"
                          },
                          "declared_difference_minor": {
                            "type": "integer"
                          },
                          "difference_minor": {
                            "type": "integer"
                          },
                          "difference_basis": {
                            "type": "string"
                          },
                          "declared_vs_balance_delta_minor": {
                            "type": "integer"
                          },
                          "declared_agrees_with_balances": {
                            "type": "boolean"
                          },
                          "within_tolerance": {
                            "type": "boolean"
                          }
                        }
                      }
                    },
                    "triples": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "triple": {
                            "type": "string"
                          },
                          "systems": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "leg_ab_minor": {
                            "type": "integer"
                          },
                          "leg_bc_minor": {
                            "type": "integer"
                          },
                          "leg_ac_minor": {
                            "type": "integer"
                          },
                          "residual_minor": {
                            "type": "integer"
                          },
                          "residual_basis": {
                            "type": "string"
                          },
                          "within_tolerance": {
                            "type": "boolean"
                          }
                        }
                      }
                    },
                    "triple_count": {
                      "type": "integer"
                    },
                    "closure_holds": {
                      "type": "boolean"
                    },
                    "max_abs_residual_minor": {
                      "type": "integer"
                    },
                    "break_pairs": {
                      "type": "array"
                    },
                    "declared_disagreements": {
                      "type": "array"
                    },
                    "suspect_systems": {
                      "type": "array"
                    },
                    "rejected_inputs": {
                      "type": "array"
                    },
                    "scope_note": {
                      "type": "string"
                    },
                    "boundary_note": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "check_nway_balance_closure",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-525-nway-balance-closure-check.html",
        "x-source": "manifest"
      }
    },
    "/v1/tools/reconcile_report_to_general_ledger": {
      "post": {
        "operationId": "reconcile_report_to_general_ledger",
        "summary": "Report-to-General-Ledger Reconciliation",
        "description": "Ties a caller-declared reported figure to a caller-declared general-ledger figure, by account -- the only node in this reconciliation programme checked against an independent book of record rather than a second declared value. A designed plug (for example FR 2052a field S.B.6 Carrying Value Adjustment) is a first-class declared input, netted before the residual and never counted as a break. Appendix and supplemental-schedule semantics are versioned policy inputs, never hardcoded. Refuses to run where the requested reporting cadence is finer than the underlying GL schedule's own cadence, and treats a general ledger not yet declared closed as a distinct did_not_run outcome from a genuine tie-out break -- the failure that otherwise surfaces only at quarter-end. Emits a §27.4 gate-policy value plus a sibling execution_state at a predictable output_payload pointer. Clause: BCBS 239 §36(c), ECB RDARR Guide §3.5(1)/(2). Not a transaction matcher and not a filing tool.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-526-report-gl-reconciliation.html",
        "tags": [
          "TODO_TAGS_REVIEW",
          "TODO_AP2_EXPORT_REVIEW"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "as_of": {
                      "type": "string"
                    },
                    "currency": {
                      "type": "string"
                    },
                    "appendix_schedule_version": {
                      "type": "string"
                    },
                    "appendix_schedule_source": {
                      "type": "string"
                    },
                    "reporting_cadence": {
                      "type": "string"
                    },
                    "schedule_cadence": {
                      "type": "string"
                    },
                    "cadence_refused": {
                      "type": "boolean"
                    },
                    "gl_closed_declared": {
                      "type": "boolean"
                    },
                    "gl_closed": {
                      "type": "boolean"
                    },
                    "gl_as_of": {
                      "type": "string"
                    },
                    "account_count": {
                      "type": "integer"
                    },
                    "accounts": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "account_id": {
                            "type": "string"
                          },
                          "reported_figure_minor_units": {
                            "type": "integer"
                          },
                          "gl_figure_minor_units": {
                            "type": "integer"
                          },
                          "designed_plug_minor_units": {
                            "type": "integer"
                          },
                          "designed_plug_display": {
                            "type": "string"
                          },
                          "designed_plug_reason_code": {
                            "type": "string"
                          },
                          "tolerance_minor_units": {
                            "type": "integer"
                          },
                          "residual_minor_units": {
                            "type": "integer"
                          },
                          "residual_display": {
                            "type": "string"
                          },
                          "within_tolerance": {
                            "type": "boolean"
                          }
                        }
                      }
                    },
                    "breaking_account_count": {
                      "type": "integer"
                    },
                    "plugged_account_count": {
                      "type": "integer"
                    },
                    "decision": {
                      "type": "object",
                      "properties": {
                        "gate_policy": {
                          "type": "string"
                        },
                        "execution_state": {
                          "type": "string"
                        },
                        "reason": {
                          "type": "string"
                        }
                      }
                    },
                    "rejected_inputs": {
                      "type": "array"
                    },
                    "rationale": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "note": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "reconcile_report_to_general_ledger",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-526-report-gl-reconciliation.html",
        "x-source": "manifest"
      }
    },
    "/v1/tools/classify_ledger_consensus_finality": {
      "post": {
        "operationId": "classify_ledger_consensus_finality",
        "summary": "Ledger Consensus Finality Classifier",
        "description": "Classifies a ledger-consensus position under a deadline-bounded-inclusion model (XRPL) or a federated-BFT model (Stellar SCP), each expressed as terminal outcome branches rather than a monotone tier ladder. Flags an overstated finality claim and a fee-consuming tec final failure, and names the unprovable-absence gap where validated history is not continuous. Zero PII. Client-side.\n\n**Tool URL:** https://ainumbers.co/tools/",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "settlement_model",
                  "as_of_ts"
                ],
                "properties": {
                  "settlement_model": {
                    "type": "string",
                    "description": "deadline_bounded_inclusion (XRPL) | federated_bft (Stellar SCP)"
                  },
                  "as_of_ts": {
                    "type": "integer",
                    "description": "Evaluation time as epoch seconds, caller-supplied"
                  },
                  "required_tier": {
                    "type": "string",
                    "description": "Corridor policy cutoff expressed in the model's own outcome vocabulary"
                  },
                  "claimed_tier": {
                    "type": "string",
                    "description": "Optional counterparty/upstream finality assertion to adjudicate"
                  },
                  "chain_label": {
                    "type": "string",
                    "description": "Optional free text, echoed verbatim. Not an enum, no ledger-name validation table."
                  },
                  "last_ledger_sequence": {
                    "type": "integer",
                    "description": "deadline_bounded_inclusion only: XRPL LastLedgerSequence submission deadline"
                  },
                  "submitted_at_ledger": {
                    "type": "integer",
                    "description": "deadline_bounded_inclusion only: ledger index at submission"
                  },
                  "included_in_ledger": {
                    "type": "integer",
                    "description": "deadline_bounded_inclusion only: ledger index of inclusion, if any"
                  },
                  "ledger_validated": {
                    "type": "boolean",
                    "description": "deadline_bounded_inclusion only: whether included_in_ledger is itself validated"
                  },
                  "result_class": {
                    "type": "string",
                    "description": "deadline_bounded_inclusion only: tes | tec | other"
                  },
                  "highest_validated_ledger": {
                    "type": "integer",
                    "description": "deadline_bounded_inclusion only: highest ledger index the caller has validated"
                  },
                  "continuous_history_ok": {
                    "type": "boolean",
                    "description": "deadline_bounded_inclusion only: caller-attested gap-free validated ledger history over the submission range"
                  },
                  "claimed_outcome": {
                    "type": "string",
                    "description": "deadline_bounded_inclusion only: optional counterparty assertion in this model's outcome vocabulary"
                  },
                  "externalized": {
                    "type": "boolean",
                    "description": "federated_bft only: whether the transaction is included in an externalized (final) ledger"
                  },
                  "quorum_slice_trust_ok": {
                    "type": "boolean",
                    "description": "federated_bft only: caller-attested trust in the relied-upon quorum slice(s)"
                  },
                  "issuer_clawback_enabled": {
                    "type": "boolean",
                    "description": "federated_bft only: optional, Stellar-native issuer-clawback capability on the asset"
                  },
                  "time_bounds_max": {
                    "type": "integer",
                    "description": "federated_bft only: optional maxTime bound on the transaction"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "Tool execution result payload"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "classify_ledger_consensus_finality",
        "x-tool-url": "https://ainumbers.co/tools/",
        "x-source": "manifest"
      }
    },
    "/v1/tools/compute_custody_segregation_ratio": {
      "post": {
        "operationId": "compute_custody_segregation_ratio",
        "summary": "Custody Segregation Ratio",
        "description": "Generic, jurisdiction-neutral custody-segregation check: segregated_custody_assets_musd / customer_claims_musd, per asset class and rolled up. FULLY_SEGREGATED at or above 1.0, UNDER_SEGREGATED below it, OVER_SEGREGATED above an optional configurable ceiling. A zero-claims line resolves segregation_ratio null and status NO_CLAIMS_OUTSTANDING -- never a division artifact. Aggregate totals only (no per-customer or per-wallet line item). SEC Rule 15c3-3 possession-or-control (17 CFR 240.15c3-3(b)) is named as one crosswalk-annex instance among possibly several -- the arithmetic does not depend on that citation, and the SEC 15c3-3 Exhibit A reserve formula stays a distinct, unedited node (art-396).\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-538-custody-segregation-ratio.html",
        "tags": [
          "compliance_control",
          "custody",
          "proof-of-reserves",
          "exchange-assurance"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "over_segregation_ceiling": {
                    "type": [
                      "number",
                      "null"
                    ]
                  },
                  "segregated_assets": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "asset_class": {
                          "type": "string"
                        },
                        "custody_location_type": {
                          "type": "string"
                        },
                        "amount_musd": {
                          "type": "number"
                        }
                      }
                    }
                  },
                  "customer_claims": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "asset_class": {
                          "type": "string"
                        },
                        "amount_musd": {
                          "type": "number"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "line_items": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "asset_class": {
                            "type": "string"
                          },
                          "segregated_custody_assets_musd": {
                            "type": "number"
                          },
                          "customer_claims_musd": {
                            "type": "number"
                          },
                          "segregation_ratio": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "status": {
                            "type": "string"
                          }
                        }
                      }
                    },
                    "total_segregated_musd": {
                      "type": "number"
                    },
                    "total_claims_musd": {
                      "type": "number"
                    },
                    "segregation_ratio": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "status": {
                      "type": "string"
                    },
                    "over_segregation_ceiling": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "custody_location_breakdown": {
                      "type": "object"
                    },
                    "formula": {
                      "type": "string"
                    },
                    "note": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "compute_custody_segregation_ratio",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-538-custody-segregation-ratio.html",
        "x-source": "manifest"
      }
    },
    "/v1/tools/compute_por_liabilities_composite": {
      "post": {
        "operationId": "compute_por_liabilities_composite",
        "summary": "PoR Liabilities Composer",
        "description": "Composes a caller-restated art-280-reserve-proof-verifier inclusion result (soft-dep: inclusion_verified, computed_root.sum) with a caller-supplied aggregate reported_total_liabilities_musd figure. Computes reserve_to_liability_ratio and a composite_determination in {INCLUSION_AND_LIABILITIES_CONSISTENT, INCLUSION_FAILED, LIABILITIES_UNDERCOVERED, LIABILITIES_INPUT_MISSING}. Carries forward art-280's not_proven list plus its own: the liabilities figure is caller-asserted, not independently audited -- this node verifies internal consistency, it does not audit the liabilities source. Composes only; does not edit art-280's own kernel.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-540-por-liabilities-composer.html",
        "tags": [
          "compliance_mandate",
          "proof-of-reserves",
          "liabilities",
          "exchange-assurance"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "por_input": {
                    "type": [
                      "object",
                      "null"
                    ],
                    "properties": {
                      "inclusion_verified": {
                        "type": "boolean"
                      },
                      "computed_root": {
                        "type": "object",
                        "properties": {
                          "sum": {
                            "type": "number"
                          }
                        }
                      }
                    }
                  },
                  "reported_total_liabilities_musd": {
                    "type": [
                      "number",
                      "null"
                    ]
                  },
                  "liabilities_attestation_source": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "composite_determination": {
                      "type": "string"
                    },
                    "reserve_to_liability_ratio": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "inclusion_verified": {
                      "type": "boolean"
                    },
                    "computed_root": {
                      "type": "object",
                      "properties": {
                        "sum": {
                          "type": "number"
                        }
                      }
                    },
                    "reported_total_liabilities_musd": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "liabilities_attestation_source": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "por_input_supplied": {
                      "type": "boolean"
                    },
                    "not_proven": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "item": {
                            "type": "string"
                          },
                          "detail": {
                            "type": "string"
                          }
                        }
                      }
                    },
                    "formula": {
                      "type": "string"
                    },
                    "note": {
                      "type": "string"
                    },
                    "regulatory_framework": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "compute_por_liabilities_composite",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-540-por-liabilities-composer.html",
        "x-source": "manifest"
      }
    },
    "/v1/tools/recompute_best_execution": {
      "post": {
        "operationId": "recompute_best_execution",
        "summary": "Best-Execution NBBO Recompute",
        "description": "Recomputes, per supplied fill, price improvement in basis points against the NBBO at time of execution and whether each fill cleared at-or-better than the NBBO. Aggregates pct_at_or_better, avg_price_improvement_bps, and fill_count over a bounded fill set (capped at 5,000 fills). Zero PII. Client-side.\n\n**Tool URL:** https://ainumbers.co/tools/",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "fills"
                ],
                "properties": {
                  "fills": {
                    "type": "array",
                    "maxItems": 5000,
                    "description": "Fill set, max 5,000 entries. No customer/order identifiers.",
                    "items": {
                      "type": "object",
                      "required": [
                        "side",
                        "execution_price"
                      ],
                      "properties": {
                        "side": {
                          "type": "string",
                          "description": "buy | sell"
                        },
                        "execution_price": {
                          "type": "number",
                          "description": "Execution price for this fill"
                        },
                        "nbbo_bid": {
                          "type": "number",
                          "description": "NBBO bid at execution time (required for sell fills)"
                        },
                        "nbbo_ask": {
                          "type": "number",
                          "description": "NBBO ask at execution time (required for buy fills)"
                        },
                        "quantity": {
                          "type": "number",
                          "description": "Fill quantity, optional, informational only"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "Tool execution result payload"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "recompute_best_execution",
        "x-tool-url": "https://ainumbers.co/tools/",
        "x-source": "manifest"
      }
    },
    "/v1/tools/attest_calc_agent_independence": {
      "post": {
        "operationId": "attest_calc_agent_independence",
        "summary": "Calculation-Agent Independence Attestation",
        "description": "Receipts the organizational-independence claim a parametric trigger's neutrality depends on: that the entity whose kernel computed a specific art-251/art-252/art-309 execution_hash declares no controlling or compensating relationship with a named interested party (cedant, sponsor, reinsurer, or other) to the outcome that trigger determines. Self-declared attestation only -- attests that independence was DECLARED, never that it was verified against an external corporate registry. A counterparty party_id is plaintext by default; a caller may instead supply it as a sha256-salted@1 commitment (SPEC.md §25) to withhold the identifier while still binding the attestation to it. Not a determination of independence and not a legal or regulatory finding.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-559-attest-calc-agent-independence.html",
        "tags": [
          "insurance",
          "parametric-trigger",
          "calc-agent-independence",
          "attestation",
          "cat-bond"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "calc_agent_id": {
                    "type": "string"
                  },
                  "interested_parties": {
                    "type": "array"
                  },
                  "relationship_declaration": {
                    "type": "string"
                  },
                  "disclosure_note": {
                    "type": "string"
                  },
                  "trigger_ref": {
                    "type": "object"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "calc_agent_id": {
                      "type": "string"
                    },
                    "interested_parties": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "party_role": {
                            "type": "string"
                          },
                          "party_id": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "label": {
                            "type": "string"
                          },
                          "party_id_commitment_scheme": {
                            "type": "string"
                          }
                        }
                      }
                    },
                    "relationship_declaration": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "disclosure_note": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "trigger_ref": {
                      "type": "object",
                      "properties": {
                        "execution_hash": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "tool_id": {
                          "type": [
                            "string",
                            "null"
                          ]
                        }
                      }
                    },
                    "independence_asserted": {
                      "type": "boolean"
                    },
                    "rejected_inputs": {
                      "type": "array"
                    },
                    "note": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "attest_calc_agent_independence",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-559-attest-calc-agent-independence.html",
        "x-source": "manifest"
      }
    },
    "/v1/tools/oracle_price_aggregation": {
      "post": {
        "operationId": "oracle_price_aggregation",
        "summary": "Oracle Price Aggregation",
        "description": "Computes the aggregate price a decentralized oracle network would publish from a set of individual submissions, under four mechanism-named aggregation rules: median-filtered confidence-weighted mean, stake-weighted median on the frequency convention, three-vote confidence median, and plain median with an f-of-n readout. Supports an optional prev_print_hash citing the prior print of the same pair, which turns a series of same-pair prints into a walkable chain; omitting it reproduces the unlinked-print output byte for byte. Every price, weight, confidence, timestamp and submitter id is supplied and asserted, never fetched (zero-egress). Simulates the aggregation step only, does not model the commit-reveal phase, and never claims any real network did or would publish this number. A submitter id may be supplied as a sha256-salted@1 commitment (SPEC.md §25) to withhold the identifier while keeping the aggregation bound to it. Not a price feed and not a market-data source.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-560-oracle-price-aggregation.html",
        "tags": [
          "oracle",
          "price-aggregation",
          "derivatives",
          "mark-price",
          "print-lineage"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "mode": {
                    "type": "string"
                  },
                  "currency_pair": {
                    "type": "string"
                  },
                  "submissions": {
                    "type": "array"
                  },
                  "outlier_threshold_pct": {
                    "type": "number"
                  },
                  "stale_after_seconds": {
                    "type": "number"
                  },
                  "epoch": {
                    "type": "number"
                  },
                  "prev_print_hash": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "currency_pair": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "epoch": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "structural_error": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "aggregated_price": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "aggregation_method": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "aggregate_confidence": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "submission_count": {
                      "type": "number"
                    },
                    "priced_submission_count": {
                      "type": "number"
                    },
                    "surviving_count": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "outlier_count": {
                      "type": "number"
                    },
                    "outliers_flagged": {
                      "type": "array"
                    },
                    "outlier_detail": {
                      "type": "array"
                    },
                    "outlier_threshold_pct": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "price_spread_pct": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "min_submitted": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "max_submitted": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "stale_submissions": {
                      "type": "array"
                    },
                    "fault_tolerance": {
                      "type": [
                        "object",
                        "null"
                      ]
                    },
                    "rejected_inputs": {
                      "type": "array"
                    },
                    "not_proven": {
                      "type": "array"
                    },
                    "fence": {
                      "type": "string"
                    },
                    "prev_print_hash": {
                      "type": "string"
                    },
                    "chain_position": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "oracle_price_aggregation",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-560-oracle-price-aggregation.html",
        "x-source": "manifest"
      }
    },
    "/v1/tools/currency_basket_index": {
      "post": {
        "operationId": "currency_basket_index",
        "summary": "Currency Basket Index",
        "description": "Values a currency basket by the fixed-amount method, where currency amounts are fixed at a rebase date and the live weights float daily with FX. Two modes: valuation from amounts already fixed, returning the index value, each component's live weight and its drift from any stated target; and derivation, which turns target weights, a rebase-date index value and the rebase-date FX rates into the fixed amounts those weights imply, so amounts are an output of the rebase rather than an input to it. Target weights that do not sum to one are refused rather than silently normalized. Integer-quantity baskets are supported through an amount scale. Per-pair rates may cite the upstream oracle prints they came from. Every FX rate, fixed amount and target weight is supplied and asserted, never fetched (zero-egress); this computes what the stated method yields on the stated numbers, never that those numbers are the correct rates for the stated date.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-561-currency-basket-index.html",
        "tags": [
          "currency-basket",
          "index",
          "fx",
          "fixed-amount-method",
          "rebase"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "mode": {
                    "type": "string"
                  },
                  "basket_id": {
                    "type": "string"
                  },
                  "as_of_date": {
                    "type": "string"
                  },
                  "components": {
                    "type": "array"
                  },
                  "index_value_at_rebase": {
                    "type": "number"
                  },
                  "amount_scale": {
                    "type": "number"
                  },
                  "prior_index_value": {
                    "type": "number"
                  },
                  "parent_print_hashes": {
                    "type": "array"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "basket_id": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "as_of_date": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "mode": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "structural_error": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "index_value": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "components": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "currency": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "fixed_amount": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "usd_rate": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "usd_contribution": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "live_weight_pct": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "target_weight_pct": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "drift_from_target_pct": {
                            "type": [
                              "number",
                              "null"
                            ]
                          }
                        }
                      }
                    },
                    "component_count": {
                      "type": "number"
                    },
                    "dominant_contributor": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "dominant_contribution_pct": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "max_drift_from_target_pct": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "basket_shift_pct": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "target_weight_sum": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "amount_scale": {
                      "type": "number"
                    },
                    "parent_print_hashes": {
                      "type": "array"
                    },
                    "rejected_inputs": {
                      "type": "array"
                    },
                    "not_proven": {
                      "type": "array"
                    },
                    "fence": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "currency_basket_index",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-561-currency-basket-index.html",
        "x-source": "manifest"
      }
    },
    "/v1/tools/check_iolta_three_way_reconciliation": {
      "post": {
        "operationId": "check_iolta_three_way_reconciliation",
        "summary": "IOLTA Three-Way Trust Reconciliation",
        "description": "Recomputes the monthly IOLTA/client-trust three-way close every small law firm already does by hand in a spreadsheet: the bank statement (adjusted for caller-declared deposits in transit and uncleared checks) against the trust ledger total against the sum of every per-client ledger balance, all as of the same statement period end. Separately walks each client's declared period activity to catch a client ledger that dips negative at any point during the period even when its ending balance looks fine: the classic commingling fact pattern where one client's disbursement is briefly funded by another client's money before a later deposit covers it. Ages every declared outstanding item from the period end so a check or deposit that has sat unresolved for months is visible rather than buried inside a balancing adjustment, and checks that every input balance is stated as of the same period-end date. Reconciliation tolerance is always a declared input, never defaulted; a negative client-ledger low point is never tolerance-gated. Verdict RECONCILED when the three-way equality holds, no client ledger went negative, no outstanding item is stale, and every date lines up; DISCREPANT when any of those breaks; INCOMPLETE when a required input (the tolerance, the period, a balance, or at least one client ledger) is absent. Balances are integer minor units, so the arithmetic is exact. Performs arithmetic only over caller-declared balances and caller-declared outstanding items; does not source, derive, or independently verify any balance, and does not itself determine which bank lines are outstanding. Clause: ABA Model Rule 1.15 (Safekeeping Property); state record-keeping rules govern the specifics and are cited in-page as dated illustrations only, never as a 50-state table.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-566-iolta-three-way-reconciliation.html",
        "tags": [
          "compliance_control",
          "legal-ops",
          "trust-accounting",
          "mcp:check_iolta_three_way_reconciliation"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "decision": {
                      "type": "object",
                      "properties": {
                        "gate_policy": {
                          "type": "string"
                        },
                        "execution_state": {
                          "type": "string"
                        },
                        "reason": {
                          "type": "string"
                        }
                      }
                    },
                    "verdict": {
                      "type": "string"
                    },
                    "statement_period": {
                      "type": "object",
                      "properties": {
                        "start_date": {
                          "type": "string"
                        },
                        "end_date": {
                          "type": "string"
                        }
                      }
                    },
                    "reconciliation_tolerance_minor": {
                      "type": "integer"
                    },
                    "three_way": {
                      "type": "object",
                      "properties": {
                        "bank_ending_balance_minor": {
                          "type": "integer"
                        },
                        "deposits_in_transit_total_minor": {
                          "type": "integer"
                        },
                        "uncleared_checks_total_minor": {
                          "type": "integer"
                        },
                        "adjusted_bank_balance_minor": {
                          "type": "integer"
                        },
                        "trust_ledger_ending_balance_minor": {
                          "type": "integer"
                        },
                        "client_ledger_total_minor": {
                          "type": "integer"
                        },
                        "bank_vs_trust_minor": {
                          "type": "integer"
                        },
                        "trust_vs_clients_minor": {
                          "type": "integer"
                        },
                        "bank_vs_clients_minor": {
                          "type": "integer"
                        },
                        "equality_holds": {
                          "type": "boolean"
                        }
                      }
                    },
                    "client_count": {
                      "type": "integer"
                    },
                    "client_ledgers": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "client_id": {
                            "type": "string"
                          },
                          "ending_balance_minor": {
                            "type": "integer"
                          },
                          "as_of": {
                            "type": "string"
                          },
                          "opening_balance_minor": {
                            "type": "integer"
                          },
                          "low_point_minor": {
                            "type": "integer"
                          },
                          "low_point_date": {
                            "type": "string"
                          },
                          "entry_count": {
                            "type": "integer"
                          }
                        }
                      }
                    },
                    "negative_balance_findings": {
                      "type": "array"
                    },
                    "outstanding_items": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "type": {
                            "type": "string"
                          },
                          "date": {
                            "type": "string"
                          },
                          "amount_minor": {
                            "type": "integer"
                          },
                          "description": {
                            "type": "string"
                          },
                          "age_days": {
                            "type": "integer"
                          },
                          "age_bucket": {
                            "type": "string"
                          }
                        }
                      }
                    },
                    "outstanding_summary": {
                      "type": "object"
                    },
                    "period_boundary_consistent": {
                      "type": "boolean"
                    },
                    "period_boundary_mismatches": {
                      "type": "array"
                    },
                    "findings": {
                      "type": "array"
                    },
                    "rejected_inputs": {
                      "type": "array"
                    },
                    "scope_note": {
                      "type": "string"
                    },
                    "clause_note": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "check_iolta_three_way_reconciliation",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-566-iolta-three-way-reconciliation.html",
        "x-source": "manifest"
      }
    },
    "/v1/tools/verify_proof_of_reserves_consistency": {
      "post": {
        "operationId": "verify_proof_of_reserves_consistency",
        "summary": "Proof-of-Reserves Verifier",
        "description": "Independently recomputes an exchange or custodian's published Proof-of-Reserves data: a single-leaf Merkle-sum inclusion path, a liability-side Merkle-sum branch aggregation, and a coverage ratio between the two recomputed sums, with an optional cross-check against a caller-declared published reserve figure. Emits a per-check finding (reserve_inclusion, liability_aggregation, coverage_ratio) plus an overall CONSISTENT, INCONSISTENT, or INDETERMINATE determination. Generic Merkle-sum schema only; named-exchange export formats are a documented field-mapping reference in the page copy, not a standing per-exchange adapter. CONSISTENT never implies solvency, audit assurance, or that the underlying published figures are truthful, only that what was published is internally consistent with itself.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-584-proof-of-reserves-verifier.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate",
          "proof-of-reserves",
          "merkle-sum",
          "exchange-assurance",
          "custody"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "reserve_proof": {
                    "type": [
                      "object",
                      "null"
                    ]
                  },
                  "liability_branch": {
                    "type": [
                      "object",
                      "null"
                    ]
                  },
                  "published_reserve_figures": {
                    "type": [
                      "object",
                      "null"
                    ]
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "overall_determination": {
                      "type": "string",
                      "enum": [
                        "CONSISTENT",
                        "INCONSISTENT",
                        "INDETERMINATE"
                      ]
                    },
                    "findings": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "check": {
                            "type": "string"
                          },
                          "verdict": {
                            "type": "string"
                          },
                          "detail": {
                            "type": "string"
                          }
                        }
                      }
                    },
                    "computed_reserve_root": {
                      "type": [
                        "object",
                        "null"
                      ]
                    },
                    "declared_reserve_root": {
                      "type": [
                        "object",
                        "null"
                      ]
                    },
                    "computed_liability_root": {
                      "type": [
                        "object",
                        "null"
                      ]
                    },
                    "declared_liability_root": {
                      "type": [
                        "object",
                        "null"
                      ]
                    },
                    "coverage_ratio_pct": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "reserve_figure_cross_check": {
                      "type": [
                        "object",
                        "null"
                      ]
                    },
                    "not_proven": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "item": {
                            "type": "string"
                          },
                          "detail": {
                            "type": "string"
                          }
                        }
                      }
                    },
                    "determination_note": {
                      "type": "string"
                    },
                    "regulatory_framework": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "verify_proof_of_reserves_consistency",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-584-proof-of-reserves-verifier.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/sweep_docket_deadlines": {
      "post": {
        "operationId": "sweep_docket_deadlines",
        "summary": "Docket Deadline Sweep",
        "description": "Sweeps a caller-declared docket -- a flat list of {date, action, type, source, done} deadline records, the structured shape practitioners already keep in a spreadsheet, calendar, or practice-management export -- against a caller-declared as-of date, and bands every record OVERDUE, DUE_SOON, SCHEDULED, DONE, or INDETERMINATE. Shows the weekend/holiday roll derivation step by step for each record's actual due date, using roll rules (roll_weekends, roll_direction, holiday_dates) that are always declared caller inputs with labeled defaults, never an encoded jurisdiction rules table -- baking one in would be a standing-data-duty trap and UPL-adjacent. FRCP 6(a)(1)(C) is cited in-page only as a dated, structural EXAMPLE of what a roll rule looks like, never as an encoded ruleset for any jurisdiction. A record marked done:true is retained and reported DONE, never dropped -- the sweep is a receipt over the full declared docket at one as-of moment, not a filtered view of what remains open. Flags any two records that declare the same action on different dates as a conflict worth a human look. The due-soon banding threshold is a declared input with a labeled default (7 days). Gate policy is review_required when any record is OVERDUE or INDETERMINATE or a conflict exists, otherwise auto_pass; did_not_run when the as-of date, the sweep's own anchor, is absent -- it is never defaulted. Not legal advice, not a calendaring system of record, and not a reminder or scheduling service. Attribution: deadline-record shape design borrow from CounselOS's structured deadline tracker (eigenlegal/counsel-os, MIT).\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-588-docket-deadline-sweep.html",
        "tags": [
          "compliance_control",
          "legal-ops",
          "docket-deadlines",
          "mcp:sweep_docket_deadlines"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "decision": {
                      "type": "object",
                      "properties": {
                        "gate_policy": {
                          "type": "string"
                        },
                        "execution_state": {
                          "type": "string"
                        },
                        "reason": {
                          "type": "string"
                        }
                      }
                    },
                    "as_of_date": {
                      "type": "string"
                    },
                    "due_soon_days_threshold": {
                      "type": "integer"
                    },
                    "due_soon_days_threshold_is_default": {
                      "type": "boolean"
                    },
                    "roll_rule": {
                      "type": "object",
                      "properties": {
                        "roll_weekends": {
                          "type": "boolean"
                        },
                        "roll_weekends_is_default": {
                          "type": "boolean"
                        },
                        "roll_direction": {
                          "type": "string"
                        },
                        "roll_direction_is_default": {
                          "type": "boolean"
                        },
                        "holiday_dates": {
                          "type": "array"
                        }
                      }
                    },
                    "record_count": {
                      "type": "integer"
                    },
                    "records": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "record_id": {
                            "type": "string"
                          },
                          "date": {
                            "type": "string"
                          },
                          "action": {
                            "type": "string"
                          },
                          "type": {
                            "type": "string"
                          },
                          "source": {
                            "type": "string"
                          },
                          "done": {
                            "type": "boolean"
                          },
                          "status": {
                            "type": "string"
                          },
                          "rolled_date": {
                            "type": "string"
                          },
                          "days_remaining": {
                            "type": "integer"
                          },
                          "roll": {
                            "type": "object"
                          }
                        }
                      }
                    },
                    "conflicts": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "action": {
                            "type": "string"
                          },
                          "record_ids": {
                            "type": "array"
                          },
                          "dates": {
                            "type": "array"
                          }
                        }
                      }
                    },
                    "sweep_summary": {
                      "type": "object"
                    },
                    "rejected_inputs": {
                      "type": "array"
                    },
                    "scope_note": {
                      "type": "string"
                    },
                    "clause_note": {
                      "type": "string"
                    },
                    "not_legal_advice_note": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "sweep_docket_deadlines",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-588-docket-deadline-sweep.html",
        "x-source": "manifest"
      }
    },
    "/v1/tools/classify_redline_round_changes": {
      "post": {
        "operationId": "classify_redline_round_changes",
        "summary": "Redline Round Classifier",
        "description": "Classifies per-segment changes between two negotiation rounds of the same document (paragraph or clause-segmented structured text, pasted or pre-extracted; never parses DOCX or any other binary format). Each declared segment carries a baseline text (the clause as it stood in round 1), a prior text (as it stood in the immediately preceding round), and a current text, and is classified ACCEPTED when current equals prior, REVERTED when current equals baseline after having diverged from it, MODIFIED when current differs from both, NEW when no prior text was declared, or DELETED when no current text was declared. Produces a word-level diff transcript for every changed segment. Round-over-round history is a hash chain: each round after the first declares the execution_hash the node produced for the immediately preceding round's own artifact as prior_round_digest, and a separate chain-verification pass recomputes each prior round's hash from its own content and confirms the next round committed to exactly that value, so a tampered middle round fails the chain check even though its own classification output still looks well-formed. Classifies the type of change only; never scores or evaluates which side a change favors, and is not legal advice. Five-state enum (adds DELETED) is a design borrow from eigenlegal/counsel-os diff_rounds.py (MIT), not a code port; that file has not been read by this node's author.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-589-redline-round-classifier.html",
        "tags": [
          "compliance_control",
          "legal-ops",
          "redline-diffing",
          "mcp:classify_redline_round_changes"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "verdict": {
                      "type": "string"
                    },
                    "reason": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "round_summary": {
                      "type": "object",
                      "properties": {
                        "document_id": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "round_number": {
                          "type": [
                            "integer",
                            "null"
                          ]
                        },
                        "round_label": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "total_segments": {
                          "type": "integer"
                        },
                        "changed_count": {
                          "type": "integer"
                        },
                        "accepted_count": {
                          "type": "integer"
                        },
                        "reverted_count": {
                          "type": "integer"
                        },
                        "modified_count": {
                          "type": "integer"
                        },
                        "new_count": {
                          "type": "integer"
                        },
                        "deleted_count": {
                          "type": "integer"
                        }
                      }
                    },
                    "round_chain": {
                      "type": "object",
                      "properties": {
                        "round_number": {
                          "type": [
                            "integer",
                            "null"
                          ]
                        },
                        "prior_round_digest": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "status": {
                          "type": "string"
                        }
                      }
                    },
                    "classifications": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "segment_id": {
                            "type": "string"
                          },
                          "classification": {
                            "type": "string"
                          },
                          "baseline_text": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "prior_text": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "current_text": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "changed": {
                            "type": "boolean"
                          },
                          "diff": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "op": {
                                  "type": "string"
                                },
                                "text": {
                                  "type": "string"
                                }
                              }
                            }
                          }
                        }
                      }
                    },
                    "diff_transcript": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "segment_id": {
                            "type": "string"
                          },
                          "classification": {
                            "type": "string"
                          },
                          "diff": {
                            "type": "array"
                          }
                        }
                      }
                    },
                    "rejected_inputs": {
                      "type": "array"
                    },
                    "scope_note": {
                      "type": "string"
                    },
                    "attribution_note": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "classify_redline_round_changes",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-589-redline-round-classifier.html",
        "x-source": "manifest"
      }
    },
    "/v1/tools/recompute_x402_eip712_digest": {
      "post": {
        "operationId": "recompute_x402_eip712_digest",
        "summary": "x402 EIP-712 Digest Recomputer",
        "description": "Recomputes the EIP-712 typed-data digest for an EIP-3009 TransferWithAuthorization struct (the x402 payments rail's underlying authorization primitive): domain separator, struct hash, and the final keccak256(0x19 || 0x01 || domainSeparator || structHash) digest. All four EIP-712 domain fields (name, version, chainId, verifyingContract) are mandatory caller inputs and are never defaulted or guessed -- a guessed verifyingContract would defeat the entire point of domain separation. keccak256 comes from the already-vendored, pinned noble-curves/noble-hashes bundle; the EIP-712/EIP-3009 ABI encoding scheme is implemented directly as public-spec arithmetic on top of it, not hand-rolled crypto. Performs no signature recovery and no domain/nonce/window checks (see the sibling x402-signer-recovery-verifier and x402-domain-nonce-window-checker nodes) -- makes no claim about signature validity, on-chain settlement, or spend. Zero network calls; never a facilitator, proxy, gateway, or settlement relay.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-590-x402-eip712-digest-recomputer.html",
        "tags": [
          "compliance_control",
          "x402",
          "eip-712",
          "eip-3009",
          "crypto-primitive",
          "mcp:recompute_x402_eip712_digest"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "version": {
                    "type": "string"
                  },
                  "chainId": {
                    "type": [
                      "string",
                      "number"
                    ]
                  },
                  "verifyingContract": {
                    "type": "string"
                  },
                  "from": {
                    "type": "string"
                  },
                  "to": {
                    "type": "string"
                  },
                  "value": {
                    "type": [
                      "string",
                      "number"
                    ]
                  },
                  "validAfter": {
                    "type": [
                      "string",
                      "number"
                    ]
                  },
                  "validBefore": {
                    "type": [
                      "string",
                      "number"
                    ]
                  },
                  "nonce": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "verdict": {
                      "type": "string"
                    },
                    "reasons": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "domain": {
                      "type": "object",
                      "properties": {
                        "name": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "version": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "chain_id": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "verifying_contract": {
                          "type": [
                            "string",
                            "null"
                          ]
                        }
                      }
                    },
                    "authorization": {
                      "type": "object",
                      "properties": {
                        "from": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "to": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "value": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "valid_after": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "valid_before": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "nonce": {
                          "type": [
                            "string",
                            "null"
                          ]
                        }
                      }
                    },
                    "domain_separator": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "struct_hash": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "digest": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "domain_typehash": {
                      "type": "string"
                    },
                    "transfer_with_authorization_typehash": {
                      "type": "string"
                    },
                    "scope_note": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "recompute_x402_eip712_digest",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-590-x402-eip712-digest-recomputer.html",
        "x-source": "manifest"
      }
    },
    "/v1/tools/verify_x402_signer_recovery": {
      "post": {
        "operationId": "verify_x402_signer_recovery",
        "summary": "x402 Signer Recovery Verifier",
        "description": "Recovers the ECDSA signer address from a caller-supplied EIP-712 digest and signature in (r,s,v) or (r,s,yParity) form. Normalizes the recovery-id across the raw bit (0/1), legacy Ethereum v (27/28), and EIP-155 v (chainId*2+35/36) conventions, each a well-known transcription trap. Reports the recovered address plus a separate boolean comparison against any caller-claimed from address (never silently failing when no claim is supplied). Signature recovery comes from the already-vendored, pinned noble-curves bundle (@noble/curves secp256k1 Signature.recoverPublicKey); malformed or invalid-recovery-id signatures produce a clean INDETERMINATE/RECOVERY_FAILED finding, never a thrown exception. Proves that an address's private key signed the exact digest supplied; does not prove settlement, spend, that funds moved, or that the authorization was ever submitted on-chain. Zero network calls; never a facilitator, proxy, gateway, or settlement relay.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-591-x402-signer-recovery-verifier.html",
        "tags": [
          "compliance_control",
          "x402",
          "eip-712",
          "eip-3009",
          "ecdsa-recovery",
          "crypto-primitive",
          "mcp:verify_x402_signer_recovery"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "digest": {
                    "type": "string"
                  },
                  "signature": {
                    "type": "string"
                  },
                  "r": {
                    "type": "string"
                  },
                  "s": {
                    "type": "string"
                  },
                  "v": {
                    "type": [
                      "string",
                      "number"
                    ]
                  },
                  "yParity": {
                    "type": [
                      "string",
                      "number"
                    ]
                  },
                  "chainId": {
                    "type": [
                      "string",
                      "number"
                    ]
                  },
                  "claimedFrom": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "verdict": {
                      "type": "string"
                    },
                    "reasons": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "digest": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "recovered_signer": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "claimed_from": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "recovered_signer_matches_claimed_from": {
                      "type": [
                        "boolean",
                        "null"
                      ]
                    },
                    "recovery_id": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "recovery_id_source": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "scope_note": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "verify_x402_signer_recovery",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-591-x402-signer-recovery-verifier.html",
        "x-source": "manifest"
      }
    },
    "/v1/tools/check_x402_domain_nonce_window": {
      "post": {
        "operationId": "check_x402_domain_nonce_window",
        "summary": "x402 Domain & Nonce Window Checker",
        "description": "Checks an EIP-3009 TransferWithAuthorization's domain separation and replay-defense-adjacent fields against caller-supplied expectations. expected_chain_id and expected_verifying_contract are mandatory policy parameters, separate from the chainId/verifyingContract actually baked into the signed domain -- a mismatch on either is a hard refuse, never a soft warning (the cross-domain replay defect EIP-712 domain separation exists to prevent). Also checks the validAfter/validBefore window against a caller-supplied now_unix, and the nonce's format (bytes32, non-zero). Accepts an optional caller-supplied nonce_already_used boolean; this kernel never queries a chain -- on-chain nonce uniqueness is enforced by the token contract at settlement time, not by this verifier. Zero network calls; never a facilitator, proxy, or settlement relay.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-592-x402-domain-nonce-window-checker.html",
        "tags": [
          "compliance_control",
          "x402",
          "eip-712",
          "eip-3009",
          "domain-separation",
          "nonce-check",
          "mcp:check_x402_domain_nonce_window"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "expected_chain_id": {
                    "type": [
                      "string",
                      "number"
                    ]
                  },
                  "expected_verifying_contract": {
                    "type": "string"
                  },
                  "chainId": {
                    "type": [
                      "string",
                      "number"
                    ]
                  },
                  "verifyingContract": {
                    "type": "string"
                  },
                  "validAfter": {
                    "type": [
                      "string",
                      "number"
                    ]
                  },
                  "validBefore": {
                    "type": [
                      "string",
                      "number"
                    ]
                  },
                  "now_unix": {
                    "type": [
                      "string",
                      "number"
                    ]
                  },
                  "nonce": {
                    "type": "string"
                  },
                  "nonce_already_used": {
                    "type": [
                      "boolean",
                      "null"
                    ]
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "verdict": {
                      "type": "string"
                    },
                    "reasons": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "expected": {
                      "type": "object",
                      "properties": {
                        "expected_chain_id": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "expected_verifying_contract": {
                          "type": [
                            "string",
                            "null"
                          ]
                        }
                      }
                    },
                    "signed_domain": {
                      "type": "object",
                      "properties": {
                        "chain_id": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "verifying_contract": {
                          "type": [
                            "string",
                            "null"
                          ]
                        }
                      }
                    },
                    "domain_chain_match": {
                      "type": [
                        "boolean",
                        "null"
                      ]
                    },
                    "domain_contract_match": {
                      "type": [
                        "boolean",
                        "null"
                      ]
                    },
                    "window": {
                      "type": "object",
                      "properties": {
                        "valid_after": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "valid_before": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "now_unix": {
                          "type": [
                            "string",
                            "null"
                          ]
                        }
                      }
                    },
                    "authorization_within_window": {
                      "type": [
                        "boolean",
                        "null"
                      ]
                    },
                    "authorization_expired": {
                      "type": [
                        "boolean",
                        "null"
                      ]
                    },
                    "authorization_not_yet_valid": {
                      "type": [
                        "boolean",
                        "null"
                      ]
                    },
                    "nonce": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "nonce_well_formed": {
                      "type": [
                        "boolean",
                        "null"
                      ]
                    },
                    "nonce_already_used": {
                      "type": [
                        "boolean",
                        "null"
                      ]
                    },
                    "disclosure": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "check_x402_domain_nonce_window",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-592-x402-domain-nonce-window-checker.html",
        "x-source": "manifest"
      }
    },
    "/v1/tools/check_webbotauth_nonce_replay": {
      "post": {
        "operationId": "check_webbotauth_nonce_replay",
        "summary": "Web Bot Auth Nonce & Replay-Window Checker",
        "description": "Check a Visa TAP-shaped nonce for format (minimum entropy, base64url), freshness against the created/expires window (capped at TAP's 8-minute spread), and an optional caller-supplied seen-nonce record. Zero network, caller-supplied inputs only. Emits ACCEPT or REFUSE. Replay prevention depends on the caller supplying an accurate seen-nonce record from its own storage — this verifier is stateless and cannot detect replay on its own.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-593-webbotauth-nonce-replay-check.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "visa-tap",
          "rfc9421",
          "web-bot-auth",
          "nonce",
          "replay-defense",
          "agent-identity"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "nonce": {
                    "type": "string"
                  },
                  "created": {
                    "type": "number"
                  },
                  "expires": {
                    "type": "number"
                  },
                  "now_unix": {
                    "type": "number"
                  },
                  "max_age_s": {
                    "type": "number"
                  },
                  "seen_nonces": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "nonce_already_used": {
                    "type": "boolean"
                  }
                },
                "required": [
                  "nonce",
                  "created",
                  "expires",
                  "now_unix"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "format_ok": {
                      "type": "boolean"
                    },
                    "spread_ok": {
                      "type": [
                        "boolean",
                        "null"
                      ]
                    },
                    "fresh": {
                      "type": [
                        "boolean",
                        "null"
                      ]
                    },
                    "already_used": {
                      "type": "boolean"
                    },
                    "nonce_valid": {
                      "type": "boolean"
                    },
                    "verdict": {
                      "type": "string",
                      "enum": [
                        "ACCEPT",
                        "REFUSE"
                      ]
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "check_webbotauth_nonce_replay",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-593-webbotauth-nonce-replay-check.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/build_ap2_cartmandate_hashchain": {
      "post": {
        "operationId": "build_ap2_cartmandate_hashchain",
        "summary": "AP2 CartMandate Hash-Chain Builder",
        "description": "Builds an illustrative Google AP2 CartMandate Verifiable Digital Credential (VDC) skeleton whose credentialSubject carries a deterministic hash-chain over an ordered list of cart line items: link_0 = keccak256(canon({index:0,item})), link_i = keccak256(canon({index:i,item,prev:link_(i-1)})), cart_root = the final link. Reuses this repo's existing RFC 8785/JCS canonicalization (cgCanon) and the already-vendored @noble/hashes keccak256 bundle -- no new vendoring, no hand-rolled canonicalization or hashing. Stands beside art-16 (Google AP2 Mandate Builder) as a new node -- art-16's flat CheckoutMandate/PaymentMandate shape has no line-item array to chain over. An intact chain proves the ordered cart_items list was not altered after the chain was built; it does NOT prove human authorisation, delivery, settlement, or that item prices are correct or current. Given a prior chain's per-item links (claimed_links) and a possibly tampered cart_items, the kernel recomputes and reports whether the chain is intact plus the earliest divergent index, never a thrown exception. Zero network calls; never a facilitator, proxy, gateway, or settlement relay.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-595-ap2-cartmandate-hashchain-builder.html",
        "tags": [
          "payment_policy",
          "ap2",
          "cartmandate",
          "hash-chain",
          "keccak256",
          "verifiable-credential",
          "mcp:build_ap2_cartmandate_hashchain"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "agent_id": {
                    "type": "string"
                  },
                  "subject": {
                    "type": "string"
                  },
                  "merchant": {
                    "type": "string"
                  },
                  "stage": {
                    "type": "string"
                  },
                  "cart_items": {
                    "type": "array"
                  },
                  "claimed_links": {
                    "type": "array"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "vdc": {
                      "type": [
                        "object",
                        "null"
                      ]
                    },
                    "vdc_type": {
                      "type": "string"
                    },
                    "cart_root": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "chain_length": {
                      "type": "number"
                    },
                    "chain_links": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "cart_chain_intact": {
                      "type": [
                        "boolean",
                        "null"
                      ]
                    },
                    "first_divergent_index": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "note": {
                      "type": "string"
                    },
                    "reasons": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "build_ap2_cartmandate_hashchain",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-595-ap2-cartmandate-hashchain-builder.html",
        "x-source": "manifest"
      }
    },
    "/v1/tools/correlate_ap2_cartmandate_x402": {
      "post": {
        "operationId": "correlate_ap2_cartmandate_x402",
        "summary": "AP2 x402 Cart Correlation",
        "description": "Correlates a built AP2 CartMandate (cart_root, cart_items, merchant) against an x402_spend_evidence pack: does the cart total (sum of quantity*unit_price per currency) match the x402 authorization's value, does the CartMandate's merchant map to the authorization's recipient address, and does the CartMandate's own hash-chain independently re-verify against the supplied cart_items (never trusted as a self-reported flag). Output vocabulary is CORRELATION_STATUS (CORRELATED / NOT_CORRELATED / INDETERMINATE) -- this is a plausibility check over two independently-produced artifacts, never a cryptographic binding. Google has not shipped an AP2-compatible x402 extension; no field or code path here implies one exists. Zero network calls; never a facilitator, proxy, gateway, or settlement relay.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-596-ap2-x402-cart-correlation.html",
        "tags": [
          "compliance_control",
          "ap2",
          "x402",
          "cartmandate",
          "correlation",
          "keccak256",
          "mcp:correlate_ap2_cartmandate_x402"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "cart_root": {
                    "type": "string"
                  },
                  "cart_items": {
                    "type": "array"
                  },
                  "merchant": {
                    "type": "string"
                  },
                  "x402_spend_evidence": {
                    "type": "object"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "correlation_status": {
                      "type": "string",
                      "enum": [
                        "CORRELATED",
                        "NOT_CORRELATED",
                        "INDETERMINATE"
                      ]
                    },
                    "cart_total_matches_authorization_value": {
                      "type": [
                        "boolean",
                        "null"
                      ]
                    },
                    "merchant_matches_authorization_to": {
                      "type": [
                        "boolean",
                        "null"
                      ]
                    },
                    "cart_chain_intact": {
                      "type": "boolean"
                    },
                    "disclosure": {
                      "type": "string"
                    },
                    "reasons": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "correlate_ap2_cartmandate_x402",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-596-ap2-x402-cart-correlation.html",
        "x-source": "manifest"
      }
    },
    "/v1/tools/decode_c2pa_aiml_assertions": {
      "post": {
        "operationId": "decode_c2pa_aiml_assertions",
        "summary": "C2PA AI/ML Assertion Decoder",
        "description": "Decodes AI/ML provenance assertions off a C2PA manifest's assertion array: ALL entries in every c2pa.actions/c2pa.actions.v2 assertion (a manifest can carry a created -> edited -> published history; this reads the whole chain, not just the first action), the full IPTC digitalsourcetype NewsCodes vocabulary (raw code always surfaced, an unrecognized code is never silently dropped), and c2pa.ai_training / c2pa.ai_generative_training training-and-data-mining opt-out assertions (training_mining_opt_out: true/false/not_asserted, read only from an explicit boolean, never inferred). Reports assertions only -- never adjudicates whether an assertion is true, and absence of an AI/ML assertion means nothing. Reuses art-123's assertion-array input shape as a sibling stage; zero edits to art-123 or art-361. Zero network calls, zero PII.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-597-c2pa-aiml-assertion-decoder.html",
        "tags": [
          "compliance_control",
          "c2pa",
          "ai-provenance",
          "digitalsourcetype",
          "training-opt-out",
          "mcp:decode_c2pa_aiml_assertions"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "assertions": {
                    "type": "array",
                    "items": {
                      "type": "object"
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "actions": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "action": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "digital_source_type": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "when": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "software_agent": {
                            "type": [
                              "string",
                              "null"
                            ]
                          }
                        }
                      }
                    },
                    "digital_source_type_summary": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "training_mining_opt_out": {
                      "type": [
                        "boolean",
                        "string"
                      ]
                    },
                    "unrecognized_source_types": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "note": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "decode_c2pa_aiml_assertions",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-597-c2pa-aiml-assertion-decoder.html",
        "x-source": "manifest"
      }
    },
    "/v1/tools/verify_input_attestations": {
      "post": {
        "operationId": "verify_input_attestations",
        "summary": "Input Attestation Verifier",
        "description": "Verify SPEC.md §23 input_attestations entries — vc-2.0, c2pa-manifest, rfc3161-snapshot, zktls — against a target artifact's policy_parameters. Reuses the §20 RFC 3161 verifier and §16 Data Integrity machinery; imports art-123's manifest structural check directly. Zero network.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-598-input-attestation-verifier.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "input-attestation",
          "c2pa",
          "rfc3161",
          "verifiable-credentials",
          "zktls",
          "provenance",
          "spec-23"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "target_policy_parameters": {
                    "type": "object"
                  },
                  "input_attestations": {
                    "type": "array"
                  },
                  "verification_time": {
                    "type": "string"
                  },
                  "tsa_root_pem": {
                    "type": "string"
                  }
                },
                "required": [
                  "target_policy_parameters",
                  "input_attestations"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "zero_attestation_caveat_shown": {
                      "type": "boolean"
                    },
                    "attestation_count": {
                      "type": "integer"
                    },
                    "attestations": {
                      "type": "array"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "verify_input_attestations",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-598-input-attestation-verifier.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/check_mica_register_presence": {
      "post": {
        "operationId": "check_mica_register_presence",
        "summary": "MiCA Register Presence Check",
        "description": "Answers one question about a pasted extract of an ESMA MiCA public register: was a named entity present in that snapshot on the date the reader captured it? The reader names the register type (the register of crypto-asset white papers, or the register of authorised crypto-asset service providers), supplies the entity identifier, supplies the capture date, and pastes the extract. The kernel digests the pasted bytes exactly as pasted into register_snapshot_digest, parses the extract with RFC 4180 quoting, searches either every cell or one caller-named column, and emits a single fixed verdict sentence: as of the retrieval date, the entity was or was not present in the named register snapshot with that digest. HARD FENCE: the extract, the entity identifier, the register type and the retrieval date are every one of them a caller input. This node performs no lookup of any kind (zero-egress), ships no bundled copy of either register, adds no scheduled refresh, and has no clock at all, so retrieval_date dates the reader's capture rather than the run. match_found is a tristate: null means the search did not run, and it is never collapsed into a false. Oversized extracts are refused with a named flag rather than truncated, since a digest over bytes the reader never saw would be worse than no reading. Presence is a dated fact about a snapshot, never authorisation, never a current status, never a claim the register itself is complete or current, and never legal advice.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-602-mica-register-presence-check.html",
        "tags": [
          "compliance_mandate",
          "mica",
          "esma",
          "register",
          "presence-as-of-date",
          "snapshot-digest",
          "mcp:check_mica_register_presence"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "register_type": {
                    "type": "string"
                  },
                  "entity_identifier": {
                    "type": "string"
                  },
                  "register_extract": {
                    "type": "string"
                  },
                  "retrieval_date": {
                    "type": "string"
                  },
                  "register_source_ref": {
                    "type": "string"
                  },
                  "delimiter": {
                    "type": "string"
                  },
                  "header_row": {
                    "type": "boolean"
                  },
                  "match_column": {
                    "type": [
                      "string",
                      "number",
                      "null"
                    ]
                  },
                  "case_sensitive": {
                    "type": "boolean"
                  }
                },
                "required": [
                  "register_type",
                  "entity_identifier",
                  "register_extract",
                  "retrieval_date"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "register_type": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "register_label": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "entity_identifier": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "retrieval_date": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "register_source_ref": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "register_snapshot_digest": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "snapshot": {
                      "type": "object"
                    },
                    "search": {
                      "type": "object"
                    },
                    "match_found": {
                      "type": [
                        "boolean",
                        "null"
                      ]
                    },
                    "matched_row": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "matched_rows": {
                      "type": "array",
                      "items": {
                        "type": "object"
                      }
                    },
                    "match_count": {
                      "type": "number"
                    },
                    "verdict": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "verdict_unavailable_reason": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "judgment_required": {
                      "type": [
                        "object",
                        "null"
                      ]
                    },
                    "rationale": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "not_proven": {
                      "type": "array",
                      "items": {
                        "type": "object"
                      }
                    },
                    "fence": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "check_mica_register_presence",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-602-mica-register-presence-check.html",
        "x-source": "manifest"
      }
    },
    "/v1/tools/recompute_stablecoin_reserve_3source": {
      "post": {
        "operationId": "recompute_stablecoin_reserve_3source",
        "summary": "Stablecoin Reserve 3-Source Recompute",
        "description": "Recomputes reserve ratio, weighted-average maturity, and per-holding GENIUS eligible-asset match from three independently-sourced legs (issuer disclosure with a per-asset-class breakdown, EDGAR N-MFP Part 1 series summary, declared on-chain supply), then reconciles them against each other, skew-gated on how far apart their as-of dates are. Each leg is optional; a missing leg drives every check that depends on it to INDETERMINATE, never a fabricated pass. Reserve-ratio and WAM-ceiling checks use MET/NOT_MET/INDETERMINATE vocabulary; per-holding GENIUS eligible-asset flags use MATCHES_CRITERION/DOES_NOT_MATCH/INDETERMINATE (the statutory catch-all item always INDETERMINATE, never auto-matched, no overall_eligibility field of any kind); the three cross-source reconcile checks use RECONCILED/DISCREPANT/INDETERMINATE. A RECOMPUTE only: never a solvency claim, never an audit, never a third-party sign-off, never 'satisfies GENIUS'.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-603-stablecoin-reserve-3source-recompute.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate",
          "genius-act",
          "stablecoin",
          "reserve-ratio",
          "wam",
          "edgar-nmfp",
          "three-source-reconcile",
          "mcp:recompute_stablecoin_reserve_3source"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "max_as_of_skew_days": {
                    "type": "number"
                  },
                  "leg_a": {
                    "type": [
                      "object",
                      "null"
                    ]
                  },
                  "leg_b": {
                    "type": [
                      "object",
                      "null"
                    ]
                  },
                  "leg_c": {
                    "type": [
                      "object",
                      "null"
                    ]
                  }
                },
                "required": []
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "overall_determination": {
                      "type": "string"
                    },
                    "leg_a": {
                      "type": "object"
                    },
                    "leg_b": {
                      "type": "object"
                    },
                    "leg_c": {
                      "type": "object"
                    },
                    "max_as_of_skew_days_global": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "as_of_skew_pairs": {
                      "type": "object"
                    },
                    "as_of_skew_threshold_days": {
                      "type": "number"
                    },
                    "reserve_ratio": {
                      "type": "object"
                    },
                    "wam": {
                      "type": "object"
                    },
                    "genius_eligible_holdings": {
                      "type": "array",
                      "items": {
                        "type": "object"
                      }
                    },
                    "provisional_nprm_detail": {
                      "type": "array",
                      "items": {
                        "type": "object"
                      }
                    },
                    "reconciles": {
                      "type": "array",
                      "items": {
                        "type": "object"
                      }
                    },
                    "not_proven": {
                      "type": "array",
                      "items": {
                        "type": "object"
                      }
                    },
                    "determination_note": {
                      "type": "string"
                    },
                    "regulatory_framework": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "recompute_stablecoin_reserve_3source",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-603-stablecoin-reserve-3source-recompute.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/verify_merkle_airdrop_proof": {
      "post": {
        "operationId": "verify_merkle_airdrop_proof",
        "summary": "Merkle Airdrop-Proof Verifier",
        "description": "Recomputes a Merkle airdrop-claim proof from caller-declared leaf fields (address, uint256 amount, encoding_variant) and a sibling path, OpenZeppelin MerkleProof.verify shape (processProof/_hashPair) over the already-vendored @noble/hashes keccak256 bundle -- no new vendoring, no hand-rolled hashing. Leaf derivation follows OpenZeppelin StandardMerkleTree's (address,uint256) convention: encoding_variant selects the double-hash leaf (the second-preimage-resistant default) or a single-hash variant some deployed contracts use instead, always a declared param. Sibling-pair hashing is sorted/commutative (pair_sort:true, OpenZeppelin's default) or explicit per-step left/right position (pair_sort:false), also a declared param. Given an optional claimed_path (a prior run's per-step running hashes), re-verifies and reports the earliest step at which the recompute diverges, instead of only a final match/no-match. This node never reads any chain: it cannot know whether claimed_root is the root actually recorded on-chain, whether the leaf's allocation was already claimed or redeemed, or whether the underlying tree was built correctly from the full allocation list.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-605-merkle-airdrop-proof-verifier.html",
        "tags": [
          "payment_policy",
          "merkle",
          "airdrop",
          "keccak256",
          "openzeppelin",
          "hash-proof",
          "mcp:verify_merkle_airdrop_proof"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "address": {
                    "type": "string"
                  },
                  "amount": {
                    "type": "string"
                  },
                  "encoding_variant": {
                    "type": "string"
                  },
                  "pair_sort": {
                    "type": "boolean"
                  },
                  "proof": {
                    "type": "array"
                  },
                  "claimed_root": {
                    "type": "string"
                  },
                  "claimed_path": {
                    "type": "array"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "leaf": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "computed_root": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "path": {
                      "type": "array"
                    },
                    "encoding_variant_used": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "pair_sort_used": {
                      "type": "boolean"
                    },
                    "root_matches_claimed": {
                      "type": [
                        "boolean",
                        "null"
                      ]
                    },
                    "path_intact": {
                      "type": [
                        "boolean",
                        "null"
                      ]
                    },
                    "first_divergent_step": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "note": {
                      "type": "string"
                    },
                    "reasons": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "verify_merkle_airdrop_proof",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-605-merkle-airdrop-proof-verifier.html",
        "x-source": "manifest"
      }
    },
    "/v1/tools/check_jwks_pinned_directory": {
      "post": {
        "operationId": "check_jwks_pinned_directory",
        "summary": "JWKS Pinned-Directory Check",
        "description": "Confirms a caller-supplied JWKS directory document matches a caller-pinned SHA-256 digest -- sha256(canonicalize(directory_jwks)) === pinned_digest -- before art-130 trusts the document's internal shape. Canonicalization is this codebase's one JCS/RFC-8785 canon (recursive key-sort, array order preserved), hashed as lowercase hex, so two honest callers hashing the same logical document land on the same digest. Zero network, zero key hosting: both the directory document and the pinned digest are supplied by the caller, never fetched, cached, or served by this tool. Chains before art-130 in the visa-tap-agent-verification chain, so a substituted directory fails before its shape is even checked.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-609-jwks-pinned-directory-check.html\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "rfc9421",
          "web-bot-auth",
          "visa-tap",
          "jwks",
          "digest-pinning",
          "agent-identity",
          "mcp:check_jwks_pinned_directory"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "directory_jwks": {
                    "type": "object"
                  },
                  "pinned_digest": {
                    "type": "string"
                  }
                },
                "required": [
                  "directory_jwks",
                  "pinned_digest"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "computed_digest": {
                      "type": "string",
                      "description": "sha256(canonicalize(directory_jwks)), lowercase hex."
                    },
                    "pinned_digest": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "pinned_digest_well_formed": {
                      "type": "boolean",
                      "description": "True only if pinned_digest is present and matches 64 lowercase-or-mixed-case hex characters."
                    },
                    "digest_match": {
                      "type": "boolean"
                    },
                    "key_count": {
                      "type": "number"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "check_jwks_pinned_directory",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-609-jwks-pinned-directory-check.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/recompute_erc4626_vault_share_math": {
      "post": {
        "operationId": "recompute_erc4626_vault_share_math",
        "summary": "ERC-4626 Vault Share Math",
        "description": "Recomputes ERC-4626 tokenized-vault share and asset conversions from caller-declared vault state, applying the rounding direction the standard mandates for each function and reporting which direction produced each result alongside what the opposite direction would have produced. ERC-4626 fixes those directions per function: convertToShares and convertToAssets round down towards 0, previewDeposit and previewRedeem round down, previewMint and previewWithdraw round up. Also computes a deposit-then-redeem round-trip loss bound against the post-deposit state, a signed exchange-rate drift between two declared snapshots, and a declared fee application. All arithmetic is exact uint256 integer math with no floating point. Never reads any chain: it cannot know whether the declared totals match a deployed vault, whether that vault applies these directions, or whether a rate change came from yield, loss, a donation, or an attack.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-610-erc4626-vault-share-math.html",
        "tags": [
          "payment_policy",
          "erc-4626",
          "tokenized-vault",
          "rounding",
          "share-price",
          "inflation-attack",
          "mcp:recompute_erc4626_vault_share_math"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "total_assets": {
                    "type": "string"
                  },
                  "total_supply": {
                    "type": "string"
                  },
                  "virtual_amounts": {
                    "type": "boolean"
                  },
                  "decimals_offset": {
                    "type": "string"
                  },
                  "operations": {
                    "type": "array"
                  },
                  "round_trip_assets": {
                    "type": "string"
                  },
                  "snapshot_b": {
                    "type": "object"
                  },
                  "fee_bps": {
                    "type": "string"
                  },
                  "fee_basis": {
                    "type": "string"
                  },
                  "chain_id": {
                    "type": "string"
                  },
                  "network_label": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "declared_context": {
                      "type": "object"
                    },
                    "vault_state": {
                      "type": [
                        "object",
                        "null"
                      ]
                    },
                    "conversions": {
                      "type": "array"
                    },
                    "fee": {
                      "type": [
                        "object",
                        "null"
                      ]
                    },
                    "round_trip": {
                      "type": [
                        "object",
                        "null"
                      ]
                    },
                    "rate_drift": {
                      "type": [
                        "object",
                        "null"
                      ]
                    },
                    "rounding_table": {
                      "type": "array"
                    },
                    "note": {
                      "type": "string"
                    },
                    "reasons": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "recompute_erc4626_vault_share_math",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-610-erc4626-vault-share-math.html",
        "x-source": "manifest"
      }
    },
    "/v1/tools/recompute_erc7540_request_accounting": {
      "post": {
        "operationId": "recompute_erc7540_request_accounting",
        "summary": "ERC-7540 Async-Vault Request Accounting",
        "description": "Recomputes ERC-7540 asynchronous-vault request accounting from caller-declared request state. ERC-7540 extends ERC-4626 with a three-state request lifecycle used by funds that cannot settle a deposit or redemption in the same transaction: an amount is Pending after a request, becomes Claimable when the vault fulfils it, and is Claimed when the holder calls deposit, mint, withdraw or redeem. This tool applies a sequence of claims against the claimable buckets at the pro-rata rate they were made claimable at, tracks the pending, claimable and claimed split for both legs, reports the rounding residue a sequence of partial claims strands, and checks the standard's invariants by name. ERC-7540 mandates no rounding direction for a partial claim, so the direction is a declared parameter and the opposite direction's result is reported beside it. Never reads any chain: it cannot know whether the declared amounts match a deployed vault, when a pending request will be fulfilled, whether the controller is authorised, or whether a claim transaction would succeed.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-611-erc7540-async-vault-request-accounting.html",
        "tags": [
          "payment_policy",
          "erc-7540",
          "async-vault",
          "request-lifecycle",
          "rwa-fund",
          "rounding",
          "mcp:recompute_erc7540_request_accounting"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "request_id": {
                    "type": "string"
                  },
                  "deposit": {
                    "type": "object"
                  },
                  "redeem": {
                    "type": "object"
                  },
                  "claims": {
                    "type": "array"
                  },
                  "claim_rounding": {
                    "type": "string"
                  },
                  "chain_id": {
                    "type": "string"
                  },
                  "network_label": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "declared_context": {
                      "type": "object"
                    },
                    "request_id": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "aggregate_by_controller": {
                      "type": [
                        "boolean",
                        "null"
                      ]
                    },
                    "claim_rounding_used": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "opening": {
                      "type": [
                        "object",
                        "null"
                      ]
                    },
                    "claims": {
                      "type": "array"
                    },
                    "closing": {
                      "type": [
                        "object",
                        "null"
                      ]
                    },
                    "dust": {
                      "type": "object"
                    },
                    "invariants": {
                      "type": "array"
                    },
                    "note": {
                      "type": "string"
                    },
                    "reasons": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "recompute_erc7540_request_accounting",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-611-erc7540-async-vault-request-accounting.html",
        "x-source": "manifest"
      }
    },
    "/v1/tools/recompute_erc4337_userop_math": {
      "post": {
        "operationId": "recompute_erc4337_userop_math",
        "summary": "ERC-4337 UserOperation Math",
        "description": "Recomputes the ERC-4337 account-abstraction userOpHash from a caller-supplied UserOperation, computes the EntryPoint's required prefund from caller-supplied gas limits, and reconciles a declared paymaster charge against a charge recomputed from declared inputs. The EntryPoint version is a mandatory declared parameter, never inferred: v0.6 hashes a 10-word UserOperation pack, v0.7 hashes an 8-word PackedUserOperation in which verificationGasLimit and callGasLimit pack into accountGasLimits and maxPriorityFeePerGas and maxFeePerGas pack into gasFees. The prefund formulas differ too: v0.6 multiplies verificationGasLimit by three when a paymaster is present because that limit also caps postOp, while v0.7 adds the paymaster's own verification and postOp gas limits parsed from fixed offsets inside paymasterAndData. Both versions are supported; an unrecognised version is refused, never approximated. L1 data and blob fees are never derived, since after EIP-4844 they depend on the inclusion-time L1 basefee and blob basefee: an L1 data fee enters reconciliation only when declared, and its absence is reported as a named gap. block.basefee is never fetched either, so with differing fee caps the effective gas price is null with the reason unless a basefee is declared. keccak256 comes from the already-vendored, pinned noble-hashes bundle; the ABI encoding scheme is public-spec arithmetic on top of it, not hand-rolled crypto. Zero network calls and zero chain reads. Makes no claim that any operation was settled, accepted, included, or final, and no claim about signature validity, which the ERC-4337 spec excludes from the hashed struct.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-613-erc4337-userop-math.html",
        "tags": [
          "payment_policy",
          "erc-4337",
          "account-abstraction",
          "userop",
          "paymaster",
          "entrypoint",
          "crypto-primitive",
          "mcp:recompute_erc4337_userop_math"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "entryPointVersion": {
                    "type": [
                      "string",
                      "number"
                    ]
                  },
                  "entryPoint": {
                    "type": "string"
                  },
                  "chainId": {
                    "type": [
                      "string",
                      "number"
                    ]
                  },
                  "sender": {
                    "type": "string"
                  },
                  "nonce": {
                    "type": [
                      "string",
                      "number"
                    ]
                  },
                  "initCode": {
                    "type": "string"
                  },
                  "callData": {
                    "type": "string"
                  },
                  "paymasterAndData": {
                    "type": "string"
                  },
                  "callGasLimit": {
                    "type": [
                      "string",
                      "number"
                    ]
                  },
                  "verificationGasLimit": {
                    "type": [
                      "string",
                      "number"
                    ]
                  },
                  "preVerificationGas": {
                    "type": [
                      "string",
                      "number"
                    ]
                  },
                  "maxFeePerGas": {
                    "type": [
                      "string",
                      "number"
                    ]
                  },
                  "maxPriorityFeePerGas": {
                    "type": [
                      "string",
                      "number"
                    ]
                  },
                  "declaredBaseFeePerGas": {
                    "type": [
                      "string",
                      "number"
                    ]
                  },
                  "declaredActualGasUsed": {
                    "type": [
                      "string",
                      "number"
                    ]
                  },
                  "declaredActualGasCostWei": {
                    "type": [
                      "string",
                      "number"
                    ]
                  },
                  "declaredL1DataFeeWei": {
                    "type": [
                      "string",
                      "number"
                    ]
                  },
                  "reconciliationToleranceWei": {
                    "type": [
                      "string",
                      "number"
                    ]
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "verdict": {
                      "type": "string"
                    },
                    "reasons": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "entry_point": {
                      "type": "object",
                      "properties": {
                        "declared_version": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "address": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "canonical_address_for_declared_version": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "address_matches_canonical": {
                          "type": [
                            "boolean",
                            "null"
                          ]
                        }
                      }
                    },
                    "chain_id": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "user_op": {
                      "type": "object",
                      "properties": {
                        "sender": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "nonce": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "init_code": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "call_data": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "paymaster_and_data": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "call_gas_limit": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "verification_gas_limit": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "pre_verification_gas": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "max_fee_per_gas": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "max_priority_fee_per_gas": {
                          "type": [
                            "string",
                            "null"
                          ]
                        }
                      }
                    },
                    "packed_words": {
                      "type": [
                        "object",
                        "null"
                      ],
                      "properties": {
                        "layout": {
                          "type": "string"
                        },
                        "word_count": {
                          "type": "number"
                        },
                        "account_gas_limits": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "gas_fees": {
                          "type": [
                            "string",
                            "null"
                          ]
                        }
                      }
                    },
                    "field_hashes": {
                      "type": [
                        "object",
                        "null"
                      ],
                      "properties": {
                        "init_code_hash": {
                          "type": "string"
                        },
                        "call_data_hash": {
                          "type": "string"
                        },
                        "paymaster_and_data_hash": {
                          "type": "string"
                        }
                      }
                    },
                    "packed_user_op_hash": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "user_op_hash": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "gas_accounting": {
                      "type": [
                        "object",
                        "null"
                      ],
                      "properties": {
                        "entry_point_version": {
                          "type": "string"
                        },
                        "required_gas": {
                          "type": "string"
                        },
                        "required_prefund_wei": {
                          "type": "string"
                        },
                        "prefund_formula": {
                          "type": "string"
                        },
                        "paymaster_present": {
                          "type": "boolean"
                        },
                        "paymaster_address": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "paymaster_multiplier_applied": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "paymaster_verification_gas_limit": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "paymaster_post_op_gas_limit": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "paymaster_fields_note": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "declared_base_fee_per_gas": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "effective_gas_price_wei": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "effective_gas_price_basis": {
                          "type": "string"
                        }
                      }
                    },
                    "paymaster_reconciliation": {
                      "type": [
                        "object",
                        "null"
                      ],
                      "properties": {
                        "status": {
                          "type": "string"
                        },
                        "missing_declared_inputs": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        },
                        "declared_actual_gas_used": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "declared_actual_gas_cost_wei": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "declared_l1_data_fee_wei": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "recomputed_execution_cost_wei": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "recomputed_total_charge_wei": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "residual_wei": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "tolerance_wei": {
                          "type": "string"
                        },
                        "notes": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        }
                      }
                    },
                    "never_fetched": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "scope_note": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "recompute_erc4337_userop_math",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-613-erc4337-userop-math.html",
        "x-source": "manifest"
      }
    },
    "/v1/tools/decode_eip7702_authorization_tuple": {
      "post": {
        "operationId": "decode_eip7702_authorization_tuple",
        "summary": "EIP-7702 Authorization-Tuple Decoder",
        "description": "Recomputes the EIP-7702 authorization-tuple hash (keccak256(0x05 || rlp([chain_id, address, nonce])), the 'Set EOA account code' standard live on Ethereum mainnet since the Pectra upgrade, 2025-05-07), recovers the ECDSA signer from a caller-supplied signature, and reports the address the recovered signer is authorizing as its delegate. The tuple's own `address` field IS the delegate: the code the EOA is pointing itself at. This node stops at that address -- it never inspects, fetches, or judges the delegate contract's bytecode, and makes no safe/unsafe verdict about it. chain_id = 0 is EIP-7702-defined as a valid, deliberate cross-chain authorization (replayable on any chain) and is reported as such, never treated as malformed input. RLP encoding is hand-authored public-spec arithmetic (Ethereum Yellow Paper Appendix B); keccak256 and secp256k1 recovery come from the already-vendored, pinned noble-curves bundle, no new vendoring. Malformed or incomplete input produces a clean INDETERMINATE/RECOVERY_FAILED finding, never a thrown exception. Zero network calls: does not confirm the authorization was ever submitted on-chain, does not confirm the EOA's account nonce matches the declared nonce at any block, and makes no settlement claim.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-614-eip7702-authorization-tuple-decoder.html",
        "tags": [
          "compliance_control",
          "eip-7702",
          "account-abstraction",
          "authorization-tuple",
          "ecdsa-recovery",
          "rlp",
          "crypto-primitive",
          "mcp:decode_eip7702_authorization_tuple"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "chainId": {
                    "type": [
                      "string",
                      "number"
                    ]
                  },
                  "address": {
                    "type": "string"
                  },
                  "nonce": {
                    "type": [
                      "string",
                      "number"
                    ]
                  },
                  "signature": {
                    "type": "string"
                  },
                  "r": {
                    "type": "string"
                  },
                  "s": {
                    "type": "string"
                  },
                  "v": {
                    "type": [
                      "string",
                      "number"
                    ]
                  },
                  "yParity": {
                    "type": [
                      "string",
                      "number"
                    ]
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "verdict": {
                      "type": "string"
                    },
                    "reasons": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "chain_id": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "cross_chain_authorization": {
                      "type": [
                        "boolean",
                        "null"
                      ]
                    },
                    "delegate_address": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "nonce": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "authorization_tuple_hash": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "recovered_signer": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "recovery_id": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "recovery_id_source": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "scope_note": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "decode_eip7702_authorization_tuple",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-614-eip7702-authorization-tuple-decoder.html",
        "x-source": "manifest"
      }
    },
    "/v1/tools/classify_mla_charge_inclusion": {
      "post": {
        "operationId": "classify_mla_charge_inclusion",
        "summary": "MLA Charge-Inclusion Classifier",
        "description": "Closed-set lookup of whether a charge type must be included in the Military Lending Act MAPR under 32 CFR 232.4(c) and 232.4(d). Returns included_in_mapr as true, false or conditional, the exact paragraph cited, a plain basis sentence, the named participation-fee figure where the regulation states one, and an explicit manual-review flag on the single cell a closed-set lookup cannot resolve. The declared domain is 9 charge types x is_credit_card_account x short_term_exception_claimed = 36 states, all enumerated. Three charge types return conditional rather than a boolean because the regulation's own worked examples at 232.4(d)(4)(iii) run the same fee twice and reach opposite answers on facts a charge type cannot express. The 232.4(c)(1)(iii)(B) short-term carve-out sets manual_review_required and names its three missing predicates instead of guessing. conditional_limit_usd reports the $100 per annum figure of 232.4(c)(2)(ii)(B) on the participation-fee credit-card cells: it names that figure and never compares it to an amount, since 232.4(c)(2)(ii)(B) withdraws the limit for a bona fide participation fee under paragraph (d) and 232.4(d)(3)(iv) offers a $400 fee as potentially reasonable. Performs no arithmetic: no ratio, no scale, no threshold compare, no rounding. Does not determine covered-borrower status, does not compute a MAPR, does not compare anything to the 36 percent limit of 232.4(b), and does not decide whether a fee is bona fide or reasonable under 232.4(d)(1) and 232.4(d)(3).\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-615-mla-charge-inclusion-classifier.html",
        "tags": [
          "compliance_mandate",
          "military-lending-act",
          "mapr",
          "32-cfr-232",
          "consumer-credit",
          "charge-inclusion",
          "exhaustive-enumeration",
          "mcp:classify_mla_charge_inclusion"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "charge_type": {
                    "type": "string"
                  },
                  "is_credit_card_account": {
                    "type": "boolean"
                  },
                  "short_term_exception_claimed": {
                    "type": "boolean"
                  }
                },
                "required": [
                  "charge_type"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "charge_type": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "is_credit_card_account": {
                      "type": "boolean"
                    },
                    "short_term_exception_claimed": {
                      "type": "boolean"
                    },
                    "included_in_mapr": {
                      "type": [
                        "boolean",
                        "string",
                        "null"
                      ]
                    },
                    "citation": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "basis": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "conditional_limit_usd": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "manual_review_required": {
                      "type": "boolean"
                    },
                    "manual_review_reason": {
                      "type": [
                        "string",
                        "null"
                      ]
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "classify_mla_charge_inclusion",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-615-mla-charge-inclusion-classifier.html",
        "x-source": "manifest"
      }
    },
    "/v1/tools/recompute_mla_mapr_actuarial": {
      "post": {
        "operationId": "recompute_mla_mapr_actuarial",
        "summary": "MLA MAPR Actuarial Recompute",
        "description": "Recomputes a Military Lending Act MAPR for closed-end credit by the Regulation Z actuarial method, from caller-supplied cash flows and charges. 32 CFR 232.4(c)(2)(i) says the closed-end MAPR is calculated following Regulation Z's own rules for the annual percentage rate, based on the wider charge set in 232.4(c)(1), so this node solves the Appendix J actuarial equation rather than a single-period ratio: the odd-days fraction is priced at simple interest per Appendix J (b)(6), only whole unit-periods compound, and the annual figure is the unit-period rate multiplied by the unit-periods in a year per (b)(1). Each supplied charge is classified against 232.4(c)(1) and (d) with its own paragraph citation, and an includable charge collected at consummation reduces the amount advanced; a Regulation Z finance charge already carried by the payment schedule is echoed and never deducted twice. The result is compared against the 36 percent limit in 232.4(b), with that limit and the $100 participation-fee figure in 232.4(c)(2)(ii)(B) held as declared constants a caller cannot move. A rate is reported only when a sign-change bracket was established and narrowed. Verify-only: this node does not determine covered-borrower status, reads no external record, and does not assert that a real transaction meets the Military Lending Act.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-616-mla-mapr-actuarial-recompute.html",
        "tags": [
          "compliance_mandate",
          "military-lending-act",
          "mapr",
          "32-cfr-232",
          "regulation-z",
          "appendix-j",
          "actuarial-apr",
          "consumer-credit",
          "mcp:recompute_mla_mapr_actuarial"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "loan_amount": {
                    "type": "number"
                  },
                  "payment_amount": {
                    "type": "number"
                  },
                  "num_payments": {
                    "type": "number"
                  },
                  "periods_per_year": {
                    "type": "number"
                  },
                  "odd_days": {
                    "type": "number"
                  },
                  "unit_period_days": {
                    "type": "number"
                  },
                  "advances": {
                    "type": "array"
                  },
                  "payments": {
                    "type": "array"
                  },
                  "mla_charges": {
                    "type": "array"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "mapr_pct": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "mapr_cap_pct": {
                      "type": "number"
                    },
                    "exceeds_cap": {
                      "type": [
                        "boolean",
                        "null"
                      ]
                    },
                    "periodic_rate": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "periods_per_year": {
                      "type": "number"
                    },
                    "num_advances": {
                      "type": "number"
                    },
                    "num_payments": {
                      "type": "number"
                    },
                    "advance_total": {
                      "type": "number"
                    },
                    "payment_total": {
                      "type": "number"
                    },
                    "amount_financed_mapr": {
                      "type": "number"
                    },
                    "prepaid_included_total": {
                      "type": "number"
                    },
                    "finance_charge_in_schedule_total": {
                      "type": "number"
                    },
                    "charge_breakdown": {
                      "type": "array"
                    },
                    "manual_review_required": {
                      "type": "boolean"
                    },
                    "participation_fee_open_end_no_balance_limit_usd": {
                      "type": "number"
                    },
                    "iterations": {
                      "type": "number"
                    },
                    "converged": {
                      "type": "boolean"
                    },
                    "bracketed": {
                      "type": "boolean"
                    },
                    "regulatory_basis": {
                      "type": "string"
                    },
                    "note": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "recompute_mla_mapr_actuarial",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-616-mla-mapr-actuarial-recompute.html",
        "x-source": "manifest"
      }
    },
    "/v1/tools/recompute_ccd2_aprc_annex3": {
      "post": {
        "operationId": "recompute_ccd2_aprc_annex3",
        "summary": "CCD2 Annex III APRC Recompute",
        "description": "Recomputes the EU Directive (EU) 2023/2225 (CCD2) annual percentage rate of charge (APRC) from a caller-supplied drawdown/repayment schedule against Annex III Part I's basic equation, solved by bracketed bisection for the rate X. Reports converged, bracketed, iterations_used and residual_at_convergence as honesty fields alongside aprc_pct, rounded to at least one decimal place per Annex III Part I remark (d), half-up on the next digit. Verify-only: does not determine CCD2 applicability and does not assert compliance.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-619-ccd2-aprc-annex3-recompute.html",
        "tags": [
          "compliance_mandate",
          "ccd2",
          "eu-2023-2225",
          "annex-iii",
          "aprc",
          "consumer-credit",
          "bisection-solver",
          "mcp:recompute_ccd2_aprc_annex3"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "drawdowns": {
                    "type": "array",
                    "description": "Array of {amount, full_periods, fraction} or {amount, t_years}"
                  },
                  "repayments": {
                    "type": "array",
                    "description": "Array of {amount, full_periods, fraction} or {amount, t_years}"
                  }
                },
                "required": [
                  "drawdowns",
                  "repayments"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "aprc_pct": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "converged": {
                      "type": "boolean"
                    },
                    "bracketed": {
                      "type": "boolean"
                    },
                    "iterations_used": {
                      "type": "number"
                    },
                    "residual_at_convergence": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "num_drawdowns": {
                      "type": "number"
                    },
                    "num_repayments": {
                      "type": "number"
                    },
                    "drawdown_total": {
                      "type": "number"
                    },
                    "repayment_total": {
                      "type": "number"
                    },
                    "total_charge": {
                      "type": "number"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "recompute_ccd2_aprc_annex3",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-619-ccd2-aprc-annex3-recompute.html",
        "x-source": "manifest"
      }
    },
    "/v1/tools/compute_deterministic_amortization_schedule": {
      "post": {
        "operationId": "compute_deterministic_amortization_schedule",
        "summary": "Deterministic Amortization Schedule",
        "description": "Demonstrator node for the shared _amort.bundle.mjs kernel: a deterministic amortization-schedule engine over seven closed day-count conventions (six ISDA 2006 Definitions Section 4.16 calendar conventions plus UNIT_PERIOD for lease/revenue schedules). Computes period_fraction, periodic_rate, interest, principal_component and closing_balance per period via the effective-interest method, with a mandatory final-period plug bounded by a declared max_plug. Supports a bracketed-bisection rate solve scoped to UNIT_PERIOD, and mid-stream remeasurement as schedule segmentation with an asserted continuity_invariant. Not a wave-specific ASC 842 / ASC 606 / CECL tool -- a reusable shared kernel's demonstrator.\n\n**Tool URL:** https://ainumbers.co/chaingraph/kernels/art-626-deterministic-amortization-schedule.kernel.mjs",
        "tags": [
          "compliance_mandate",
          "amortization",
          "day-count-convention",
          "isda-2006-definitions",
          "effective-interest-method",
          "bisection-solver",
          "remeasurement",
          "mcp:compute_deterministic_amortization_schedule"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "principal": {
                    "type": "number"
                  },
                  "annual_rate": {
                    "type": "number"
                  },
                  "convention": {
                    "type": "string"
                  },
                  "periods_per_year": {
                    "type": "number"
                  },
                  "periods": {
                    "type": "array"
                  },
                  "solve_rate": {
                    "type": "boolean"
                  },
                  "apply_final_plug": {
                    "type": "boolean"
                  },
                  "max_plug": {
                    "type": "number"
                  },
                  "remeasurement": {
                    "type": "object"
                  }
                },
                "required": [
                  "principal",
                  "convention",
                  "periods"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "convention": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "periods_per_year": {
                      "type": "number"
                    },
                    "schedule": {
                      "type": [
                        "array",
                        "null"
                      ]
                    },
                    "rate_solve": {
                      "type": [
                        "object",
                        "null"
                      ]
                    },
                    "final_plug": {
                      "type": [
                        "object",
                        "null"
                      ]
                    },
                    "remeasurement": {
                      "type": [
                        "object",
                        "null"
                      ]
                    },
                    "rounding_steps": {
                      "type": "array"
                    },
                    "bounds": {
                      "type": "object"
                    },
                    "day_count_source": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "note": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "compute_deterministic_amortization_schedule",
        "x-tool-url": "https://ainumbers.co/chaingraph/kernels/art-626-deterministic-amortization-schedule.kernel.mjs",
        "x-source": "manifest"
      }
    },
    "/v1/tools/resolve_rule_version": {
      "post": {
        "operationId": "resolve_rule_version",
        "summary": "Effective-Date / Rule-Version Registry",
        "description": "Resolves which version of an accounting standard binds a given filer, entirely offline and client-side. The query is a triple: fiscal_year_end as an ISO date (never a month/day pair, because 52/53-week filers exist and their year-ends move), filer_status from the closed enum (large_accelerated, accelerated, non_accelerated, smaller_reporting, emerging_growth, private, non_public_business_entity), and a standard identifier. It returns effective_for_annual_periods_beginning, effective_for_interim_periods_beginning, early_adoption_permitted, first_binding_period_end, transition_method, the resolved parameter_set, an entry_digest, the entry's citation, and a step-by-step resolution_path. A rule parameter is always a value carrying its own effective_from, effective_to, source and source_digest, never a bare number. The registry is inert data delivered in policy_parameters and never baked into kernel bytes, so adding a rule entry cannot move the kernel digest or stale a receipt. The kernel recomputes sha256 over the slice's own canonicalized bytes and refuses to resolve when the declared registry_digest disagrees; the hashed object is bounded at max_slice_entries=32 so the in-guest hash stays measurable, and the full-table to slice binding is a host-side gate outside the guest. Resolution is total: every triple in the declared domain returns exactly one entry or an explicit NO_BINDING_ENTRY, never a silent undefined. No two versions of a parameter may hold overlapping half-open effective windows; that is asserted at load, not assumed. Date arithmetic is integer arithmetic over parsed ISO components, with no Date object, no locale and no timezone. Where the fiscal year's beginning is not supplied it is inferred as the year-end less one year plus one day and the inference is declared in fiscal_year_begin_basis, never presented as a fact. Ships with two demonstrator standards whose dates and thresholds are pinned to retrieved primary text: FASB ASU 2023-07 (Segment Reporting, Topic 280) and ASU 2023-09 (Income Taxes, Topic 740). Those two are demonstrators, not a complete registry of US GAAP: a caller must supply its own slice to resolve any other standard.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-627-effective-date-rule-version-registry.html",
        "tags": [
          "compliance_mandate",
          "effective-date",
          "rule-version",
          "registry",
          "fasb",
          "asu-2023-07",
          "asu-2023-09",
          "filer-status",
          "mcp:resolve_rule_version"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "query": {
                    "type": "object"
                  },
                  "registry_slice": {
                    "type": "object"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "resolution_status": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "description": "RESOLVED or NO_BINDING_ENTRY, or null when the input was refused with an error_code."
                    },
                    "error_code": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "message": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "standard_id": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "filer_status": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "fiscal_year_end": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "fiscal_year_begin": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "fiscal_year_begin_basis": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "description": "declared or inferred_prior_year_plus_one_day. An inference is never presented as a fact."
                    },
                    "effective_for_annual_periods_beginning": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "effective_for_interim_periods_beginning": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "early_adoption_permitted": {
                      "type": [
                        "boolean",
                        "null"
                      ]
                    },
                    "binding_for_queried_annual_period": {
                      "type": [
                        "boolean",
                        "null"
                      ]
                    },
                    "binding_for_queried_interim_periods": {
                      "type": [
                        "boolean",
                        "null"
                      ]
                    },
                    "first_binding_period_end": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "transition_method": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "parameter_set": {
                      "type": [
                        "object",
                        "null"
                      ],
                      "description": "Parameter name to {value, effective_from, effective_to, source, source_digest, status}. status is IN_FORCE, NO_VERSION_IN_FORCE, or AMBIGUOUS_MULTIPLE_VERSIONS_IN_FORCE."
                    },
                    "parameter_set_as_of": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "description": "The measurement date used, which is the fiscal year's beginning, matching how effective-date language is written."
                    },
                    "entry_digest": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "citation": {
                      "type": [
                        "object",
                        "null"
                      ]
                    },
                    "registry_digest_recomputed": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "resolution_path": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "bounds": {
                      "type": "object"
                    },
                    "closed_filer_status_enum": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "float_sensitive": {
                      "type": "boolean"
                    },
                    "scope_note": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "resolve_rule_version",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-627-effective-date-rule-version-registry.html",
        "x-source": "manifest"
      }
    },
    "/v1/tools/evaluate_decision_tree": {
      "post": {
        "operationId": "evaluate_decision_tree",
        "summary": "Declarative Decision-Tree Evaluator",
        "description": "Evaluates a caller-supplied, hash-pinned decision tree against caller-supplied facts entirely offline, client-side. The tree is inert data -- one audited interpreter walks it over a closed operator set (eq, in, lt, lte, gt, gte, between, all_of, any_of, none_of); no eval, no expression strings, no function-valued criteria. Every node, internal criteria included and not leaves only, must carry a citation {clause, source, source_digest, snapshot_location}; a tree with any uncited node is rejected by the loader before evaluation. The tree's own declared tree_digest is never trusted as an oracle for itself: it is recomputed from the tree's canonicalized bytes and evaluation refuses to proceed on a mismatch. Bounds (max_depth=12, max_nodes=256, max_tree_bytes=64KiB) are declared and enforced, cycle-acyclicity is checked at load, and evaluation walks an explicit iterative pointer, never recursion. Ships with one demonstrator tree, the Reg D Rule 501(a) entity-type accredited-investor category test (17 CFR 230.501(a)(1)/(2)/(3)/(8)/(9)), enumerated exhaustively over its 5 declared boolean fields -- 32 combinations, 0 unexplained results -- because every criterion in that tree is a bounded enum. This is never a full accredited-investor determination: the natural-person prongs ((a)(4)-(a)(7), (a)(10)-(a)(13)) and every numeric-threshold test are explicitly out of the demonstrator's declared scope. The kernel itself carries no classification rules of its own; a caller must supply its own tree to get a different classification.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-628-declarative-decision-tree-evaluator.html",
        "tags": [
          "compliance_mandate",
          "decision-tree",
          "rule-engine",
          "citation-gated",
          "reg-d",
          "accredited-investor",
          "classification",
          "mcp:evaluate_decision_tree"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "tree": {
                    "type": "object"
                  },
                  "facts": {
                    "type": "object"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "verdict": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "error_code": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "message": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "matched_node_id": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "matched_citation": {
                      "type": [
                        "object",
                        "null"
                      ]
                    },
                    "path": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "weight": {},
                    "tree_id": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "tree_version": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "tree_digest_recomputed": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "bounds": {
                      "type": "object"
                    },
                    "closed_operator_set": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "scope_note": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "evaluate_decision_tree",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-628-declarative-decision-tree-evaluator.html",
        "x-source": "manifest"
      }
    },
    "/v1/tools/test_asc280_reportable_segment": {
      "post": {
        "operationId": "test_asc280_reportable_segment",
        "summary": "ASC 280 Reportable Segment Tester",
        "description": "Applies the ASC 280-10-50-12 quantitative thresholds to one caller-declared candidate operating segment and computes the ASC 280-10-50-14 seventy-five percent coverage test. Each of the three ten percent tests is reported separately with its own denominator, including the profit-or-loss denominator, which is the greater in absolute amount of the profitable side and the loss side rather than the two netted together. Thresholds are inclusive and compared by exact cross multiplication on unrounded inputs, so an exact boundary classifies as meeting the threshold; reported percentages are rounded for display only. The five ASC 280-10-50-11 aggregation criteria are echoed back as nullable booleans, never computed, with unanswered criteria named and a management-judgment flag raised. A zero denominator reports not_assessable rather than a failing threshold. Verify-only: does not identify or aggregate operating segments and does not assert compliance.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-633-asc280-reportable-segment-tester.html",
        "tags": [
          "compliance_mandate",
          "asc-280",
          "segment-reporting",
          "reportable-segment",
          "quantitative-thresholds",
          "asu-2023-07",
          "us-gaap",
          "mcp:test_asc280_reportable_segment"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "segment_revenue_external": {
                    "type": "number",
                    "description": "Candidate segment external customer revenue"
                  },
                  "segment_revenue_intersegment": {
                    "type": "number",
                    "description": "Candidate segment intersegment sales or transfers"
                  },
                  "combined_revenue_all_reported_segments": {
                    "type": "number",
                    "description": "Combined internal and external revenue of all reported operating segments"
                  },
                  "segment_profit_or_loss": {
                    "type": "number",
                    "description": "Candidate segment reported profit or loss, signed"
                  },
                  "combined_profit_of_profitable_segments": {
                    "type": "number",
                    "description": "Combined reported profit of segments that did not report a loss"
                  },
                  "combined_loss_of_loss_segments": {
                    "type": "number",
                    "description": "Combined reported loss of segments that did report a loss"
                  },
                  "segment_assets": {
                    "type": "number",
                    "description": "Candidate segment assets"
                  },
                  "combined_assets_all_segments": {
                    "type": "number",
                    "description": "Combined assets of all operating segments"
                  },
                  "reportable_external_revenue": {
                    "type": "number",
                    "description": "Cumulative external revenue of reportable segments"
                  },
                  "total_consolidated_revenue": {
                    "type": "number",
                    "description": "Total consolidated revenue"
                  },
                  "aggregation_similar_products_services": {
                    "type": [
                      "boolean",
                      "null"
                    ],
                    "description": "Aggregation criterion (a), echoed only"
                  },
                  "aggregation_similar_production_processes": {
                    "type": [
                      "boolean",
                      "null"
                    ],
                    "description": "Aggregation criterion (b), echoed only"
                  },
                  "aggregation_similar_customer_type": {
                    "type": [
                      "boolean",
                      "null"
                    ],
                    "description": "Aggregation criterion (c), echoed only"
                  },
                  "aggregation_similar_distribution_methods": {
                    "type": [
                      "boolean",
                      "null"
                    ],
                    "description": "Aggregation criterion (d), echoed only"
                  },
                  "aggregation_similar_regulatory_environment": {
                    "type": [
                      "boolean",
                      "null"
                    ],
                    "description": "Aggregation criterion (e), echoed only"
                  },
                  "reportable_segment_count": {
                    "type": [
                      "number",
                      "null"
                    ],
                    "description": "Optional, drives the practical-limit advisory only"
                  }
                },
                "required": [
                  "segment_revenue_external",
                  "combined_revenue_all_reported_segments",
                  "segment_profit_or_loss",
                  "combined_profit_of_profitable_segments",
                  "combined_loss_of_loss_segments",
                  "segment_assets",
                  "combined_assets_all_segments",
                  "reportable_external_revenue",
                  "total_consolidated_revenue"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "is_reportable_by_quantitative_threshold": {
                      "type": "boolean"
                    },
                    "tests_met": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "tests_not_assessable": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "tests": {
                      "type": "array",
                      "items": {
                        "type": "object"
                      }
                    },
                    "coverage_75_pct": {
                      "type": "object"
                    },
                    "aggregation_criteria": {
                      "type": "object"
                    },
                    "unanswered_aggregation_criteria": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "management_judgment_required": {
                      "type": "boolean"
                    },
                    "aggregation_criteria_answered_count": {
                      "type": "number"
                    },
                    "aggregation_criteria_met_count": {
                      "type": "number"
                    },
                    "majority_of_criteria_met": {
                      "type": "boolean"
                    },
                    "reportable_segment_count": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "practical_limit_consideration_advised": {
                      "type": "boolean"
                    },
                    "threshold_pct": {
                      "type": "number"
                    },
                    "coverage_threshold_pct": {
                      "type": "number"
                    },
                    "comparison_basis": {
                      "type": "string"
                    },
                    "rounding_steps": {
                      "type": "string"
                    },
                    "oracle": {
                      "type": "string"
                    },
                    "regulatory_basis": {
                      "type": "string"
                    },
                    "note": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "test_asc280_reportable_segment",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-633-asc280-reportable-segment-tester.html",
        "x-source": "manifest"
      }
    },
    "/v1/tools/classify_codm_expense_significance": {
      "post": {
        "operationId": "classify_codm_expense_significance",
        "summary": "CODM Significant Expense Classifier",
        "description": "Classifies one candidate segment expense under the significant expense principle that ASU 2023-07 added to ASC 280. Returns whether the expense is separately disclosable under ASC 280-10-50-26A, whether it folds into other segment items under ASC 280-10-50-26B and through which buckets, or whether it sits outside the principle entirely, plus whether ASC 280-10-50-22 separately requires it, the exact paragraphs cited and a plain basis sentence. ASU 2023-07 closes no list of expense category names and states no quantitative significance benchmark, so category name is not an input and significance arrives as a caller declared judgment that this node never computes. The declared domain is 4 booleans x 10 values of the ASC 280-10-50-22 specified item enum, being its 9 live subparagraphs with (i) superseded by ASU 2015-01 plus none, for 160 states, all enumerated. Performs no arithmetic: no ratio, no scale, no threshold compare, no rounding.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-634-codm-expense-significance-classifier.html",
        "tags": [
          "compliance_mandate",
          "segment-reporting",
          "asc-280",
          "asu-2023-07",
          "significant-expense-principle",
          "codm",
          "other-segment-items",
          "exhaustive-enumeration",
          "mcp:classify_codm_expense_significance"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "included_in_segment_profit_measure": {
                    "type": "boolean"
                  },
                  "regularly_provided_to_codm": {
                    "type": "boolean"
                  },
                  "easily_computable_from_codm_information": {
                    "type": "boolean"
                  },
                  "assessed_significant": {
                    "type": "boolean"
                  },
                  "specified_item_50_22": {
                    "type": "string"
                  }
                },
                "required": []
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "included_in_segment_profit_measure": {
                      "type": "boolean"
                    },
                    "regularly_provided_to_codm": {
                      "type": "boolean"
                    },
                    "easily_computable_from_codm_information": {
                      "type": "boolean"
                    },
                    "assessed_significant": {
                      "type": "boolean"
                    },
                    "specified_item_50_22": {
                      "type": "string"
                    },
                    "input_outside_declared_domain": {
                      "type": "boolean"
                    },
                    "evaluated_under_50_26A": {
                      "type": "boolean"
                    },
                    "must_disclose_separately_50_26A": {
                      "type": "boolean"
                    },
                    "folds_into_other_segment_items_50_26B": {
                      "type": "boolean"
                    },
                    "other_segment_items_buckets": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "outside_significant_expense_principle": {
                      "type": "boolean"
                    },
                    "separate_disclosure_required_50_22": {
                      "type": "boolean"
                    },
                    "citation": {
                      "type": "string"
                    },
                    "basis": {
                      "type": "string"
                    },
                    "segment_level_duties_not_decided_here": {
                      "type": "string"
                    },
                    "bucket_c_scope_note": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "classify_codm_expense_significance",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-634-codm-expense-significance-classifier.html",
        "x-source": "manifest"
      }
    },
    "/v1/tools/classify_rate_rec_5pct_threshold": {
      "post": {
        "operationId": "classify_rate_rec_5pct_threshold",
        "summary": "Rate Reconciliation 5% Threshold Classifier",
        "description": "Applies the quantitative 5 percent threshold of ASC 740-10-50-12A(b), as amended by FASB Accounting Standards Update No. 2023-09, to one candidate rate reconciliation item. Returns the item as a percentage of the threshold base, a crossing flag, the separate disclosure consequence, and the disaggregation 740-10-50-12A(b) requires of the declared category. The comparison is taken in absolute amount on both sides per BC35 of the Update, corroborated by 740-10-50-12A(b)(2), which is what makes the test well defined for a loss making entity. The category enum has nine members: the eight closed by 740-10-50-12A(a) plus the item within none of them that 740-10-50-12A(b)(3) addresses. Verdicts are decided by exact cross multiplication on unrounded inputs, never by rounding a percentage and then comparing. A zero threshold base is reported as not assessable with a named caveat rather than divided silently, per BC38.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-635-rate-rec-5pct-threshold-classifier.html",
        "tags": [
          "compliance_mandate",
          "asc-740",
          "income-tax-disclosures",
          "asu-2023-09",
          "rate-reconciliation",
          "five-percent-threshold",
          "property-tested",
          "mcp:classify_rate_rec_5pct_threshold"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "reconciling_item_category": {
                    "type": "string"
                  },
                  "reconciling_item_amount": {
                    "type": "number"
                  },
                  "pretax_income": {
                    "type": "number"
                  },
                  "statutory_rate_pct": {
                    "type": "number"
                  },
                  "entity_is_public_business_entity": {
                    "type": "boolean"
                  }
                },
                "required": [
                  "reconciling_item_amount",
                  "pretax_income",
                  "statutory_rate_pct"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "reconciling_item_category": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "category_recognized": {
                      "type": "boolean"
                    },
                    "reconciling_item_amount": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "pretax_income": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "statutory_rate_pct": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "entity_is_public_business_entity": {
                      "type": "boolean"
                    },
                    "threshold_base_amount": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "threshold_amount": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "pct_of_threshold_base": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "crosses_5pct_threshold": {
                      "type": [
                        "boolean",
                        "null"
                      ]
                    },
                    "must_disclose_separately": {
                      "type": [
                        "boolean",
                        "null"
                      ]
                    },
                    "required_disaggregation": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "disaggregation_citation": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "denominator_near_zero_caveat": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "management_judgment_required": {
                      "type": "boolean"
                    },
                    "not_assessable_reason": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "break_even_judgment_note": {
                      "type": "string"
                    },
                    "citation": {
                      "type": "string"
                    },
                    "basis": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "classify_rate_rec_5pct_threshold",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-635-rate-rec-5pct-threshold-classifier.html",
        "x-source": "manifest"
      }
    },
    "/v1/tools/track_globe_transition_deferred_tax": {
      "post": {
        "operationId": "track_globe_transition_deferred_tax",
        "summary": "GloBE Article 9.1 Transition Deferred Tax Tracker",
        "description": "Recomputes the OECD GloBE Article 9.1 transition recast of pre-regime deferred tax attributes for one jurisdiction, item by item over a bounded array, and reports the jurisdictional roll-forward total. Article 9.1.1's lower-of rule is applied as a cap, so an attribute already recorded at or below the lower of the Minimum Rate and the applicable domestic tax rate is left where it is; the one path on which a recast rises is Article 9.1.1's third sentence, where a deferred tax asset recorded below the Minimum Rate is taken at the Minimum Rate on a caller-declared GloBE Loss demonstration. Article 9.1.2 exclusions apply only where a declared limb holds and the attribute arose strictly after the cut off, each reported with a named code and contributing exactly zero rather than being dropped. Article 9.1.3 recasts a qualifying intra group transfer on the disposing entity's carrying value. Rates, the cut off date, the Transition Year start and the exclusion set are versioned policy parameters, never kernel constants. Verify only: characterization, the GloBE Loss demonstration and the separate Grace Period determination all stay with the filer.\n\n**Tool URL:** https://ainumbers.co/chaingraph/kernels/art-636-globe-transition-deferred-tax-tracker.kernel.mjs",
        "tags": [
          "compliance_mandate",
          "pillar-two",
          "globe",
          "article-9-1",
          "deferred-tax",
          "transition-rules",
          "oecd",
          "minimum-tax",
          "mcp:track_globe_transition_deferred_tax"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "constants_version": {
                    "type": "string"
                  },
                  "minimum_rate": {
                    "type": "number"
                  },
                  "cutoff_date": {
                    "type": "string"
                  },
                  "transition_year_start_date": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "exclusion_rules": {
                    "type": "array"
                  },
                  "items": {
                    "type": "array"
                  }
                },
                "required": [
                  "minimum_rate",
                  "cutoff_date",
                  "exclusion_rules",
                  "items"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "constants_version": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "minimum_rate": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "cutoff_date": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "transition_year_start_date": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "exclusion_rules": {
                      "type": "array"
                    },
                    "canonical_order": {
                      "type": "string"
                    },
                    "items": {
                      "type": [
                        "array",
                        "null"
                      ]
                    },
                    "item_count": {
                      "type": "number"
                    },
                    "items_excluded": {
                      "type": "number"
                    },
                    "items_capped": {
                      "type": "number"
                    },
                    "items_uplifted": {
                      "type": "number"
                    },
                    "items_in_error": {
                      "type": "number"
                    },
                    "items_manual_review": {
                      "type": "number"
                    },
                    "jurisdictional_roll_forward_total": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "total_is_complete": {
                      "type": "boolean"
                    },
                    "error_code": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "note": {
                      "type": "string"
                    },
                    "rounding_steps": {
                      "type": "array"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "track_globe_transition_deferred_tax",
        "x-tool-url": "https://ainumbers.co/chaingraph/kernels/art-636-globe-transition-deferred-tax-tracker.kernel.mjs",
        "x-source": "manifest"
      }
    },
    "/v1/tools/compute_authzen_conformance_fixture": {
      "post": {
        "operationId": "compute_authzen_conformance_fixture",
        "summary": "AuthZEN Conformance Fixture",
        "description": "Evaluates the 8-decision AuthZEN Authorization API 1.0 certification fixture through the spec-mandated subject/action/resource/context request envelope, against a local hand-authored decision policy. AuthZEN is an OpenID Foundation open specification, not a regulation -- the policy VALUES are local test-fixture rules (the spec is explicit that PDP decision logic is out of scope), while the request/response shape and boolean-only Decision semantics they are expressed through are spec-cited (see the node's cited_clause_digest). Also checks the spec's context-is-OPTIONAL invariant on every decision: attaching a context object never changes the outcome.\n\n**Tool URL:** https://ainumbers.co/chaingraph/kernels/art-651-authzen-conformance-fixture.kernel.mjs",
        "tags": [
          "authzen",
          "openid",
          "authorization-api",
          "pdp",
          "policy-decision-point",
          "conformance-fixture",
          "access-evaluation",
          "mcp:compute_authzen_conformance_fixture"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "requests": {
                    "type": "array",
                    "items": {
                      "type": "object"
                    }
                  }
                },
                "required": []
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "spec": {
                      "type": "string"
                    },
                    "decision_count": {
                      "type": "number"
                    },
                    "decisions": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "index": {
                            "type": "number"
                          },
                          "name": {
                            "type": "string"
                          },
                          "subject": {
                            "type": "object"
                          },
                          "action": {
                            "type": "object"
                          },
                          "resource": {
                            "type": "object"
                          },
                          "decision": {
                            "type": "boolean"
                          },
                          "context_invariant": {
                            "type": "boolean"
                          },
                          "expected": {
                            "type": [
                              "boolean",
                              "null"
                            ]
                          },
                          "matches_expected": {
                            "type": [
                              "boolean",
                              "null"
                            ]
                          }
                        }
                      }
                    },
                    "all_match_expected": {
                      "type": [
                        "boolean",
                        "null"
                      ]
                    },
                    "all_context_invariant": {
                      "type": "boolean"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "compute_authzen_conformance_fixture",
        "x-tool-url": "https://ainumbers.co/chaingraph/kernels/art-651-authzen-conformance-fixture.kernel.mjs",
        "x-source": "manifest"
      }
    },
    "/v1/tools/batch_payment_file_validator": {
      "post": {
        "operationId": "batch_payment_file_validator",
        "summary": "Batch Payment File Validator + Sanctions Screening",
        "description": "Validate NACHA, ISO 20022, SEPA, and SWIFT MT batch payment files in-browser. Integrated sanctions name screening with four string-similarity algorithms. Zero PII transmitted.\n\n**Tool URL:** https://ainumbers.co/tools/batch-payment-file-validator.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "batch_payment_file_validator",
        "x-tool-url": "https://ainumbers.co/tools/batch-payment-file-validator.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/clearcost_card_a2a_analyzer": {
      "post": {
        "operationId": "clearcost_card_a2a_analyzer",
        "summary": "ClearCost Card & A2A Payment Cost Analyzer",
        "description": "Analyze card payment costs vs A2A alternatives. Compare flat-rate, interchange-plus, and surcharge models. Visa and Mastercard 2025–2026 interchange rates embedded. Client-side, zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/clearcost-card-a2a-analyzer.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "clearcost_card_a2a_analyzer",
        "x-tool-url": "https://ainumbers.co/tools/clearcost-card-a2a-analyzer.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/incident_response_runbook_builder": {
      "post": {
        "operationId": "incident_response_runbook_builder",
        "summary": "Payment Operations Incident Response Runbook Builder",
        "description": "Generate jurisdiction-specific payment incident response runbooks. OCC 36hr, GDPR 72hr, DORA 4hr timers. P1–P4 classifier, role matrix, communication templates, tabletop exercise scenarios.\n\n**Tool URL:** https://ainumbers.co/tools/incident-response-runbook-builder.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "incident_response_runbook_builder",
        "x-tool-url": "https://ainumbers.co/tools/incident-response-runbook-builder.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/run_kernel_vm": {
      "post": {
        "operationId": "run_kernel_vm",
        "summary": "Kernel VM",
        "description": "Run a ChainGraph decision kernel's compute(policy_parameters) inside a sandboxed, hermetic, in-browser QuickJS-ng WebAssembly VM under the ocg-deterministic-compute@2 profile (SPEC.md section 24) and inspect its execution_hash. Phase VM-1b: a custom guest-pinned build of quickjs-ng v0.15.1 (the exact revision in the zkVM guest), with the deterministic WebCrypto subset (section 24.5) and full native BigInt; zero-fetch, no CDN. Ships a small curated set of demo kernels; every conformance-fixtured gpu:false kernel is checked automatically in CI by chaingraph/kernels/vm-parity-gate.mjs, which diffs this same VM's execution_hash against the worker's own kernel registry.\n\n**Tool URL:** https://ainumbers.co/tools/kernel-vm-widget.html",
        "tags": [
          "MCP",
          "kernel",
          "VM",
          "sandbox",
          "WebAssembly",
          "QuickJS",
          "determinism",
          "execution_hash"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "tool_id": {
                    "type": "string"
                  },
                  "policy_parameters": {
                    "type": "object"
                  }
                },
                "required": [
                  "tool_id",
                  "policy_parameters"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "output_payload": {
                      "type": "object"
                    },
                    "elapsed_ms": {
                      "type": "number"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "run_kernel_vm",
        "x-tool-url": "https://ainumbers.co/tools/kernel-vm-widget.html",
        "x-source": "manifest"
      }
    },
    "/v1/tools/mcc_code_explorer": {
      "post": {
        "operationId": "mcc_code_explorer",
        "summary": "MCC Code Explorer & Risk Profiler",
        "description": "Search and filter 340+ Merchant Category Codes. Risk tiers, Visa/MC network flags, SIC/NAICS cross-references, Durbin eligibility. Free, client-side, zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/mcc-code-explorer.html",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "mcc_code_explorer",
        "x-tool-url": "https://ainumbers.co/tools/mcc-code-explorer.html",
        "x-source": "manifest"
      }
    },
    "/v1/tools/paycode_decoder": {
      "post": {
        "operationId": "paycode_decoder",
        "summary": "PayCode Decoder — ISO 20022, SWIFT MT, ACH, FedNow",
        "description": "Paste any payment code for instant plain-English explanations, MT↔MX mappings, flow diagrams, and test XML. Covers ISO 20022, SWIFT MT, ACH R-codes, FedNow, SEPA, UETR, IBAN. No API. No PII. Works offline.\n\n**Tool URL:** https://ainumbers.co/tools/paycode-decoder.html",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "paycode_decoder",
        "x-tool-url": "https://ainumbers.co/tools/paycode-decoder.html",
        "x-source": "manifest"
      }
    },
    "/v1/tools/compound_interest_explorer": {
      "post": {
        "operationId": "compound_interest_explorer",
        "summary": "Compound Interest Explorer",
        "description": "Interactive compound growth calculator with tax-drag overlay, inflation adjustment, and fee impact. Model real vs. nominal returns across taxable, IRA, and Roth accounts. Client-side. Zero PII. Zero API.\n\n**Tool URL:** https://ainumbers.co/tools/pf-132-compound-interest-explorer.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "principal": {
                    "type": "string"
                  },
                  "monthly": {
                    "type": "string"
                  },
                  "freq": {
                    "type": "string"
                  },
                  "years": {
                    "type": "string"
                  },
                  "rate": {
                    "type": "string"
                  },
                  "fee": {
                    "type": "string"
                  },
                  "inflation": {
                    "type": "string"
                  },
                  "taxrate": {
                    "type": "string"
                  },
                  "filing": {
                    "type": "string"
                  },
                  "pss-code-out": {
                    "type": "string"
                  },
                  "pss-code-in": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "compound_interest_explorer",
        "x-tool-url": "https://ainumbers.co/tools/pf-132-compound-interest-explorer.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/asset_allocation_heatmapper": {
      "post": {
        "operationId": "asset_allocation_heatmapper",
        "summary": "Asset Allocation Heatmapper",
        "description": "Visualize pairwise correlations across up to 10 asset classes. Enter allocations, see portfolio volatility, Sharpe ratio, and diversification score as an interactive heatmap. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/pf-133-asset-allocation-heatmapper.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "asset_allocation_heatmapper",
        "x-tool-url": "https://ainumbers.co/tools/pf-133-asset-allocation-heatmapper.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/three_fund_portfolio_builder": {
      "post": {
        "operationId": "three_fund_portfolio_builder",
        "summary": "Three-Fund Portfolio Builder · pf-134",
        "description": "Build a three-fund lazy portfolio with Vanguard, Fidelity, or Schwab funds. Risk-based presets, custom allocation sliders, 40-year projection, expense ratio impact, and rebalancing guide. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/pf-134-three-fund-portfolio-builder.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "projectedBalance": {
                      "type": "number"
                    },
                    "allocationSplit": {
                      "type": "object"
                    },
                    "annualDrift": {
                      "type": "number"
                    },
                    "mandateJson": {
                      "type": "object"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "three_fund_portfolio_builder",
        "x-tool-url": "https://ainumbers.co/tools/pf-134-three-fund-portfolio-builder.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/sequence_of_returns_risk": {
      "post": {
        "operationId": "sequence_of_returns_risk",
        "summary": "Sequence of Returns Risk Calculator",
        "description": "Quantify how return ordering devastates retirement portfolios. Compare good-sequence, average, and bad-sequence scenarios across historical crash templates. Client-side. Zero PII. Zero API.\n\n**Tool URL:** https://ainumbers.co/tools/pf-135-sequence-of-returns-risk.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "start": {
                    "type": "string"
                  },
                  "withdraw": {
                    "type": "string"
                  },
                  "years": {
                    "type": "string"
                  },
                  "avgret": {
                    "type": "string"
                  },
                  "crash": {
                    "type": "string"
                  },
                  "flex-cut": {
                    "type": "string"
                  },
                  "custom-crash": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "sequence_of_returns_risk",
        "x-tool-url": "https://ainumbers.co/tools/pf-135-sequence-of-returns-risk.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/roth_vs_traditional_estimator": {
      "post": {
        "operationId": "roth_vs_traditional_estimator",
        "summary": "Roth vs Traditional IRA Estimator · pf-136",
        "description": "Compare Roth vs Traditional IRA using 2024 tax brackets, projected retirement wealth, RMD impact, and break-even tax rate analysis. Accounts for current vs retirement marginal rates. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/pf-136-roth-vs-traditional-estimator.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "rothFutureValue": {
                      "type": "number"
                    },
                    "traditionalFutureValue": {
                      "type": "number"
                    },
                    "breakEvenYear": {
                      "type": "number"
                    },
                    "mandateJson": {
                      "type": "object"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "roth_vs_traditional_estimator",
        "x-tool-url": "https://ainumbers.co/tools/pf-136-roth-vs-traditional-estimator.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/safe_withdrawal_calculator": {
      "post": {
        "operationId": "safe_withdrawal_calculator",
        "summary": "Safe Withdrawal Rate Calculator",
        "description": "Model portfolio longevity under the 4% rule, dynamic withdrawal strategies, and sequence-of-returns risk. Compare fixed, flexible, and guardrail withdrawal approaches. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/pf-137-safe-withdrawal-calculator.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "safeWithdrawalRate": {
                      "type": "number"
                    },
                    "depletionYear": {
                      "type": "number"
                    },
                    "successProbability": {
                      "type": "number"
                    },
                    "mandateJson": {
                      "type": "object"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "safe_withdrawal_calculator",
        "x-tool-url": "https://ainumbers.co/tools/pf-137-safe-withdrawal-calculator.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/inflation_creep_destroyer": {
      "post": {
        "operationId": "inflation_creep_destroyer",
        "summary": "Inflation Creep Destroyer",
        "description": "Model how inflation silently erodes purchasing power across expense categories. Real vs nominal returns, break-even yield, and inflation-adjusted budget gaps. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/pf-138-inflation-creep-destroyer.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "realReturn": {
                      "type": "number"
                    },
                    "purchasingPowerLoss": {
                      "type": "number"
                    },
                    "inflationAdjustedBalance": {
                      "type": "number"
                    },
                    "mandateJson": {
                      "type": "object"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "inflation_creep_destroyer",
        "x-tool-url": "https://ainumbers.co/tools/pf-138-inflation-creep-destroyer.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/social_security_bridge": {
      "post": {
        "operationId": "social_security_bridge",
        "summary": "Social Security Bridge Calculator",
        "description": "Model portfolio drawdown during early retirement before Social Security begins. Calculate optimal SS claiming age, bridge period cost, breakeven age, and portfolio at SS start. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/pf-139-social-security-bridge.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "retire-age": {
                    "type": "string"
                  },
                  "ss-age": {
                    "type": "string"
                  },
                  "fra-benefit": {
                    "type": "string"
                  },
                  "portval": {
                    "type": "string"
                  },
                  "spend": {
                    "type": "string"
                  },
                  "ret": {
                    "type": "string"
                  },
                  "life-exp": {
                    "type": "string"
                  },
                  "ss-cola": {
                    "type": "string"
                  },
                  "inflation": {
                    "type": "string"
                  },
                  "post-yrs": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "social_security_bridge",
        "x-tool-url": "https://ainumbers.co/tools/pf-139-social-security-bridge.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/dividend_drag_vs_growth_simulator": {
      "post": {
        "operationId": "dividend_drag_vs_growth_simulator",
        "summary": "Dividend Drag vs. Growth Simulator",
        "description": "Compare DRIP vs. pure-growth total return with annual tax-drag modeling. See after-tax end values, cumulative tax cost, growth advantage, and breakeven dividend yield. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/pf-140-dividend-drag-vs-growth-simulator.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "portval": {
                    "type": "string"
                  },
                  "total-return": {
                    "type": "string"
                  },
                  "div-yield": {
                    "type": "string"
                  },
                  "div-tax": {
                    "type": "string"
                  },
                  "cg-tax": {
                    "type": "string"
                  },
                  "years": {
                    "type": "string"
                  },
                  "pss-code-out": {
                    "type": "string"
                  },
                  "pss-code-in": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "dividend_drag_vs_growth_simulator",
        "x-tool-url": "https://ainumbers.co/tools/pf-140-dividend-drag-vs-growth-simulator.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/smb_treasury_tax": {
      "post": {
        "operationId": "smb_treasury_tax",
        "summary": "SMB Treasury Tax Assistant",
        "description": "SMB Treasury Tax Assistant. Client-side fintech tool. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/rbe-01-smb-treasury-tax.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "smb_treasury_tax",
        "x-tool-url": "https://ainumbers.co/tools/rbe-01-smb-treasury-tax.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/a2a_exception_triage": {
      "post": {
        "operationId": "a2a_exception_triage",
        "summary": "A2A Exception Triage Console",
        "description": "A2A Exception Triage Console. Client-side fintech tool. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/rbe-02-a2a-exception-triage.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "a2a_exception_triage",
        "x-tool-url": "https://ainumbers.co/tools/rbe-02-a2a-exception-triage.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/tokenized_ma_lens": {
      "post": {
        "operationId": "tokenized_ma_lens",
        "summary": "Tokenized M&A Due Diligence Lens",
        "description": "Tokenized M&A Due Diligence Lens. Client-side fintech tool. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/rbe-03-tokenized-ma-lens.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "tokenized_ma_lens",
        "x-tool-url": "https://ainumbers.co/tools/rbe-03-tokenized-ma-lens.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/agent_guardrail_builder": {
      "post": {
        "operationId": "agent_guardrail_builder",
        "summary": "Agent Policy Guardrail Builder",
        "description": "Agent Policy Guardrail Builder. Client-side fintech tool. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/rbe-04-agent-guardrail-builder.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "agent_guardrail_builder",
        "x-tool-url": "https://ainumbers.co/tools/rbe-04-agent-guardrail-builder.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/regulatory_doc_intel": {
      "post": {
        "operationId": "regulatory_doc_intel",
        "summary": "Regulatory Doc Intelligence",
        "description": "Regulatory Doc Intelligence. Client-side fintech tool. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/rbe-05-regulatory-doc-intel.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "regulatory_doc_intel",
        "x-tool-url": "https://ainumbers.co/tools/rbe-05-regulatory-doc-intel.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/agentic_mandate_sandbox": {
      "post": {
        "operationId": "agentic_mandate_sandbox",
        "summary": "Agentic Mandate Sandbox",
        "description": "Simulate and export agent payment policies for tokenized A2A corridors: configure spend caps, MCC allowlists, velocity throttles, and approval thresholds, then test them against synthetic transactions before real money moves. Client-side. Zero PII.\n\n**Tool URL:** https://ainumbers.co/tools/rbe-06-agentic-mandate-sandbox.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "agentic_mandate_sandbox",
        "x-tool-url": "https://ainumbers.co/tools/rbe-06-agentic-mandate-sandbox.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/signal_auditor": {
      "post": {
        "operationId": "signal_auditor",
        "summary": "AI·07 Agent Signal Integrity Auditor",
        "description": "Stress-test your trading signal logic before you backtest it. Catch look-ahead bias, overfitting, and fee blindness in seconds — entirely in your browser.\n\n**Tool URL:** https://ainumbers.co/tools/rbe-07-signal-auditor.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "signal_auditor",
        "x-tool-url": "https://ainumbers.co/tools/rbe-07-signal-auditor.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/fee_schedule_engine": {
      "post": {
        "operationId": "fee_schedule_engine",
        "summary": "Payment Fee Schedule Authoring Engine · RBE·08",
        "description": "Browser-based tool for PSPs, neobanks, and BaaS providers to author, simulate, and export tiered payment fee schedules. Covers rail, corridor, amount band, merchant type, customer tier, and volume. Generates PSD2 Art. 45 / Reg E disclosure summary and versioned Policy Mandate JSON. Zero PII. Client-side.\n\n**Tool URL:** https://ainumbers.co/tools/rbe-08-fee-schedule-engine.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "schedule_name",
                  "currency",
                  "rules"
                ],
                "properties": {
                  "schedule_name": {
                    "type": "string",
                    "description": "Human-readable name for the fee schedule"
                  },
                  "version": {
                    "type": "string",
                    "description": "Semver version string, e.g. 1.0"
                  },
                  "effective_date": {
                    "type": "string",
                    "format": "date"
                  },
                  "expiry_date": {
                    "type": "string",
                    "format": "date"
                  },
                  "issuer": {
                    "type": "string",
                    "description": "PSP or brand name — not PII"
                  },
                  "currency": {
                    "type": "string",
                    "enum": [
                      "GBP",
                      "EUR",
                      "USD",
                      "MULTI"
                    ]
                  },
                  "jurisdictions": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "regulatory_frameworks": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "cliff_detection_threshold_pct": {
                    "type": "number",
                    "default": 30,
                    "minimum": 5,
                    "maximum": 100
                  },
                  "durbin_scope": {
                    "type": "boolean",
                    "default": false
                  },
                  "l2_l3_indicators": {
                    "type": "boolean",
                    "default": true
                  },
                  "rules": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "required": [
                        "rail",
                        "corridor"
                      ],
                      "properties": {
                        "rail": {
                          "type": "string"
                        },
                        "corridor": {
                          "type": "string",
                          "enum": [
                            "Domestic",
                            "Intra-EU",
                            "Cross-border"
                          ]
                        },
                        "amount_min": {
                          "type": "number"
                        },
                        "amount_max": {
                          "type": "number"
                        },
                        "merchant_type": {
                          "type": "string"
                        },
                        "customer_tier": {
                          "type": "string"
                        },
                        "fixed_fee": {
                          "type": "number"
                        },
                        "percentage_fee": {
                          "type": "number"
                        },
                        "fx_margin": {
                          "type": "number"
                        },
                        "network_surcharge": {
                          "type": "number"
                        },
                        "minimum_fee": {
                          "type": "number"
                        },
                        "maximum_fee": {
                          "type": "number"
                        }
                      }
                    }
                  },
                  "simulate_transaction": {
                    "type": "object",
                    "properties": {
                      "rail": {
                        "type": "string"
                      },
                      "corridor": {
                        "type": "string"
                      },
                      "amount": {
                        "type": "number"
                      },
                      "merchant_type": {
                        "type": "string"
                      },
                      "customer_tier": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "rules": {
                      "type": "array"
                    },
                    "cliff_flags": {
                      "type": "array"
                    },
                    "coverage_gaps": {
                      "type": "array"
                    },
                    "simulation_result": {
                      "type": "object"
                    },
                    "psd2_disclosure": {
                      "type": "string"
                    },
                    "ap2_mandate": {
                      "type": "object"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "fee_schedule_engine",
        "x-tool-url": "https://ainumbers.co/tools/rbe-08-fee-schedule-engine.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/credit_policy_decision_table": {
      "post": {
        "operationId": "credit_policy_decision_table",
        "summary": "Credit Policy Decision Table Builder · RBE·09",
        "description": "Browser-based credit underwriting policy authoring tool. Build decision tables (FICO × DTI × LTV → Approve/Decline/Refer), detect coverage gaps, simulate applicant profiles, generate Reg B adverse action reasons, run Champion-Challenger policy comparison, and export Policy Mandate JSON + policy document (a deterministic decision table, outside SR 26-2's definition of \"model\"; SR 11-7 superseded 2026-04-17 by SR 26-2). Zero PII. Client-side.\n\n**Tool URL:** https://ainumbers.co/tools/rbe-09-credit-policy-decision-table.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "policy_name",
                  "product_type",
                  "jurisdiction"
                ],
                "properties": {
                  "policy_name": {
                    "type": "string"
                  },
                  "version": {
                    "type": "string"
                  },
                  "effective_date": {
                    "type": "string",
                    "format": "date"
                  },
                  "review_cycle": {
                    "type": "string",
                    "enum": [
                      "Quarterly",
                      "Semi-annual",
                      "Annual"
                    ]
                  },
                  "product_type": {
                    "type": "string",
                    "enum": [
                      "Personal Loan",
                      "Auto Loan",
                      "Mortgage",
                      "Credit Card",
                      "BNPL",
                      "Business Credit"
                    ]
                  },
                  "jurisdiction": {
                    "type": "string",
                    "enum": [
                      "US",
                      "UK",
                      "EU",
                      "Global"
                    ]
                  },
                  "approval_authority": {
                    "type": "string",
                    "description": "Role label — not a personal name"
                  },
                  "author_role": {
                    "type": "string",
                    "description": "Role label — not a personal name"
                  },
                  "primary_axis": {
                    "type": "string",
                    "enum": [
                      "fico",
                      "dti",
                      "ltv",
                      "income"
                    ]
                  },
                  "secondary_axis": {
                    "type": "string",
                    "enum": [
                      "fico",
                      "dti",
                      "ltv",
                      "income"
                    ]
                  },
                  "rules": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "conditions": {
                          "type": "object"
                        },
                        "outcome": {
                          "type": "string",
                          "enum": [
                            "approve",
                            "decline",
                            "refer",
                            "counter_offer",
                            "unassigned"
                          ]
                        },
                        "sub_conditions": {
                          "type": "string"
                        }
                      }
                    }
                  },
                  "champion_challenger_enabled": {
                    "type": "boolean",
                    "default": false
                  },
                  "challenger_rules": {
                    "type": "array"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "rules": {
                      "type": "array"
                    },
                    "coverage_gaps": {
                      "type": "array"
                    },
                    "conflicts": {
                      "type": "array"
                    },
                    "fairness_flags": {
                      "type": "array"
                    },
                    "reg_b_adverse_action_reasons": {
                      "type": "array"
                    },
                    "champion_challenger_comparison": {
                      "type": "object"
                    },
                    "ap2_mandate": {
                      "type": "object"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "credit_policy_decision_table",
        "x-tool-url": "https://ainumbers.co/tools/rbe-09-credit-policy-decision-table.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/velocity_rule_simulator": {
      "post": {
        "operationId": "velocity_rule_simulator",
        "summary": "Transaction Velocity Rule Simulator · RBE·10",
        "description": "Author multi-dimensional AML/fraud velocity rules, simulate against synthetic transaction streams with configurable time-of-day patterns, generate rule contribution breakdowns, confusion matrices, FATF typology mapping, and EBA GL/2021/05 pre-deployment audit trails. Policy Mandate JSON export. Zero PII. Client-side.\n\n**Tool URL:** https://ainumbers.co/tools/rbe-10-velocity-rule-simulator.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "rules"
                ],
                "properties": {
                  "rules": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "required": [
                        "name",
                        "dimensions",
                        "outcome"
                      ],
                      "properties": {
                        "name": {
                          "type": "string"
                        },
                        "dimensions": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "dimension": {
                                "type": "string",
                                "enum": [
                                  "tx_count",
                                  "tx_amount",
                                  "time_window",
                                  "merchant_type",
                                  "geography",
                                  "device_proxy",
                                  "currency"
                                ]
                              },
                              "operator": {
                                "type": "string",
                                "enum": [
                                  ">",
                                  ">=",
                                  "<",
                                  "<=",
                                  "=",
                                  "!="
                                ]
                              },
                              "threshold": {},
                              "weight": {
                                "type": "number",
                                "minimum": 0.1,
                                "maximum": 1
                              }
                            }
                          }
                        },
                        "outcome": {
                          "type": "string",
                          "enum": [
                            "flag",
                            "block",
                            "escalate",
                            "pass"
                          ]
                        }
                      }
                    }
                  },
                  "stream_length": {
                    "type": "integer",
                    "minimum": 100,
                    "maximum": 10000,
                    "default": 1000
                  },
                  "sar_injection_rate": {
                    "type": "number",
                    "minimum": 0.01,
                    "maximum": 0.2,
                    "default": 0.05
                  },
                  "random_seed": {
                    "type": "integer",
                    "default": 42,
                    "description": "Seed for mulberry32 PRNG — same seed always produces identical stream"
                  },
                  "amount_mean": {
                    "type": "number",
                    "default": 850
                  },
                  "amount_std_dev": {
                    "type": "number",
                    "default": 600
                  },
                  "merchant_mix": {
                    "type": "object",
                    "properties": {
                      "retail_pct": {
                        "type": "number"
                      },
                      "msb_pct": {
                        "type": "number"
                      },
                      "crypto_pct": {
                        "type": "number"
                      },
                      "gambling_pct": {
                        "type": "number"
                      },
                      "cross_border_pct": {
                        "type": "number"
                      }
                    }
                  },
                  "time_distribution": {
                    "type": "object",
                    "properties": {
                      "pattern": {
                        "type": "string",
                        "enum": [
                          "uniform",
                          "business_hours",
                          "night_shift",
                          "custom"
                        ]
                      },
                      "hour_weights": {
                        "type": "array",
                        "items": {
                          "type": "number"
                        },
                        "minItems": 24,
                        "maxItems": 24
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "rule_library": {
                      "type": "array"
                    },
                    "conflicts": {
                      "type": "array"
                    },
                    "stream_config": {
                      "type": "object"
                    },
                    "fatf_typology_mapping": {
                      "type": "array"
                    },
                    "suite_metrics": {
                      "type": "object",
                      "properties": {
                        "aggregate_false_positive_rate": {
                          "type": "number"
                        },
                        "aggregate_recall": {
                          "type": "number"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "velocity_rule_simulator",
        "x-tool-url": "https://ainumbers.co/tools/rbe-10-velocity-rule-simulator.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/dora_incident_classifier": {
      "post": {
        "operationId": "dora_incident_classifier",
        "summary": "DORA ICT Incident Classification &amp; Reporting Engine · RBE·11",
        "description": "Browser-based DORA ICT incident classification rule engine. Apply all 7 RTS 2024/1772 materiality criteria, compute 4-hour / 72-hour / 1-month reporting deadlines, draft ITS 2025/302-format initial notifications, and export incident Policy Mandate JSON. Zero PII. Client-side.\n\n**Tool URL:** https://ainumbers.co/tools/rbe-11-dora-incident-classifier.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "classification_time",
                  "criticality_of_services"
                ],
                "properties": {
                  "incident_reference_id": {
                    "type": "string",
                    "description": "Internal reference — not PII"
                  },
                  "detection_time": {
                    "type": "string",
                    "format": "date-time"
                  },
                  "classification_time": {
                    "type": "string",
                    "format": "date-time",
                    "description": "4-hour reporting clock starts from this timestamp"
                  },
                  "ict_service_type": {
                    "type": "string"
                  },
                  "entity_type": {
                    "type": "string",
                    "description": "One of 20 DORA Article 2(1) entity types"
                  },
                  "clients_affected_count": {
                    "type": "integer",
                    "minimum": 0
                  },
                  "clients_affected_pct": {
                    "type": "number",
                    "minimum": 0,
                    "maximum": 100
                  },
                  "reputational_impact": {
                    "type": "string",
                    "enum": [
                      "none",
                      "internal",
                      "public"
                    ]
                  },
                  "duration_hours": {
                    "type": "number",
                    "minimum": 0
                  },
                  "ongoing": {
                    "type": "boolean",
                    "description": "If true, treated as >24h for classification purposes"
                  },
                  "geographic_spread": {
                    "type": "string",
                    "enum": [
                      "single_site",
                      "multi_country",
                      "cross_border"
                    ]
                  },
                  "data_losses": {
                    "type": "string",
                    "enum": [
                      "none",
                      "temporary",
                      "confirmed_breach"
                    ],
                    "description": "confirmed_breach alone triggers Condition B1 for Major classification"
                  },
                  "criticality_of_services": {
                    "type": "string",
                    "enum": [
                      "non_critical",
                      "important_impacted",
                      "critical_adversely"
                    ],
                    "description": "Must be critical_adversely (Major) to satisfy Condition A — prerequisite for Major classification"
                  },
                  "economic_impact_eur": {
                    "type": "number",
                    "minimum": 0
                  },
                  "economic_not_quantifiable": {
                    "type": "boolean"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "classification": {
                      "type": "object",
                      "properties": {
                        "result": {
                          "type": "string",
                          "enum": [
                            "major",
                            "significant",
                            "minor"
                          ]
                        },
                        "compound_logic_trace": {
                          "type": "object"
                        },
                        "criterion_scores": {
                          "type": "object"
                        },
                        "proximity_warnings": {
                          "type": "array"
                        }
                      }
                    },
                    "reporting_deadlines": {
                      "type": "object"
                    },
                    "initial_notification_draft": {
                      "type": "object"
                    },
                    "ap2_mandate": {
                      "type": "object"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "dora_incident_classifier",
        "x-tool-url": "https://ainumbers.co/tools/rbe-11-dora-incident-classifier.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/scheme_compliance_simulator": {
      "post": {
        "operationId": "scheme_compliance_simulator",
        "summary": "Network Scheme Compliance Simulator · Visa VAMP · Mastercard DIMP · RBE·12",
        "description": "Browser-based Visa VAMP and Mastercard DIMP/VIMP threshold simulation engine. Separate acquirer vs. merchant thresholds with phased timelines. VAAI enumeration rate as third compliance dimension. Generates remediation action plan and Policy Mandate JSON scheme compliance mandate. Zero PII. Client-side.\n\n**Tool URL:** https://ainumbers.co/tools/rbe-12-scheme-compliance-simulator.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "entity_type",
                  "tc40_count",
                  "tc15_count",
                  "settled_cnp_count"
                ],
                "properties": {
                  "entity_type": {
                    "type": "string",
                    "enum": [
                      "merchant",
                      "acquirer",
                      "payment_facilitator"
                    ]
                  },
                  "region": {
                    "type": "string",
                    "enum": [
                      "US",
                      "Canada",
                      "EU",
                      "APAC",
                      "LATAM",
                      "Other"
                    ]
                  },
                  "mcc": {
                    "type": "string",
                    "description": "4-digit Merchant Category Code"
                  },
                  "monitoring_period": {
                    "type": "string",
                    "pattern": "^[0-9]{4}-[0-9]{2}$",
                    "description": "YYYY-MM — affects which phased threshold applies"
                  },
                  "months_in_monitoring_period": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 12
                  },
                  "tc40_count": {
                    "type": "integer",
                    "minimum": 0,
                    "description": "TC40 fraud alert count for the monitoring period"
                  },
                  "tc15_count": {
                    "type": "integer",
                    "minimum": 0,
                    "description": "TC15 non-fraud dispute count"
                  },
                  "excluded_count": {
                    "type": "integer",
                    "minimum": 0,
                    "description": "CE 3.0 / pre-dispute excluded transactions"
                  },
                  "settled_cnp_count": {
                    "type": "integer",
                    "minimum": 1,
                    "description": "Total settled CNP transactions (VAMP denominator)"
                  },
                  "total_transactions": {
                    "type": "integer",
                    "description": "Total monthly transactions (for VAAI enumeration rate)"
                  },
                  "confirmed_enumerated_count": {
                    "type": "integer",
                    "description": "VAAI-confirmed enumerated transactions"
                  },
                  "fraud_amount_eur": {
                    "type": "number",
                    "description": "Mastercard DIMP fraud amount"
                  },
                  "total_sales_eur": {
                    "type": "number",
                    "description": "Mastercard DIMP total sales volume"
                  },
                  "cnp_dispute_count": {
                    "type": "integer",
                    "description": "Mastercard VIMP CNP dispute count"
                  },
                  "total_cnp_count": {
                    "type": "integer",
                    "description": "Mastercard VIMP total CNP transactions"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "visa_vamp": {
                      "type": "object",
                      "properties": {
                        "vamp_ratio": {
                          "type": "number"
                        },
                        "status": {
                          "type": "string",
                          "enum": [
                            "green",
                            "early_warning",
                            "above_standard",
                            "excessive",
                            "amber"
                          ]
                        },
                        "headroom_transactions": {
                          "type": "integer"
                        },
                        "enforcement_fee_exposure_usd_per_month": {
                          "type": "number"
                        }
                      }
                    },
                    "visa_vaai_enumeration": {
                      "type": "object"
                    },
                    "mastercard_dimp": {
                      "type": "object"
                    },
                    "mastercard_vimp": {
                      "type": "object"
                    },
                    "breach_risk_score": {
                      "type": "number",
                      "minimum": 0,
                      "maximum": 1
                    },
                    "remediation_controls": {
                      "type": "array"
                    },
                    "what_if_scenarios": {
                      "type": "array"
                    },
                    "ap2_mandate": {
                      "type": "object"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "scheme_compliance_simulator",
        "x-tool-url": "https://ainumbers.co/tools/rbe-12-scheme-compliance-simulator.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/interchange_qualification_engine": {
      "post": {
        "operationId": "interchange_qualification_engine",
        "summary": "Interchange Qualification &amp; LCR Rule Builder · RBE·13",
        "description": "Browser-based interchange qualification engine. Map card transaction attributes to Visa/Mastercard tier, build LCR routing rules, identify downgrade risk, generate Level 2/3 data eligibility matrix, and export routing Policy Mandate JSON. Zero PII. Client-side. Uses publicly published interchange schedules.\n\n**Tool URL:** https://ainumbers.co/tools/rbe-13-interchange-qualification-engine.html\n**AP2/Policy Mandate export:** yes",
        "tags": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "entity_type",
                  "country",
                  "networks",
                  "card_type",
                  "transaction_type"
                ],
                "properties": {
                  "entity_type": {
                    "type": "string",
                    "enum": [
                      "merchant",
                      "payment_facilitator",
                      "acquirer_iso"
                    ]
                  },
                  "country": {
                    "type": "string",
                    "enum": [
                      "US",
                      "UK",
                      "EU",
                      "Australia",
                      "Canada",
                      "Other"
                    ]
                  },
                  "networks": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "enum": [
                        "visa",
                        "mastercard"
                      ]
                    }
                  },
                  "monthly_cnp_volume": {
                    "type": "number",
                    "description": "Monthly CNP processing volume in USD/EUR"
                  },
                  "monthly_cp_volume": {
                    "type": "number",
                    "description": "Monthly card-present processing volume"
                  },
                  "card_mix_pct": {
                    "type": "object",
                    "properties": {
                      "consumer_credit": {
                        "type": "number"
                      },
                      "consumer_debit": {
                        "type": "number"
                      },
                      "commercial": {
                        "type": "number"
                      },
                      "rewards_premium": {
                        "type": "number"
                      }
                    }
                  },
                  "processing_capability": {
                    "type": "object",
                    "properties": {
                      "three_ds2_enabled": {
                        "type": "boolean"
                      },
                      "three_ds2_adoption_pct": {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 100
                      },
                      "level2_data": {
                        "type": "boolean"
                      },
                      "level3_data": {
                        "type": "boolean"
                      },
                      "avs_enabled": {
                        "type": "boolean"
                      },
                      "cvv2_on_all_cnp": {
                        "type": "boolean"
                      }
                    }
                  },
                  "primary_mcc": {
                    "type": "string",
                    "description": "4-digit MCC"
                  },
                  "card_type": {
                    "type": "string",
                    "enum": [
                      "consumer_credit",
                      "consumer_debit",
                      "commercial",
                      "rewards",
                      "fleet",
                      "prepaid"
                    ]
                  },
                  "transaction_type": {
                    "type": "string",
                    "enum": [
                      "cnp",
                      "card_present",
                      "recurring",
                      "instalment",
                      "moto"
                    ]
                  },
                  "authentication_method": {
                    "type": "string",
                    "enum": [
                      "3ds2_frictionless",
                      "3ds2_challenge",
                      "non_3ds",
                      "emv_chip",
                      "swipe"
                    ]
                  },
                  "data_level": {
                    "type": "string",
                    "enum": [
                      "standard",
                      "level2",
                      "level3"
                    ]
                  },
                  "transaction_amount": {
                    "type": "number"
                  },
                  "settlement_timing": {
                    "type": "string",
                    "enum": [
                      "same_day",
                      "t1",
                      "t2",
                      "t3"
                    ]
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "transaction_simulation": {
                      "type": "object",
                      "properties": {
                        "qualifying_tier": {
                          "type": "string"
                        },
                        "interchange_rate_pct": {
                          "type": "number"
                        },
                        "interchange_fixed": {
                          "type": "number"
                        },
                        "all_in_cost": {
                          "type": "number"
                        },
                        "downgrade_risks": {
                          "type": "array"
                        },
                        "optimisation_opportunities": {
                          "type": "array"
                        }
                      }
                    },
                    "lcr_routing_rules": {
                      "type": "array",
                      "description": "Ordered rules — apply first matching rule at authorisation gateway"
                    },
                    "level2_3_matrix": {
                      "type": "array"
                    },
                    "portfolio_savings_estimate": {
                      "type": "object"
                    },
                    "ap2_mandate": {
                      "type": "object"
                    }
                  }
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "interchange_qualification_engine",
        "x-tool-url": "https://ainumbers.co/tools/rbe-13-interchange-qualification-engine.html",
        "x-source": "manifest",
        "x-ap2-export": true
      }
    },
    "/v1/tools/check_agent_attestation": {
      "post": {
        "operationId": "check_agent_attestation",
        "summary": "Agent Identity & Authorization Attestation Checker",
        "description": "KYA-OS (DIF Trusted AI Agents WG) credential-chain attestation: delegated-authority credential chain, scope limits, validity windows (max 90 days), chain depth cap (4 hops), EU AI Act high-risk scope classification.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-04-agent-identity-attestation-checker.html\n**Wave:** 2\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-04-agent-identity-attestation-checker.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "check_agent_attestation",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-04-agent-identity-attestation-checker.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 2
      }
    },
    "/v1/tools/assess_ai_act_conformity": {
      "post": {
        "operationId": "assess_ai_act_conformity",
        "summary": "EU AI Act Credit-Scoring Conformity Pack",
        "description": "Bias testing across protected characteristics (disparate impact ratios, equalized odds gaps), data-quality attestations, Article 11 technical-documentation skeleton, conformity self-assessment. Hard deadline 2 December 2027, per the Digital Omnibus amendments (June 2026).\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-05-eu-ai-act-credit-scoring-conformity.html\n**Wave:** 1\n**mandate_type:** model_governance\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "model_governance"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-05-eu-ai-act-credit-scoring-conformity.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: model_governance. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "assess_ai_act_conformity",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-05-eu-ai-act-credit-scoring-conformity.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "model_governance",
        "x-ocg-wave": 1
      }
    },
    "/v1/tools/precheck_reserve_attestation": {
      "post": {
        "operationId": "precheck_reserve_attestation",
        "summary": "GENIUS Act Reserve Attestation Pre-Check",
        "description": "1:1 reserve coverage, reserve-composition eligibility against GENIUS Act permitted-asset classes, monthly reserve-report figures against AICPA 2025 Criteria for CEO/CFO certification. Distinct from MiCA reserve stress.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-06-genius-act-reserve-attestation.html\n**Wave:** 1\n**mandate_type:** attestation_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "attestation_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-06-genius-act-reserve-attestation.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: attestation_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "precheck_reserve_attestation",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-06-genius-act-reserve-attestation.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "attestation_mandate",
        "x-ocg-wave": 1
      }
    },
    "/v1/tools/compute_basel31_delta": {
      "post": {
        "operationId": "compute_basel31_delta",
        "summary": "Basel 3.1 Reporting Delta Calculator",
        "description": "Per-asset-class RWA delta (current vs Basel 3.1), output-floor binding analysis (72.5%), CET1 before/after, capital shortfall vs 12.5% total requirement. Six asset classes. Tornado chart. UK PRA PS1/26 go-live Jan 1, 2027.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-07-basel31-reporting-delta-calculator.html\n**Wave:** 2\n**mandate_type:** capital_assessment\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "capital_assessment"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-07-basel31-reporting-delta-calculator.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: capital_assessment. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "compute_basel31_delta",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-07-basel31-reporting-delta-calculator.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "capital_assessment",
        "x-ocg-wave": 2
      }
    },
    "/v1/tools/validate_einvoice_batch": {
      "post": {
        "operationId": "validate_einvoice_batch",
        "summary": "EN 16931 / Factur-X E-Invoicing Batch Validator",
        "description": "Batch validation of e-invoices against EN 16931 mandatory fields, VAT logic, and country profiles. France mandatory September 2026; SMEs September 2027.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-08-en16931-einvoice-batch-validator.html\n**Wave:** 2\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-08-en16931-einvoice-batch-validator.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "validate_einvoice_batch",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-08-en16931-einvoice-batch-validator.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 2
      }
    },
    "/v1/tools/score_aml_typologies": {
      "post": {
        "operationId": "score_aml_typologies",
        "summary": "AMLA Transaction-Typology Risk Scorer",
        "description": "Scores a synthetic transaction graph against AML typologies and FATF Travel Rule predicates; exports an AML risk determination per account/cluster. Chains into CRY-01 for ZK proof of the same predicate: a uniquely coherent two-tool story.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-10-amla-transaction-typology-risk-scorer.html\n**Wave:** 1\n**mandate_type:** risk_control\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "risk_control"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-10-amla-transaction-typology-risk-scorer.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: risk_control. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "score_aml_typologies",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-10-amla-transaction-typology-risk-scorer.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "risk_control",
        "x-ocg-wave": 1
      }
    },
    "/v1/tools/simulate_vop_matching": {
      "post": {
        "operationId": "simulate_vop_matching",
        "summary": "VoP Batch Match-Rate Analyser",
        "description": "Batch IBAN-name matching: match/close-match/no-match classification, configurable strictness (exact/normalized/fuzzy), false-positive vs false-negative trade-off curves, per-corridor mismatch-rate distribution. Upgrades T289 to full ChainGraph export schema.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-11-vop-batch-match-rate-analyser.html\n**Wave:** 1\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-11-vop-batch-match-rate-analyser.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "simulate_vop_matching",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-11-vop-batch-match-rate-analyser.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 1
      }
    },
    "/v1/tools/validate_acp_checkout": {
      "post": {
        "operationId": "validate_acp_checkout",
        "summary": "ACP Checkout Conformance Validator",
        "description": "OpenAI/Stripe Agentic Commerce Protocol (ACP): CheckoutRequest/Response field conformance (10 required fields each), Shared Payment Token structure, ISO 4217 currency, TTL, signature prefix validation. Suite now covers both AP2 (Google) and ACP (OpenAI/Stripe).\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-12-acp-checkout-conformance-validator.html\n**Wave:** 2\n**mandate_type:** payment_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "payment_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-12-acp-checkout-conformance-validator.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: payment_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "validate_acp_checkout",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-12-acp-checkout-conformance-validator.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "payment_mandate",
        "x-ocg-wave": 2
      }
    },
    "/v1/tools/check_eudi_readiness": {
      "post": {
        "operationId": "check_eudi_readiness",
        "summary": "EUDI Wallet Credential-Acceptance Readiness Checker",
        "description": "eIDAS 2.0 verifiable-credential acceptance readiness against EUDI Wallet ARF v1.4 profiles. PID/QEAA/EAA attribute mapping, relying-party obligations, conformance gaps. Member-state wallet rollout Nov 2026; obliged-entity acceptance Dec 2027.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-13-eudi-wallet-credential-readiness-checker.html\n**Wave:** 2\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-13-eudi-wallet-credential-readiness-checker.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "check_eudi_readiness",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-13-eudi-wallet-credential-readiness-checker.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 2
      }
    },
    "/v1/tools/assess_psd3_readiness": {
      "post": {
        "operationId": "assess_psd3_readiness",
        "summary": "PSD3 / PSR Readiness Checker",
        "description": "Six-domain PSD3/PSR readiness rubric: Open Finance access rights (Art.35/36), TPP categorisation (PISP/AISP/PIISP), SCA exemption alignment (Art.85–90), consent framework maturity, fraud liability model (Art.59–65), and embedded finance/BaaS scope. Radar chart + prioritised gap table. Root node (no upstream dependency). Feeds ART-04 (DORA Mapper) and PTG-01. EU transposition ~2027; UK PSR enacted 2024.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-14-psd3-psr-readiness-checker.html\n**Wave:** 4\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-14-psd3-psr-readiness-checker.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "assess_psd3_readiness",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-14-psd3-psr-readiness-checker.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 4
      }
    },
    "/v1/tools/simulate_agent_spend_policy": {
      "post": {
        "operationId": "simulate_agent_spend_policy",
        "summary": "Agentic Mandate Sandbox",
        "description": "Builds a deterministic Agent Guardrail Mandate skeleton from declared spend caps, MCC allowlist/blocklist, velocity rules, time windows, and approval thresholds. Stage 1 of the Agentic Policy Chain. The browser page additionally runs an interactive randomized synthetic-transaction simulator against the mandate for exploration; that non-deterministic step is a UI feature only and is not part of this server artifact's hashed output. Zero PII, client-side compute in the browser tool, deterministic server compute for MCP callers.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-15-agentic-mandate-sandbox.html\n**Wave:** A\n**mandate_type:** agent_guardrail_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "agent_guardrail_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-15-agentic-mandate-sandbox.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: agent_guardrail_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "simulate_agent_spend_policy",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-15-agentic-mandate-sandbox.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "agent_guardrail_mandate",
        "x-ocg-wave": "A"
      }
    },
    "/v1/tools/draft_ap2_mandate_credential": {
      "post": {
        "operationId": "draft_ap2_mandate_credential",
        "summary": "Google AP2 Mandate Builder",
        "description": "Builds an illustrative Google AP2 Checkout/Payment Mandate Verifiable Digital Credential (VDC) skeleton from a declared mandate type, stage, agent, subject, merchant, and amount. Stage 2 of the Agentic Policy Chain. This is the EXTERNAL Google AP2 payments protocol shape (ap2-protocol.org), distinct from the AINumbers Policy Mandate export. Field names are illustrative; sign with the agent key and verify against the live spec before real use. Zero PII, deterministic compute.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-16-google-ap2-mandate-builder.html\n**Wave:** A\n**mandate_type:** payment_policy\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "payment_policy"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-16-google-ap2-mandate-builder.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: payment_policy. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "draft_ap2_mandate_credential",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-16-google-ap2-mandate-builder.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "payment_policy",
        "x-ocg-wave": "A"
      }
    },
    "/v1/tools/validate_ap2_mandate_credential": {
      "post": {
        "operationId": "validate_ap2_mandate_credential",
        "summary": "AP2/MCP Policy Validator",
        "description": "Validates a caller-supplied payload against the AINumbers Unified Build Contract v1.0 Policy Mandate field set (ap2_version, mandate_id, tool_id, mandate_type, jurisdiction, audit_metadata, and related fields), scoring compliance 0-100 and flagging deprecated fields. Stage 3 of the Agentic Policy Chain. Deterministic, zero PII, no external network calls.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-17-ap2-mcp-policy-validator.html\n**Wave:** A\n**mandate_type:** scheme_rule\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "scheme_rule"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-17-ap2-mcp-policy-validator.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: scheme_rule. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "validate_ap2_mandate_credential",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-17-ap2-mcp-policy-validator.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "scheme_rule",
        "x-ocg-wave": "A"
      }
    },
    "/v1/tools/select_agentic_checkout_protocol": {
      "post": {
        "operationId": "select_agentic_checkout_protocol",
        "summary": "Agentic Checkout Protocol Selector",
        "description": "Scores ACP, UCP, x402, and Visa TAP against platform profile (buyer type, AOV, geography, stack capabilities) and returns a ranked protocol recommendation with fit scores. Node 1 of 3 in the Agentic Checkout Chain.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-19-agentic-checkout-protocol-selector.html\n**Wave:** A\n**mandate_type:** routing_policy\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "routing_policy"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-19-agentic-checkout-protocol-selector.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: routing_policy. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "select_agentic_checkout_protocol",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-19-agentic-checkout-protocol-selector.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "routing_policy",
        "x-ocg-wave": "A"
      }
    },
    "/v1/tools/audit_acp_ucp_product_feed": {
      "post": {
        "operationId": "audit_acp_ucp_product_feed",
        "summary": "ACP/UCP Product-Feed Conformance Auditor",
        "description": "Validates product/checkout/mandate JSON payloads against ACP or UCP field schemas (5 schema arrays). Identifies missing required fields, type mismatches, and unknown fields. Node 2 of 3 in the Agentic Checkout Chain.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-20-acp-ucp-product-feed-conformance-auditor.html\n**Wave:** A\n**mandate_type:** scheme_rule\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "scheme_rule"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-20-acp-ucp-product-feed-conformance-auditor.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: scheme_rule. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "audit_acp_ucp_product_feed",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-20-acp-ucp-product-feed-conformance-auditor.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "scheme_rule",
        "x-ocg-wave": "A"
      }
    },
    "/v1/tools/build_agent_traffic_policy": {
      "post": {
        "operationId": "build_agent_traffic_policy",
        "summary": "Agent-Traffic Acceptance Policy Builder",
        "description": "Builds a policy mandate governing accepted AI agent types, identity verification level, velocity and value caps, payment rails, refund posture, retry policy, and blocking rules. Exports an agent-readable instructions block and a §4 hash-anchored artifact. Node 3 of 3 in the Agentic Checkout Chain.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-21-agent-traffic-acceptance-policy-builder.html\n**Wave:** A\n**mandate_type:** agent_guardrail_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "agent_guardrail_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-21-agent-traffic-acceptance-policy-builder.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: agent_guardrail_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "build_agent_traffic_policy",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-21-agent-traffic-acceptance-policy-builder.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "agent_guardrail_mandate",
        "x-ocg-wave": "A"
      }
    },
    "/v1/tools/compare_agentic_rail_protocols": {
      "post": {
        "operationId": "compare_agentic_rail_protocols",
        "summary": "Agentic Payments Protocol Comparator",
        "description": "Compares AP2, ACP, x402, Visa TAP, Mastercard Agentic Token, and Tempo MPP (Machine Payments Protocol) across 8 dimensions (backer, artifact, signing, scope, rail, identity, audit, status) and 6 agentic scenarios. Root node of the Agentic Rail Chain: routing_policy output determines Branch A (AP2/card) or Branch B (A2A/x402). Promoted from T276.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-22-agentic-payments-protocol-comparator.html\n**Wave:** A\n**mandate_type:** routing_policy\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "routing_policy"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-22-agentic-payments-protocol-comparator.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: routing_policy. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "compare_agentic_rail_protocols",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-22-agentic-payments-protocol-comparator.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "routing_policy",
        "x-ocg-wave": "A"
      }
    },
    "/v1/tools/inspect_visa_trusted_agent_protocol": {
      "post": {
        "operationId": "inspect_visa_trusted_agent_protocol",
        "summary": "Visa Trusted Agent Protocol (TAP) Signature Inspector",
        "description": "Parses and scores Visa TAP Signature-Input / Signature header pairs (RFC 9421 HTTP Message Signatures). Runs a 5-question TAP Readiness Assessment. Branch A, node 2 of the Agentic Rail Chain. Promoted from T286.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-23-visa-trusted-agent-protocol-inspector.html\n**Wave:** A\n**mandate_type:** compliance_control\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_control"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-23-visa-trusted-agent-protocol-inspector.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_control. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "inspect_visa_trusted_agent_protocol",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-23-visa-trusted-agent-protocol-inspector.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_control",
        "x-ocg-wave": "A"
      }
    },
    "/v1/tools/verify_a2a_agent_card": {
      "post": {
        "operationId": "verify_a2a_agent_card",
        "summary": "A2A Agent Card Validator & Extension Checker",
        "description": "Validates an A2A agent-card.json against the v1.0 shape: identity fields, capabilities, extensions (AP2/x402), input/output modes, skills, provider, signed-card JWS block. Branch B, node 1 of the Agentic Rail Chain. Promoted from T283.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-25-a2a-agent-card-validator.html\n**Wave:** A\n**mandate_type:** compliance_control\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_control"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-25-a2a-agent-card-validator.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_control. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "verify_a2a_agent_card",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-25-a2a-agent-card-validator.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_control",
        "x-ocg-wave": "A"
      }
    },
    "/v1/tools/simulate_x402_flow": {
      "post": {
        "operationId": "simulate_x402_flow",
        "summary": "x402 Header Decoder, Payload Linter & 402 Flow Simulator",
        "description": "Decodes base64 PAYMENT-REQUIRED / PAYMENT-SIGNATURE / PAYMENT-RESPONSE headers, lints exact-scheme PaymentPayload (EIP-3009 style authorization fields), walks the HTTP-402 request/verify/settle flow, shows scheme×network matrix. Branch B, node 2 of the Agentic Rail Chain. Promoted from T277.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-26-x402-payload-decoder-flow-simulator.html\n**Wave:** A\n**mandate_type:** compliance_control\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_control"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-26-x402-payload-decoder-flow-simulator.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_control. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "simulate_x402_flow",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-26-x402-payload-decoder-flow-simulator.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_control",
        "x-ocg-wave": "A"
      }
    },
    "/v1/tools/run_agentic_readiness_diagnostic": {
      "post": {
        "operationId": "run_agentic_readiness_diagnostic",
        "summary": "Agentic Payments Readiness Diagnostic",
        "description": "12-question scored diagnostic: graded A–F across policy & mandates, protocol formalisation, financial-crime controls, and MCP runtime operations. Single-node ChainGraph (chain_depth: 0). Promoted from guides/agentic-readiness-diagnostic.html.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-27-agentic-readiness-diagnostic.html\n**Wave:** A\n**mandate_type:** agent_guardrail_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "agent_guardrail_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-27-agentic-readiness-diagnostic.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: agent_guardrail_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "run_agentic_readiness_diagnostic",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-27-agentic-readiness-diagnostic.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "agent_guardrail_mandate",
        "x-ocg-wave": "A"
      }
    },
    "/v1/tools/run_dora_readiness_diagnostic": {
      "post": {
        "operationId": "run_dora_readiness_diagnostic",
        "summary": "DORA Readiness Diagnostic",
        "description": "12-question scored diagnostic across four DORA pillars (ICT risk management, incident classification & reporting, resilience testing, third-party risk). Graded A–F with remediation map. Single-node ChainGraph (chain_depth: 0). Common entry point for the DORA Readiness Chain; diagnostic grade determines scenario routing (A/B/C). Promoted from guides/dora-readiness-diagnostic.html.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-29-dora-readiness-diagnostic.html\n**Wave:** B\n**mandate_type:** infrastructure_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "infrastructure_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-29-dora-readiness-diagnostic.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: infrastructure_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "run_dora_readiness_diagnostic",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-29-dora-readiness-diagnostic.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "infrastructure_mandate",
        "x-ocg-wave": "B"
      }
    },
    "/v1/tools/validate_agent_commerce_conformance": {
      "post": {
        "operationId": "validate_agent_commerce_conformance",
        "summary": "Agent Commerce Cross-Protocol Conformance Validator",
        "description": "The synergy flagship. Validates a single agent purchase end-to-end across up to five protocols: AP2 v0.2 mandate chain (Intent → Cart → Payment), ACP checkout conformance (OpenAI/Stripe), Visa TAP RFC 9421 HTTP Message Signature inspection, x402 settlement leg, and Tempo MPP session/subscription pre-authorization (additive, validated when an mpp_session is supplied). Issues one unified PASS/WARN/FAIL verdict and a single execution_hash receipt (ChainGraph Standard v0.1 §4, chain_depth: 1). Consumes ART-01, ART-12, ART-03. Feeds CRY-05, PTG-01.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-30-agent-commerce-conformance-validator.html\n**Wave:** 6\n**mandate_type:** payment_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "payment_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-30-agent-commerce-conformance-validator.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: payment_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "validate_agent_commerce_conformance",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-30-agent-commerce-conformance-validator.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "payment_mandate",
        "x-ocg-wave": 6
      }
    },
    "/v1/tools/validate_a2a_x402_mandate": {
      "post": {
        "operationId": "validate_a2a_x402_mandate",
        "summary": "A2A x402-Extension Mandate Validator",
        "description": "Validates the A2A x402 extension (Coinbase/MetaMask/Ethereum Foundation) that carries crypto-payment authority inside an AP2 mandate: extension declaration in the A2A agent card, payment-authority scope, settlement-rail binding, exact-scheme x402 PaymentPayload lint, and mandate-to-payment-leg consistency. PASS/WARN/FAIL verdict + execution_hash. Educational/simulation.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-31-a2a-x402-extension-mandate-validator.html\n**Wave:** 6\n**mandate_type:** settlement_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "settlement_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-31-a2a-x402-extension-mandate-validator.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: settlement_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "validate_a2a_x402_mandate",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-31-a2a-x402-extension-mandate-validator.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "settlement_mandate",
        "x-ocg-wave": 6
      }
    },
    "/v1/tools/validate_a2a_trust_chain": {
      "post": {
        "operationId": "validate_a2a_trust_chain",
        "summary": "A2A Agent-Card Trust-Chain Validator",
        "description": "The horizontal agent-to-agent trust complement. Validates an A2A v1.0 agent card (schema, signature, extension URIs) then assesses the delegated-authority trust chain into KYA-OS attestation + spend policy: chain depth <= 4, no scope escalation, validity windows <= 90 days. Trust PASS/WARN/FAIL determination + execution_hash.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-32-a2a-agent-card-trust-chain-validator.html\n**Wave:** 6\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-32-a2a-agent-card-trust-chain-validator.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "validate_a2a_trust_chain",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-32-a2a-agent-card-trust-chain-validator.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 6
      }
    },
    "/v1/tools/lint_mcp_server_conformance": {
      "post": {
        "operationId": "lint_mcp_server_conformance",
        "summary": "MCP Server Self-Attestation Pack",
        "description": "Combines the five MCP-dev checks: tool-definition lint (JSON Schema 2020-12), server.json validation (2025-12-11 schema), OAuth 2.1 audit (RFC 9728 PRM, RFC 8707 audience), tool-poisoning scan, and ops/readiness, into one self-reported conformance lint: composite A-F ship-readiness grade plus per-domain scores and ordered remediation. This is an unsigned lint result, not a signed attestation. audit_signature.signatures is empty by design, as it is on every unsigned OpenChainGraph node. Dogfooding: the AINumbers server can lint itself. Formerly named attest_mcp_server; that name remains accepted permanently.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-33-mcp-server-self-attestation-pack.html\n**Wave:** 6\n**mandate_type:** infrastructure_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "infrastructure_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-33-mcp-server-self-attestation-pack.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: infrastructure_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "lint_mcp_server_conformance",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-33-mcp-server-self-attestation-pack.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "infrastructure_mandate",
        "x-ocg-wave": 6
      }
    },
    "/v1/tools/run_tempo_fit_diagnostic": {
      "post": {
        "operationId": "run_tempo_fit_diagnostic",
        "summary": "Tempo Fit Diagnostic",
        "description": "12-question A–F diagnostic grading an organisation's Tempo adoption fit across four dimensions: Issue (TIP-20/GENIUS PPSI), Payments (cost wedge), Agent (MPP/HTTP 402), Commerce (agentic checkout). Routing engine maps score profile to the correct chain. OCG v0.3.1 artifact; dct:conformsTo party-identification.jsonld.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-34-tempo-fit-diagnostic.html\n**Wave:** 9\n**mandate_type:** agent_guardrail_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "agent_guardrail_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-34-tempo-fit-diagnostic.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: agent_guardrail_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "run_tempo_fit_diagnostic",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-34-tempo-fit-diagnostic.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "agent_guardrail_mandate",
        "x-ocg-wave": 9
      }
    },
    "/v1/tools/model_tempo_payment_economics": {
      "post": {
        "operationId": "model_tempo_payment_economics",
        "summary": "Tempo Payments Business Case",
        "description": "CFO-level cost-and-savings model for migrating a payment flow (payroll / remittance / merchant settlement) from card/SWIFT/ACH/SEPA to Tempo. Outputs annual savings in USD and bps, break-even months, finality improvement (days → 600ms), and a CFO memo. ISO 20022 pacs.008-subset artifact; instructed_amount, debtor, creditor, remittance_information.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-35-tempo-payments-business-case.html\n**Wave:** 9\n**mandate_type:** treasury_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "treasury_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-35-tempo-payments-business-case.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: treasury_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "model_tempo_payment_economics",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-35-tempo-payments-business-case.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "treasury_mandate",
        "x-ocg-wave": 9
      }
    },
    "/v1/tools/decode_mpp_session": {
      "post": {
        "operationId": "decode_mpp_session",
        "summary": "Tempo MPP Agent Mandate",
        "description": "Parses an MPP (Machine Payments Protocol) session, validates spend cap and session terms, maps HTTP-402 flow to AP2 Intent→Cart→Payment, performs KYA agent identity check (did:key format), models settlement cost, and emits a signed agent-payment mandate. W-C co-lead. ISO 20022 pacs.008-subset artifact; did:key identity in debtor field.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-36-tempo-mpp-agent-mandate.html\n**Wave:** 9\n**mandate_type:** payment_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "payment_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-36-tempo-mpp-agent-mandate.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: payment_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "decode_mpp_session",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-36-tempo-mpp-agent-mandate.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "payment_mandate",
        "x-ocg-wave": 9
      }
    },
    "/v1/tools/validate_tempo_token_compliance": {
      "post": {
        "operationId": "validate_tempo_token_compliance",
        "summary": "Tempo Stablecoin Issuance Compliance",
        "description": "Dual-jurisdiction TIP-20 token compliance validator. Tab 1: TIP-20 Config Lint: currency code, supply cap, RBAC (ISSUER/PAUSE/BURN_BLOCKED), yield prohibition per GENIUS Act §4(a)(11). Tab 2: TIP-403 Policy Design: allowlist/blocklist/freeze, OFAC SDN, FATF Travel Rule. Dual scorecard: US GENIUS PPSI (Fed. Reg. 2026-06963 NPRM) + EU MiCA EMT (EU Reg. 2023/1114). OCG v0.3.1 artifact; dct:conformsTo party-identification.jsonld; issuer LEI in output_payload.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-37-tempo-stablecoin-issuance.html\n**Wave:** 9\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-37-tempo-stablecoin-issuance.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "validate_tempo_token_compliance",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-37-tempo-stablecoin-issuance.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 9
      }
    },
    "/v1/tools/screen_tip20_transfer_batch": {
      "post": {
        "operationId": "screen_tip20_transfer_batch",
        "summary": "Tempo On-Chain AML & Travel Rule Screener",
        "description": "Parses a batch of synthetic TIP-20 transfers (with memos), runs OFAC/SDN hit screening, checks FATF Travel Rule field completeness (originator/beneficiary name + VASP ID, threshold US$3,000), scores AML typologies (structuring $9k–$9.99k, missing identity, unusual tx), and emits SAR determination + Travel Rule attestation. Bilateral: sending VASP emits; receiving VASP re-verifies. ISO 20022 pacs.008-subset artifact; instructed_amount = batch total.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-38-tempo-onchain-aml.html\n**Wave:** 9\n**mandate_type:** aml_rule\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "aml_rule"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-38-tempo-onchain-aml.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: aml_rule. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "screen_tip20_transfer_batch",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-38-tempo-onchain-aml.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "aml_rule",
        "x-ocg-wave": 9
      }
    },
    "/v1/tools/validate_tempo_zone_disclosure": {
      "post": {
        "operationId": "validate_tempo_zone_disclosure",
        "summary": "Tempo Zone Selective-Disclosure Attestation",
        "description": "Maps a Tempo Zone's party-visibility model (operator-sees-all / users-see-own / outsiders-see-ZK-proofs) against AML/audit/regulator disclosure obligations. Confirms TIP-403 freeze/allowlist propagates cross-zone. Issues a privacy-and-auditability attestation for the board/regulator. Verdict: FULL_ATTESTATION / PARTIAL_ATTESTATION / INSUFFICIENT. ISO 20022 pacs.008-subset artifact. Zones live June 2026; payroll/treasury first use case.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-39-tempo-zone-disclosure.html\n**Wave:** 9\n**mandate_type:** attestation_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "attestation_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-39-tempo-zone-disclosure.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: attestation_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "validate_tempo_zone_disclosure",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-39-tempo-zone-disclosure.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "attestation_mandate",
        "x-ocg-wave": 9
      }
    },
    "/v1/tools/map_tempo_settlement": {
      "post": {
        "operationId": "map_tempo_settlement",
        "summary": "Tempo Agentic Checkout Settlement Mapper",
        "description": "Binds an ACP / Visa TAP / ISO 20022 checkout to a TIP-20 settlement. Maps the 32-byte Tempo memo → ISO 20022 remittance_information, sender/receiver → debtor/creditor (with optional LEI), and normalises an on-chain Tempo tx into the AP2 artifact envelope. The canonical OCG v0.3 pacs.008-subset tool for Tempo: instructs the bilateral settlement receipt that agents and merchants both verify via execution_hash. W-D terminal node.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-40-tempo-agentic-checkout.html\n**Wave:** 9\n**mandate_type:** settlement_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "settlement_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-40-tempo-agentic-checkout.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: settlement_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "map_tempo_settlement",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-40-tempo-agentic-checkout.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "settlement_mandate",
        "x-ocg-wave": 9
      }
    },
    "/v1/tools/score_tempo_validator_readiness": {
      "post": {
        "operationId": "score_tempo_validator_readiness",
        "summary": "Tempo Validator Readiness Scorer",
        "description": "12-question readiness scorer for prospective Tempo Network validators across 5 dimensions: hardware (CPU/RAM/NVMe), OS/software (Linux x86_64/ARM64 glibc≥2.38, chrony/ntpd, ports 30303/8000/9000), key management (ed25519, on-chain registration), telemetry, and upgrade cadence (7-day SLA). Flags permissioned entry (partners@tempo.xyz required) and unpublished bond/stake/KYC obligations. infrastructure_mandate. iso20022:party-identification profile.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-41-tempo-validator-readiness.html\n**Wave:** 9\n**mandate_type:** infrastructure_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "infrastructure_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-41-tempo-validator-readiness.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: infrastructure_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "score_tempo_validator_readiness",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-41-tempo-validator-readiness.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "infrastructure_mandate",
        "x-ocg-wave": 9
      }
    },
    "/v1/tools/run_arc_fit_diagnostic": {
      "post": {
        "operationId": "run_arc_fit_diagnostic",
        "summary": "Arc Fit Diagnostic",
        "description": "12-question A–F diagnostic assessing Arc adoption fit across CPN (Circle Payments Network), StableFX 24/7 FX, DvP atomic settlement, and agentic commerce dimensions. Routes to the appropriate Arc chain. CCTP v2 routing branch fires when ≥2 dimensions score >0.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-42-arc-fit-diagnostic.html\n**Wave:** 10\n**mandate_type:** agent_guardrail_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "agent_guardrail_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-42-arc-fit-diagnostic.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: agent_guardrail_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "run_arc_fit_diagnostic",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-42-arc-fit-diagnostic.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "agent_guardrail_mandate",
        "x-ocg-wave": 10
      }
    },
    "/v1/tools/model_arc_cpn_economics": {
      "post": {
        "operationId": "model_arc_cpn_economics",
        "summary": "Arc CPN Corridor Economics Model",
        "description": "Model CPN corridor economics vs SWIFT/ACH/SEPA/card/RTP for cross-border USD flows. Quantifies per-payment cost, FX spread, settlement time, and 3-year NPV. Industry benchmarks: WorldBank Q4 2024 (SWIFT 5.5% remittance), Nacha 2024 (ACH). CPN fee $0.01 user-adjustable estimate.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-43-arc-cpn-model.html\n**Wave:** 10\n**mandate_type:** treasury_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "treasury_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-43-arc-cpn-model.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: treasury_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "model_arc_cpn_economics",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-43-arc-cpn-model.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "treasury_mandate",
        "x-ocg-wave": 10
      }
    },
    "/v1/tools/model_arc_stablefx_rfq": {
      "post": {
        "operationId": "model_arc_stablefx_rfq",
        "summary": "Arc StableFX RFQ Economics Model",
        "description": "Quantify Herstatt risk elimination and FX spread savings from Arc StableFX 24/7 atomic PvP settlement vs non-CLS bilateral FX. Methodology: BIS (Allsopp et al. 1996) Herstatt credit cost proxy via counterparty spread. PFMI P12 atomic settlement; BIS FX Global Code P35 netting.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-44-arc-stablefx-model.html\n**Wave:** 10\n**mandate_type:** treasury_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "treasury_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-44-arc-stablefx-model.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: treasury_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "model_arc_stablefx_rfq",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-44-arc-stablefx-model.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "treasury_mandate",
        "x-ocg-wave": 10
      }
    },
    "/v1/tools/lint_arc_xreserve_config": {
      "post": {
        "operationId": "lint_arc_xreserve_config",
        "summary": "Arc xReserve Config Linter",
        "description": "8-check A–F linter for an Arc xReserve / on-chain reserve configuration. Checks: reserve sum=100%, GENIUS Act §4 eligible assets (US issuers), GENIUS §4(a)(11) yield prohibition (US PPSIs), MiCA Art. 54 (EU EMIs), USYC composition (0–80% pass), CCTP v2 domains ≥2, attestation cadence, mint/burn role segregation.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-45-arc-xreserve-linter.html\n**Wave:** 10\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-45-arc-xreserve-linter.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "lint_arc_xreserve_config",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-45-arc-xreserve-linter.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 10
      }
    },
    "/v1/tools/model_arc_paymaster_economics": {
      "post": {
        "operationId": "model_arc_paymaster_economics",
        "summary": "Arc Paymaster Economics Model",
        "description": "ERC-4337 Paymaster economics model for Arc. Computes gas cost (gasPerUop × gasPriceGwei × 1e-9 × ethPriceUsd), sponsorship break-even, and per-UOp user-facing cost. Comparison: Arc user pays / Arc+Paymaster / Ethereum L1. No ETH bootstrap required on Arc (USDC-as-gas).\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-46-arc-paymaster-model.html\n**Wave:** 10\n**mandate_type:** treasury_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "treasury_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-46-arc-paymaster-model.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: treasury_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "model_arc_paymaster_economics",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-46-arc-paymaster-model.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "treasury_mandate",
        "x-ocg-wave": 10
      }
    },
    "/v1/tools/validate_cctp_v2_transfer": {
      "post": {
        "operationId": "validate_cctp_v2_transfer",
        "summary": "Arc CCTP v2 Transfer Validator",
        "description": "Validates a CCTP v2 cross-chain USDC transfer for domain pair eligibility, Fast Transfer 30-second finality risk (LP availability), Hook payload safety, CCTP v1 sunset migration status (31 Jul 2026), and large-notional LP-depth risk. 6 checks, A–F grade. 13 CCTP v2 domains as of Oct 2025.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-47-arc-cctp-transfer.html\n**Wave:** 10\n**mandate_type:** settlement_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "settlement_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-47-arc-cctp-transfer.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: settlement_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "validate_cctp_v2_transfer",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-47-arc-cctp-transfer.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "settlement_mandate",
        "x-ocg-wave": 10
      }
    },
    "/v1/tools/run_treasury_clearing_fit": {
      "post": {
        "operationId": "run_treasury_clearing_fit",
        "summary": "Treasury Clearing Fit Diagnostic",
        "description": "12-question A-F readiness diagnostic for the SEC US Treasury clearing mandate (cash Dec 31 2026 / repo Jun 30 2027). Grades scope, access, margin capacity, capital, ops/docs, and liquidity; routes to the right treasury-clearing chain and emits a remediation checklist.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-48-treasury-clearing-fit-diagnostic.html\n**Wave:** 11\n**mandate_type:** agent_guardrail_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "agent_guardrail_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-48-treasury-clearing-fit-diagnostic.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: agent_guardrail_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "run_treasury_clearing_fit",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-48-treasury-clearing-fit-diagnostic.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "agent_guardrail_mandate",
        "x-ocg-wave": 11
      }
    },
    "/v1/tools/model_clearing_access_economics": {
      "post": {
        "operationId": "model_clearing_access_economics",
        "summary": "Clearing Access Model Selector",
        "description": "Selects and costs the FICC access model - Direct vs Sponsored (done-with) vs Sponsored/Agent (done-away) - across cost, execution-access, margin/netting efficiency, and ops. Recommends a model with a CFO memo. Educational economics; not clearing advice.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-49-clearing-access-model-selector.html\n**Wave:** 11\n**mandate_type:** treasury_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "treasury_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-49-clearing-access-model-selector.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: treasury_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "model_clearing_access_economics",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-49-clearing-access-model-selector.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "treasury_mandate",
        "x-ocg-wave": 11
      }
    },
    "/v1/tools/estimate_ficc_margin_netting": {
      "post": {
        "operationId": "estimate_ficc_margin_netting",
        "summary": "FICC Margin & Netting Estimator",
        "description": "DV01-bucket VaR proxy of the FICC VaR-based margin (VBM), the netting benefit of central vs bilateral clearing, cash-vs-repo cross-product netting, and the done-away uplift. Educational proxy - not the official FICC VBM calculator.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-50-ficc-margin-netting-estimator.html\n**Wave:** 11\n**mandate_type:** risk_parameter\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "risk_parameter"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-50-ficc-margin-netting-estimator.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: risk_parameter. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "estimate_ficc_margin_netting",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-50-ficc-margin-netting-estimator.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "risk_parameter",
        "x-ocg-wave": 11
      }
    },
    "/v1/tools/estimate_cross_margin_benefit": {
      "post": {
        "operationId": "estimate_cross_margin_benefit",
        "summary": "FICC-CME Cross-Margining Estimator",
        "description": "Estimates the initial-margin reduction from the FICC-CME cross-margining arrangement (customer expansion per SEC notice published 2025-12-22) by offsetting UST cash/repo DV01 against CME Treasury/SOFR futures DV01. Educational proxy.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-51-cross-margining-benefit-estimator.html\n**Wave:** 11\n**mandate_type:** risk_parameter\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "risk_parameter"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-51-cross-margining-benefit-estimator.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: risk_parameter. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "estimate_cross_margin_benefit",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-51-cross-margining-benefit-estimator.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "risk_parameter",
        "x-ocg-wave": 11
      }
    },
    "/v1/tools/run_digital_trade_fit": {
      "post": {
        "operationId": "run_digital_trade_fit",
        "summary": "Digital Trade Corridor Fit Diagnostic",
        "description": "12-question A–F readiness diagnostic for digital trade / electronic trade documents (MLETR). Grades corridor legality, document digitisation, platform connectivity, trade-rule basis (eUCP/URDTT), financing, and AML/TBML controls; routes to the right chain and emits a remediation checklist.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-52-digital-trade-fit-diagnostic.html\n**Wave:** 12\n**mandate_type:** agent_guardrail_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "agent_guardrail_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-52-digital-trade-fit-diagnostic.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: agent_guardrail_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "run_digital_trade_fit",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-52-digital-trade-fit-diagnostic.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "agent_guardrail_mandate",
        "x-ocg-wave": 12
      }
    },
    "/v1/tools/validate_mletr_record": {
      "post": {
        "operationId": "validate_mletr_record",
        "summary": "MLETR / eBL Conformance & Enforceability Validator",
        "description": "Validates an electronic transferable record (eBL or other ETR) against MLETR functional-equivalence tests (Arts. 10–12: singularity, control, integrity, reliability) and scores cross-corridor legal enforceability from the UNCITRAL adoption status. Answers: will this eBL hold up at both ends of the corridor?\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-53-mletr-ebl-conformance-validator.html\n**Wave:** 12\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-53-mletr-ebl-conformance-validator.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "validate_mletr_record",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-53-mletr-ebl-conformance-validator.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 12
      }
    },
    "/v1/tools/check_digital_trade_rules": {
      "post": {
        "operationId": "check_digital_trade_rules",
        "summary": "Digital Trade Rules Compliance Checker",
        "description": "Machine-checks a digital trade presentation (digital LC, collection, or open-account transaction) against the ICC digital rulebooks: eUCP v2.1, eURC v1.1, URDTT v1.0. Produces a discrepancy list with article citations, severity ratings, and remediation actions.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-54-digital-trade-rules-checker.html\n**Wave:** 12\n**mandate_type:** scheme_rule\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "scheme_rule"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-54-digital-trade-rules-checker.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: scheme_rule. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "check_digital_trade_rules",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-54-digital-trade-rules-checker.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "scheme_rule",
        "x-ocg-wave": 12
      }
    },
    "/v1/tools/verify_trade_document_set": {
      "post": {
        "operationId": "verify_trade_document_set",
        "summary": "Trade Document Provenance & Consistency Verifier",
        "description": "Cross-validates a full trade-document set (eBL, commercial invoice, packing list, certificate of origin, insurance certificate) for internal consistency and computes a SHA-256 Merkle provenance root. Flags TBML red flags: over/under-invoicing, phantom shipments, mismatched goods/values (FATF typologies, ICC DSI KTDDE field model). Educational screen, not a SAR determination.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-55-trade-document-provenance-verifier.html\n**Wave:** 12\n**mandate_type:** cryptographic_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "cryptographic_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-55-trade-document-provenance-verifier.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: cryptographic_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "verify_trade_document_set",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-55-trade-document-provenance-verifier.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "cryptographic_mandate",
        "x-ocg-wave": 12
      }
    },
    "/v1/tools/run_tokenized_settlement_fit": {
      "post": {
        "operationId": "run_tokenized_settlement_fit",
        "summary": "Wholesale Tokenized Settlement Fit Diagnostic",
        "description": "12-question A-F readiness diagnostic for wholesale tokenized settlement (tokenized deposits, central bank money, regulated stablecoins as settlement assets). Grades settlement-asset choice, finality regime, cross-network atomicity, asset-leg type, cash-leg issuer, intraday liquidity, and reconciliation controls; routes to the right wholesale-settlement chain and emits a remediation checklist.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-56-tokenized-settlement-fit-diagnostic.html\n**Wave:** 13\n**mandate_type:** agent_guardrail_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "agent_guardrail_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-56-tokenized-settlement-fit-diagnostic.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: agent_guardrail_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "run_tokenized_settlement_fit",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-56-tokenized-settlement-fit-diagnostic.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "agent_guardrail_mandate",
        "x-ocg-wave": 13
      }
    },
    "/v1/tools/validate_deposit_token_compliance": {
      "post": {
        "operationId": "validate_deposit_token_compliance",
        "summary": "Deposit-Token Compliance Validator",
        "description": "3-test validator distinguishing a bank-liability deposit token (JPMD/RLN model: at-par-on-demand, on-balance-sheet, allowlisted-wholesale) from a reserve-backed stablecoin or e-money token. Classifies DEPOSIT_TOKEN_CONFIRMED / CBM_TOKEN / EMT_STABLECOIN / DEPOSIT_TOKEN_MISCLASSIFIED. Provides US / UK / EU regime notes and capital accounting guidance. cash/settlement layer.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-57-deposit-token-compliance-validator.html\n**Wave:** 13\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-57-deposit-token-compliance-validator.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "validate_deposit_token_compliance",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-57-deposit-token-compliance-validator.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 13
      }
    },
    "/v1/tools/validate_cross_network_settlement": {
      "post": {
        "operationId": "validate_cross_network_settlement",
        "summary": "Cross-Network Atomic Settlement Validator",
        "description": "Validates atomic settlement across two or more networks: cash leg final on the money ledger, asset leg delivered on the asset ledger, FX leg PvP where present. Detects finality mismatch across legs, non-atomic cross-network risk, and PvP gaps per CPMI-IOSCO PFMI Principles 8 + 12. Models BIS Agorá unifying-ledger, ECB Pontes TARGET-link, and DTCC Collateral AppChain coordination patterns. Distinct from Canton single-network DvP.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-58-cross-network-settlement-validator.html\n**Wave:** 13\n**mandate_type:** settlement_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "settlement_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-58-cross-network-settlement-validator.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: settlement_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "validate_cross_network_settlement",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-58-cross-network-settlement-validator.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "settlement_mandate",
        "x-ocg-wave": 13
      }
    },
    "/v1/tools/classify_settlement_asset_finality": {
      "post": {
        "operationId": "classify_settlement_asset_finality",
        "summary": "Settlement-Asset & Legal-Finality Classifier",
        "description": "Classifies the settlement asset (CBM token / tokenized commercial bank deposit / regulated stablecoin / e-money token) against its legal-finality regime (EU SFD 98/26/EC / CPMI-IOSCO PFMI Principle 8 / UCC Article 12 control) -> finality tier 1-4 + singleness-of-money verdict. Gates ART-58 cross-network atomicity check.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-59-settlement-asset-finality-classifier.html\n**Wave:** 13\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-59-settlement-asset-finality-classifier.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "classify_settlement_asset_finality",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-59-settlement-asset-finality-classifier.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 13
      }
    },
    "/v1/tools/run_agent_economy_fit": {
      "post": {
        "operationId": "run_agent_economy_fit",
        "summary": "Agent Economy Runtime Fit Diagnostic",
        "description": "12-question A-F readiness diagnostic for the agent-economy runtime / post-trade layer (x402 V2 batch settlement, AP2 PaymentReceipt, Human-Not-Present autonomy, reconciliation, metering, runtime fraud). Grades an agent platform/operator and routes to the right agent-economy chain.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-60-agent-economy-runtime-fit-diagnostic.html\n**Wave:** 14\n**mandate_type:** agent_guardrail_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "agent_guardrail_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-60-agent-economy-runtime-fit-diagnostic.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: agent_guardrail_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "run_agent_economy_fit",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-60-agent-economy-runtime-fit-diagnostic.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "agent_guardrail_mandate",
        "x-ocg-wave": 14
      }
    },
    "/v1/tools/reconcile_x402_batch_settlement": {
      "post": {
        "operationId": "reconcile_x402_batch_settlement",
        "summary": "x402 V2 Batch-Settlement Reconciler",
        "description": "Reconciles an x402 V2 batch settlement (off-chain payment vouchers vs onchain batch total), verifying recon verdict, per-voucher amounts, settlement-risk window (unredeemed voucher exposure), and computing an educational Merkle root over the voucher set. Runtime/post-trade: art-03 models V1 pre-trade; ART-61 reconciles an actual V2 batch post-settlement.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-61-x402-batch-settlement-reconciler.html\n**Wave:** 14\n**mandate_type:** settlement_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "settlement_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-61-x402-batch-settlement-reconciler.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: settlement_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "reconcile_x402_batch_settlement",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-61-x402-batch-settlement-reconciler.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "settlement_mandate",
        "x-ocg-wave": 14
      }
    },
    "/v1/tools/verify_ap2_payment_receipt": {
      "post": {
        "operationId": "verify_ap2_payment_receipt",
        "summary": "AP2 PaymentReceipt Verifier & HNP Guardrail",
        "description": "Verifies an AP2 v0.2 PaymentReceipt against its signed Intent/Cart/Payment mandate chain, and applies the Human-Not-Present (HNP) autonomy guardrail: amount, category, mandate age, cart freshness. Runtime/post-trade: art-01 validates the mandate before the buy; ART-62 verifies the receipt after, applying HNP gating (AP2 v0.2 new primitive, FIDO Alliance Apr 2026).\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-62-ap2-payment-receipt-verifier.html\n**Wave:** 14\n**mandate_type:** attestation_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "attestation_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-62-ap2-payment-receipt-verifier.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: attestation_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "verify_ap2_payment_receipt",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-62-ap2-payment-receipt-verifier.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "attestation_mandate",
        "x-ocg-wave": 14
      }
    },
    "/v1/tools/model_agent_service_metering": {
      "post": {
        "operationId": "model_agent_service_metering",
        "summary": "Agent-Service Metering & Marketplace Economics Modeler",
        "description": "Educational unit-economics modeler for agent-service micropayment marketplaces: per-call pricing, x402 V2 batch-settlement savings, marketplace take-rate, net margin, break-even volume, and sensitivity analysis across batch sizes. Not pricing or financial advice.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-63-agent-service-metering-modeler.html\n**Wave:** 14\n**mandate_type:** payment_policy\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "payment_policy"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-63-agent-service-metering-modeler.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: payment_policy. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "model_agent_service_metering",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-63-agent-service-metering-modeler.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "payment_policy",
        "x-ocg-wave": 14
      }
    },
    "/v1/tools/run_ai_act_highrisk_fit": {
      "post": {
        "operationId": "run_ai_act_highrisk_fit",
        "summary": "EU AI Act High-Risk Fit & Classification Diagnostic",
        "description": "12-question A-F diagnostic that screens in-force obligations first (Art 5 prohibited practices, Art 4 AI literacy, GPAI) then classifies financial AI system high-risk status (Annex III: credit scoring, insurance pricing, financial-standing) and grades Article 9-15 readiness plus the provider/deployer split. Routes to the right ai-governance chain with a do-now vs prepare-ahead checklist and applicable date (2 Dec 2027 per Digital Omnibus, verify).\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-64-ai-act-highrisk-fit-diagnostic.html\n**Wave:** 15\n**mandate_type:** agent_guardrail_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "agent_guardrail_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-64-ai-act-highrisk-fit-diagnostic.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: agent_guardrail_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "run_ai_act_highrisk_fit",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-64-ai-act-highrisk-fit-diagnostic.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "agent_guardrail_mandate",
        "x-ocg-wave": 15
      }
    },
    "/v1/tools/build_ai_conformity_pack": {
      "post": {
        "operationId": "build_ai_conformity_pack",
        "summary": "AI Act Conformity Pack Builder",
        "description": "Assembles an EU AI Act Annex IV technical documentation pack, validates the conformity-assessment route (internal control vs notified body), checks CE-marking and EU Declaration of Conformity readiness, and scores completeness per Arts 9/10/15/17. Prepare-ahead: 2 Dec 2027 (verify Digital Omnibus). Decision-support draft, not a conformity certificate.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-65-ai-conformity-pack-builder.html\n**Wave:** 15\n**mandate_type:** model_governance\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "model_governance"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-65-ai-conformity-pack-builder.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: model_governance. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "build_ai_conformity_pack",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-65-ai-conformity-pack-builder.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "model_governance",
        "x-ocg-wave": 15
      }
    },
    "/v1/tools/build_fria_monitoring_plan": {
      "post": {
        "operationId": "build_fria_monitoring_plan",
        "summary": "FRIA & Post-Market Monitoring Plan Builder",
        "description": "Builds an Art 27 Fundamental Rights Impact Assessment (FRIA) + Art 72 post-market monitoring plan + Art 12 logging + Art 14 human-oversight design + Art 73 serious-incident reporting path for a bank or insurer deploying a high-risk AI system. Prepare-ahead: 2 Dec 2027 (verify Digital Omnibus). Decision-support draft.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-66-fria-postmarket-monitoring-builder.html\n**Wave:** 15\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-66-fria-postmarket-monitoring-builder.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "build_fria_monitoring_plan",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-66-fria-postmarket-monitoring-builder.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 15
      }
    },
    "/v1/tools/classify_agentic_ai_risk": {
      "post": {
        "operationId": "classify_agentic_ai_risk",
        "summary": "Agentic AI Risk & GPAI Governance Classifier",
        "description": "Co-flagship and strongest in-force anchor: classifies autonomy tier and GPAI/systemic-risk obligations (Arts 53-55, IN FORCE since 2 Aug 2025, explicitly unchanged by the Digital Omnibus) for agentic and foundation-model AI in financial services. Maps Art 50 transparency, Art 4 AI literacy (IN FORCE Feb 2025), Art 14 HNP oversight, systemic-risk 10^25 FLOP threshold, and downstream Annex III high-risk interaction.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-67-agentic-ai-risk-classifier.html\n**Wave:** 15\n**mandate_type:** model_governance\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "model_governance"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-67-agentic-ai-risk-classifier.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: model_governance. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "classify_agentic_ai_risk",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-67-agentic-ai-risk-classifier.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "model_governance",
        "x-ocg-wave": 15
      }
    },
    "/v1/tools/run_carbon_compliance_fit": {
      "post": {
        "operationId": "run_carbon_compliance_fit",
        "summary": "Carbon & Climate Compliance Fit Diagnostic",
        "description": "12-question A-F diagnostic that classifies which carbon/climate obligations bind a firm (CBAM authorised-declarant duty, EU Taxonomy alignment, EU Green Bond conformance, climate stress) and routes to the right carbon-compliance chain. Separates in-force CBAM definitive liability (since 1 Jan 2026) from prepare-ahead items (first declaration 30 Sep 2027, downstream scope 1 Jan 2028).\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-68-carbon-compliance-fit-diagnostic.html\n**Wave:** 16\n**mandate_type:** agent_guardrail_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "agent_guardrail_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-68-carbon-compliance-fit-diagnostic.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: agent_guardrail_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "run_carbon_compliance_fit",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-68-carbon-compliance-fit-diagnostic.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "agent_guardrail_mandate",
        "x-ocg-wave": 16
      }
    },
    "/v1/tools/calculate_cbam_embedded_emissions": {
      "post": {
        "operationId": "calculate_cbam_embedded_emissions",
        "summary": "CBAM Embedded-Emissions Calculator",
        "description": "Flagship importer tool. Computes embedded emissions (direct + indirect, tCO2e) for a consignment of CBAM goods from actual installation data or Commission default values, applying the system boundaries and monitoring rules of the Implementing Regulation. Handles precursor emissions from ART-72.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-69-cbam-embedded-emissions-calculator.html\n**Wave:** 16\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-69-cbam-embedded-emissions-calculator.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "calculate_cbam_embedded_emissions",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-69-cbam-embedded-emissions-calculator.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 16
      }
    },
    "/v1/tools/resolve_cbam_default_value": {
      "post": {
        "operationId": "resolve_cbam_default_value",
        "summary": "CBAM Default-Value Resolver",
        "description": "Resolves the Commission default embedded-emissions value for a (CN code x country-of-origin) pair, applies the year-dependent markup vs the actual-data path (+10% 2026, +20% 2027, +30% 2028+), and returns the value with provenance citing the CBAM Implementing Regulation.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-70-cbam-default-value-resolver.html\n**Wave:** 16\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-70-cbam-default-value-resolver.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "resolve_cbam_default_value",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-70-cbam-default-value-resolver.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 16
      }
    },
    "/v1/tools/model_cbam_certificate_cost": {
      "post": {
        "operationId": "model_cbam_certificate_cost",
        "summary": "CBAM Certificate Cost & Free-Allocation Engine",
        "description": "Converts embedded emissions into a CBAM certificate liability: applies the CBAM factor (free-allocation phase-out 2.5% 2026 to 100% 2034), deducts origin carbon price already paid, and projects the quarterly holding and surrender schedule to the 30 Sep deadline.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-71-cbam-certificate-cost-engine.html\n**Wave:** 16\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-71-cbam-certificate-cost-engine.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "model_cbam_certificate_cost",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-71-cbam-certificate-cost-engine.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 16
      }
    },
    "/v1/tools/aggregate_cbam_precursor_emissions": {
      "post": {
        "operationId": "aggregate_cbam_precursor_emissions",
        "summary": "CBAM Precursor-Emissions Aggregator",
        "description": "Rolls up embedded emissions across precursors in a steel/aluminium value chain (incl. the 2028 pre-consumer-scrap rule) so a producer can supply complex-goods emissions to its importer. Pre-positions the downstream-180 scope extension (Council position 12 Jun 2026, application 1 Jan 2028).\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-72-cbam-precursor-emissions-aggregator.html\n**Wave:** 16\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-72-cbam-precursor-emissions-aggregator.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "aggregate_cbam_precursor_emissions",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-72-cbam-precursor-emissions-aggregator.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 16
      }
    },
    "/v1/tools/score_taxonomy_alignment": {
      "post": {
        "operationId": "score_taxonomy_alignment",
        "summary": "EU Taxonomy Alignment Scorer",
        "description": "Scores an economic activity against an environmental objective: substantial-contribution technical-screening criteria + DNSH across the other five objectives + minimum safeguards -> aligned / eligible-but-not-aligned / not-eligible. Taxonomy Omnibus I revisions in force 28 Jan 2026.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-73-taxonomy-alignment-scorer.html\n**Wave:** 16\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-73-taxonomy-alignment-scorer.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "score_taxonomy_alignment",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-73-taxonomy-alignment-scorer.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 16
      }
    },
    "/v1/tools/aggregate_taxonomy_kpi_gar": {
      "post": {
        "operationId": "aggregate_taxonomy_kpi_gar",
        "summary": "Taxonomy KPI & Green Asset Ratio Aggregator",
        "description": "Rolls activity-level Taxonomy alignment (from ART-73) into entity KPIs: revenue/CapEx/OpEx aligned proportions and, for financial undertakings, the Green Asset Ratio (GAR) per the Disclosures Delegated Act denominator rules.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-74-taxonomy-kpi-gar-aggregator.html\n**Wave:** 16\n**mandate_type:** model_governance\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "model_governance"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-74-taxonomy-kpi-gar-aggregator.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: model_governance. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "aggregate_taxonomy_kpi_gar",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-74-taxonomy-kpi-gar-aggregator.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "model_governance",
        "x-ocg-wave": 16
      }
    },
    "/v1/tools/validate_eugb_factsheet": {
      "post": {
        "operationId": "validate_eugb_factsheet",
        "summary": "EU Green Bond Factsheet & Allocation Validator",
        "description": "Validates an EuGB factsheet (Annex I) + allocation report (Annex II) for completeness and the 100% Taxonomy-aligned proceeds threshold, cross-checking against ART-73 alignment of the funded activities. EuGB Reg. (EU) 2023/2631 applies since 21 Dec 2024; external-reviewer RTS 12 Mar 2026.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-75-eugb-factsheet-validator.html\n**Wave:** 16\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-75-eugb-factsheet-validator.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "validate_eugb_factsheet",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-75-eugb-factsheet-validator.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 16
      }
    },
    "/v1/tools/apply_climate_scenario": {
      "post": {
        "operationId": "apply_climate_scenario",
        "summary": "Climate Scenario Applicator (NGFS / Fit-for-55)",
        "description": "Applies a climate scenario path (NGFS Phase V orderly/disorderly/hot-house, Fit-for-55 supervisory; reference_version NGFS-Phase-V-2025) to an exposure set, emitting stress-adjusted metrics for a bank/insurer climate-risk file. Scenario paths are versioned reference data, not the suite financial-shock stress parameters.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-76-climate-scenario-applicator.html\n**Wave:** 16\n**mandate_type:** model_governance\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "model_governance"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-76-climate-scenario-applicator.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: model_governance. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "apply_climate_scenario",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-76-climate-scenario-applicator.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "model_governance",
        "x-ocg-wave": 16
      }
    },
    "/v1/tools/run_t1_readiness_diagnostic": {
      "post": {
        "operationId": "run_t1_readiness_diagnostic",
        "summary": "T+1 Settlement Readiness Diagnostic",
        "description": "12-question A-F diagnostic scoring a firm's readiness for the coordinated EU/UK/CH T+1 move (11 Oct 2027) against the Industry Roadmap phases, grading trade-date allocation/confirmation (the Dec-2026 23:00 CET machine-readable mandate), SSI automation, funding compression and CSDR-penalty exposure, and routing to the right settlement-discipline chain.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-77-t1-settlement-readiness-diagnostic.html\n**Wave:** 17\n**mandate_type:** agent_guardrail_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "agent_guardrail_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-77-t1-settlement-readiness-diagnostic.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: agent_guardrail_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "run_t1_readiness_diagnostic",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-77-t1-settlement-readiness-diagnostic.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "agent_guardrail_mandate",
        "x-ocg-wave": 17
      }
    },
    "/v1/tools/calculate_csdr_penalty": {
      "post": {
        "operationId": "calculate_csdr_penalty",
        "summary": "CSDR Cash-Penalty Calculator",
        "description": "Flagship. Computes the CSDR cash penalty for a settlement fail: selects the asset-class daily rate (incl. Oct-2025 RTS increases: equities 1 bp/day, SSA bonds 0.50 bp/day, non-SSA bonds 0.50 bp/day), applies fail duration and reference price/notional, credits partial settlement, and projects forward penalty exposure over an open-fails set.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-78-csdr-penalty-calculator.html\n**Wave:** 17\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-78-csdr-penalty-calculator.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "calculate_csdr_penalty",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-78-csdr-penalty-calculator.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 17
      }
    },
    "/v1/tools/predict_settlement_fail": {
      "post": {
        "operationId": "predict_settlement_fail",
        "summary": "Settlement-Fail Predictor",
        "description": "Scores a trade's fail probability from anonymized configuration features (SSI match status, instrument liquidity tier, counterparty fail-history band, deadline proximity, partial-settlement availability) and ranks a batch for pre-settlement intervention. No PII. Transparent weighted scorecard: dominant driver per trade.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-79-settlement-fail-predictor.html\n**Wave:** 17\n**mandate_type:** model_governance\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "model_governance"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-79-settlement-fail-predictor.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: model_governance. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "predict_settlement_fail",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-79-settlement-fail-predictor.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "model_governance",
        "x-ocg-wave": 17
      }
    },
    "/v1/tools/check_ssi_conformance": {
      "post": {
        "operationId": "check_ssi_conformance",
        "summary": "SSI Conformance Checker",
        "description": "Lints standing settlement instructions for completeness, staleness, and format (~30%-of-fails root cause). BIC validated per ISO 9362. Staleness threshold configurable (default 90 days for T+1 cadence). Scores golden-source match rate and provider coverage.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-80-ssi-conformance-checker.html\n**Wave:** 17\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-80-ssi-conformance-checker.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "check_ssi_conformance",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-80-ssi-conformance-checker.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 17
      }
    },
    "/v1/tools/check_allocation_affirmation": {
      "post": {
        "operationId": "check_allocation_affirmation",
        "summary": "Allocation/Affirmation Conformance Checker",
        "description": "Checks allocation and confirmation/affirmation events against the ESMA CSDR SDR RTS 23:00 CET trade-date rule and the machine-readable-format mandate (binding Dec 2026). Computes per-event pass/fail and batch on-time rate.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-81-allocation-affirmation-conformance.html\n**Wave:** 17\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-81-allocation-affirmation-conformance.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "check_allocation_affirmation",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-81-allocation-affirmation-conformance.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 17
      }
    },
    "/v1/tools/lint_securities_settlement_message": {
      "post": {
        "operationId": "lint_securities_settlement_message",
        "summary": "Securities-Settlement Message Linter (ISO 20022 sese/semt)",
        "description": "Validates ISO 20022 securities-settlement messages (sese.023 instruction, sese.024 status advice, semt.044 account statement) for schema conformance, mandatory-field presence, ISIN (ISO 6166), and BIC (ISO 9362) validity. Scoped strictly to the sese/semt securities family -- NOT the payments pacs/camt work in cbpr-cutover/rca-03.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-82-securities-settlement-message-linter.html\n**Wave:** 17\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-82-securities-settlement-message-linter.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "lint_securities_settlement_message",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-82-securities-settlement-message-linter.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 17
      }
    },
    "/v1/tools/model_buy_in_exposure": {
      "post": {
        "operationId": "model_buy_in_exposure",
        "summary": "Buy-In Exposure Modeler",
        "description": "Models CSDR Refit last-resort mandatory buy-in exposure: eligible trigger date per asset class, extension period (liquid equity ~7 cal days, gov bond ~12, SME ~22), buy-in cost mark-up (default 5%), and cash-compensation alternative. CSDR Refit buy-in reform pending delegated acts (verify current status).\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-83-buy-in-exposure-modeler.html\n**Wave:** 17\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-83-buy-in-exposure-modeler.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "model_buy_in_exposure",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-83-buy-in-exposure-modeler.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 17
      }
    },
    "/v1/tools/compute_settlement_efficiency_kpi": {
      "post": {
        "operationId": "compute_settlement_efficiency_kpi",
        "summary": "Settlement Efficiency KPI Engine",
        "description": "Aggregates batch settlement data into CSDR/T+1-relevant KPIs: settlement rate, fail rate, total CSDR penalty cost, on-time allocation rate, SSI golden-source coverage, buy-in triggered count, and fail-duration distribution. Benchmarks against ESMA annual settlement-efficiency statistics (~97.5% EU average).\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-84-settlement-efficiency-kpi.html\n**Wave:** 17\n**mandate_type:** model_governance\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "model_governance"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-84-settlement-efficiency-kpi.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: model_governance. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "compute_settlement_efficiency_kpi",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-84-settlement-efficiency-kpi.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "model_governance",
        "x-ocg-wave": 17
      }
    },
    "/v1/tools/run_pqc_timeline_fit": {
      "post": {
        "operationId": "run_pqc_timeline_fit",
        "summary": "PQC Timeline & Migration Fit Diagnostic",
        "description": "12-dimension A-F diagnostic mapping an organisation's cryptographic estate and sector to the CNSA 2.0 / EU-2030 / G7 / DORA post-quantum milestones, flagging the end-2026 EU crypto-inventory deadline. Routes to the existing pqc-migration chain for inventory/HNDL/roadmap/agility and to the new protocol chains (TLS/PKI, SWIFT/ISO 20022, FIDO, blockchain).\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-85-pqc-timeline-fit-diagnostic.html\n**Wave:** 18\n**mandate_type:** agent_guardrail_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "agent_guardrail_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-85-pqc-timeline-fit-diagnostic.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: agent_guardrail_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "run_pqc_timeline_fit",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-85-pqc-timeline-fit-diagnostic.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "agent_guardrail_mandate",
        "x-ocg-wave": 18
      }
    },
    "/v1/tools/plan_tls_pki_migration": {
      "post": {
        "operationId": "plan_tls_pki_migration",
        "summary": "TLS / X.509 PKI Migration Planner",
        "description": "Sequences TLS and X.509 PKI migration from RSA/ECDSA to post-quantum algorithms (ML-KEM/ML-DSA per NIST FIPS 203/204 Aug 2024). Builds a phased plan (root CAs -> intermediates -> leaf certificates), models payload impact for hybrid/composite/replace strategies, and flags interoperability risks. Reuses CBOM inventory from tool 499.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-86-tls-pki-migration-planner.html\n**Wave:** 18\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-86-tls-pki-migration-planner.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "plan_tls_pki_migration",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-86-tls-pki-migration-planner.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 18
      }
    },
    "/v1/tools/check_iso20022_pqc_readiness": {
      "post": {
        "operationId": "check_iso20022_pqc_readiness",
        "summary": "SWIFT / ISO 20022 PQC Readiness Checker",
        "description": "Scores SWIFT/ISO 20022 PQC readiness with BAH signature-bloat sizing per the BIS Project Leap Phase 2 model (ML-DSA ~12.9x RSA payload at BAH level). Models new message sizes against current limits and flags size breaches. Reuses HNDL priority from tool 500.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-87-iso20022-pqc-readiness-checker.html\n**Wave:** 18\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-87-iso20022-pqc-readiness-checker.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "check_iso20022_pqc_readiness",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-87-iso20022-pqc-readiness-checker.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 18
      }
    },
    "/v1/tools/check_fido_pqc_conformance": {
      "post": {
        "operationId": "check_fido_pqc_conformance",
        "summary": "FIDO2 / WebAuthn PQC Conformance Checker",
        "description": "Validates FIDO2/WebAuthn authenticator ML-DSA conformance vs IANA COSE algorithm registry identifiers and CTAP2.3 minimum version. Checks COSE identifier presence and CTAP version. Scoped to credential crypto-suite migration -- credential FORMAT/protocol conformance belongs to any future EUDI wave.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-88-fido-pqc-conformance-checker.html\n**Wave:** 18\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-88-fido-pqc-conformance-checker.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "check_fido_pqc_conformance",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-88-fido-pqc-conformance-checker.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 18
      }
    },
    "/v1/tools/classify_blockchain_quantum_risk": {
      "post": {
        "operationId": "classify_blockchain_quantum_risk",
        "summary": "Blockchain / Stablecoin Quantum-Risk Classifier",
        "description": "Classifies quantum-exposure risk for blockchain/stablecoin assets: exposed public-key percentage, address reuse, and migration-path maturity (BIP-360/XRPL/Ethereum roadmaps). Reuses CBOM inventory from tool 499. Ties PQC to the suite's stablecoin/tokenization clusters.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-89-blockchain-quantum-risk-classifier.html\n**Wave:** 18\n**mandate_type:** model_governance\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "model_governance"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-89-blockchain-quantum-risk-classifier.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: model_governance. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "classify_blockchain_quantum_risk",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-89-blockchain-quantum-risk-classifier.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "model_governance",
        "x-ocg-wave": 18
      }
    },
    "/v1/tools/run_sanctions_screening_fit": {
      "post": {
        "operationId": "run_sanctions_screening_fit",
        "summary": "Sanctions & Export-Control Screening Fit Diagnostic",
        "description": "12-param A-F diagnostic scoping a firm's sanctions/export-control screening program (50%-rule ownership, list coverage, fuzzy-match calibration, ECCN classification, circumvention controls) and routing to the right sanctions/export-control chain. Operates on program config only -- no real customer data.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-90-sanctions-screening-fit-diagnostic.html\n**Wave:** 19\n**mandate_type:** agent_guardrail_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "agent_guardrail_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-90-sanctions-screening-fit-diagnostic.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: agent_guardrail_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "run_sanctions_screening_fit",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-90-sanctions-screening-fit-diagnostic.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "agent_guardrail_mandate",
        "x-ocg-wave": 19
      }
    },
    "/v1/tools/aggregate_ownership_50pct": {
      "post": {
        "operationId": "aggregate_ownership_50pct",
        "summary": "Ownership 50%-Rule Aggregator",
        "description": "Walks a synthetic ownership graph; computes direct + indirect + aggregate listed stakes per node; applies OFAC, EU, and BIS Affiliates Rule (in force 29 Sep 2025) 50%-thresholds to determine constructively-blocked entities. Pure graph math, synthetic entities only.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-91-ownership-50pct-aggregator.html\n**Wave:** 19\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-91-ownership-50pct-aggregator.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "aggregate_ownership_50pct",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-91-ownership-50pct-aggregator.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 19
      }
    },
    "/v1/tools/check_screening_list_coverage": {
      "post": {
        "operationId": "check_screening_list_coverage",
        "summary": "Screening List-Coverage Checker",
        "description": "Conformance check: validates a screening config against the required-coverage matrix for EU consolidated + UN + UK Sanctions List (post-OFSI-closure 28 Jan 2026) + OFAC SDN with correct jurisdictional-nexus gating.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-92-screening-list-coverage-checker.html\n**Wave:** 19\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-92-screening-list-coverage-checker.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "check_screening_list_coverage",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-92-screening-list-coverage-checker.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 19
      }
    },
    "/v1/tools/classify_eccn_dual_use": {
      "post": {
        "operationId": "classify_eccn_dual_use",
        "summary": "ECCN / Dual-Use Classifier",
        "description": "Decision-tree from product attributes to ECCN (EAR) + EU Annex I category + controlling regime (Wassenaar/MTCR/AG/NSG) + licence-requirement logic, including 2025 emerging-tech controls (quantum/semiconductor/AM/peptide). EU Annex I updated 15 Nov 2025.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-94-eccn-dual-use-classifier.html\n**Wave:** 19\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-94-eccn-dual-use-classifier.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "classify_eccn_dual_use",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-94-eccn-dual-use-classifier.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 19
      }
    },
    "/v1/tools/assess_circumvention_diligence": {
      "post": {
        "operationId": "assess_circumvention_diligence",
        "summary": "Circumvention Diligence Assessor",
        "description": "Scores a transaction/contract config vs the EU 20th-package (23 Apr 2026) no-Russia clause + anti-circumvention due-diligence, emitting a liability-allocation verdict (seller liability-shift where DD documented under the safe harbour).\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-95-circumvention-diligence-assessor.html\n**Wave:** 19\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-95-circumvention-diligence-assessor.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "assess_circumvention_diligence",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-95-circumvention-diligence-assessor.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 19
      }
    },
    "/v1/tools/build_no_russia_clause_pack": {
      "post": {
        "operationId": "build_no_russia_clause_pack",
        "summary": "No-Russia-Clause Pack Builder",
        "description": "Generates the contractual no-Russia clause + DD-evidence checklist conformance artifact for the EU 20th-package seller-liability-shift safe harbour (Art. 12g). Standard and enhanced templates. Decision-support draft only.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-96-no-russia-clause-pack-builder.html\n**Wave:** 19\n**mandate_type:** disclosure_template\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "disclosure_template"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-96-no-russia-clause-pack-builder.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: disclosure_template. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "build_no_russia_clause_pack",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-96-no-russia-clause-pack-builder.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "disclosure_template",
        "x-ocg-wave": 19
      }
    },
    "/v1/tools/score_sanctions_screening_quality": {
      "post": {
        "operationId": "score_sanctions_screening_quality",
        "summary": "Sanctions Screening-Program Quality Scorer",
        "description": "Wolfsberg-aligned screening-program quality scorecard: list coverage + match calibration + alert tuning + escalation workflow + model validation -> composite program-conformance grade and improvement priorities.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-97-sanctions-screening-quality-scorer.html\n**Wave:** 19\n**mandate_type:** model_governance\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "model_governance"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-97-sanctions-screening-quality-scorer.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: model_governance. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "score_sanctions_screening_quality",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-97-sanctions-screening-quality-scorer.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "model_governance",
        "x-ocg-wave": 19
      }
    },
    "/v1/tools/run_mica_casp_fit": {
      "post": {
        "operationId": "run_mica_casp_fit",
        "summary": "MiCA CASP Fit Diagnostic",
        "description": "12-question A-F diagnostic scoping a crypto-asset service provider's MiCA Title-V lifecycle readiness (authorization, Art 67 own-funds, whitepaper, MAR-crypto, travel rule) and routing to the right MiCA chain. Config-only; ART/EMT-issuer cases route to existing stablecoin chains.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-98-mica-casp-fit-diagnostic.html\n**Wave:** 20\n**mandate_type:** agent_guardrail_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "agent_guardrail_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-98-mica-casp-fit-diagnostic.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: agent_guardrail_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "run_mica_casp_fit",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-98-mica-casp-fit-diagnostic.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "agent_guardrail_mandate",
        "x-ocg-wave": 20
      }
    },
    "/v1/tools/route_mica_transitional_deadline": {
      "post": {
        "operationId": "route_mica_transitional_deadline",
        "summary": "MiCA Transitional-Deadline Router",
        "description": "Member-state transitional-deadline routing per Art 143(3) incl. the 30 Jun 2026 cliff (16 EU states). Emits exact end-date, window months, file-vs-wind-down decision, and filing preconditions.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-99-mica-transitional-deadline-router.html\n**Wave:** 20\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-99-mica-transitional-deadline-router.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "route_mica_transitional_deadline",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-99-mica-transitional-deadline-router.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 20
      }
    },
    "/v1/tools/assess_mica_casp_readiness": {
      "post": {
        "operationId": "assess_mica_casp_readiness",
        "summary": "CASP Authorization-Readiness Assessor",
        "description": "Scores readiness for MiCA CASP authorization (Arts 59-63): service-permission scope, governance/fit-and-proper, custody segregation, complaints/conflicts, ICT/DORA overlap. Gap score + Art 60/62 application-pack outline.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-100-mica-casp-authorization-readiness.html\n**Wave:** 20\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-100-mica-casp-authorization-readiness.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "assess_mica_casp_readiness",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-100-mica-casp-authorization-readiness.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 20
      }
    },
    "/v1/tools/calculate_mica_own_funds": {
      "post": {
        "operationId": "calculate_mica_own_funds",
        "summary": "Art 67 Own-Funds Calculator",
        "description": "Computes MiCA Art 67 required own funds = higher of Annex IV permanent minimum (€50k advisory / €125k trading-platform / €150k custody-exchange) or ¼ fixed overheads. Checks CET1/insurance form eligibility.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-101-mica-art67-own-funds-calculator.html\n**Wave:** 20\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-101-mica-art67-own-funds-calculator.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "calculate_mica_own_funds",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-101-mica-art67-own-funds-calculator.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 20
      }
    },
    "/v1/tools/lint_crypto_asset_whitepaper": {
      "post": {
        "operationId": "lint_crypto_asset_whitepaper",
        "summary": "Crypto-Asset Whitepaper Linter (iXBRL)",
        "description": "Validates Art 6/8 whitepaper: Annex I section completeness + iXBRL/XHTML well-formedness + ESMA MiCA taxonomy structural conformance (ITS 2024/2984). Section gaps + non-compliance-register risk.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-102-crypto-asset-whitepaper-linter.html\n**Wave:** 20\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-102-crypto-asset-whitepaper-linter.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "lint_crypto_asset_whitepaper",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-102-crypto-asset-whitepaper-linter.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 20
      }
    },
    "/v1/tools/assess_mar_crypto_surveillance": {
      "post": {
        "operationId": "assess_mar_crypto_surveillance",
        "summary": "MAR-Crypto Surveillance-Readiness Assessor",
        "description": "Scores market-abuse arrangements (Arts 86-92 + Dec-2024 RTS): PPAET (prevention/detection), STOR templates, insider lists, manipulation-pattern config on synthetic order batches. Readiness grade + STOR-template completeness.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-103-mar-crypto-surveillance-readiness.html\n**Wave:** 20\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-103-mar-crypto-surveillance-readiness.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "assess_mar_crypto_surveillance",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-103-mar-crypto-surveillance-readiness.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 20
      }
    },
    "/v1/tools/validate_tfr_travel_rule_batch": {
      "post": {
        "operationId": "validate_tfr_travel_rule_batch",
        "summary": "TFR Travel-Rule Batch Validator",
        "description": "Validates originator/beneficiary field completeness on synthetic/hashed transfer batches (self-/cross-CASP + unhosted-wallet branches) per TFR recast Reg. (EU) 2023/1113. Batch conformance + Merkle root. No real PII.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-104-tfr-travel-rule-batch-validator.html\n**Wave:** 20\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-104-tfr-travel-rule-batch-validator.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "validate_tfr_travel_rule_batch",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-104-tfr-travel-rule-batch-validator.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 20
      }
    },
    "/v1/tools/scope_mica_token_and_service": {
      "post": {
        "operationId": "scope_mica_token_and_service",
        "summary": "MiCA Token & Service Scoper",
        "description": "Disambiguation router classifying a case as ART/EMT-issuer (delegated to existing stablecoin-compliance chains) vs CASP-service (MiCA chains). Prevents Title III/IV vs Title V overlap; packages the MiCA suite.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-105-mica-token-service-scoper.html\n**Wave:** 20\n**mandate_type:** agent_guardrail_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "agent_guardrail_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-105-mica-token-service-scoper.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: agent_guardrail_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "scope_mica_token_and_service",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-105-mica-token-service-scoper.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "agent_guardrail_mandate",
        "x-ocg-wave": 20
      }
    },
    "/v1/tools/reconcile_mpp_subscription": {
      "post": {
        "operationId": "reconcile_mpp_subscription",
        "summary": "Tempo Subscription & Streaming Settlement Reconciler",
        "description": "Reconcile executed MPP recurring/streamed draws against the authorized mandate envelope, prove draw-set integrity via Merkle root, and detect per-cycle cap breaches, cumulative-cap violations, and mandate-expiry/revocation breaches. Distinct from tempo-mpp-agent (pre-execution authorization): this audits the post-execution draw lifecycle.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-106-tempo-subscription-reconciler.html\n**Wave:** 21\n**mandate_type:** settlement_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "settlement_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-106-tempo-subscription-reconciler.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: settlement_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "reconcile_mpp_subscription",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-106-tempo-subscription-reconciler.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "settlement_mandate",
        "x-ocg-wave": 21
      }
    },
    "/v1/tools/model_tempo_gas_economics": {
      "post": {
        "operationId": "model_tempo_gas_economics",
        "summary": "Tempo Fee-Sponsorship & Gas-AMM Economics",
        "description": "Model Tempo enshrined-AMM gas cost paid in any major stablecoin, server-paid fee sponsorship, and net per-tx saving vs card/SWIFT/ACH baselines. Tempo has no native gas token and uses an enshrined protocol AMM, not ERC-4337/Paymaster (art-46). Outputs blended gas cost, sponsorship break-even volume, annual saving, and CFO memo. Its flat per-tx gas constant predates Tempo's mainnet launch and is not TIP-1010 verified: TIP-1010's published mainnet base fee targets close to $0.001 for a standard TIP-20 transfer, over three times this model's constant. For a mainnet-accurate, TIP-1010-cited fee calculation, see art-389-tempo-mainnet-fee-capacity, the successor node.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-107-tempo-gas-economics.html\n**Wave:** 21\n**mandate_type:** treasury_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "treasury_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-107-tempo-gas-economics.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: treasury_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "model_tempo_gas_economics",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-107-tempo-gas-economics.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "treasury_mandate",
        "x-ocg-wave": 21
      }
    },
    "/v1/tools/validate_canton_selective_disclosure": {
      "post": {
        "operationId": "validate_canton_selective_disclosure",
        "summary": "Canton Selective-Disclosure DvP Reconciliation Attestation",
        "description": "Attest that a Canton DvP privacy partition is sound: each counterparty sees only its leg, no cross-leg data leaks, and both views reconcile to one shared commitment. Optional Ed25519 §​16 proof gives each party a non-repudiable attestation its partial view reconciles without seeing the counter-leg: the Canton selective-disclosure differentiator.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-108-canton-selective-disclosure.html\n**Wave:** 21\n**mandate_type:** attestation_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "attestation_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-108-canton-selective-disclosure.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: attestation_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "validate_canton_selective_disclosure",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-108-canton-selective-disclosure.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "attestation_mandate",
        "x-ocg-wave": 21
      }
    },
    "/v1/tools/validate_dtc_tokenized_treasury": {
      "post": {
        "operationId": "validate_dtc_tokenized_treasury",
        "summary": "DTC-Custodied Tokenized U.S. Treasury Issuance & DvP",
        "description": "Validate a DTCC/ComposerX tokenized U.S. Treasury for issuance and atomic settlement: DTC-custody linkage, Fed eligibility, ComposerX DAML lifecycle coverage (issuance→corporate-actions→redemption), atomic-DvP readiness, and programmable-collateral-at-issuance. Treasury/DTC-custody-specific; not generic securities lifecycle (512) or FICC clearing economics.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-109-dtc-tokenized-treasury.html\n**Wave:** 21\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-109-dtc-tokenized-treasury.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "validate_dtc_tokenized_treasury",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-109-dtc-tokenized-treasury.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 21
      }
    },
    "/v1/tools/score_partner_stablecoin_readiness": {
      "post": {
        "operationId": "score_partner_stablecoin_readiness",
        "summary": "Arc Partner Stablecoin Onboarding Conformance",
        "description": "Score a non-USD stablecoin issuer readiness to join Circle Partner Stablecoins on Arc against technical/operational, reserve-management, and risk-management standards. Outputs an A–F composite grade, gap list, and eligibility verdict. Optional Ed25519 §​16 proof produces a conformance attestation verifiable by Circle or a supervisor. Distinct from arc-xreserve-issuance (USDC/GENIUS issuer path).\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-110-arc-partner-stablecoin-onboarding.html\n**Wave:** 21\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-110-arc-partner-stablecoin-onboarding.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "score_partner_stablecoin_readiness",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-110-arc-partner-stablecoin-onboarding.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 21
      }
    },
    "/v1/tools/route_partner_stablecoin_jurisdiction": {
      "post": {
        "operationId": "route_partner_stablecoin_jurisdiction",
        "summary": "Arc Multi-Currency Corridor Jurisdiction Router",
        "description": "Route each leg of a multi-currency Arc corridor to its per-currency home regime (EURC→MiCA EMT, JPYC→JP FSA, BRLA→Brazil CMN/BCB, MXNB→MX CNBV, etc.), flag missing per-regime disclosures, and emit PvP handoff (511) + Travel-Rule batch handoff (art-104). Compliance/settlement routing only; FX economics handled separately by the Arc StableFX chain.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-111-arc-corridor-jurisdiction-router.html\n**Wave:** 21\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-111-arc-corridor-jurisdiction-router.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "route_partner_stablecoin_jurisdiction",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-111-arc-corridor-jurisdiction-router.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 21
      }
    },
    "/v1/tools/verify_dscsa_transaction_statement": {
      "post": {
        "operationId": "verify_dscsa_transaction_statement",
        "summary": "DSCSA Transaction Statement (T3) Verifier",
        "description": "Verify the DSCSA T3 set (Transaction Information + History + Statement) completeness, validate the GS1 SGTIN, and map the EPCIS 2.0 event type. Feeds the saleable-returns verifier (art-113). DSCSA §582: enforcement live since Aug 2025.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-112-dscsa-transaction-statement-verifier.html\n**Wave:** 22\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-112-dscsa-transaction-statement-verifier.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "verify_dscsa_transaction_statement",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-112-dscsa-transaction-statement-verifier.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 22
      }
    },
    "/v1/tools/verify_saleable_return": {
      "post": {
        "operationId": "verify_saleable_return",
        "summary": "DSCSA Saleable Returns Verifier",
        "description": "Match a returned unit SGTIN+lot to its original transaction hash (DSCSA §582(c)(4)(D)). Unauthorized trading partner or mismatched SGTIN/lot → REFUSE. Feeds suspect-product assessment (art-114).\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-113-saleable-returns-verifier.html\n**Wave:** 22\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-113-saleable-returns-verifier.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "verify_saleable_return",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-113-saleable-returns-verifier.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 22
      }
    },
    "/v1/tools/assess_suspect_product_status": {
      "post": {
        "operationId": "assess_suspect_product_status",
        "summary": "DSCSA Suspect/Illegitimate Product Quarantine Assessor",
        "description": "Determine suspect vs illegitimate product status and required actions (quarantine, investigate, 72-hour FDA Form 3911 notification, trading partner notification). Terminal stage of pharma-serialization-custody chain.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-114-suspect-product-quarantine.html\n**Wave:** 22\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-114-suspect-product-quarantine.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "assess_suspect_product_status",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-114-suspect-product-quarantine.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 22
      }
    },
    "/v1/tools/validate_dpp_data_carrier": {
      "post": {
        "operationId": "validate_dpp_data_carrier",
        "summary": "EU ESPR Digital Product Passport Data Carrier Validator",
        "description": "Validate DPP required data elements against the CIRPASS-2 Core Ontology (durability, reparability, recyclability, carbon footprint, substances of concern) and check GS1 Digital Link data-carrier type. EU ESPR: Central DPP Registry live 19 Jul 2026.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-115-dpp-data-carrier-validator.html\n**Wave:** 22\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-115-dpp-data-carrier-validator.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "validate_dpp_data_carrier",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-115-dpp-data-carrier-validator.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 22
      }
    },
    "/v1/tools/build_product_lineage": {
      "post": {
        "operationId": "build_product_lineage",
        "summary": "Digital Product Passport Cradle-to-Gate Lineage Builder",
        "description": "Build a cradle-to-gate supplier lineage with hash-only claims per stage (no trade secrets). Each stage carries a supplier_hash anchor, dataVersion-pinned certification, and carbon_value. Aggregates total carbon deterministically.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-116-product-lineage-builder.html\n**Wave:** 22\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-116-product-lineage-builder.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "build_product_lineage",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-116-product-lineage-builder.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 22
      }
    },
    "/v1/tools/verify_product_authenticity": {
      "post": {
        "operationId": "verify_product_authenticity",
        "summary": "Luxury Goods Product Authenticity Verifier",
        "description": "Verify that presented lineage hashes chain back to the claimed root and that ownership transfers are continuous. Consumer/resale authenticity verdict: terminal stage of digital-product-passport-lineage chain.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-117-product-authenticity-verifier.html\n**Wave:** 22\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-117-product-authenticity-verifier.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "verify_product_authenticity",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-117-product-authenticity-verifier.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 22
      }
    },
    "/v1/tools/validate_fsma204_cte": {
      "post": {
        "operationId": "validate_fsma204_cte",
        "summary": "FSMA 204 Critical Tracking Event (CTE) Validator",
        "description": "Validate required Key Data Elements present for each FDA FSMA 204 Critical Tracking Event (harvesting/cooling/initial packing/shipping/receiving/transformation) per the Food Traceability List. Enforcement July 2028.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-118-fsma204-cte-validator.html\n**Wave:** 22\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-118-fsma204-cte-validator.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "validate_fsma204_cte",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-118-fsma204-cte-validator.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 22
      }
    },
    "/v1/tools/link_traceability_lot_code": {
      "post": {
        "operationId": "link_traceability_lot_code",
        "summary": "FSMA 204 Traceability Lot Code Chain Linker",
        "description": "Link Traceability Lot Codes across CTEs and detect chain breaks. Transformation events mint a new TLC (recorded as new_lot_minted). Feeds the recall trace resolver (art-120).\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-119-traceability-lot-code-linker.html\n**Wave:** 22\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-119-traceability-lot-code-linker.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "link_traceability_lot_code",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-119-traceability-lot-code-linker.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 22
      }
    },
    "/v1/tools/resolve_recall_trace": {
      "post": {
        "operationId": "resolve_recall_trace",
        "summary": "FSMA 204 Recall Trace Resolver (24-Hour FDA List)",
        "description": "One-up/one-back trace from a contaminated Traceability Lot Code to affected recipients and sources. Emits the data for the FDA 24-hour sortable spreadsheet. Terminal stage of food-traceability-fsma204 chain.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-120-recall-trace-resolver.html\n**Wave:** 22\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-120-recall-trace-resolver.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "resolve_recall_trace",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-120-recall-trace-resolver.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 22
      }
    },
    "/v1/tools/anchor_document_integrity": {
      "post": {
        "operationId": "anchor_document_integrity",
        "summary": "Document Integrity & eIDAS Electronic Timestamp Anchor",
        "description": "Bind a document SHA-256 and claimed timestamp into an OCG execution_hash that serves as an eIDAS Art.41 / RFC 3161-aligned electronic timestamp: self-verifiable, no external TSA call. Optional C2PA manifest field. Feeds timestamp attestation verifier (art-122).\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-121-document-integrity-anchor.html\n**Wave:** 22\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-121-document-integrity-anchor.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "anchor_document_integrity",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-121-document-integrity-anchor.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 22
      }
    },
    "/v1/tools/verify_timestamp_attestation": {
      "post": {
        "operationId": "verify_timestamp_attestation",
        "summary": "Timestamp Attestation Verifier",
        "description": "Recompute the document integrity anchor, confirm the document hash and timestamp claim match and the algorithm is consistent. Terminal stage of document-integrity-anchor chain.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-122-timestamp-attestation-verifier.html\n**Wave:** 22\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-122-timestamp-attestation-verifier.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "verify_timestamp_attestation",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-122-timestamp-attestation-verifier.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 22
      }
    },
    "/v1/tools/validate_cyclonedx_sbom": {
      "post": {
        "operationId": "validate_cyclonedx_sbom",
        "summary": "CycloneDX SBOM Validator (EU CRA Annex I)",
        "description": "Validates a CycloneDX SBOM against the EU CRA Annex I machine-readable SBOM requirement: bomFormat=CycloneDX, specVersion in [1.4,1.5,1.6], all components carry purl+name+version, top-level dependencies array present. Emits sbom_valid verdict and per-component gap list. Root stage of sbom-provenance-attestation chain.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-135-cyclonedx-sbom-validator.html\n**Wave:** 25\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-135-cyclonedx-sbom-validator.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "validate_cyclonedx_sbom",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-135-cyclonedx-sbom-validator.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 25
      }
    },
    "/v1/tools/verify_slsa_provenance": {
      "post": {
        "operationId": "verify_slsa_provenance",
        "summary": "SLSA Provenance Verifier",
        "description": "Verifies an in-toto SLSA provenance statement: validates _type (in-toto.io/Statement) and predicateType (slsa.dev/provenance), checks subject SHA-256 digest against caller-supplied artifact_digest_sha256, asserts builder.id present via runDetails.builder.id or predicate.builder.id, reports claimed_build_level 0-3. Middle stage of sbom-provenance-attestation chain.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-136-slsa-provenance-verifier.html\n**Wave:** 25\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-136-slsa-provenance-verifier.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "verify_slsa_provenance",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-136-slsa-provenance-verifier.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 25
      }
    },
    "/v1/tools/validate_openvex_statement": {
      "post": {
        "operationId": "validate_openvex_statement",
        "summary": "OpenVEX Statement Validator",
        "description": "Validates an OpenVEX document: @context includes openvex.dev, every statement carries vulnerability, products[], status in [not_affected,affected,fixed,under_investigation], and not_affected statements must include justification. Emits vex_valid verdict and per-statement gap list. Terminal stage of sbom-provenance-attestation chain.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-137-openvex-statement-validator.html\n**Wave:** 25\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-137-openvex-statement-validator.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "validate_openvex_statement",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-137-openvex-statement-validator.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 25
      }
    },
    "/v1/tools/validate_spdx_sbom": {
      "post": {
        "operationId": "validate_spdx_sbom",
        "summary": "SPDX SBOM Validator (EU CRA Annex I)",
        "description": "Validates an SPDX SBOM against the EU CRA Annex I machine-readable SBOM requirement: spdxVersion matches SPDX-2.x or SPDX-3.x, SPDXID present, all packages carry name+versionInfo+downloadLocation (or purl externalRef), relationships array non-empty. Emits sbom_valid verdict and per-package gap list. Root stage of cra-product-conformance chain.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-138-spdx-sbom-validator.html\n**Wave:** 25\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-138-spdx-sbom-validator.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "validate_spdx_sbom",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-138-spdx-sbom-validator.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 25
      }
    },
    "/v1/tools/check_cra_annex1_completeness": {
      "post": {
        "operationId": "check_cra_annex1_completeness",
        "summary": "CRA Annex I Completeness Checker",
        "description": "Checks EU CRA Annex I Part I essential cybersecurity requirements: sbom_present, sbom_machine_readable, top_level_deps_covered, vuln_handling_policy_present, secure_by_default, and a valid conformity_route (self_assessment | eu_type_examination | full_quality_assurance). Emits annex1_complete verdict and ordered gap list with PDF export. Middle stage of cra-product-conformance chain.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-139-cra-annex1-completeness-checker.html\n**Wave:** 25\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-139-cra-annex1-completeness-checker.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "check_cra_annex1_completeness",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-139-cra-annex1-completeness-checker.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 25
      }
    },
    "/v1/tools/assess_cra_vuln_reporting_readiness": {
      "post": {
        "operationId": "assess_cra_vuln_reporting_readiness",
        "summary": "CRA Vulnerability Reporting Readiness (Art. 14)",
        "description": "Assesses EU CRA Article 14 vulnerability reporting readiness: actively_exploited_detection, 24-hour early_warning_24h_process, 72-hour notification_72h_process, csirt_enisa_endpoint_configured, and coordinated_disclosure_policy. Obligation date: 11 Sep 2026. Penalty: up to €15M or 2.5% global turnover. Emits vuln_reporting_ready verdict with PDF export. Terminal stage of cra-product-conformance chain.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-140-cra-vuln-reporting-readiness.html\n**Wave:** 25\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-140-cra-vuln-reporting-readiness.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "assess_cra_vuln_reporting_readiness",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-140-cra-vuln-reporting-readiness.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 25
      }
    },
    "/v1/tools/classify_nis2_entity": {
      "post": {
        "operationId": "classify_nis2_entity",
        "summary": "NIS2 Entity Scope Classifier (Essential / Important / Out-of-Scope)",
        "description": "Classify an entity as Essential, Important, or Out-of-Scope under NIS2 Directive 2022/2555 Annex I and II, applying sector codes, employee/turnover size thresholds, and automatic-essential carve-outs (DNS providers, qualified trust service providers, public electronic communications networks). Feeds the Art. 21 gap checker (art-142). NIS2 entity classification active October 2024; annual registration window January–June each year.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-141-nis2-entity-scope-classifier.html\n**Wave:** 26\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-141-nis2-entity-scope-classifier.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "classify_nis2_entity",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-141-nis2-entity-scope-classifier.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 26
      }
    },
    "/v1/tools/check_nis2_art21_measures": {
      "post": {
        "operationId": "check_nis2_art21_measures",
        "summary": "NIS2 Article 21 Gap Checker (Ten Cybersecurity Risk-Management Measures)",
        "description": "Check presence and maturity of all ten NIS2 Article 21(2)(a)–(j) cybersecurity risk-management measures. Derives per-measure maturity (0=absent, 1=documented-only, 2=implemented, 3=implemented+tested), aggregates to compliance score 0–100 and grade A–F, emits critical-gap list and prioritised remediation list. Consumes art-141 scope verdict; feeds penalty exposure calculator art-143.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-142-nis2-art21-gap-checker.html\n**Wave:** 26\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-142-nis2-art21-gap-checker.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "check_nis2_art21_measures",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-142-nis2-art21-gap-checker.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 26
      }
    },
    "/v1/tools/calculate_nis2_penalty_exposure": {
      "post": {
        "operationId": "calculate_nis2_penalty_exposure",
        "summary": "NIS2 Penalty Exposure Calculator (Art. 34)",
        "description": "Calculate maximum NIS2 Art. 34 penalty exposure given entity classification, global annual turnover, and declared infringement types. Essential entities: max(€10M, 2% global turnover); important: max(€7M, 1.4%). Applies mitigating-factor reduction (10% per factor, floor 30% of max). Emits maximum penalty, turnover-pct exposure, and mitigated estimate. Terminal stage of nis2-entity-scope-and-obligations chain.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-143-nis2-penalty-exposure-calculator.html\n**Wave:** 26\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-143-nis2-penalty-exposure-calculator.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "calculate_nis2_penalty_exposure",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-143-nis2-penalty-exposure-calculator.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 26
      }
    },
    "/v1/tools/score_nis2_incident_significance": {
      "post": {
        "operationId": "score_nis2_incident_significance",
        "summary": "NIS2 Incident Significance Scorer (Art. 23 Reporting Threshold)",
        "description": "Score whether an operational event meets the NIS2 Art. 23 significant-incident threshold (any of: service disruption ≥1h, ≥1,000 affected users, estimated financial loss ≥€100k, third-party cascade, malicious act, cross-border impact). Emits significance verdict (not_significant / significant / critical), fires 24h/72h/30d reporting clocks, and identifies recipient authorities. Root stage of nis2-incident-and-supply-chain-readiness chain.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-144-nis2-incident-significance-scorer.html\n**Wave:** 26\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-144-nis2-incident-significance-scorer.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "score_nis2_incident_significance",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-144-nis2-incident-significance-scorer.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 26
      }
    },
    "/v1/tools/score_nis2_supply_chain_diligence": {
      "post": {
        "operationId": "score_nis2_supply_chain_diligence",
        "summary": "NIS2 ICT Supply-Chain Diligence Scorer (Art. 21(2)(d) / ENISA)",
        "description": "Score ICT vendor due-diligence posture against NIS2 Art. 21(2)(d) and ENISA ICT supply-chain risk framework. Seven controls: ISO 27001 certification, vendor incident history, audit clause, breach-notification SLA ≤72h, EU-only data residency, sub-contractor mapping, availability SLA ≥99.5%. Emits risk score, tier (Low/Medium/High/Critical), active flags, and remediation checklist.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-145-nis2-ict-supply-chain-diligence-scorer.html\n**Wave:** 26\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-145-nis2-ict-supply-chain-diligence-scorer.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "score_nis2_supply_chain_diligence",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-145-nis2-ict-supply-chain-diligence-scorer.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 26
      }
    },
    "/v1/tools/check_nis2_governance_readiness": {
      "post": {
        "operationId": "check_nis2_governance_readiness",
        "summary": "NIS2 Governance Readiness Checker (Art. 20 — Management Body Accountability)",
        "description": "Assess NIS2 Art. 20 management-body accountability: board approval of Art. 21 measures, quarterly status updates, CISO designation, cybersecurity training coverage, and board review freshness (board_review_age_days). Grades governance A–F; flags personal liability risk (board has not approved Art. 21 or review stale >365 days). §16 proof OPT-IN signing candidate. Terminal stage of nis2-incident-and-supply-chain-readiness chain.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-146-nis2-governance-readiness-checker.html\n**Wave:** 26\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-146-nis2-governance-readiness-checker.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "check_nis2_governance_readiness",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-146-nis2-governance-readiness-checker.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 26
      }
    },
    "/v1/tools/validate_mcp_server_identity": {
      "post": {
        "operationId": "validate_mcp_server_identity",
        "summary": "MCP Server Identity Attestation Validator",
        "description": "Validate a new-spec MCP server identity document: required claims (subject, issuer, serverInfo), well-known path correctness (/.well-known/mcp-server-identity), and attestation reference present. Caller supplies decoded document plus a signature-valid boolean: zero network, zero PII. Feeds the RFC 9728 authorization metadata validator (art-148). New MCP spec server identity check active 2025-2026.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-147-mcp-server-identity-attestation-validator.html\n**Wave:** 27\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-147-mcp-server-identity-attestation-validator.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "validate_mcp_server_identity",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-147-mcp-server-identity-attestation-validator.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 27
      }
    },
    "/v1/tools/validate_mcp_authorization_metadata": {
      "post": {
        "operationId": "validate_mcp_authorization_metadata",
        "summary": "MCP Authorization Metadata Validator (RFC 9728)",
        "description": "Validate OAuth 2.0 Protected Resource Metadata per RFC 9728: resource URI (https-scheme), non-empty authorization_servers, scopes_supported, and bearer_methods_supported restricted to header/body/query. Flags each missing or malformed member. Consumes server identity verdict (art-147), feeds registry entry conformance check (art-149). Zero network, zero PII.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-148-mcp-authorization-metadata-validator.html\n**Wave:** 27\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-148-mcp-authorization-metadata-validator.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "validate_mcp_authorization_metadata",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-148-mcp-authorization-metadata-validator.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 27
      }
    },
    "/v1/tools/check_mcp_registry_entry": {
      "post": {
        "operationId": "check_mcp_registry_entry",
        "summary": "MCP Registry Entry Conformance Checker",
        "description": "Validate an MCP Registry server.json entry: $schema present, reverse-DNS name format (namespace/name), semver version, and at least one of packages or remotes populated. Terminal stage of the mcp-server-governance-conformance chain. Exports governance attestation with execution_hash. Zero network, zero PII.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-149-mcp-registry-entry-conformance.html\n**Wave:** 27\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-149-mcp-registry-entry-conformance.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "check_mcp_registry_entry",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-149-mcp-registry-entry-conformance.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 27
      }
    },
    "/v1/tools/audit_mcp_tool_scope_revocation": {
      "post": {
        "operationId": "audit_mcp_tool_scope_revocation",
        "summary": "MCP Tool Scope & Revocation Auditor",
        "description": "Audit scoped and revocable MCP tool access per the new MCP specification: each granted tool must carry an explicit scope array, a revocation endpoint must be configured (https-scheme), and token rotation posture (max age vs elapsed time, next-key presence) must be healthy. Emits per-tool grant verdict and gap list. Feeds the on-behalf-of mandate validator (art-151). Zero network, zero PII.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-150-mcp-tool-scope-revocation-auditor.html\n**Wave:** 27\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-150-mcp-tool-scope-revocation-auditor.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "audit_mcp_tool_scope_revocation",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-150-mcp-tool-scope-revocation-auditor.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 27
      }
    },
    "/v1/tools/validate_agent_obo_mandate": {
      "post": {
        "operationId": "validate_agent_obo_mandate",
        "summary": "Agent On-Behalf-Of (OBO) Mandate Validator",
        "description": "Validate an agent on-behalf-of (OBO) mandate: subject (the user being represented), bounded scope array, intent string, and a non-expired validity window (caller-supplied now_unix, no clock reads). Mismatch or expiry returns REFUSE. Aligns with the AP2 mandate-chain pattern (art-01). Consumes scope-revocation audit (art-150), feeds task lifecycle validator (art-152). Zero network, zero PII.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-151-agent-obo-mandate-validator.html\n**Wave:** 27\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-151-agent-obo-mandate-validator.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "validate_agent_obo_mandate",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-151-agent-obo-mandate-validator.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 27
      }
    },
    "/v1/tools/validate_mcp_task_lifecycle": {
      "post": {
        "operationId": "validate_mcp_task_lifecycle",
        "summary": "MCP Task Lifecycle State Machine Validator",
        "description": "Validate that a long-running MCP task state transitions are legal per the new MCP specification state machine: working to input_required or terminal states (completed, failed, cancelled); input_required back to working or terminal. Flags each illegal jump. Terminal stage of the agent-authorization-lifecycle chain. Exports lifecycle attestation with execution_hash. Zero network, zero PII.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-152-mcp-task-lifecycle-validator.html\n**Wave:** 27\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-152-mcp-task-lifecycle-validator.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "validate_mcp_task_lifecycle",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-152-mcp-task-lifecycle-validator.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 27
      }
    },
    "/v1/tools/validate_eudr_due_diligence_statement": {
      "post": {
        "operationId": "validate_eudr_due_diligence_statement",
        "summary": "EUDR DDS Field Validator",
        "description": "Validate the required-field subset of an EUDR Due Diligence Statement (DDS) before TRACES NT filing: operator name, address, EORI, HS code, trade name, quantity, country of production, and geolocation indicator (or micro-operator postal-address exemption). Returns conformant verdict and missing-field list. Root node of the eudr-due-diligence-statement-validation chain. Zero network, zero PII. Reg. EU 2023/1115, mandatory 2026-12-30 (large/medium) / 2027-06-30 (SME).\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-165-eudr-dds-field-validator.html\n**Wave:** 30\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-165-eudr-dds-field-validator.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "validate_eudr_due_diligence_statement",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-165-eudr-dds-field-validator.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 30
      }
    },
    "/v1/tools/validate_eudr_geolocation": {
      "post": {
        "operationId": "validate_eudr_geolocation",
        "summary": "EUDR Geolocation Plot Validator",
        "description": "Validate GeoJSON plot geolocation for EUDR compliance: geometry type (Point or Polygon), coordinate range validity, EUDR size rule (plots >=4 ha require Polygon, Art. 9(1)(d)), polygon ring closure, and micro-operator postal-address exemption path. Returns valid verdict and issues list. Feeds commodity scope classifier (art-167). Zero network, zero PII. Reg. EU 2023/1115.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-166-eudr-geolocation-plot-validator.html\n**Wave:** 30\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-166-eudr-geolocation-plot-validator.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "validate_eudr_geolocation",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-166-eudr-geolocation-plot-validator.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 30
      }
    },
    "/v1/tools/classify_eudr_commodity_scope": {
      "post": {
        "operationId": "classify_eudr_commodity_scope",
        "summary": "EUDR Commodity Scope Classifier",
        "description": "Classify an HS code against EUDR Annex I to determine commodity scope (cattle, cocoa, coffee, oil palm, rubber, soya, wood, or out-of-scope), operator/trader role, SME status, DDS filing obligation, and enforcement deadline (large/medium 2026-12-30; micro/SME 2027-06-30). Returns obligations list and geo-exemption eligibility. Terminal node of the eudr-due-diligence-statement-validation chain. Zero network, zero PII. Reg. EU 2023/1115.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-167-eudr-commodity-scope-classifier.html\n**Wave:** 30\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-167-eudr-commodity-scope-classifier.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "classify_eudr_commodity_scope",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-167-eudr-commodity-scope-classifier.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 30
      }
    },
    "/v1/tools/score_eudr_country_risk": {
      "post": {
        "operationId": "score_eudr_country_risk",
        "summary": "EUDR Country Benchmark Risk Scorer",
        "description": "Score country-of-production against the EUDR benchmark risk classification (low/standard/high per Art. 29): low risk (EU/EEA + strong forest governance) -> 1% inspection rate, simplified due diligence; standard risk (unclassified) -> 3% inspection rate, full due diligence; high risk -> 9% inspection rate, enhanced due diligence. Returns benchmark_risk, inspection_rate_pct, and due_diligence_level. Feeds traceability linker (art-169). Zero network, zero PII. Reg. EU 2023/1115.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-168-eudr-country-benchmark-risk-scorer.html\n**Wave:** 30\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-168-eudr-country-benchmark-risk-scorer.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "score_eudr_country_risk",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-168-eudr-country-benchmark-risk-scorer.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 30
      }
    },
    "/v1/tools/link_eudr_supply_chain_traceability": {
      "post": {
        "operationId": "link_eudr_supply_chain_traceability",
        "summary": "EUDR Supply-Chain Traceability Linker",
        "description": "Validate EUDR single-DDS rule compliance and supply-chain traceability: first operators file the DDS; downstream operators reference upstream DDS reference numbers from TRACES NT. Checks single-DDS rule, TRACES NT reference format validity, plot geolocation coverage, and custody-chain completeness. Returns chain_integrity verdict and traceability_gaps list. Feeds readiness diagnostic (art-170). Zero network, zero PII. Reg. EU 2023/1115 Art. 4.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-169-eudr-supply-chain-traceability-linker.html\n**Wave:** 30\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-169-eudr-supply-chain-traceability-linker.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "link_eudr_supply_chain_traceability",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-169-eudr-supply-chain-traceability-linker.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 30
      }
    },
    "/v1/tools/run_eudr_readiness_fit": {
      "post": {
        "operationId": "run_eudr_readiness_fit",
        "summary": "EUDR Readiness Diagnostic",
        "description": "A-F EUDR readiness diagnostic across six dimensions: scope mapping, geolocation data quality, DDS submission readiness (TRACES NT), country risk assessment, risk mitigation documentation, and 5-year retention system. Returns readiness_grade (A-F), readiness_score (0-100), gaps list, and dual enforcement deadlines (large/medium 2026-12-30; micro/SME 2027-06-30). Terminal node of the eudr-supply-chain-risk-and-traceability chain. Zero network, zero PII. Reg. EU 2023/1115.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-170-eudr-readiness-diagnostic.html\n**Wave:** 30\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-170-eudr-readiness-diagnostic.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "run_eudr_readiness_fit",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-170-eudr-readiness-diagnostic.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 30
      }
    },
    "/v1/tools/assess_iso42001_aims_conformance": {
      "post": {
        "operationId": "assess_iso42001_aims_conformance",
        "summary": "ISO 42001 AIMS Clause Conformance",
        "description": "Assess ISO/IEC 42001 AIMS conformance across clauses 4-10 (context, leadership, planning, support, operation, evaluation, improvement) and six Annex A controls (AI policy, roles, impact assessment, data governance, system lifecycle, third-party supplier management). Scores each as present (1.0), partial (0.5), or absent (0) and returns overall_maturity (0-100), maturity_band (Initial/Developing/Defined/Managed/Optimizing), and a structured gap list. Root node of the ai-management-system-conformance chain. §16 proof candidate. Zero network, zero PII. ISO/IEC 42001:2023.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-171-iso42001-aims-clause-conformance.html\n**Wave:** 31\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-171-iso42001-aims-clause-conformance.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "assess_iso42001_aims_conformance",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-171-iso42001-aims-clause-conformance.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 31
      }
    },
    "/v1/tools/validate_ai_impact_assessment": {
      "post": {
        "operationId": "validate_ai_impact_assessment",
        "summary": "AI Risk Impact Assessment Validator",
        "description": "Validate ISO 42005-style AI impact-assessment completeness across seven required elements: intended use, affected stakeholders (>=1), risk treatment definition, monitoring plan, formal approval, risk category identification (>=1), and data source documentation. Returns completeness_score (0-100) and gaps list. Feeds system governance classifier (art-173). Zero network, zero PII. ISO/IEC 42005.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-172-ai-risk-impact-assessment-validator.html\n**Wave:** 31\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-172-ai-risk-impact-assessment-validator.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "validate_ai_impact_assessment",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-172-ai-risk-impact-assessment-validator.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 31
      }
    },
    "/v1/tools/classify_ai_system_governance": {
      "post": {
        "operationId": "classify_ai_system_governance",
        "summary": "AI System Governance Classifier",
        "description": "Classify an AI system to its governance tier across EU AI Act (prohibited/high-risk/limited-risk/minimal-risk), NIST AI RMF profile (T1 basic/T2 standard/T3 enhanced), and ISO/IEC 42001 control set (light/standard/enhanced). Identifies GPAI provider status and systemic-risk flag. Terminal node of the ai-management-system-conformance chain. EU AI Act Art. 6-17 enforcement from 2 December 2027, per the Digital Omnibus amendments (June 2026); Art. 50 transparency stays 2 August 2026. Zero network, zero PII.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-173-ai-system-governance-classifier.html\n**Wave:** 31\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-173-ai-system-governance-classifier.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "classify_ai_system_governance",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-173-ai-system-governance-classifier.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 31
      }
    },
    "/v1/tools/map_nist_ai_rmf_functions": {
      "post": {
        "operationId": "map_nist_ai_rmf_functions",
        "summary": "NIST AI RMF Function Mapper",
        "description": "Map supplied AI controls and evidence to NIST AI RMF Govern (5 controls), Map (4), Measure (4), and Manage (4) functions: 17 controls total. Returns per-function coverage scores (0-100), coverage_band (Minimal/Partial/Substantial/Comprehensive), overall_coverage, and structured gap lists by function. Root node of the ai-governance-framework-crosswalk chain. NIST AI RMF 1.0 (2023). Zero network, zero PII.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-174-nist-ai-rmf-function-mapper.html\n**Wave:** 31\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-174-nist-ai-rmf-function-mapper.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "map_nist_ai_rmf_functions",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-174-nist-ai-rmf-function-mapper.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 31
      }
    },
    "/v1/tools/check_gpai_code_conformance": {
      "post": {
        "operationId": "check_gpai_code_conformance",
        "summary": "GPAI Code of Practice Conformance",
        "description": "Check GPAI provider obligations under EU AI Act Art. 53 (technical documentation, training-data summary, copyright policy, model card, 4 base checks) and Art. 55 systemic-risk obligations (risk evaluation, adversarial testing, incident reporting, cybersecurity measures, 4 additional checks for systemic-risk models). Also scores voluntary Code of Practice sign-up. Returns base_score, systemic_score, overall_score, conformant flags, and gap lists. Feeds readiness diagnostic (art-176). GPAI enforcement Aug 2026. Zero network, zero PII.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-175-gpai-code-of-practice-conformance.html\n**Wave:** 31\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-175-gpai-code-of-practice-conformance.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "check_gpai_code_conformance",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-175-gpai-code-of-practice-conformance.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 31
      }
    },
    "/v1/tools/run_ai_governance_fit": {
      "post": {
        "operationId": "run_ai_governance_fit",
        "summary": "AI Governance Readiness Diagnostic",
        "description": "A-F AI governance readiness diagnostic across six dimensions spanning ISO/IEC 42001, NIST AI RMF, and EU AI Act convergence: AIMS documentation, impact assessment, NIST RMF mapping, GPAI obligation check, monitoring plan, and review cycle. Returns readiness_grade (A-F), readiness_score (0-100), gaps list, and frameworks_addressed map (ISO 42001, NIST RMF, EU AI Act). Terminal node of the ai-governance-framework-crosswalk chain. Zero network, zero PII.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-176-ai-governance-readiness-diagnostic.html\n**Wave:** 31\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-176-ai-governance-readiness-diagnostic.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "run_ai_governance_fit",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-176-ai-governance-readiness-diagnostic.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 31
      }
    },
    "/v1/tools/classify_ifrs17_measurement_model": {
      "post": {
        "operationId": "classify_ifrs17_measurement_model",
        "summary": "IFRS 17 Measurement Model Classifier",
        "description": "Classify insurance contracts to their IFRS 17 measurement model: Premium Allocation Approach (PAA) for coverage periods of 12 months or less, Variable Fee Approach (VFA) for direct-participating contracts with investment-linked features (not reinsurance), or General Measurement Model/BBA as the default. Returns measurement_model (GMM/VFA/PAA), eligible_models, paa_eligible, vfa_eligible flags, and direct_participating indicator. Root node of the ifrs17-measurement-conformance chain. IFRS 17 live since Jan 1 2023. Zero network, zero PII.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-177-ifrs17-measurement-model-classifier.html\n**Wave:** 32\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-177-ifrs17-measurement-model-classifier.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "classify_ifrs17_measurement_model",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-177-ifrs17-measurement-model-classifier.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 32
      }
    },
    "/v1/tools/validate_ifrs17_csm_rollforward": {
      "post": {
        "operationId": "validate_ifrs17_csm_rollforward",
        "summary": "IFRS 17 CSM Roll-Forward Validator",
        "description": "Validate IFRS 17 Contractual Service Margin (CSM) roll-forward mechanics: opening CSM + new business + interest accretion + experience adjustments - coverage-unit release + FX adjustments = closing CSM. Flags onerous contracts when computed closing falls below zero (IFRS 17 para 47-50: no negative CSM; shortfall recognized as immediate loss component). NaN-safe numeric validation on all inputs. Feeds risk-adjustment checker (art-179). IFRS 17 para 44-50. Zero network, zero PII.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-178-ifrs17-csm-rollforward-validator.html\n**Wave:** 32\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-178-ifrs17-csm-rollforward-validator.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "validate_ifrs17_csm_rollforward",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-178-ifrs17-csm-rollforward-validator.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 32
      }
    },
    "/v1/tools/check_ifrs17_risk_adjustment": {
      "post": {
        "operationId": "check_ifrs17_risk_adjustment",
        "summary": "IFRS 17 Risk Adjustment Checker",
        "description": "Check IFRS 17 risk-adjustment (RA) disclosure completeness: validates technique (VaR/CTE/CoC/other per IFRS 17 para 119b), confidence-level disclosure for VaR and CTE techniques, positive RA amount, and onerous-contract loss-component recognition (IFRS 17 para 47-50). Returns ra_valid flag, technique_ok, gaps list, and onerous_properly_handled indicator. Terminal node of the ifrs17-measurement-conformance chain. IFRS 17 para 56-57 and 119. Zero network, zero PII.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-179-ifrs17-risk-adjustment-checker.html\n**Wave:** 32\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-179-ifrs17-risk-adjustment-checker.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "check_ifrs17_risk_adjustment",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-179-ifrs17-risk-adjustment-checker.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 32
      }
    },
    "/v1/tools/calculate_solvency2_scr_ratio": {
      "post": {
        "operationId": "calculate_solvency2_scr_ratio",
        "summary": "Solvency II SCR Ratio Calculator",
        "description": "Calculate Solvency II SCR and MCR coverage ratios from eligible own funds and capital requirements. Checks the three own-funds tiering limits per Delegated Regulation (EU) 2015/35: Tier-1 unrestricted >= 50% of SCR, Tier-1 total >= 80% of SCR, Tier-3 <= 15% of SCR. Returns scr_coverage_ratio, mcr_coverage_ratio, scr_breached, mcr_breached, tiering_ok, and per-tier percentages. Sec. 16 proof candidate. Root node of the solvency-ii-reconciliation-and-capital chain. Solvency II Dir. 2009/138/EC + Del. Reg. 2015/35. NaN-safe. Zero network, zero PII.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-180-solvency2-scr-ratio-calculator.html\n**Wave:** 32\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-180-solvency2-scr-ratio-calculator.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "calculate_solvency2_scr_ratio",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-180-solvency2-scr-ratio-calculator.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 32
      }
    },
    "/v1/tools/reconcile_sii_ifrs17": {
      "post": {
        "operationId": "reconcile_sii_ifrs17",
        "summary": "SII-IFRS 17 Reconciliation Bridger",
        "description": "Bridge Solvency II technical provisions (best estimate + risk margin) to IFRS 17 insurance contract liabilities (fulfilment cash flows + risk adjustment + CSM). Computes bridge_delta and flags when the relative gap exceeds 10% of SII provisions. Compares risk adjustment against SII risk margin using EIOPA research benchmarks (RA typically 33-44% lower than risk margin for life insurance, FSI Insights 26). Feeds insurance reporting readiness diagnostic (art-182). Zero network, zero PII.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-181-sii-ifrs17-reconciliation-bridger.html\n**Wave:** 32\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-181-sii-ifrs17-reconciliation-bridger.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "reconcile_sii_ifrs17",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-181-sii-ifrs17-reconciliation-bridger.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 32
      }
    },
    "/v1/tools/run_insurance_reporting_fit": {
      "post": {
        "operationId": "run_insurance_reporting_fit",
        "summary": "Insurance Reporting Readiness Diagnostic",
        "description": "A-F insurance reporting readiness diagnostic across six dimensions: IFRS 17 measurement model election, CSM system implementation, risk-adjustment disclosure, Solvency II Pillar-3 QRT reporting, SII-IFRS 17 reconciliation, and ICS assessment for IAIGs. Returns readiness_grade (A-F), readiness_score (0-100), dimensions_met, and gaps list. Terminal node of the solvency-ii-reconciliation-and-capital chain. IFRS 17 + Solvency II + ICS. Zero network, zero PII.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-182-insurance-reporting-readiness-diagnostic.html\n**Wave:** 32\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-182-insurance-reporting-readiness-diagnostic.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "run_insurance_reporting_fit",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-182-insurance-reporting-readiness-diagnostic.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 32
      }
    },
    "/v1/tools/calculate_irrbb_eve_shocks": {
      "post": {
        "operationId": "calculate_irrbb_eve_shocks",
        "summary": "IRRBB EVE Shock Calculator",
        "description": "Calculate Delta Economic Value of Equity (EVE) under the 6 BCBS d368 / EBA standardised IRRBB shock scenarios (parallel up, parallel down, short up, short down, steepener, flattener), recalibrated effective 1 Jan 2026. Duration-based sensitivity over 6 standardised repricing time buckets using a 200bp reference parallel shock and the BCBS d368 Annex 2 short/long tenor scalars. Returns per-scenario delta_eve, worst_scenario, and worst_delta_eve. Root node of the irrbb-supervisory-outlier-test chain. BCBS d368 (2024 recalibration). NaN-safe. Zero network, zero PII.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-183-irrbb-eve-shock-calculator.html\n**Wave:** 33\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-183-irrbb-eve-shock-calculator.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "calculate_irrbb_eve_shocks",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-183-irrbb-eve-shock-calculator.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 33
      }
    },
    "/v1/tools/evaluate_irrbb_sot_eve": {
      "post": {
        "operationId": "evaluate_irrbb_sot_eve",
        "summary": "IRRBB SOT EVE Evaluator",
        "description": "Evaluate the EBA Supervisory Outlier Test (SOT) on Economic Value of Equity: the worst-case delta EVE decline across the 6 standardised shock scenarios versus the EU-wide hard threshold of 15% of Tier 1 capital (EBA RTS on the SOT / EBA Guidelines on IRRBB and CSRBB, EBA/GL/2022/14). Returns delta_eve_pct_of_tier1 and eve_outlier. Section 16 proof candidate. Second node of the irrbb-supervisory-outlier-test chain. NaN-safe. Zero network, zero PII.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-184-irrbb-sot-eve-evaluator.html\n**Wave:** 33\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-184-irrbb-sot-eve-evaluator.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "evaluate_irrbb_sot_eve",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-184-irrbb-sot-eve-evaluator.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 33
      }
    },
    "/v1/tools/evaluate_irrbb_sot_nii": {
      "post": {
        "operationId": "evaluate_irrbb_sot_nii",
        "summary": "IRRBB SOT NII Evaluator",
        "description": "Evaluate the Net Interest Income (NII) leg of the EBA Supervisory Outlier Test: the worst-case 1-year delta NII under parallel up/down shocks versus a caller-supplied threshold (EBA leaves NII SOT calibration to competent-authority / institution discretion under EBA Guidelines on IRRBB and CSRBB, EBA/GL/2022/14 -- no single EU-wide bright-line percentage exists, unlike the EVE leg). Returns delta_nii_pct_of_nii, threshold_set, and nii_outlier. Terminal node of the irrbb-supervisory-outlier-test chain. Exports as Policy Mandate JSON or W3C VC. NaN-safe. Zero network, zero PII.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-185-irrbb-sot-nii-evaluator.html\n**Wave:** 33\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-185-irrbb-sot-nii-evaluator.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "evaluate_irrbb_sot_nii",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-185-irrbb-sot-nii-evaluator.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 33
      }
    },
    "/v1/tools/map_irrbb_standardised_approach": {
      "post": {
        "operationId": "map_irrbb_standardised_approach",
        "summary": "IRRBB Standardised Approach Mapper",
        "description": "Map non-maturing deposit (NMD) positions to the EBA standardised / simplified-standardised approach behavioural caps (BCBS d368 para 87 / Annex 2): retail transactional core proportion capped at 90% / average maturity capped at 5 years; retail non-transactional (savings) core capped at 70% / 4.5 years; wholesale core capped at 50% / 4 years. Flags behavioural-option add-ons (e.g. mortgage prepayment) requiring separate treatment. Root node of the irrbb-measurement-and-disclosure chain. NaN-safe. Zero network, zero PII.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-186-irrbb-standardised-approach-mapper.html\n**Wave:** 33\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-186-irrbb-standardised-approach-mapper.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "map_irrbb_standardised_approach",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-186-irrbb-standardised-approach-mapper.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 33
      }
    },
    "/v1/tools/check_irrbb_csrbb_scope": {
      "post": {
        "operationId": "check_irrbb_csrbb_scope",
        "summary": "IRRBB CSRBB Scope Checker",
        "description": "Identify Credit Spread Risk in the Banking Book (CSRBB) scope per EBA Guidelines on IRRBB and CSRBB (EBA/GL/2022/14): instruments held at fair value whose credit-spread risk is not fully captured by credit-risk or IRRBB frameworks (FVOCI/AFS bond books, fair-valued loans, liquidity-buffer bonds) put a bank in scope, requiring a defined methodology and ICAAP inclusion. No EU-wide materiality threshold is prescribed -- proportionality is a competent-authority / institution judgment. Second node of the irrbb-measurement-and-disclosure chain. NaN-safe. Zero network, zero PII.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-187-irrbb-csrbb-scope-checker.html\n**Wave:** 33\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-187-irrbb-csrbb-scope-checker.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "check_irrbb_csrbb_scope",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-187-irrbb-csrbb-scope-checker.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 33
      }
    },
    "/v1/tools/run_irrbb_disclosure_fit": {
      "post": {
        "operationId": "run_irrbb_disclosure_fit",
        "summary": "IRRBB Disclosure Readiness Diagnostic",
        "description": "A-F IRRBB disclosure readiness diagnostic across five dimensions: EVE shock calculation performed, SOT (EVE + NII) evaluated, standardised approach mapped, CSRBB scope assessed, and Pillar 3 IRRBB1 disclosure template ready. Returns readiness_grade (A-F), readiness_score (0-100), dimensions_met, and gaps list. Terminal node of the irrbb-measurement-and-disclosure chain. BCBS d368 + EBA GL/2022/14 + Pillar 3 IRRBB1. Zero network, zero PII.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-188-irrbb-disclosure-readiness-diagnostic.html\n**Wave:** 33\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-188-irrbb-disclosure-readiness-diagnostic.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "run_irrbb_disclosure_fit",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-188-irrbb-disclosure-readiness-diagnostic.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 33
      }
    },
    "/v1/tools/convert_markdown_document": {
      "post": {
        "operationId": "convert_markdown_document",
        "summary": "Markdown Document Converter",
        "description": "Deterministic Markdown to HTML and plain text over a hand-rolled CommonMark subset (headings, bold/italic/code spans, fenced code, blockquotes, one-level lists, links, images as links, horizontal rules, GFM pipe tables). All raw HTML in the input is escaped, so the output is injection-safe. Returns html, plain_text, stats (headings, links, code_blocks, tables, words), and SHA-256 digests of the input, HTML, and plain text computed over exact UTF-8 bytes with no normalization. Feeds the conversion receipt builder. Zero network, zero PII.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-189-markdown-document-converter.html\n**Wave:** 34\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-189-markdown-document-converter.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "convert_markdown_document",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-189-markdown-document-converter.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 34
      }
    },
    "/v1/tools/convert_tabular_data": {
      "post": {
        "operationId": "convert_tabular_data",
        "summary": "Tabular Data Converter",
        "description": "Deterministic conversion across CSV, JSON (array of objects), and GFM pipe tables with RFC 4180 CSV parsing (quoted fields, embedded delimiters and newlines, escaped quotes). JSON key order follows header order. Numbers stay strings unless coerce_types is set, and then only strings matching a strict finite-decimal pattern are coerced, so non-finite values can never be produced. Ragged rows, duplicate headers, and coercions are surfaced in warnings, never silently dropped. Returns converted text, row_count, column_count, columns, warnings, and input and output SHA-256 digests. Feeds the conversion receipt builder. Zero network, zero PII.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-190-tabular-data-converter.html\n**Wave:** 34\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-190-tabular-data-converter.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "convert_tabular_data",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-190-tabular-data-converter.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 34
      }
    },
    "/v1/tools/build_conversion_receipt": {
      "post": {
        "operationId": "build_conversion_receipt",
        "summary": "Conversion Receipt Builder",
        "description": "Binds one file-conversion event into a canonical receipt tying the input digest to the converter identity, the parameters, and the output digest. binding_sha256 is SHA-256 over the JCS-canonical receipt with binding_sha256 removed. Any external converter, including the heavy WASM Conversion Lab tools, can feed it digests, and it is the documented hand-off point for BrowserChain anchoring. This binds a transformation edge between two digests, which is a different job from anchor_document_integrity (art-121, existence and timestamp of one document). Returns the receipt plus checks for hex validity, converter identity completeness, and self-conversion. Zero network, zero PII.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-191-conversion-receipt-builder.html\n**Wave:** 34\n**mandate_type:** cryptographic_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "cryptographic_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-191-conversion-receipt-builder.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: cryptographic_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "build_conversion_receipt",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-191-conversion-receipt-builder.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "cryptographic_mandate",
        "x-ocg-wave": 34
      }
    },
    "/v1/tools/verify_conversion_receipt": {
      "post": {
        "operationId": "verify_conversion_receipt",
        "summary": "Conversion Receipt Verifier",
        "description": "Re-verifies a conversion receipt from art-191: recomputes binding_sha256 over the JCS-canonical receipt and compares, checks structure and hex fields, and optionally compares digests re-hashed from the actual files. Returns a verdict of valid, binding_mismatch, digest_mismatch, or malformed, plus a per-check detail list. This verifies the domain receipt inside the artifact, which is distinct from verify_execution_hash, the utility that verifies the section 4 artifact envelope. Zero network, zero PII.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-192-conversion-receipt-verifier.html\n**Wave:** 34\n**mandate_type:** cryptographic_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "cryptographic_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-192-conversion-receipt-verifier.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: cryptographic_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "verify_conversion_receipt",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-192-conversion-receipt-verifier.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "cryptographic_mandate",
        "x-ocg-wave": 34
      }
    },
    "/v1/tools/prove_metadata_sanitization": {
      "post": {
        "operationId": "prove_metadata_sanitization",
        "summary": "Metadata Sanitization Prover",
        "description": "Produces a proof-of-sanitization record binding the original digest to the findings removed, redacted, or retained and to the sanitized digest, with a deterministic residual-risk analysis by file type (JPEG COM segments, PNG textual chunks, PDF and DOCX XMP and embedded-object metadata). The kernel receives field names and categories only, never metadata values, because those values can themselves be PII such as GPS coordinates and author names. Returns the sanitization record, residual_risks, and a verdict of sanitized, partially_sanitized, or not_verifiable. Feeds the conversion receipt builder. Zero network, zero PII.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-193-metadata-sanitization-prover.html\n**Wave:** 34\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-193-metadata-sanitization-prover.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "prove_metadata_sanitization",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-193-metadata-sanitization-prover.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 34
      }
    },
    "/v1/tools/build_digest_manifest": {
      "post": {
        "operationId": "build_digest_manifest",
        "summary": "Digest Manifest Builder",
        "description": "Binds N file digests into one canonical, hash-anchored manifest. manifest_sha256 is SHA-256 over the JCS-canonical sorted entries array. This builds flat manifests with no tree, which is a different job from verify_merkle_batch (cry-04, which verifies Merkle proofs); BrowserChain's log owns Merkle trees. Also serves the plain checksum-tool use case. Returns the manifest plus checks for duplicate names, duplicate digests, malformed hex, and path-like names that are flagged and basenamed. Feeds the conversion receipt builder. Zero network, zero PII.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-194-digest-manifest-builder.html\n**Wave:** 34\n**mandate_type:** cryptographic_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "cryptographic_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-194-digest-manifest-builder.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: cryptographic_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "build_digest_manifest",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-194-digest-manifest-builder.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "cryptographic_mandate",
        "x-ocg-wave": 34
      }
    },
    "/v1/tools/choose_cc_license": {
      "post": {
        "operationId": "choose_cc_license",
        "summary": "Creative Commons License Chooser",
        "description": "Deterministic two-question decision tree mapping creator answers (waive all rights, allow commercial, allow adaptations) to the matching Creative Commons 4.0 license (CC0, CC BY, BY-SA, BY-ND, BY-NC, BY-NC-SA, BY-NC-ND). Returns license id, SPDX id, canonical deed URL, required elements, and attribution requirement. Selection only, not legal advice. Zero network, zero PII.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-195-creative-commons-license-chooser.html\n**Wave:** 35\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-195-creative-commons-license-chooser.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "choose_cc_license",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-195-creative-commons-license-chooser.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 35
      }
    },
    "/v1/tools/select_cbe_license": {
      "post": {
        "operationId": "select_cbe_license",
        "summary": "Can't Be Evil License Selector",
        "description": "Rights-matrix lookup for a16z's six Can't Be Evil NFT licenses. Maps creator answers (waive all, commercial use, exclusivity, objectionable-use restriction) to the matching license. Returns both on-chain enum names (launch alias and current Oct 2022 name), Solidity LicenseVersion ordinal, both Arweave manifest URIs, full rights matrix, and normative caveats verified against canonical license PDFs. Selection only, not legal advice. Zero network, zero PII.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-196-cant-be-evil-license-selector.html\n**Wave:** 35\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-196-cant-be-evil-license-selector.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "select_cbe_license",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-196-cant-be-evil-license-selector.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 35
      }
    },
    "/v1/tools/map_pil_flavor": {
      "post": {
        "operationId": "map_pil_flavor",
        "summary": "Story PIL Flavor Mapper",
        "description": "Maps creator answers (commercial use, derivatives allowed, optional minting fee, revenue share percent) to a Story Protocol Programmable IP License flavor and emits the full PILTerms struct. Three flavors: non_commercial_social_remixing (licenseTermsId=1, the protocol constant), commercial_use, and commercial_remix. Selection only, not legal advice. Zero network, zero PII.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-197-pil-flavor-mapper.html\n**Wave:** 35\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-197-pil-flavor-mapper.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "map_pil_flavor",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-197-pil-flavor-mapper.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 35
      }
    },
    "/v1/tools/compare_rights_matrix": {
      "post": {
        "operationId": "compare_rights_matrix",
        "summary": "Cross-License Rights Comparator",
        "description": "Compares any two licenses from the CC, CBE, and PIL families on a 9-dimension rights vector (copy, display, commercial, exclusive, modify, sublicense, share_alike, attribution, revocable). Returns a diff array and a partial-order permissiveness result: a_more_permissive, b_more_permissive, equal, or incomparable. Informational Rosetta stone for cross-framework license selection. Not legal advice.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-198-cross-license-rights-comparator.html\n**Wave:** 35\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-198-cross-license-rights-comparator.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "compare_rights_matrix",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-198-cross-license-rights-comparator.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 35
      }
    },
    "/v1/tools/certify_license_election": {
      "post": {
        "operationId": "certify_license_election",
        "summary": "License Election Certifier",
        "description": "Binds a license election (family, id, params) to a named asset and licensor DID, producing a deterministic terms_hash via SHA-256 over the JCS-canonical election core. Emits a portable certificate object with all fields needed for downstream verification. Not legal advice. Selection only.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-199-license-election-certifier.html\n**Wave:** 35\n**mandate_type:** cryptographic_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "cryptographic_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-199-license-election-certifier.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: cryptographic_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "certify_license_election",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-199-license-election-certifier.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "cryptographic_mandate",
        "x-ocg-wave": 35
      }
    },
    "/v1/tools/verify_license_election": {
      "post": {
        "operationId": "verify_license_election",
        "summary": "License Election Verifier",
        "description": "Verifies a certificate produced by the License Election Certifier by recomputing the SHA-256 terms_hash over the JCS-canonical election core and comparing it against the stored hash. Returns verdict (valid | binding_mismatch | incomplete_fields | malformed), binding_ok flag, recomputed_terms_hash, and per-check results. Not legal advice.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-200-license-election-verifier.html\n**Wave:** 35\n**mandate_type:** cryptographic_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "cryptographic_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-200-license-election-verifier.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: cryptographic_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "verify_license_election",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-200-license-election-verifier.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "cryptographic_mandate",
        "x-ocg-wave": 35
      }
    },
    "/v1/tools/generate_iscc_code": {
      "post": {
        "operationId": "generate_iscc_code",
        "summary": "ISCC Content Code Generator",
        "description": "Generates ISO 24138 ISCC content fingerprints for digital content. Computes Instance-Code (BLAKE3 data integrity), Data-Code (CDC + minhash similarity), optional Meta-Code (simhash over title n-grams from the supplied title), and a composite ISCC-CODE when at least one unit is available. Pure-JS implementation matching the iscc-core conformance vectors. TEXT and METADATA scope only.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-201-iscc-content-code-generator.html\n**Wave:** 35\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-201-iscc-content-code-generator.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "generate_iscc_code",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-201-iscc-content-code-generator.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 35
      }
    },
    "/v1/tools/select_embedded_license": {
      "post": {
        "operationId": "select_embedded_license",
        "summary": "Embedded License Selector",
        "description": "Maps creator answers to the SolSea and ALL.ART 4-tier embedded-license menu: Private/No Commercial, Personal/Public Display/No Commercial, Public Display/No Commercial, or Reproduction/Commercial. Outputs the elected tier id, label, rights vector, decision path, and source citation. Not legal advice. Selection only.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-203-embedded-license-selector.html\n**Wave:** 35\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-203-embedded-license-selector.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "select_embedded_license",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-203-embedded-license-selector.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 35
      }
    },
    "/v1/tools/check_license_compatibility": {
      "post": {
        "operationId": "check_license_compatibility",
        "summary": "License Compatibility Checker",
        "description": "Checks whether a child license can derive from a parent asset license. Returns compatible flag, reason codes (ND_BLOCKS_DERIVATIVE, SA_REQUIRES_SAME_LICENSE, NC_BLOCKS_COMMERCIAL, PIL_RECIPROCAL_MISMATCH, CBE_PERSONAL_NO_DERIVATIVE), required_child_license when ShareAlike or reciprocal forces a specific choice, and an SPDX-satisfies result for Creative Commons families. Not legal advice. Selection only.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-204-license-compatibility-checker.html\n**Wave:** 35\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-204-license-compatibility-checker.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "check_license_compatibility",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-204-license-compatibility-checker.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 35
      }
    },
    "/v1/tools/assemble_license_terms": {
      "post": {
        "operationId": "assemble_license_terms",
        "summary": "License Terms Assembler",
        "description": "Renders a deterministic license term sheet by substituting field values into a pre-approved template (CC-STANDARD-USE, IP3-RIGHTS-RECORD, NFT-EMBEDDED-LICENSE). No bespoke legal drafting. Outputs rendered plain text and HTML. Not legal advice. Substitution into fixed templates only.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-205-license-terms-assembler.html\n**Wave:** 35\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-205-license-terms-assembler.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "assemble_license_terms",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-205-license-terms-assembler.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 35
      }
    },
    "/v1/tools/build_rights_record": {
      "post": {
        "operationId": "build_rights_record",
        "summary": "Rights Record Builder",
        "description": "Builds a normalized IP3-style rights-portfolio row from licensor, licensee, territory, term, rights vector, and renewal fields. Computes a deterministic record_hash via SHA-256 over the JCS-canonical rights row. Not legal advice. Documentation of stated parameters only.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-206-rights-record-builder.html\n**Wave:** 35\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-206-rights-record-builder.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "build_rights_record",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-206-rights-record-builder.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 35
      }
    },
    "/v1/tools/compute_reg_z_appendix_j_apr": {
      "post": {
        "operationId": "compute_reg_z_appendix_j_apr",
        "summary": "Reg Z Appendix J APR Solver",
        "description": "Reg Z Appendix J actuarial APR solver. Bracketed bisection on the general actuarial equation (12 CFR 1026 Appendix J), with the odd-days fraction priced at simple interest per (b)(6) and only full unit-periods compounded. Handles regular and irregular payment schedules with an odd-days fractional first period, and reports a rate only when a sign-change bracket was established. Pure ECMA-262 arithmetic, no floating-point built-ins beyond basic operations. APR accuracy, TRID disclosure, and QM spread test input.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-215-reg-z-appendix-j-apr.html\n**Wave:** 37\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-215-reg-z-appendix-j-apr.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "compute_reg_z_appendix_j_apr",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-215-reg-z-appendix-j-apr.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 37
      }
    },
    "/v1/tools/compute_trid_tolerance_cure": {
      "post": {
        "operationId": "compute_trid_tolerance_cure",
        "summary": "TRID Fee Tolerance and Cure",
        "description": "TRID fee tolerance analysis and cure calculation per Reg Z §1026.19(e)(3). Classifies each closing fee into zero-tolerance, ten-percent cumulative, or no-tolerance-limit bucket. Computes 10% bucket aggregate overage, identifies violations, and returns the cure amount required to make the consumer whole under TRID.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-216-trid-tolerance-cure.html\n**Wave:** 37\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-216-trid-tolerance-cure.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "compute_trid_tolerance_cure",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-216-trid-tolerance-cure.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 37
      }
    },
    "/v1/tools/verify_trid_apr_accuracy": {
      "post": {
        "operationId": "verify_trid_apr_accuracy",
        "summary": "TRID APR Accuracy Verifier",
        "description": "TRID APR accuracy check per Reg Z §1026.22(a). Verifies disclosed APR against actual APR within 1/8 percentage point tolerance for regular transactions or 1/4 percentage point for irregular transactions. Returns verdict: accurate, accurate_overstated_ok, understated_violation, or overstated_violation. APR understatement is a TILA violation; overstatement within tolerance is not.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-217-trid-apr-accuracy.html\n**Wave:** 37\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-217-trid-apr-accuracy.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "verify_trid_apr_accuracy",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-217-trid-apr-accuracy.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 37
      }
    },
    "/v1/tools/check_qm_points_and_fees": {
      "post": {
        "operationId": "check_qm_points_and_fees",
        "summary": "QM Points and Fees Test",
        "description": "Qualified Mortgage points-and-fees test per Reg Z §1026.43(e)(3). Applies version-pinned 2021-2026 tier table with Federal Register citations. Covers five tiers: 3% for loans over tier-1 minimum, fixed dollar amounts for mid-range loans, 5% and 8% for smaller loans. Agents hallucinate current-year thresholds; this node supplies authoritative version-pinned values.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-218-qm-points-and-fees.html\n**Wave:** 37\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-218-qm-points-and-fees.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "check_qm_points_and_fees",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-218-qm-points-and-fees.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 37
      }
    },
    "/v1/tools/classify_qm_apr_apor_spread": {
      "post": {
        "operationId": "classify_qm_apr_apor_spread",
        "summary": "QM APR-APOR Spread Classifier",
        "description": "QM APR-APOR spread test per Reg Z §1026.43(e)(2)(vi) and §1026.43(b)(4). Classifies a loan as general_qm_safe_harbor, general_qm_rebuttable_presumption, or general_qm_fail based on spread versus APOR and HPCT threshold. Size-adjusted thresholds for first-lien standard (2.25 pp), small loan (3.5 pp), manufactured housing (6.5 pp), and subordinate lien (3.5 pp). Caller must supply APOR from the FFIEC weekly rate spread table.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-219-qm-apr-apor-spread.html\n**Wave:** 37\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-219-qm-apr-apor-spread.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "classify_qm_apr_apor_spread",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-219-qm-apr-apor-spread.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 37
      }
    },
    "/v1/tools/lookup_reg_z_thresholds": {
      "post": {
        "operationId": "lookup_reg_z_thresholds",
        "summary": "Reg Z Threshold Lookup",
        "description": "Reg Z version-pinned threshold lookup service. Tables: qm_points_fees, hoepa, hpml, card_penalty. 2021-2026 rows with Federal Register citations and effective dates. This node exists because agents reliably hallucinate current-year dollar thresholds. Annual refresh cadence with FR citation pinning. Covers CARD Act penalty fee note: the CFPB dollar-eight late-fee cap rule was vacated May 2025; prior safe-harbor amounts apply.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-220-reg-z-threshold-lookup.html\n**Wave:** 37\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-220-reg-z-threshold-lookup.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "lookup_reg_z_thresholds",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-220-reg-z-threshold-lookup.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 37
      }
    },
    "/v1/tools/compute_llpa_stack": {
      "post": {
        "operationId": "compute_llpa_stack",
        "summary": "LLPA Stack Calculator",
        "description": "Fannie Mae public LLPA (Loan-Level Price Adjustment) matrix calculator. FICO-by-LTV base grid plus feature surcharges: cash-out refinance, second home, investment property, warrantable condo, subordinate financing. Applies FTHB AMI waiver (SEL-2023-07, up to 1.75 pp reduction for first-time buyers at or below 100% AMI). Table version: FNM-LLPA-2025-11-01 (Fannie Mae public publication). Not check_agency_eligibility_matrix (DU/LPA approval grid) or check_conforming_loan_limit (FHFA size limits).\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-221-llpa-stack.html\n**Wave:** 38\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-221-llpa-stack.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "compute_llpa_stack",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-221-llpa-stack.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 38
      }
    },
    "/v1/tools/check_agency_eligibility_matrix": {
      "post": {
        "operationId": "check_agency_eligibility_matrix",
        "summary": "Agency Eligibility Matrix",
        "description": "Fannie Mae DU and Freddie Mac LPA agency eligibility matrix. Checks DTI caps (DU/LPA: 50%; manual UW: 36% housing / 45% total), LTV/CLTV/HCLTV maximums by occupancy type (primary/second home/investment) and loan purpose (purchase/rate-term/cash-out), and multi-unit property constraints. Returns eligible_flag (ELIGIBLE or INELIGIBLE) and detailed per-check results. Table version: FNM-LPA-ELIGIBILITY-2026-01-01. Not compute_llpa_stack (LLPA pricing surcharges) or check_conforming_loan_limit (FHFA loan size limits).\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-222-agency-eligibility-matrix.html\n**Wave:** 38\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-222-agency-eligibility-matrix.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "check_agency_eligibility_matrix",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-222-agency-eligibility-matrix.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 38
      }
    },
    "/v1/tools/check_conforming_loan_limit": {
      "post": {
        "operationId": "check_conforming_loan_limit",
        "summary": "Conforming Loan Limit Check",
        "description": "FHFA annual conforming loan limit classifier. 2026 baseline: $806,500 (1-unit), $1,032,650 (2-unit), $1,248,150 (3-unit), $1,550,400 (4-unit). High-cost county and AK/HI/Guam/USVI ceiling at 150% of baseline. Classifies loans as conforming, super-conforming, or jumbo. Accepts optional county-level limit override from FHFA FullCountyLoanLimitList2026.xlsx. Table version: FHFA-CLL-2026. Not lookup_reg_z_thresholds (Reg Z consumer-protection dollar thresholds) or check_agency_eligibility_matrix (DU/LPA approval parameters).\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-223-conforming-loan-limit.html\n**Wave:** 38\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-223-conforming-loan-limit.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "check_conforming_loan_limit",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-223-conforming-loan-limit.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 38
      }
    },
    "/v1/tools/compute_fha_mip_eligibility": {
      "post": {
        "operationId": "compute_fha_mip_eligibility",
        "summary": "FHA MIP Eligibility Calculator",
        "description": "FHA mortgage insurance premium (MIP) eligibility and cost calculator per HUD Handbook 4000.1. UFMIP: 1.75% of base loan. Annual MIP grid (0.15%-0.75%) by base loan amount vs $726,200 threshold, LTV, and term. MIP duration: 11 years when original LTV at or below 90%; life-of-loan when above 90%. Qualifying ratios: 31% front-end / 43% back-end (compensating factors to 40%/57%). Credit score floors: 580 for 96.5% LTV; 500-579 for 90% max. Table version: HUD-MIP-ML2023-05-ML2024-01 (HUD Mortgagee Letter 2023-05, effective 2023-03-20).\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-224-fha-mip-eligibility.html\n**Wave:** 38\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-224-fha-mip-eligibility.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "compute_fha_mip_eligibility",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-224-fha-mip-eligibility.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 38
      }
    },
    "/v1/tools/compute_va_funding_fee_residual": {
      "post": {
        "operationId": "compute_va_funding_fee_residual",
        "summary": "VA Funding Fee and Residual Income",
        "description": "VA home loan funding fee (38 USC §3729) and residual income qualification. Funding fee table: first vs subsequent use, down-payment tiers (0%/5-9.99%/10%+), exemptions for service-connected disability/surviving spouse/Purple Heart. IRRRL: 0.50%. Residual income: VA Pamphlet 26-7 Ch.4 Tables 41A/41B by region (Northeast/Midwest/South/West) and family size; $80 per member above five. DTI benchmark: 41% (triggers residual income review when exceeded). Table versions: VA-FF-2025-01-01 (VA Circular 26-25-3); VA-PAMPHLET-26-7-CH4-2024.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-225-va-funding-fee-residual.html\n**Wave:** 38\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-225-va-funding-fee-residual.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "compute_va_funding_fee_residual",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-225-va-funding-fee-residual.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 38
      }
    },
    "/v1/tools/lint_mismo_uldd_ulad": {
      "post": {
        "operationId": "lint_mismo_uldd_ulad",
        "summary": "ULDD/ULAD Structural Linter",
        "description": "ULDD Phase 5 / ULAD structural lint of required data points, enumerations, and conditionality rules. Checks field presence against ULDD Phase 5 required set, validates enum values from the public Fannie Mae ULDD Phase 5 Data Stencil and Freddie Mac ULAD Data Dictionary v1.3, enforces ARM-conditional fields, range constraints, and indicator consistency. ULDD Phase 5 mandate effective 2025-07-28. Inputs are bounded structural fields only; loan PII never leaves the browser. Lints public ULDD/ULAD data dictionaries only; does not embed or validate against the membership-licensed MISMO v3.x Reference Model schema. Table version: ULDD-PHASE5-ULAD-1.3-2025-07-28.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-226-mismo-uldd-ulad.html\n**Wave:** 38\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-226-mismo-uldd-ulad.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "lint_mismo_uldd_ulad",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-226-mismo-uldd-ulad.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 38
      }
    },
    "/v1/tools/validate_adverse_action_notice": {
      "post": {
        "operationId": "validate_adverse_action_notice",
        "summary": "Validate Adverse Action Notice",
        "description": "Validates an adverse action notice against Reg B §1002.9 completeness requirements: reason count (max 4), prohibited vague reason codes (CFPB Circulars 2022-03/2023-03), required content fields (creditor name, date, statement of rights), and FCRA §615(a) rights disclosure when a credit score was used. Outputs compliance_score (0-100), violation list, and a remediation checklist. Reg B 12 CFR §1002.9, ECOA 15 USC §1691, FCRA §615(a).\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-227-validate-adverse-action-notice.html\n**Wave:** 39\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-227-validate-adverse-action-notice.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "validate_adverse_action_notice",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-227-validate-adverse-action-notice.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 39
      }
    },
    "/v1/tools/build_adverse_action_notice": {
      "post": {
        "operationId": "build_adverse_action_notice",
        "summary": "Build Adverse Action Notice",
        "description": "Assembles an adverse action notice skeleton from SHAP-ranked principal-factor codes (FICO reason codes 01-40, VantageScore VS001-VS015). Resolves codes to full human-readable text, orders sections per Reg B §1002.9, and appends the FCRA §615(a) credit score disclosure when a credit score was used in the decision. Exports a receipt artifact. Reg B 12 CFR §1002.9, CFPB Circulars 2022-03/2023-03, FCRA §615(a).\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-228-build-adverse-action-notice.html\n**Wave:** 39\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-228-build-adverse-action-notice.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "build_adverse_action_notice",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-228-build-adverse-action-notice.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 39
      }
    },
    "/v1/tools/compute_disparity_metrics": {
      "post": {
        "operationId": "compute_disparity_metrics",
        "summary": "Compute Disparate Impact Metrics",
        "description": "Computes three fair lending disparate impact metrics from aggregate lending counts: 4/5ths (80%) rule (adverse_impact_ratio) per EEOC 29 CFR §1607.4(D), z-statistic for statistical significance of the approval-rate difference, and standardised mean difference (Cohen's d). Inputs are aggregate counts only; no individual applicant records, names, demographic identifiers, or scores. ZERO PII BY CONSTRUCTION. EEOC Uniform Guidelines on Employee Selection Procedures (29 CFR §1607), HMDA/Reg C.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-229-compute-disparity-metrics.html\n**Wave:** 39\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-229-compute-disparity-metrics.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "compute_disparity_metrics",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-229-compute-disparity-metrics.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 39
      }
    },
    "/v1/tools/compute_hmda_rate_spread": {
      "post": {
        "operationId": "compute_hmda_rate_spread",
        "summary": "Compute HMDA Rate Spread",
        "description": "Computes the HMDA rate spread (APR minus APOR) per FFIEC methodology and classifies against HMDA reportability thresholds: 1.5 pp (first lien), 3.5 pp (subordinate lien), 6.5 pp (HELOC). Outputs rate_spread_pct, lien classification, is_reportable flag, and HPML indicator (1.5 pp first / 3.5 pp sub, triggers escrow and appraisal requirements under TILA). Table version: FFIEC-RATE-SPREAD-METHODOLOGY-2023.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-230-compute-hmda-rate-spread.html\n**Wave:** 39\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-230-compute-hmda-rate-spread.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "compute_hmda_rate_spread",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-230-compute-hmda-rate-spread.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 39
      }
    },
    "/v1/tools/compute_mla_mapr": {
      "post": {
        "operationId": "compute_mla_mapr",
        "summary": "Compute MLA MAPR",
        "description": "Computes the Military Annual Percentage Rate (MAPR) per 32 CFR §232.4(c) and checks compliance with the 36% cap. MAPR includes all charges excluded from Reg Z APR: credit insurance premiums, debt suspension/cancellation fees, annual membership fees, participation fees, and application fees (credit card only). Bona fide fee exemption: $100/year maximum. Flags MAPR_EXCEEDS_CAP_VIOLATION when MAPR > 36%. DoD MLA rule (32 CFR Part 232), effective October 3, 2016.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-231-compute-mla-mapr.html\n**Wave:** 39\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-231-compute-mla-mapr.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "compute_mla_mapr",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-231-compute-mla-mapr.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 39
      }
    },
    "/v1/tools/compute_scra_rate_cap": {
      "post": {
        "operationId": "compute_scra_rate_cap",
        "summary": "Compute SCRA Rate Cap",
        "description": "Computes the SCRA 6% interest rate cap per 50 USC §3937 for pre-service loan obligations. Calculates covered months, excess interest, and forgiveness amount. Excess interest is always forgiven (not deferred) per 50 USC §3937(a)(2). Checks servicemember notification requirement. Flags SCRA_RATE_CAP_VIOLATION (original rate > 6%) and SCRA_NOTIFICATION_MISSING. Table: SCRA-50USC3937-2022.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-232-compute-scra-rate-cap.html\n**Wave:** 39\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-232-compute-scra-rate-cap.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "compute_scra_rate_cap",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-232-compute-scra-rate-cap.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 39
      }
    },
    "/v1/tools/check_card_act_ability_to_pay": {
      "post": {
        "operationId": "check_card_act_ability_to_pay",
        "summary": "Check CARD Act Ability to Pay",
        "description": "Evaluates a credit card application against CARD Act §1026.51 ability-to-pay requirements. Computes monthly minimum payment from the requested credit limit and minimum payment percentage. Checks DTI against the 45% threshold using income and assets. Applies the under-21 independent-income restriction (§1026.51(b)). Reports the §1026.52(b) penalty fee safe harbor ($32 first violation / $43 subsequent). CFPB $8 late fee rule vacated January 17, 2025 (Fifth Circuit, No. 24-10266); $32/$43 thresholds remain in effect.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-233-check-card-act-ability-to-pay.html\n**Wave:** 39\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-233-check-card-act-ability-to-pay.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "check_card_act_ability_to_pay",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-233-check-card-act-ability-to-pay.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 39
      }
    },
    "/v1/tools/test_hoepa_high_cost": {
      "post": {
        "operationId": "test_hoepa_high_cost",
        "summary": "HOEPA High-Cost Mortgage Trigger Test",
        "description": "Tests all three HOEPA high-cost mortgage triggers per Reg Z §1026.32(a)(1): (i) APR trigger (APOR+6.5pp first-lien, APOR+8.5pp subordinate or dwelling below $50k); (ii) points-and-fees trigger (5% of loan or $1,380 floor, 2026, FR 2025-22773); (iii) prepayment penalty trigger (>36 months or >2% of prepaid amount). Outputs is_high_cost plus which triggers fired. Consumes art-220 (lookup_reg_z_thresholds) for the pinned HOEPA threshold table. Use test_hpml_escrow (art-235) for HPML escrow, not HOEPA. Use check_qm_points_and_fees (art-218) for the QM points-and-fees ability-to-repay test.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-234-test-hoepa-high-cost.html\n**Wave:** 39\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-234-test-hoepa-high-cost.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "test_hoepa_high_cost",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-234-test-hoepa-high-cost.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 39
      }
    },
    "/v1/tools/test_hpml_escrow": {
      "post": {
        "operationId": "test_hpml_escrow",
        "summary": "HPML Definition and Escrow Requirement Test",
        "description": "Tests whether a loan qualifies as a Higher-Priced Mortgage Loan (HPML) per Reg Z §1026.35(a)(1): APOR+1.5pp first-lien, APOR+2.5pp jumbo, APOR+3.5pp subordinate (Dodd-Frank structural thresholds, unchanged since 2014). Applies §1026.35(b)(1) escrow requirement for first-lien HPMLs and checks §1026.35(b)(2) exemptions (rural or underserved small creditor, condo master policy). Consumes art-220 (lookup_reg_z_thresholds) for the pinned HPML threshold table. For HOEPA high-cost triggers (APOR+6.5pp/8.5pp): use test_hoepa_high_cost (art-234), not this node.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-235-test-hpml-escrow.html\n**Wave:** 39\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-235-test-hpml-escrow.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "test_hpml_escrow",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-235-test-hpml-escrow.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 39
      }
    },
    "/v1/tools/build_ai_decision_log_record": {
      "post": {
        "operationId": "build_ai_decision_log_record",
        "summary": "AI Decision Log Record Builder (EU AI Act Art 12)",
        "description": "Builds an EU AI Act Art 12(2)-conformant decision log record for high-risk AI systems in financial services. Computes chain_position (first/chained), art12_completeness_score (12 required fields), retention_months (>= 6 months, configurable), and anchor_surface instructions for composing anchor.ainumbers.co/mcp. subject_ref is a STRUCTURAL field only (opaque reference, never a real natural-person identifier; no PII enters this kernel). When the caller declares which sealed decision artifact this record evidences, this node also wraps it as a section-27.6 evidence bundle over that subject. Disambiguates from build_session_receipt (cry-01): that node logs MCP session I/O; this node builds a regulatory Art 12 decision record. Run classify_annex3_decisioning_obligations (art-238) first to confirm is_high_risk before generating Art 12 records.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-236-build-ai-decision-log-record.html\n**Wave:** 40\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-236-build-ai-decision-log-record.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "build_ai_decision_log_record",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-236-build-ai-decision-log-record.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 40
      }
    },
    "/v1/tools/validate_agent_audit_trail": {
      "post": {
        "operationId": "validate_agent_audit_trail",
        "summary": "Agent Audit Trail Conformance Validator (IETF AAT)",
        "description": "Validates agent audit trail records against IETF draft-sharif-agent-audit-trail-00 (AAT, expires Sept 2026). Checks required fields (agent_identity, action_class, outcome, trust_level, timestamp), sha256_prev_record chain-link format (/^[0-9a-f]{64}$/ or empty for first record), ECDSA signature presence, and enum conformance for action_class / outcome / trust_level. Returns conformance_result: CONFORMANT | PARTIAL | NON_CONFORMANT | EMPTY_INPUT with aat_completeness_score and validation_errors. Disambiguates from the RFC 9421 HTTP message signature nodes (art-129..132): those validate HTTP message signatures; this node validates agent-to-agent audit trail records per the IETF AAT draft.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-237-validate-agent-audit-trail.html\n**Wave:** 40\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-237-validate-agent-audit-trail.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "validate_agent_audit_trail",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-237-validate-agent-audit-trail.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 40
      }
    },
    "/v1/tools/classify_annex3_decisioning_obligations": {
      "post": {
        "operationId": "classify_annex3_decisioning_obligations",
        "summary": "EU AI Act Annex III FS Decisioning Obligations Classifier",
        "description": "EXTENDS run_ai_act_highrisk_fit (art-64). Resolves financial-services-specific Art 12, 26, and 27 compliance obligations for Annex III 5(b) creditworthiness and 5(c) life/health insurance pricing AI systems. Caller supplies is_high_risk from art-64. When is_high_risk=false returns scope_verdict=OUT_OF_SCOPE (no obligations apply). When high-risk, maps obligations: Art 12(2) decision logging, Art 26(6) FRIA and human oversight (deployer duty), Art 27(1) EU AI Act public database registration. Enforcement: 2 December 2027, per the Digital Omnibus amendments (Parliament final approval, 16 June 2026); original date was 2026-08-02. Disambiguates from run_ai_act_highrisk_fit (art-64): that node classifies whether a system is high-risk; this node classifies WHICH FS-specific obligations apply once high-risk is confirmed.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-238-classify-annex3-decisioning-obligations.html\n**Wave:** 40\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-238-classify-annex3-decisioning-obligations.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "classify_annex3_decisioning_obligations",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-238-classify-annex3-decisioning-obligations.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 40
      }
    },
    "/v1/tools/test_bifsg_bias_thresholds": {
      "post": {
        "operationId": "test_bifsg_bias_thresholds",
        "summary": "BIFSG Insurance Proxy Bias Threshold Test (Colorado SB 21-169)",
        "description": "Tests BIFSG proxy bias thresholds under Colorado SB 21-169 / Reg. 10-1-1 for insurance AI models. ZERO PII: accepts aggregate regression outputs only (p-value, marginal effect %, premium delta per $1,000 face) -- no individual applicant data, proxy scores, or demographic identifiers enter this kernel. Statistical prong: p < 0.05 AND marginal effect >= 5 percentage points. Premium prong (standalone): premium >= 5% above average per $1,000 face. Annual attestation due December 1: anchor execution_hash at anchor.ainumbers.co/mcp (COMPOSE, do not rebuild). Disambiguates from compute_disparity_metrics (art-229): that node applies ECOA/HMDA 4/5ths adverse impact rule for lending; this node applies Colorado SB 21-169 p-value and premium-rate bias tests for insurance AI.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-239-test-bifsg-bias-thresholds.html\n**Wave:** 40\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-239-test-bifsg-bias-thresholds.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "test_bifsg_bias_thresholds",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-239-test-bifsg-bias-thresholds.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 40
      }
    },
    "/v1/tools/assess_naic_ais_program_readiness": {
      "post": {
        "operationId": "assess_naic_ais_program_readiness",
        "summary": "NAIC AI Systems Program Readiness Assessment",
        "description": "Scores insurance AI program readiness against the NAIC Model Bulletin on the Use of Artificial Intelligence Systems by Insurers (adopted 4 Dec 2023) and the NAIC AI Systems Evaluation Tool (exposure draft v4.0, Sep 2025). Six dimensions scored 0-3 (Not Started/Planning/Partial/Implemented): Governance & Accountability, Risk Management Framework, Data Governance & Bias Monitoring, Testing & Validation, Transparency & Explainability, Complaint & Audit Readiness. Total 0-18; readiness tier: GREEN >= 78% (EXAM_READY), YELLOW >= 44% (IN_PROGRESS), RED < 44% (SIGNIFICANT_GAPS). 24+ states have adopted or substantially adopted the NAIC AI Model Bulletin as of mid-2026; 12-state market-conduct exam pilot ran Jan-Sep 2026 (verify current adoption status with NAIC and your state regulator).\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-240-assess-naic-ais-program-readiness.html\n**Wave:** 40\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-240-assess-naic-ais-program-readiness.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "assess_naic_ais_program_readiness",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-240-assess-naic-ais-program-readiness.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 40
      }
    },
    "/v1/tools/lint_cbpr_structured_address": {
      "post": {
        "operationId": "lint_cbpr_structured_address",
        "summary": "CBPR+ Structured Address Linter",
        "description": "Lints a single pacs.008 PostalAddress24 block against the SWIFT CBPR+ November 2026 mandate. Detects unstructured AdrLine-only addresses (prohibited), hybrid silent-fail duplication (AdrLine echoing structured field values, which causes STP rejection without a visible error code), and address structure type (FULLY_STRUCTURED, HYBRID, UNSTRUCTURED, EMPTY). Per-message lint -- for batch verification of migrated address archives use verify_address_migration_batch (rca-03).\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-241-cbpr-structured-address-linter.html\n**Wave:** 41\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-241-cbpr-structured-address-linter.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "lint_cbpr_structured_address",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-241-cbpr-structured-address-linter.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 41
      }
    },
    "/v1/tools/validate_pacs008_party_completeness": {
      "post": {
        "operationId": "validate_pacs008_party_completeness",
        "summary": "pacs.008 Party Completeness Validator",
        "description": "Validates BIS CPMI d218 harmonised data requirements for a pacs.008 payment instruction: UETR UUIDv4 format, debtor and creditor names, BIC format, LEI format (presence and format; full mod-97 check-digit validation is in lint_lei_payment_binding art-246), and purpose code format. Outputs a CPMI d218 completeness score. Does not validate PostalAddress24 structure (use lint_cbpr_structured_address art-241) or PQC crypto readiness (use check_iso20022_pqc_readiness art-87).\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-242-pacs008-party-completeness-validator.html\n**Wave:** 41\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-242-pacs008-party-completeness-validator.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "validate_pacs008_party_completeness",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-242-pacs008-party-completeness-validator.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 41
      }
    },
    "/v1/tools/check_purpose_code_requirement": {
      "post": {
        "operationId": "check_purpose_code_requirement",
        "summary": "ISO 20022 Purpose Code Requirement Checker",
        "description": "Given a beneficiary country and payment amount, determines whether ExternalPurpose1Code (Purp/Cd) or ExternalCategoryPurpose1Code (CtgyPurp/Cd) is mandatory per BIS CPMI d218 jurisdiction profiles (UAE, India, Bahrain, Jordan, China, Malaysia mandate purpose codes). Also checks SwiftGo eligibility (amount at most $12,500 USD and ExternalCategoryPurpose1Code in accepted set). Outputs purpose_code_compliant, code_type_required, and swiftgo_eligible.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-243-purpose-code-requirement-checker.html\n**Wave:** 41\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-243-purpose-code-requirement-checker.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "check_purpose_code_requirement",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-243-purpose-code-requirement-checker.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 41
      }
    },
    "/v1/tools/simulate_gpi_tracker_lifecycle": {
      "post": {
        "operationId": "simulate_gpi_tracker_lifecycle",
        "summary": "SWIFT GPI Tracker Lifecycle Simulator",
        "description": "Validates SWIFT GPI pacs.002 payment status code transitions against the GPI state machine (PDNG, ACSP, ACSP/ACWC, ACCC, RJCT) and checks the Universal Confirmation SLA (ACCC must be sent within 24 hours of ACSP). Detects invalid transitions, transitions from terminal states, and SLA at-risk or breached conditions. For use in agent-driven GPI payment monitoring workflows.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-244-gpi-tracker-lifecycle-simulator.html\n**Wave:** 41\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-244-gpi-tracker-lifecycle-simulator.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "simulate_gpi_tracker_lifecycle",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-244-gpi-tracker-lifecycle-simulator.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 41
      }
    },
    "/v1/tools/score_mt_mx_translation_fidelity": {
      "post": {
        "operationId": "score_mt_mx_translation_fidelity",
        "summary": "MT103 to MX Translation Fidelity Scorer",
        "description": "Scores ISO 15022 MT103 to ISO 20022 pacs.008 translation fidelity for CBPR+ November 2026 migration. Checks field presence mapping (:20: to UETR, :50K/A to Dbtr/Nm, :59/:59A to Cdtr/Nm, :52A/:57A to BIC agents, :70: to RmtInf/Ustrd, :71A to ChrgBr), truncation risks (140-char remittance info, address line lengths), and charge bearer code mapping (OUR=DEBT, SHA=SHAR, BEN=CRED). Outputs fidelity score and per-field mapping results.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-245-mt-mx-translation-fidelity-scorer.html\n**Wave:** 41\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-245-mt-mx-translation-fidelity-scorer.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "score_mt_mx_translation_fidelity",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-245-mt-mx-translation-fidelity-scorer.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 41
      }
    },
    "/v1/tools/lint_lei_payment_binding": {
      "post": {
        "operationId": "lint_lei_payment_binding",
        "summary": "Wolfsberg Payment Transparency & LEI Binding Linter",
        "description": "Full ISO 17442 LEI check-digit validation via ISO 7064 Mod 97-10 for originator and beneficiary LEIs in pacs.008. Also scores Wolfsberg Payment Transparency Standards across six fields (originator name, account, LEI; beneficiary name, account, LEI) and assigns a transparency tier (HIGH, MEDIUM, LOW). LEIs are public GLEIF registry data -- no PII involved. For format-only LEI checks within broader party completeness validation use validate_pacs008_party_completeness (art-242).\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-246-lei-payment-binding-linter.html\n**Wave:** 41\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-246-lei-payment-binding-linter.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "lint_lei_payment_binding",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-246-lei-payment-binding-linter.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 41
      }
    },
    "/v1/tools/prevalidation_readiness_scorer": {
      "post": {
        "operationId": "prevalidation_readiness_scorer",
        "summary": "Cross-Border Payment Prevalidation Readiness Scorer",
        "description": "Aggregate CBPR+ pre-validation readiness check for a single pacs.008 payment instruction. Combines IBAN mod-97 check (ISO 13616), BIC format (ISO 9362), LEI format (ISO 17442, presence and format only), UUIDv4 UETR, and PostalAddress24 structure (CBPR+ Nov-2026 hybrid/fully-structured rules) into a single /ready boolean for STP gate use. Gate node for the cross-border-payment-prevalidation chain: ready=true means the instruction passes pre-validation; ready=false means remediation is required.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-247-prevalidation-readiness-scorer.html\n**Wave:** 41\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-247-prevalidation-readiness-scorer.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "prevalidation_readiness_scorer",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-247-prevalidation-readiness-scorer.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 41
      }
    },
    "/v1/tools/compute_remittance_disclosure": {
      "post": {
        "operationId": "compute_remittance_disclosure",
        "summary": "Remittance Disclosure Calculator (Reg E Subpart B)",
        "description": "Computes the required Reg E subpart B (12 CFR 1005.31/1005.32) remittance disclosure fields: transfer_amount_usd (send minus fees), exchange_rate_disclosed, amount_received_dest in destination currency, fees breakdown, total_to_sender_usd, disclosure_type (EXACT or ESTIMATED), estimate_permissible flag, and accounting identity check. Pre-transfer receipt anchor point for CFPB exam and error-resolution disputes (12 CFR 1005.33). ZERO PII: amounts, rates, fees, and taxes only. Gate node for the remittance-disclosure-and-corridor-cost chain.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-248-compute-remittance-disclosure.html\n**Wave:** 42\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-248-compute-remittance-disclosure.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "compute_remittance_disclosure",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-248-compute-remittance-disclosure.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 42
      }
    },
    "/v1/tools/compare_corridor_cost": {
      "post": {
        "operationId": "compare_corridor_cost",
        "summary": "Corridor Cost Comparator (World Bank RPW)",
        "description": "Benchmarks a remittance corridor total cost (fee % + FX margin %) against the World Bank Remittance Prices Worldwide (RPW) Q1 2026 snapshot for the same origin-destination pair, the SmaRT global average (6.36%), and the SDG 10.c 3% target. Reports meets_sdg_target, vs_rpw_benchmark, cost_at_200_usd, and cost_at_500_usd. For stablecoin corridor all-in economics use model_stablecoin_corridor_economics (art-250). For Reg E disclosure arithmetic use compute_remittance_disclosure (art-248). ZERO PII: corridor codes, amounts, and rates only.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-249-compare-corridor-cost.html\n**Wave:** 42\n**mandate_type:** analytics_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "analytics_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-249-compare-corridor-cost.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: analytics_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "compare_corridor_cost",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-249-compare-corridor-cost.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "analytics_mandate",
        "x-ocg-wave": 42
      }
    },
    "/v1/tools/model_stablecoin_corridor_economics": {
      "post": {
        "operationId": "model_stablecoin_corridor_economics",
        "summary": "Stablecoin Corridor Economics Model",
        "description": "Models the all-in cost of a USDC-based remittance corridor: on-ramp fee, chain gas fee, off-ramp/local-rail fee, FX spread, and pre-funding float savings vs correspondent banking. Computes gross/net cost in bps and %, savings vs traditional MTO benchmark, and break-even send amount. Rail-agnostic: parameterises the Felix/Circle/Bitso pattern but is NOT tied to a specific protocol. Disambiguates from model_x402_settlement (x402 protocol), model_tempo_payment_economics (Tempo Network), and model_arc_cpn_economics (Arc Protocol CPN). For RPW cross-corridor benchmarking use compare_corridor_cost (art-249). ZERO PII.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-250-model-stablecoin-corridor-economics.html\n**Wave:** 42\n**mandate_type:** analytics_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "analytics_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-250-model-stablecoin-corridor-economics.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: analytics_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "model_stablecoin_corridor_economics",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-250-model-stablecoin-corridor-economics.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "analytics_mandate",
        "x-ocg-wave": 42
      }
    },
    "/v1/tools/compute_parametric_trigger_payout": {
      "post": {
        "operationId": "compute_parametric_trigger_payout",
        "summary": "Parametric Trigger Payout Calculator",
        "description": "Evaluates parametric insurance triggers and computes payout amounts. Supports three trigger types: threshold (binary payout at a threshold index level), tiered (step-based payout tiers), and linear_index (proportional payout between threshold and exhaustion). Produces a tamper-evident trigger receipt suitable for anchoring at anchor.ainumbers.co/mcp as a neutral dispute artifact per IAIS ICP 19. Use in parametric-trigger-adjudication chain (gated) or cat-bond-trigger-validation chain (linear). ZERO PII: index values, thresholds, and coverage amounts only.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-251-compute-parametric-trigger-payout.html\n**Wave:** 43\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-251-compute-parametric-trigger-payout.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "compute_parametric_trigger_payout",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-251-compute-parametric-trigger-payout.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 43
      }
    },
    "/v1/tools/validate_cat_bond_trigger_terms": {
      "post": {
        "operationId": "validate_cat_bond_trigger_terms",
        "summary": "Cat Bond Trigger Terms Validator",
        "description": "Validates catastrophe bond trigger term structure and computes layer arithmetic: attachment/exhaustion point ordering, pro-rata layer penetration factor, payout amount, and layer position (BELOW_ATTACHMENT / WITHIN_LAYER / ABOVE_EXHAUSTION). Cat bonds outstanding $63.9B Q1 2026 (record $25.6B issuance 2025). Validates ISDA/IAIS trigger term constraints including attachment > 0 and exhaustion > attachment. Use in parametric-trigger-adjudication chain downstream of trigger evaluation, or standalone in cat-bond-trigger-validation chain. ZERO PII.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-252-validate-cat-bond-trigger-terms.html\n**Wave:** 43\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-252-validate-cat-bond-trigger-terms.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "validate_cat_bond_trigger_terms",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-252-validate-cat-bond-trigger-terms.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 43
      }
    },
    "/v1/tools/run_illustration_selfsupport_test": {
      "post": {
        "operationId": "run_illustration_selfsupport_test",
        "summary": "Life Illustration Self-Support Test (NAIC Model 582)",
        "description": "Runs the NAIC Model Regulation 582 §8C self-support test (year 15 and year 20 account value positive) and §8D lapse-support prohibition check for life insurance illustrations. ASOP 24 compliant. Inputs: projected account values, premium payments, cost of insurance, expense charges, credited interest, and optional lapse rates per policy year. Outputs: self_support_pass (both year-15 and year-20), lapse_support_flag, and illustration_valid. Use in life-illustration-self-support-test linear chain. ZERO PII: projected cash flows and policy mechanics only.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-253-run-illustration-selfsupport-test.html\n**Wave:** 43\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-253-run-illustration-selfsupport-test.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "run_illustration_selfsupport_test",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-253-run-illustration-selfsupport-test.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 43
      }
    },
    "/v1/tools/compute_rbc_action_level": {
      "post": {
        "operationId": "compute_rbc_action_level",
        "summary": "NAIC RBC Action Level Calculator",
        "description": "Computes NAIC Risk-Based Capital (RBC) action level classification for US P&C, life, and health insurers. RBC ratio = TAC / ACL * 100%. Action levels: NO_ACTION (>=200%), COMPANY_ACTION (150-200%), REGULATORY_ACTION (100-150%), AUTHORIZED_CONTROL (70-100%), MANDATORY_CONTROL (<70%). Also runs the NAIC trend test (10+ ppt decline two consecutive years with ratio <250%) when prior-year data supplied. Applies NAIC RBC Model Laws #312 (life), #315 (P&C), #315H (health). Use in insurer-rbc-action-level chain (gated on NO_ACTION). ZERO PII: capital totals only.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-254-compute-rbc-action-level.html\n**Wave:** 43\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-254-compute-rbc-action-level.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "compute_rbc_action_level",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-254-compute-rbc-action-level.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 43
      }
    },
    "/v1/tools/compute_lcm_rate_derivation": {
      "post": {
        "operationId": "compute_lcm_rate_derivation",
        "summary": "LCM Rate Derivation Calculator",
        "description": "Computes the Loss Cost Multiplier (LCM) and indicated insurance rate from user-supplied loss costs and expense/profit loadings. LCM = 1 / (1 - LAE% - fixed_exp% - variable_exp% - profit%). Indicated rate = loss_cost * LCM. Supports credibility-weighted blending of user's own loss costs with a complement. PROPRIETARY-DATA: this kernel performs LCM decomposition arithmetic ONLY on user-supplied loss costs -- it NEVER embeds, redistributes, or references ISO/Verisk advisory loss cost rate pages (Verisk-proprietary). ASOP 25 compliant. ZERO PII: aggregate rate components only.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-255-compute-lcm-rate-derivation.html\n**Wave:** 43\n**mandate_type:** analytics_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "analytics_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-255-compute-lcm-rate-derivation.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: analytics_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "compute_lcm_rate_derivation",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-255-compute-lcm-rate-derivation.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "analytics_mandate",
        "x-ocg-wave": 43
      }
    },
    "/v1/tools/validate_openids_homeowners_record": {
      "post": {
        "operationId": "validate_openids_homeowners_record",
        "summary": "openIDS Homeowners Record Validator",
        "description": "Validates homeowners insurance data records against the openIDS Homeowners Data Standard v1.0 (AAIS / Linux Foundation, November 2025) -- the first free open (Apache-2.0) insurance data standard. Checks required sections (policy, insured_location, coverage, premium), required fields per section, policy type (HO-1..HO-8, DP-1..DP-3), date ordering, payment plan, construction type, coverage limit positivity, and PII field detection. NOT an ACORD validator -- ACORD XML/AL3 is membership-licensed and is not referenced or reproduced here. ZERO PII: structural/field validation only.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-256-validate-openids-homeowners-record.html\n**Wave:** 43\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-256-validate-openids-homeowners-record.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "validate_openids_homeowners_record",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-256-validate-openids-homeowners-record.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 43
      }
    },
    "/v1/tools/calculate_claims_stp_economics": {
      "post": {
        "operationId": "calculate_claims_stp_economics",
        "summary": "Claims STP Economics Calculator",
        "description": "Computes the financial business case for insurance claims Straight-Through Processing (STP) automation. Models handling cost reduction from current to target STP rates, leakage delta (change in claim payment leakage from automated vs manual handling), net annual benefit, NPV over a configurable projection horizon, IRR, and per-claim cost reduction. Covers industry benchmarks from McKinsey Insurance 2024, Accenture Claims Transformation 2025, and Majesco Claims Technology Survey 2024. Use in insurer-rbc-action-level chain (downstream when capital below 200% ACL triggers corrective action). ZERO PII: aggregate portfolio metrics only.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-257-calculate-claims-stp-economics.html\n**Wave:** 43\n**mandate_type:** analytics_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "analytics_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-257-calculate-claims-stp-economics.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: analytics_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "calculate_claims_stp_economics",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-257-calculate-claims-stp-economics.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "analytics_mandate",
        "x-ocg-wave": 43
      }
    },
    "/v1/tools/parse_camt053_reconciliation": {
      "post": {
        "operationId": "parse_camt053_reconciliation",
        "summary": "ISO 20022 camt.053 Statement Reconciliation",
        "description": "Classifies ISO 20022 camt.053 BkTxCd entries by Domain, Family, and SubFamily per the CGI-MP camt.053 Usage Guide v5.0 and the ISO 20022 ExternalBankTransactionCode1Code registry 2023-03. Validates the OPBD + sum(movements) = CLBD balance equation. Scores structured-remittance match rate. Emits reconciliation_status (CLEAN / PARTIAL_MATCH / LOW_MATCH_RATE / FAILED_BALANCE), match_rate_pct, and domain_buckets[]. Used in corporate TMS straight-through reconciliation. ZERO PII: no account-holder names or identifiers enter this kernel.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-258-parse-camt053-reconciliation.html\n**Wave:** 44\n**mandate_type:** analytics_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "analytics_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-258-parse-camt053-reconciliation.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: analytics_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "parse_camt053_reconciliation",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-258-parse-camt053-reconciliation.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "analytics_mandate",
        "x-ocg-wave": 44
      }
    },
    "/v1/tools/compute_multilateral_netting": {
      "post": {
        "operationId": "compute_multilateral_netting",
        "summary": "Multilateral Cash Netting",
        "description": "Computes N-entity corporate cash netting: gross inter-company positions to net positions to minimum settlement legs using the BIS CPMI greedy matching algorithm (Net Settlement Framework 2012). Reports wire-count savings and netting_efficiency_pct. Corporate cash netting only -- NOT estimate_ficc_margin_netting (FICC US-Treasury clearing). Netting statement suitable for anchor_batch Merkle-leaf receipts. ZERO PII: aggregate entity balances only, no account-holder identifiers.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-259-compute-multilateral-netting.html\n**Wave:** 44\n**mandate_type:** analytics_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "analytics_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-259-compute-multilateral-netting.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: analytics_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "compute_multilateral_netting",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-259-compute-multilateral-netting.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "analytics_mandate",
        "x-ocg-wave": 44
      }
    },
    "/v1/tools/allocate_ihb_interest": {
      "post": {
        "operationId": "allocate_ihb_interest",
        "summary": "IHB Interest Allocation",
        "description": "Allocates overnight in-house-bank (IHB) interest across notional pool or ZBA sweep members. OECD Transfer Pricing Guidelines 2022 Chapter X arm's-length rate. Supports ACT/360, ACT/365, and 30/360 day-count conventions. Per-member withholding tax deduction. Returns per-member gross_interest, withholding_amount, net_interest, and total_interest_allocated. ZERO PII: member IDs are entity references only, no personal account-holder data.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-260-allocate-ihb-interest.html\n**Wave:** 44\n**mandate_type:** analytics_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "analytics_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-260-allocate-ihb-interest.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: analytics_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "allocate_ihb_interest",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-260-allocate-ihb-interest.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "analytics_mandate",
        "x-ocg-wave": 44
      }
    },
    "/v1/tools/test_hedge_effectiveness": {
      "post": {
        "operationId": "test_hedge_effectiveness",
        "summary": "Hedge Effectiveness Test",
        "description": "ASC 815-20-35 retrospective hedge effectiveness test. Computes dollar-offset ratio (fair-value change of hedging instrument / hedged item, must be 80-125%) and OLS R-squared regression (must be >=0.8) using pure deterministic arithmetic -- no Math.sqrt/log/pow transcendentals. RFC 3161 anchor surface for timestamped hedge designation evidence. Emits is_effective (bool), offset_ratio_pct, r_squared, and compliance_flags. ZERO PII: price series data only.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-261-test-hedge-effectiveness.html\n**Wave:** 44\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-261-test-hedge-effectiveness.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "test_hedge_effectiveness",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-261-test-hedge-effectiveness.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 44
      }
    },
    "/v1/tools/validate_ebam_acmt_flow": {
      "post": {
        "operationId": "validate_ebam_acmt_flow",
        "summary": "eBAM Account Message Flow Validation",
        "description": "Validates the CGI-MP eBAM 2023 account message state machine across acmt.007 (opening request), acmt.010 (opening confirmation), acmt.011 (closing request), acmt.017 (modification request), and acmt.019 (modification confirmation) message types. Detects orphan messages (confirmation without matching request). Determines final acmt_state (OPENING_CONFIRMED / CLOSURE_CONFIRMED / MODIFICATION_CONFIRMED / PENDING / INVALID). ZERO PII: account_reference_id is a business identifier, not personal data.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-262-validate-ebam-acmt-flow.html\n**Wave:** 44\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-262-validate-ebam-acmt-flow.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "validate_ebam_acmt_flow",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-262-validate-ebam-acmt-flow.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 44
      }
    },
    "/v1/tools/score_cash_forecast_accuracy": {
      "post": {
        "operationId": "score_cash_forecast_accuracy",
        "summary": "Cash Forecast Accuracy Scoring",
        "description": "Scores treasury cash forecast accuracy per AFP Cash Forecasting Survey 2024 benchmarks. Computes MAPE and directional bias across T+1/T+7/T+30/T+90+ horizon buckets. Detects persistent timing bias (>75% same-sign errors over >=4 observations). Returns overall_accuracy_tier (EXCELLENT <5% / GOOD 5-10% / ACCEPTABLE 10-20% / POOR >20%), by_horizon breakdown, and timing_bias_detected. ZERO PII: aggregate monetary amounts only, no account-holder identifiers.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-263-score-cash-forecast-accuracy.html\n**Wave:** 44\n**mandate_type:** analytics_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "analytics_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-263-score-cash-forecast-accuracy.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: analytics_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "score_cash_forecast_accuracy",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-263-score-cash-forecast-accuracy.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "analytics_mandate",
        "x-ocg-wave": 44
      }
    },
    "/v1/tools/validate_commission_hierarchy": {
      "post": {
        "operationId": "validate_commission_hierarchy",
        "summary": "Commission Hierarchy Validator",
        "description": "BFS structural validation of multi-level sales commission hierarchies. Detects orphan agents (unreachable from root), circular references (cycle in parent chain), split-sum violations (direct-report allocations exceeding 100% of parent), and max-depth-exceeded flag. Returns is_valid (bool), violations[], and structural metrics. Accepts agent_id, parent_id, split_pct arrays. No National Producer Numbers, SSNs, or TINs. Zero PII by construction.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-264-validate-commission-hierarchy.html\n**Wave:** 45\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-264-validate-commission-hierarchy.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "validate_commission_hierarchy",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-264-validate-commission-hierarchy.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 45
      }
    },
    "/v1/tools/amortize_asc606_commissions": {
      "post": {
        "operationId": "amortize_asc606_commissions",
        "summary": "ASC 340-40 Commission Amortization",
        "description": "Computes ASC 340-40-25-4 practical expedient (contract_term_months <= 12 -> expense immediately, apply_expedient=true) and full straight-line amortization schedules for longer-term capitalized incremental costs of obtaining a contract under ASC 606. Returns apply_expedient (bool), monthly_amortization, cumulative_amortized_pct, and remaining_book_value per commission line. Zero PII by construction.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-265-amortize-asc606-commissions.html\n**Wave:** 45\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-265-amortize-asc606-commissions.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "amortize_asc606_commissions",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-265-amortize-asc606-commissions.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 45
      }
    },
    "/v1/tools/reconcile_commission_statement": {
      "post": {
        "operationId": "reconcile_commission_statement",
        "summary": "Commission Statement Reconciler",
        "description": "Line-item reconciliation of expected vs. received commission payments per contract. Computes variance_amount and variance_pct per line. Sets has_discrepancy (bool) when any line exceeds the tolerance_pct threshold. Returns discrepancy_lines[] and summary totals. Gate signal for commission-integrity-and-amortization chain (has_discrepancy=true exits early). Zero PII by construction.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-266-reconcile-commission-statement.html\n**Wave:** 45\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-266-reconcile-commission-statement.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "reconcile_commission_statement",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-266-reconcile-commission-statement.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 45
      }
    },
    "/v1/tools/check_producer_license_reciprocity": {
      "post": {
        "operationId": "check_producer_license_reciprocity",
        "summary": "NAIC Producer License Reciprocity Check",
        "description": "Checks NAIC producer license reciprocity for non-resident filing across target states per MDL-218 and NIPR Reciprocity Matrix 2024. Returns all_reciprocal (bool), non_standard_states[] (CA, FL, NJ, NY, HI, MN, WI -- require independent filing), and coverage_by_target[] with per-state reciprocal flag, LOA gaps, and independent-filing notes. State codes and NAIC LOA enum codes only. No National Producer Numbers. Zero PII by construction.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-267-check-producer-license-reciprocity.html\n**Wave:** 45\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-267-check-producer-license-reciprocity.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "check_producer_license_reciprocity",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-267-check-producer-license-reciprocity.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 45
      }
    },
    "/v1/tools/compute_cdd_ownership_25pct": {
      "post": {
        "operationId": "compute_cdd_ownership_25pct",
        "summary": "FinCEN CDD 25% Beneficial Ownership Attribution",
        "description": "Recursive indirect natural-person beneficial ownership computation via ownership-tier multiplication. 25% threshold per FinCEN CDD Rule 31 CFR 1010.230 bank KYB customer due diligence. Returns is_beneficial_owner (bool), total_indirect_pct, and per-natural-person breakdown. Exactly 25% IS a beneficial owner (>=25 threshold). NOT the CTA/BOI domestic reporting rule (31 USC 5336) removed by FinCEN IFR 2025-03-21. For OFAC 50%-Rule sanctions aggregation see art-91-ownership-50pct-aggregator. Synthetic entity IDs only. Zero PII by construction.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-268-compute-cdd-ownership-25pct.html\n**Wave:** 45\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-268-compute-cdd-ownership-25pct.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "compute_cdd_ownership_25pct",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-268-compute-cdd-ownership-25pct.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 45
      }
    },
    "/v1/tools/validate_w8_series_structural": {
      "post": {
        "operationId": "validate_w8_series_structural",
        "summary": "W-8 Series Structural Validator",
        "description": "Validates W-8 series form structural consistency for withholding tax compliance. Checks: form-type/Chapter 3 status compatibility (FORM_CH3_MISMATCH for W-8BEN-E + Individual mismatch etc.), Chapter 3/Chapter 4 FATCA cross-check (CH3_CH4_INCONSISTENT), 3-year validity window expiring Dec 31 of third year per Treas. Reg. 1.1441-1(e)(4)(ii) (FORM_EXPIRED), and treaty dividend rate against IRS Pub 901 table (TREATY_RATE_MISMATCH). Returns is_structurally_valid, violations[], validity_expiry_date, and days_until_expiry. Structural form codes only. No TIN. Zero PII by construction.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-269-validate-w8-series-structural.html\n**Wave:** 45\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-269-validate-w8-series-structural.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "validate_w8_series_structural",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-269-validate-w8-series-structural.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 45
      }
    },
    "/v1/tools/compute_perp_funding": {
      "post": {
        "operationId": "compute_perp_funding",
        "summary": "Perp Funding and Carry Calculator",
        "description": "Computes perpetual futures funding rates, compound annual APR, and cross-venue funding differential arbitrage (Hyperliquid hourly vs Binance 8-hour cadence). Models delta-neutral carry strategies combining perp short funding with DeFi collateral yield (Ethena sUSDe). Includes basis analytics and Hyperliquid 4%/hr cap note. Not financial advice.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-270-perp-funding-carry.html\n**Wave:** 46\n**mandate_type:** analytics_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "analytics_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-270-perp-funding-carry.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: analytics_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "compute_perp_funding",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-270-perp-funding-carry.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "analytics_mandate",
        "x-ocg-wave": 46
      }
    },
    "/v1/tools/assess_defi_lending": {
      "post": {
        "operationId": "assess_defi_lending",
        "summary": "DeFi Lending Health and Liquidation Monitor",
        "description": "Computes DeFi lending health factor, liquidation price, borrow capacity, and distance to liquidation for Aave v3, Morpho Blue, Fluid, Sky (MakerDAO v2), and Liquity v2. Handles LTV mode (Aave/Morpho/Fluid) and collateral-ratio mode (Sky/Liquity). Per-protocol liquidation mechanism notes. Not financial advice.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-271-defi-lending-health.html\n**Wave:** 46\n**mandate_type:** analytics_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "analytics_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-271-defi-lending-health.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: analytics_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "assess_defi_lending",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-271-defi-lending-health.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "analytics_mandate",
        "x-ocg-wave": 46
      }
    },
    "/v1/tools/assess_restaking_risk": {
      "post": {
        "operationId": "assess_restaking_risk",
        "summary": "Restaking Delegation and Slashing Risk Analyzer",
        "description": "Models restaking delegation rewards, operator fees, AVS yield, and slashing-waterfall risk for EigenLayer and Symbiotic. Computes slashing exposure through a configurable first-loss buffer-tranche model, probability-weighted expected annual slash cost, and slashing-insurance economics. Not financial advice.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-272-restaking-risk.html\n**Wave:** 46\n**mandate_type:** analytics_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "analytics_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-272-restaking-risk.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: analytics_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "assess_restaking_risk",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-272-restaking-risk.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "analytics_mandate",
        "x-ocg-wave": 46
      }
    },
    "/v1/tools/compute_pt_yt_yield": {
      "post": {
        "operationId": "compute_pt_yt_yield",
        "summary": "Pendle Yield Tokenization Analyzer (PT/YT)",
        "description": "Decomposes Pendle Finance yield tokenization: PT implied fixed yield, YT leverage and break-even APY, PT+YT=1 invariant check, and time-to-maturity analytics. Covers Pendle/Ethena sUSDe presets. Determines whether YT is profitable at current underlying APY and by how much. Not financial advice.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-273-pendle-yield.html\n**Wave:** 46\n**mandate_type:** analytics_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "analytics_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-273-pendle-yield.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: analytics_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "compute_pt_yt_yield",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-273-pendle-yield.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "analytics_mandate",
        "x-ocg-wave": 46
      }
    },
    "/v1/tools/compile_work_mandate": {
      "post": {
        "operationId": "compile_work_mandate",
        "summary": "Work Mandate Compiler",
        "description": "Compiles a §22 Work Mandate document into a deterministic §21.4 gated-chain config. Transforms scope.tool_ids (or scope.chains) into an ordered steps[] skeleton, maps conditions into gate rules (op/value/next), and maps escalation_triggers into rules whose next routes to the reserved 'escalate' target (§22.3). All conditions and triggers must share one RFC 6901 pointer per §22.4 Rule 2; multi-pointer policies are rejected with error:'multi_pointer_gate'. Default for every gate is 'escalate'. Same mandate always produces byte-identical config (deterministic, hash-stable). Not a payment-mandate builder, not an audit-mandate tool, not an agent-OBO validator -- this compiles a policy mandate into an enforceable gated-chain config. Zero PII: structural mandate fields only.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-274-compile-work-mandate.html\n**Wave:** 47\n**mandate_type:** governance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "governance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-274-compile-work-mandate.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: governance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "compile_work_mandate",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-274-compile-work-mandate.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "governance_mandate",
        "x-ocg-wave": 47
      }
    },
    "/v1/tools/check_genius_reserve_disclosure": {
      "post": {
        "operationId": "check_genius_reserve_disclosure",
        "summary": "GENIUS Act Monthly Reserve Disclosure Checker",
        "description": "Lints an extracted monthly reserve disclosure against GENIUS Act S.394 §4: composition-category eligibility, tenor, custody locations, a dual_control(2) CEO/CFO certification gate (distinct CEO and CFO identities required, per FDIC NPR 2026-04-10 and OCG SPEC.md §27.3), registered-examiner presence, month-over-month diff, and an on-chain supply cross-check against a pasted figure. Successor to the pre-issuance precheck_reserve_attestation (art-06): that tool is the pre-issuance readiness gate, this is the recurring post-issuance monthly filing check. Never claims cryptographic verification of the source PDF.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-275-genius-reserve-disclosure-checker.html\n**Wave:** 48\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-275-genius-reserve-disclosure-checker.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "check_genius_reserve_disclosure",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-275-genius-reserve-disclosure-checker.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 48
      }
    },
    "/v1/tools/assemble_mutual_nda": {
      "post": {
        "operationId": "assemble_mutual_nda",
        "summary": "Mutual NDA Composer",
        "description": "Assembles a Common Paper Mutual NDA (Version 1.0, CC BY 4.0) from your Cover Page Key Terms: purpose, effective date, MNDA term, term of confidentiality, and governing law and jurisdiction. The Standard Terms body is vendored verbatim and never modified; only the Cover Page varies. Emits the assembled agreement plus a contract-api.json variable map twin for agent consumption. Party identity, signatures, and notice addresses stay as literal placeholder tokens for your own off-platform signing flow. Not legal advice.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-276-mutual-nda-composer.html\n**Wave:** 49\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-276-mutual-nda-composer.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "assemble_mutual_nda",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-276-mutual-nda-composer.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 49
      }
    },
    "/v1/tools/bind_agreement_acceptance": {
      "post": {
        "operationId": "bind_agreement_acceptance",
        "summary": "Agreement Acceptance Binder",
        "description": "Binds a party's acceptance to a specific assembled agreement artifact, referenced by its execution_hash, template_id, and vendored body_sha256, never by re-embedding the agreement text. Carries no party identity, only the accepting role and the referenced hashes. An OPTIONAL section-16 eddsa-jcs-2022 signature on the emitted artifact turns this into a countersignable acceptance receipt; an optional previous_proof_hash links a second party's acceptance to the first, forward-compatible with a future proof-chain endorsement. Not legal advice.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-277-agreement-acceptance-binder.html\n**Wave:** 49\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-277-agreement-acceptance-binder.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "bind_agreement_acceptance",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-277-agreement-acceptance-binder.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 49
      }
    },
    "/v1/tools/aggregate_reputation_score": {
      "post": {
        "operationId": "aggregate_reputation_score",
        "summary": "Provable Reputation Score Aggregator",
        "description": "Aggregates a set of OCG execution receipts (attestations) into a deterministic, groth16-provable reputation score across competence, integrity, timeliness, and cooperation. Exponential decay by age, self-issued attestations excluded, duplicate receipts deduped. Aggregation-math design credit: Vouch Protocol (Apache-2.0, never a runtime dependency); this is a clean-room reimplementation of the aggregation math only.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-278-reputation-score-aggregator.html\n**Wave:** 49\n**mandate_type:** attestation_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "attestation_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-278-reputation-score-aggregator.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: attestation_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "aggregate_reputation_score",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-278-reputation-score-aggregator.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "attestation_mandate",
        "x-ocg-wave": 49
      }
    },
    "/v1/tools/verify_eth_state_proof": {
      "post": {
        "operationId": "verify_eth_state_proof",
        "summary": "State-Proof Verifier",
        "description": "Verifies an EIP-1186 (eth_getProof) account and storage Merkle-Patricia-Trie proof against a caller-supplied trusted state root using a pure-JavaScript keccak-256 plus RLP decoder and bounded trie walk. Zero-egress, no RPC call. Does not verify that the state root itself belongs to a real canonical block; consensus-proof (light-client header) verification is out of scope. Persona: fund administrator or auditor confirming tokenized-MMF or deposit-token holdings without trusting an RPC provider.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-279-state-proof-verifier.html\n**Wave:** 49\n**mandate_type:** cryptographic_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "cryptographic_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-279-state-proof-verifier.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: cryptographic_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "verify_eth_state_proof",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-279-state-proof-verifier.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "cryptographic_mandate",
        "x-ocg-wave": 49
      }
    },
    "/v1/tools/verify_reserve_proof": {
      "post": {
        "operationId": "verify_reserve_proof",
        "summary": "Reserve Proof Verifier",
        "description": "Verifies a Merkle-sum Proof-of-Reserves customer-inclusion proof (OKX, Binance, Gate, Kraken export formats, or a generic canonical shape) against a declared root, and checks a Chainlink PoR / NAVLink aggregator round for staleness and deviation. Part of the Reserve Verification Family alongside check_genius_reserve_disclosure (art-275). Composes with verify_eth_state_proof (VR-1) when an on-chain storage proof is available. Records what is NOT proven: liabilities completeness, off-balance-sheet encumbrances, and point-in-time-only scope. Not a PCAOB audit.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-280-reserve-proof-verifier.html\n**Wave:** 49\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-280-reserve-proof-verifier.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "verify_reserve_proof",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-280-reserve-proof-verifier.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 49
      }
    },
    "/v1/tools/classify_sco60_exposure": {
      "post": {
        "operationId": "classify_sco60_exposure",
        "summary": "SCO60 Crypto-Asset Exposure Classifier",
        "description": "Classifies a crypto-asset position into Basel SCO60 Group 1a, 1b, 2a, or 2b (BCBS d545 Prudential treatment of cryptoasset exposures), applies the Group 1 infrastructure-risk capital add-on, and checks the Group 2 exposure limit of 1% of Tier 1 capital. National implementation timelines vary; never asserts jurisdictional adoption. NaN-safe. Zero network, zero PII.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-281-sco60-crypto-asset-exposure-classifier.html\n**Wave:** 50\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-281-sco60-crypto-asset-exposure-classifier.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "classify_sco60_exposure",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-281-sco60-crypto-asset-exposure-classifier.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 50
      }
    },
    "/v1/tools/optimize_social_security_claim_age": {
      "post": {
        "operationId": "optimize_social_security_claim_age",
        "summary": "Social Security Claiming-Age Optimizer",
        "description": "Models Social Security claiming-age tradeoffs from a claimant's own PIA/FRA statement figures: early-claim reduction and delayed-retirement-credit factors, earnings-test withholding below FRA, lifetime present value at 62/FRA/70/chosen age, and the 62-vs-70 undiscounted break-even age. Root node of the retirement-decumulation-decisions chain. No SSA API, no PII stored. NaN-safe. Zero network.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-282-social-security-claiming-optimizer.html\n**Wave:** 50\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-282-social-security-claiming-optimizer.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "optimize_social_security_claim_age",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-282-social-security-claiming-optimizer.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 50
      }
    },
    "/v1/tools/compare_pension_lump_sum_annuity": {
      "post": {
        "operationId": "compare_pension_lump_sum_annuity",
        "summary": "Pension Lump-Sum vs. Annuity Decision Engine",
        "description": "Compares a defined-benefit pension lump-sum offer against the single-life and joint-survivor annuity streams: present value at the stated discount rate with an optional labeled COLA assumption, survivor-option monthly cost, break-even discount rate, and undiscounted break-even age. Terminal node of the retirement-decumulation-decisions chain. Figures are user-supplied off the claimant's own election paperwork, no PII stored. NaN-safe. Zero network.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-283-pension-lump-sum-vs-annuity-decision-engine.html\n**Wave:** 50\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-283-pension-lump-sum-vs-annuity-decision-engine.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "compare_pension_lump_sum_annuity",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-283-pension-lump-sum-vs-annuity-decision-engine.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 50
      }
    },
    "/v1/tools/verify_did_webvh_log": {
      "post": {
        "operationId": "verify_did_webvh_log",
        "summary": "did:webvh DID Log Verifier",
        "description": "Verifies a did:webvh self-certifying DID log: per-entry self-hash integrity, sequential versionId numbering, update-key-authorized Ed25519 signatures on every entry, deactivation status, and optional resolved-document match. did:webs is superseded by did:webvh (DIF/ToIP, June 2026). Verify-only: never operates witness/registry infrastructure, never resolves a live document over the network.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-284-did-webvh-log-verifier.html\n**Wave:** 50\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-284-did-webvh-log-verifier.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "verify_did_webvh_log",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-284-did-webvh-log-verifier.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 50
      }
    },
    "/v1/tools/verify_acdc_delegation_chain": {
      "post": {
        "operationId": "verify_acdc_delegation_chain",
        "summary": "ACDC Delegation Chain Verifier",
        "description": "Verifies a chain of Authentic Chained Data Containers (ACDC): per-credential SAID self-addressing integrity, issuer-to-issuee edge linkage between successive credentials, schema SAID match, termination at a stated root AID, and revocation-status passthrough (report, never resolve). KERI/ACDC/CESR ratified by the Trust over IP Foundation, January 2026. Verify-only; JSON-serialized ACDCs only, CESR binary streams not yet accepted.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-285-acdc-delegation-chain-verifier.html\n**Wave:** 50\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-285-acdc-delegation-chain-verifier.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "verify_acdc_delegation_chain",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-285-acdc-delegation-chain-verifier.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 50
      }
    },
    "/v1/tools/verify_anchored_extract": {
      "post": {
        "operationId": "verify_anchored_extract",
        "summary": "Anchored Extract Verifier",
        "description": "Verifies an extract's Merkle inclusion against a root only when that root is anchored by a recognized source: a recognized OCG artifact/chain envelope, or an external anchor (RFC 3161 timestamp, OpenTimestamps, Sigstore transparency log, or an on-chain commitment composed via verify_eth_state_proof, VR-1). Explicitly refuses (anchored:false) a self-produced root with no recognized anchor class; the universal self-produced hash-chain explorer stays dead. Not-X-use-Y: use art-280 (verify_reserve_proof) for Merkle-SUM Proof-of-Reserves inclusion specifically; this kernel verifies plain (non-sum) Merkle inclusion for any anchored extract.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-286-anchored-extract-verifier.html\n**Wave:** 51\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-286-anchored-extract-verifier.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "verify_anchored_extract",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-286-anchored-extract-verifier.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 51
      }
    },
    "/v1/tools/verify_revocation_status": {
      "post": {
        "operationId": "verify_revocation_status",
        "summary": "Revocation-Status Verifier",
        "description": "Checks a receipt's optional W3C BitstringStatusList credentialStatus reference and reads the revocation bit at statusListIndex from a supplied, zero-egress status list credential. A set bit means revoked, and revocation overrides the receipt's own signature validity even when that signature is cryptographically valid. Absence of a credentialStatus reference is its own no-signal state, never treated as evidence of active status. Not-X-use-Y: this kernel checks revocation status only, it does not verify the underlying §16 signature itself.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-287-revocation-status-verifier.html\n**Wave:** 52\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-287-revocation-status-verifier.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "verify_revocation_status",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-287-revocation-status-verifier.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 52
      }
    },
    "/v1/tools/map_iso20022_to_evm_calldata": {
      "post": {
        "operationId": "map_iso20022_to_evm_calldata",
        "summary": "ISO 20022-to-EVM Calldata Mapper",
        "description": "Deterministic bind of an ISO 20022 pacs.008 (customer credit transfer) or pacs.009 (FI credit transfer) payment message to EVM contract-call arguments, plus an OCG receipt of the mapping: resolved call, field bindings, unmapped required fields, and ABI type coercions. Draft-pinned generic ISO-20022-to-EVM profile: Swift blockchain-based shared ledger MVP (Besu/EVM-compatible, live 2026-07-09) has not published a field-binding table or a fixed contract ABI shape. Never queries a chain or RPC.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-288-map-iso20022-to-evm-calldata.html\n**Wave:** 53\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-288-map-iso20022-to-evm-calldata.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "map_iso20022_to_evm_calldata",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-288-map-iso20022-to-evm-calldata.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 53
      }
    },
    "/v1/tools/lint_besu_settlement_contract": {
      "post": {
        "operationId": "lint_besu_settlement_contract",
        "summary": "Besu Settlement Contract Linter",
        "description": "Static conformance lint of a permissioned-EVM settlement contract (Solidity source or ABI) against six invariants: atomic PvP/DvP (paired-or-revert), no native-token/msg.value settlement dependence, a finality-hook/settlement event, a compliance-gate modifier preceding every value transfer, bounded participant-set loops, and upgradeability disclosure. Lightweight in-browser parse only, never solc, never a network call. v1 scope is source + ABI; bytecode/opcode heuristics are deferred. Not a security audit.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-289-lint-besu-settlement-contract.html\n**Wave:** 53\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-289-lint-besu-settlement-contract.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "lint_besu_settlement_contract",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-289-lint-besu-settlement-contract.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 53
      }
    },
    "/v1/tools/check_linea_l2_finality_window": {
      "post": {
        "operationId": "check_linea_l2_finality_window",
        "summary": "Linea L2 Finality Window Classifier",
        "description": "Classifies a tokenized-deposit transfer’s finality risk given L2-batch to L1-settlement timing: soft (unsubmitted), batched (submitted, not yet final), or l1_final tier, reorg-window risk, and a safe-to-release verdict against a corridor policy cutoff. Fills the L2 gap classify_settlement_asset_finality does not cover. Classifies supplied state only, never observes the chain or an RPC. Draft-pinned generic optimistic/batched L2 model; Linea-specific published finality windows were not found at STEP-0 re-verify (2026-07-13). Not check_cash_leg_finality or classify_settlement_asset_finality.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-290-check-linea-l2-finality-window.html\n**Wave:** 53\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-290-check-linea-l2-finality-window.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "check_linea_l2_finality_window",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-290-check-linea-l2-finality-window.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 53
      }
    },
    "/v1/tools/screen_onledger_transfer_batch": {
      "post": {
        "operationId": "screen_onledger_transfer_batch",
        "summary": "On-Ledger Transfer Batch Screen",
        "description": "Batch-level pre-commit sanctions and purpose-code screen for a shared-ledger transfer batch, modeled on the shipped screen_tip20_transfer_batch pattern: per-transfer status, screening-list hits, purpose-code validity, a batch-clean verdict, and coverage gaps. Reuses the same purpose-code enum and screening-hit shape as check_purpose_code_requirement / check_screening_list_coverage rather than duplicating their logic. Zero-network; screens against supplied flagged-name lists only.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-291-screen-onledger-transfer-batch.html\n**Wave:** 53\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-291-screen-onledger-transfer-batch.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "screen_onledger_transfer_batch",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-291-screen-onledger-transfer-batch.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 53
      }
    },
    "/v1/tools/lint_settlement_orchestrator_conformance": {
      "post": {
        "operationId": "lint_settlement_orchestrator_conformance",
        "summary": "Settlement Orchestrator Attestation",
        "description": "Extends the lint_mcp_server_conformance (art-33) self-reported conformance lint to the settlement decision path: checks the off-chain orchestrator deciding commit/halt on a shared-ledger orchestration layer, never the ledger itself. Four-domain check (manifest lint, decision-policy reference, kernel-binding audit, transport audit) into a composite ship-readiness grade, binding the decision policy and invoked kernels to an execution-receipt chain. This is an unsigned lint result, not a signed attestation. audit_signature.signatures is empty by design, as it is on every unsigned OpenChainGraph node. Formerly named attest_settlement_orchestrator; that name remains accepted permanently.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-292-attest-settlement-orchestrator.html\n**Wave:** 53\n**mandate_type:** infrastructure_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "infrastructure_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-292-attest-settlement-orchestrator.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: infrastructure_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "lint_settlement_orchestrator_conformance",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-292-attest-settlement-orchestrator.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "infrastructure_mandate",
        "x-ocg-wave": 53
      }
    },
    "/v1/tools/validate_einvoice_format": {
      "post": {
        "operationId": "validate_einvoice_format",
        "summary": "E-Invoice Format Validator",
        "description": "Conformance-validate a structured e-invoice extract against version-pinned Factur-X, XRechnung, PINT-AE, MyInvois, Peppol BIS 3.0/EN 16931 core (Belgium), or KSeF FA(3) (Poland) format rules: mandatory-field presence, currency/VAT-category codelist membership, line-item cardinality. Returns per-rule findings, missing_fields, and structural_completeness. Root node of the einvoice-validation-pipeline chain. Zero network, zero PII. Not a legal-validity determination.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-293-einvoice-format-validator.html\n**Wave:** 46\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-293-einvoice-format-validator.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "validate_einvoice_format",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-293-einvoice-format-validator.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 46
      }
    },
    "/v1/tools/verify_einvoice_vat_calc": {
      "post": {
        "operationId": "verify_einvoice_vat_calc",
        "summary": "E-Invoice VAT Calculation Verifier",
        "description": "Recompute an e-invoice's line VAT, per-category tax subtotals, tax total, and grand total from its line items under a supplied rounding convention, then compare against the document-asserted amounts. Reverse-charge and zero-rate categories are treated as zero VAT. Verifies arithmetic consistency only, not statutory rate correctness. Middle node of the einvoice-validation-pipeline chain. Zero network, zero PII.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-294-einvoice-vat-calc-verifier.html\n**Wave:** 46\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-294-einvoice-vat-calc-verifier.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "verify_einvoice_vat_calc",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-294-einvoice-vat-calc-verifier.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 46
      }
    },
    "/v1/tools/route_einvoice_jurisdiction_mandate": {
      "post": {
        "operationId": "route_einvoice_jurisdiction_mandate",
        "summary": "E-Invoice Jurisdiction Mandate Router",
        "description": "Deterministic lookup over a version-pinned mandate table: given supplier/buyer country, transaction type, and transaction date, routes to the applicable e-invoicing regime, format, phase status, and transmission channel. Covers France (PDP, B2B receive obligation live 2026-09-01), Germany (XRechnung), UAE (PINT-AE pilot), Malaysia (MyInvois), Belgium (Peppol BIS 3.0, mandatory since 2026-01-01), and Poland (KSeF FA(3), mandatory-use phase-in from 2026-02-01). Third node of the einvoice-validation-pipeline chain. Zero network, zero PII.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-295-einvoice-jurisdiction-mandate-router.html\n**Wave:** 46\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-295-einvoice-jurisdiction-mandate-router.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "route_einvoice_jurisdiction_mandate",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-295-einvoice-jurisdiction-mandate-router.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 46
      }
    },
    "/v1/tools/build_einvoice_transmission_receipt": {
      "post": {
        "operationId": "build_einvoice_transmission_receipt",
        "summary": "E-Invoice Transmission Receipt Builder",
        "description": "Build a hash-anchored receipt proving a specific e-invoice's transmitted bytes were format-validated and VAT-arithmetic-checked, with the routed mandate attached. Binds to the as-transmitted document digest (and, for hybrid Factur-X, the embedded XML digest separately). Proves validation was run; never certifies tax compliance, legal validity, or clearance-platform acceptance. Carries SPEC.md §27 pre-transmission gate wiring (review_required release gate, emergency_override for a rejected batch) -- schema-only, enforcement pending HA-RETRO-1. Terminal node of the einvoice-validation-pipeline chain. Zero network, zero PII.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-296-einvoice-transmission-receipt-builder.html\n**Wave:** 46\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-296-einvoice-transmission-receipt-builder.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "build_einvoice_transmission_receipt",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-296-einvoice-transmission-receipt-builder.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 46
      }
    },
    "/v1/tools/lint_compelling_evidence_ce30_agentic": {
      "post": {
        "operationId": "lint_compelling_evidence_ce30_agentic",
        "summary": "Agentic Dispute CE3.0 Evidence Linter",
        "description": "Deterministic lint of a supplied agentic-dispute evidence bundle against Visa CE3.0 compelling-evidence requirements, agentic-transaction profile: authorization-at-delegation (AP2 mandate), agent-identity (TAP signature + agentic token), fulfillment (delivery proof), plus the CE3.0 prior-transaction linkage test. Verify-side evidence assembly only -- never a win/loss prediction or a claim of Visa/Mastercard acceptance. Terminal node of the assemble-agent-dispute-evidence chain. Zero network, zero PII.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-297-agentic-dispute-ce30-linter.html\n**Wave:** 47\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-297-agentic-dispute-ce30-linter.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "lint_compelling_evidence_ce30_agentic",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-297-agentic-dispute-ce30-linter.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 47
      }
    },
    "/v1/tools/compute_aca_affordability_safe_harbor": {
      "post": {
        "operationId": "compute_aca_affordability_safe_harbor",
        "summary": "ACA Affordability Safe-Harbor Calculator",
        "description": "Compute the ACA employer-mandate affordability percentage under each of the three IRC 4980H(a)(1)(B) safe harbors (W-2 wages, rate-of-pay, federal poverty line) against a supplied lowest-cost self-only monthly premium, using the version-pinned 2026 affordability threshold (9.96%, IRS Rev. Proc. 2025-25). Returns per-harbor affordability verdicts and which harbor(s) the offer satisfies. Root node of the aca-226j-response-composer chain. Not tax or legal advice -- calculation evidence only. Zero network, zero PII.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-298-aca-affordability-safe-harbor.html\n**Wave:** 48\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-298-aca-affordability-safe-harbor.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "compute_aca_affordability_safe_harbor",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-298-aca-affordability-safe-harbor.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 48
      }
    },
    "/v1/tools/compute_esrp_exposure": {
      "post": {
        "operationId": "compute_esrp_exposure",
        "summary": "ACA Employer Shared Responsibility Payment Exposure Calculator",
        "description": "Compute proposed IRC 4980H(a) (\"no offer to 95%\") and 4980H(b) (\"unaffordable / not minimum value\") Employer Shared Responsibility Payment exposure from supplied full-time-employee counts, minimum-essential-coverage offer counts, and PTC-triggering employee counts, using the version-pinned 2026 per-employee penalty amounts ($3,340 (a) / $5,010 (b) annual, IRS Rev. Proc. 2025-26). Returns the controlling penalty and monthly breakdown. Exposure math only, not a determination that an assessment is owed. Feeds the terminal aca-226j-response-composer receipt. Zero network, zero PII.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-299-aca-esrp-exposure.html\n**Wave:** 48\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-299-aca-esrp-exposure.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "compute_esrp_exposure",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-299-aca-esrp-exposure.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 48
      }
    },
    "/v1/tools/build_226j_response_evidence_pack": {
      "post": {
        "operationId": "build_226j_response_evidence_pack",
        "summary": "226J Response Evidence Pack Builder",
        "description": "Terminal node of the aca-226j-response-composer chain: assembles a replayable evidence pack responding to an IRS Letter 226J proposed Employer Shared Responsibility Payment assessment. Recomputes the affordability and exposure position against the IRS-asserted figure, computes the response-window deadline from the supplied letter date, and records a named-HR/benefits-officer attestation closure (mirrors the shipped ML-2 escalation-closure pattern). Not a guarantee of abatement -- this is the employer's replayable dispute evidence, never a determination of liability. Zero network, zero PII.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-300-aca-226j-response-evidence-pack.html\n**Wave:** 48\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-300-aca-226j-response-evidence-pack.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "build_226j_response_evidence_pack",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-300-aca-226j-response-evidence-pack.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 48
      }
    },
    "/v1/tools/run_section125_ndt": {
      "post": {
        "operationId": "run_section125_ndt",
        "summary": "§125 Cafeteria Plan Nondiscrimination Tester",
        "description": "Runs the §125 cafeteria-plan nondiscrimination tests from supplied aggregate participant counts: an eligibility-ratio test and a contributions-and-benefits ratio test (§410(b)-style ratio-percentage analogy -- IRS has never finalized regs under §125(g)(3), DRAFT pending final rules), and the statutory key-employee 25% concentration limit (IRC §125(b)(2), fixed). Returns per-test pass/fail and the concentration ratio. Not a plan-qualification opinion -- verify-side employer-evidence assembly only. Zero network, zero PII.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-301-section125-ndt.html\n**Wave:** 48\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-301-section125-ndt.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "run_section125_ndt",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-301-section125-ndt.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 48
      }
    },
    "/v1/tools/run_401k_adp_acp_test": {
      "post": {
        "operationId": "run_401k_adp_acp_test",
        "summary": "401(k) ADP/ACP Nondiscrimination Tester",
        "description": "Runs the IRC §401(k)(3) Actual Deferral Percentage test and the §401(m)(2) Actual Contribution Percentage test from supplied HCE vs NHCE deferral/match percentages (current-year or prior-year method), applying the fixed statutory permitted-disparity limits (1.25x, or 2 percentage points and 2x, whichever is greater). ACP is optional. Returns per-test pass/fail and the percentage-point excess if failed -- a simplified excess figure, not a full leveling-method dollar correction schedule. Zero network, zero PII.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-302-401k-adp-acp-test.html\n**Wave:** 48\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-302-401k-adp-acp-test.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "run_401k_adp_acp_test",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-302-401k-adp-acp-test.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 48
      }
    },
    "/v1/tools/lint_aiuc1_control_evidence": {
      "post": {
        "operationId": "lint_aiuc1_control_evidence",
        "summary": "AIUC-1 Control Evidence Linter",
        "description": "Lints a supplied control-evidence bundle against the 23 automatable AIUC-1 v2026-Q1 controls (pillars A-F): version-guards the catalog, classifies each automatable control receipt-backed, attestation-only, or missing, and reports per-pillar and overall coverage. The ~26 procedural AIUC-1 controls are structurally out of automatable scope and are reported as such, never claimed covered. Asserts the supplied evidence replays to this coverage score; never that any control is certified, and never an AIUC/underwriter endorsement. Not the same as an underwriting decision or a policy-selling tool. Zero network, zero PII.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-303-aiuc1-control-evidence-linter.html\n**Wave:** 54\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-303-aiuc1-control-evidence-linter.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "lint_aiuc1_control_evidence",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-303-aiuc1-control-evidence-linter.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 54
      }
    },
    "/v1/tools/assemble_aiuc1_evidence_pack": {
      "post": {
        "operationId": "assemble_aiuc1_evidence_pack",
        "summary": "AIUC-1 Evidence Pack Assembler",
        "description": "Assembles a signed, AIUC-1 control-keyed evidence pack from execution receipts, escalation closures, and work mandates: binds each mapped control to its resolved artifact digests, computes pack_claim_strength as the honest minimum across bound controls, and exports an OSCAL Assessment Results document (arXiv:2604.13767 AI-evidence property-extension mapping, cited not vendored) plus an optional cadence attestation referencing the shipped aggregate_execution_receipts kernel. Verify-side evidence assembly only; never asserts these controls are certified or that any underwriter accepts the pack. Zero network, zero PII.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-304-aiuc1-evidence-pack-assembler.html\n**Wave:** 54\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-304-aiuc1-evidence-pack-assembler.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "assemble_aiuc1_evidence_pack",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-304-aiuc1-evidence-pack-assembler.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 54
      }
    },
    "/v1/tools/lint_insurance_evidence_freshness": {
      "post": {
        "operationId": "lint_insurance_evidence_freshness",
        "summary": "AIUC-1 Evidence Freshness Lint",
        "description": "Freshness lint keyed to the AIUC-1 quarterly re-test cadence: flags any control whose newest receipt is more than 90 days old and computes cert_expiry (cert_anniversary plus 12 months) with cert_expired / cert_expiring_within_days flags. Pure civil-calendar day-count arithmetic, never a Date object, so the verdict is byte-identical across browser, server, and zkVM guest. Freshness/expiry flags only, never a certification claim. Zero network, zero PII.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-305-aiuc1-evidence-freshness-lint.html\n**Wave:** 54\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-305-aiuc1-evidence-freshness-lint.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "lint_insurance_evidence_freshness",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-305-aiuc1-evidence-freshness-lint.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 54
      }
    },
    "/v1/tools/score_agent_insurability_evidence": {
      "post": {
        "operationId": "score_agent_insurability_evidence",
        "summary": "Agent Insurability Evidence Scorer",
        "description": "Scores an agent execution evidence bundle for underwriter-facing evidence completeness across four dimensions (determinism, replayability, oversight density, dispute history) using a version-pinned rubric selected by underwriter_profile: aiuc, aisure (Munich Re aiSure evidence-doc list), armilla (KPI-warranty dimensions), or generic (equal-weight union). Optional incident_history (shared incident_record schema) and reputation inputs are supported; self-asserted reputation is recorded but zero-weighted in the composite. This scores evidence completeness only, never an insurability decision, a reserve attestation, or an insurable/not-insurable verdict -- selling or underwriting insurance is out of scope. Zero network, zero PII.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-306-agent-insurability-evidence-scorer.html\n**Wave:** 54\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-306-agent-insurability-evidence-scorer.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "score_agent_insurability_evidence",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-306-agent-insurability-evidence-scorer.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 54
      }
    },
    "/v1/tools/build_claim_dispute_bundle": {
      "post": {
        "operationId": "build_claim_dispute_bundle",
        "summary": "Claim Dispute Bundle Builder",
        "description": "Assembles a two-sided replay-challenge dossier for a disputed execution_claim: binds the claim digest and challenge to replay instructions and receipt digests, and, when a warranty_kpi_breach input is supplied (matching both Armilla Guaranteed and Munich Re aiSure settlement shapes), computes measured-vs-threshold from the supplied receipts and records breach or no-breach as a replayable claim. Never a settlement decision -- the bundle serves both the underwriter and the insured party reviewing the same replay instructions. Zero network, zero PII.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-307-claim-dispute-bundle-builder.html\n**Wave:** 54\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-307-claim-dispute-bundle-builder.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "build_claim_dispute_bundle",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-307-claim-dispute-bundle-builder.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 54
      }
    },
    "/v1/tools/build_pld_disclosure_pack": {
      "post": {
        "operationId": "build_pld_disclosure_pack",
        "summary": "PLD Disclosure Pack Builder",
        "description": "Assembles a disclosure/rebuttal pack for a disputed window under EU Product Liability Directive 2024/2853 (transposes 2026-12-09; AI is a \"product\"; non-disclosure or an AI Act breach triggers a rebuttable presumption of defectiveness). Collects the receipt set for the disputed window into a hash-anchored trace with replay instructions and a defectiveness-rebuttal mapping (which receipts rebut which presumption trigger: non-disclosure vs AI-Act-breach), flagging any gap in window coverage. Asserts the inputs replay to this trace; never a legal conclusion of non-defectiveness. AILD is confirmed withdrawn (Oct 2025); PLD is the only surviving EU frame this maps to. Zero network, zero PII.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-308-pld-disclosure-pack-builder.html\n**Wave:** 54\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-308-pld-disclosure-pack-builder.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "build_pld_disclosure_pack",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-308-pld-disclosure-pack-builder.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 54
      }
    },
    "/v1/tools/derive_parametric_index_from_receipts": {
      "post": {
        "operationId": "derive_parametric_index_from_receipts",
        "summary": "Parametric Index Deriver",
        "description": "Deterministically aggregates a named metric (mean, sum, count, max, or min) across a receipt set into a parametric index value: receipts as an oracle replacement, replay-on-challenge instead of trust-the-feed. Feeds the shipped compute_parametric_trigger_payout kernel, which performs the actual trigger-vs-payout math; this kernel never reimplements that logic. The index is a replayable derived value, never a settlement trigger by itself. Not the same as check_agency_eligibility_matrix or any lending eligibility tool -- this is an insurance-evidence parametric index. Zero network, zero PII.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-309-parametric-index-deriver.html\n**Wave:** 54\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-309-parametric-index-deriver.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "derive_parametric_index_from_receipts",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-309-parametric-index-deriver.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 54
      }
    },
    "/v1/tools/assess_traiga_exposure": {
      "post": {
        "operationId": "assess_traiga_exposure",
        "summary": "TRAIGA Exposure Assessor",
        "description": "Assesses supplied Texas AI-deployment attributes and intentional-use assertions against the Texas Responsible AI Governance Act (TRAIGA, HB 149, eff. 2026-01-01): applicability flag plus prohibited-use-category matches (intentional self-harm/violence/illegal-activity incitement, intentional unlawful discrimination, illegal sexual content, child impersonation). Asserts the supplied inputs replay to this exposure finding, never that a violation has legally occurred (TRAIGA's intent standard is a separate legal determination this kernel does not make). Root node of the traiga-safe-harbor chain. Not the same as the EU AI Act or Colorado high-risk classifiers. Zero network, zero PII.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-313-traiga-exposure-assessor.html\n**Wave:** 55\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-313-traiga-exposure-assessor.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "assess_traiga_exposure",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-313-traiga-exposure-assessor.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 55
      }
    },
    "/v1/tools/build_traiga_safe_harbor_pack": {
      "post": {
        "operationId": "build_traiga_safe_harbor_pack",
        "summary": "TRAIGA Safe Harbor Pack Builder",
        "description": "Assembles a supplied NIST AI RMF function-mapping result (map_nist_ai_rmf_functions) and TRAIGA exposure-assessment result into an affirmative-defense evidence bundle under Tex. Bus. & Com. Code §553.106: eligible only when the RMF coverage band is Substantial or Comprehensive AND no prohibited use was detected upstream. Framed as evidence toward the statutory affirmative defense, never a guarantee the defense succeeds -- that determination belongs to a court or the Texas Attorney General. Terminal node of the traiga-safe-harbor chain. Zero network, zero PII.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-314-traiga-safe-harbor-pack-builder.html\n**Wave:** 55\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-314-traiga-safe-harbor-pack-builder.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "build_traiga_safe_harbor_pack",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-314-traiga-safe-harbor-pack-builder.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 55
      }
    },
    "/v1/tools/lint_ab2013_training_data_disclosure": {
      "post": {
        "operationId": "lint_ab2013_training_data_disclosure",
        "summary": "AB 2013 Training Data Disclosure Linter",
        "description": "Lints a supplied generative-AI training-data disclosure against the 12 datapoint categories required by California AB 2013 (Cal. Bus. & Prof. Code §22757.7, eff. 2026-01-01): dataset sources/owners, purpose alignment, datapoint counts and types, IP status, licensing, personal/aggregate-consumer-information inclusion, cleaning/processing description, synthetic-data use, and collection time period/dates. Per-datapoint present/missing findings; DRAFT-PINNED against secondary-source statute summaries, not a primary-text re-read. Asserts the supplied disclosure replays to this coverage finding, never that the developer is AB 2013 compliant or that this is legal advice. Root node of the ca-genai-disclosure chain. Zero network, zero PII.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-315-ab2013-training-data-disclosure-linter.html\n**Wave:** 55\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-315-ab2013-training-data-disclosure-linter.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "lint_ab2013_training_data_disclosure",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-315-ab2013-training-data-disclosure-linter.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 55
      }
    },
    "/v1/tools/check_sb53_frontier_scope": {
      "post": {
        "operationId": "check_sb53_frontier_scope",
        "summary": "SB 53 Frontier Scope Checker",
        "description": "Routes supplied model compute (FLOPs, as a decimal string above the 2^53 safe-integer range) and developer annual revenue through the California SB 53 Transparency in Frontier Artificial Intelligence Act (eff. 2026-01-01) scope thresholds: 10^26 FLOP frontier-model bar and $500M large-frontier-developer revenue bar. Returns in-scope flags and the triggered obligation set (transparency report, catastrophic-risk-assessment summary, and for large frontier developers the safety-framework publication, annual update, incident reporting, and whistleblower-channel obligations). Asserts a scope/obligation finding only, never that those obligations have been fulfilled. Standalone -- deliberately not folded into the CAIA/TRAIGA/AB2013 chains (narrow frontier-lab audience). Zero network, zero PII.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-316-sb53-frontier-scope-checker.html\n**Wave:** 55\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-316-sb53-frontier-scope-checker.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "check_sb53_frontier_scope",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-316-sb53-frontier-scope-checker.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 55
      }
    },
    "/v1/tools/reconcile_erc8056_multiplier": {
      "post": {
        "operationId": "reconcile_erc8056_multiplier",
        "summary": "ERC-8056 Multiplier Reconciler",
        "description": "Reconciles Robinhood Chain stock-token corporate actions against the ERC-8056 scaled UI amount surface. Stock tokens never rebase; splits and dividends land as a uiMultiplier() change plus a UIMultiplierUpdated event while raw balanceOf stays static until redemption. Checks declared corporate-action ratio against the multiplier transition, monotonic event sequencing, and raw-balance invariance. First tooling anywhere for ERC-8056 reconciliation. Zero network, zero PII.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-317-rhc-multiplier-reconciler.html\n**Wave:** 56\n**mandate_type:** collateral_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "collateral_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-317-rhc-multiplier-reconciler.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: collateral_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "reconcile_erc8056_multiplier",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-317-rhc-multiplier-reconciler.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "collateral_mandate",
        "x-ocg-wave": 56
      }
    },
    "/v1/tools/map_robinhood_chain_regime": {
      "post": {
        "operationId": "map_robinhood_chain_regime",
        "summary": "Financial-Instrument Regime Mapper",
        "description": "Maps the regulatory regime implied by a pasted Robinhood Chain stock-token characterization. The tokens are tokenized debt securities issued by Robinhood Assets (Jersey) Limited, which puts them inside the MiCA Article 2(4)(a) financial-instrument carve-out, the inverse of the MiCA/GENIUS crypto-asset regime that applies to Tempo and Arc. Flags MiFID II transferable-security classification, prospectus exposure, the no-US-persons gate, and SPV voting-rights disclosure. Never asserts a legal conclusion, only the regime the given characterization implies. Zero network, zero PII.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-318-rhc-regime-mapper.html\n**Wave:** 56\n**mandate_type:** crypto_regulatory_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "crypto_regulatory_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-318-rhc-regime-mapper.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: crypto_regulatory_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "map_robinhood_chain_regime",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-318-rhc-regime-mapper.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "crypto_regulatory_mandate",
        "x-ocg-wave": 56
      }
    },
    "/v1/tools/lint_stock_token_valuation": {
      "post": {
        "operationId": "lint_stock_token_valuation",
        "summary": "Valuation Double-Count / Decimal Linter",
        "description": "Lints Robinhood Chain stock-token USD valuation expressions for the double-count bug: the Chainlink price feed already includes corporate actions, so multiplying raw balance by price and then by uiMultiplier applies the same corporate action twice. Compares the tested valuation against the correct expression and flags the double-count when present, with the corrected formula returned. High hit-rate node for any developer writing a valuation path against 18-decimal stock tokens and an 8-decimal feed. Zero network, zero PII.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-319-rhc-valuation-linter.html\n**Wave:** 56\n**mandate_type:** collateral_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "collateral_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-319-rhc-valuation-linter.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: collateral_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "lint_stock_token_valuation",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-319-rhc-valuation-linter.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "collateral_mandate",
        "x-ocg-wave": 56
      }
    },
    "/v1/tools/compute_stock_token_collateral_haircut": {
      "post": {
        "operationId": "compute_stock_token_collateral_haircut",
        "summary": "Halt + Staleness Collateral Haircut",
        "description": "Layers a feed-staleness, sequencer-downtime, and underlying-halt haircut on top of a base repo haircut for Robinhood Chain stock tokens posted as collateral. 46 percent of first-week stock-token transfers settled outside NYSE hours, and the docs name Chainlink staleness checks plus Arbitrum sequencer-uptime validation as required practice. Downstream of check_tokenized_collateral_eligibility and calculate_repo_haircut in the collateral-haircut chain. Returns a liquidation-risk classification: normal, elevated, or blocked. Zero network, zero PII.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-320-rhc-collateral-haircut.html\n**Wave:** 56\n**mandate_type:** collateral_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "collateral_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-320-rhc-collateral-haircut.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: collateral_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "compute_stock_token_collateral_haircut",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-320-rhc-collateral-haircut.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "collateral_mandate",
        "x-ocg-wave": 56
      }
    },
    "/v1/tools/classify_bold_challenge_finality": {
      "post": {
        "operationId": "classify_bold_challenge_finality",
        "summary": "BoLD Challenge-Window Finality Classifier",
        "description": "Classifies a settlement-finality claim on Robinhood Chain, an Arbitrum Orbit dedicated blockchain using BoLD interactive fraud proofs, into soft, posted, challengeable, or final. Onchain settlement inside the roughly week-long BoLD challenge window is optimistic, not final, and a claim asserting final finality inside that window is flagged as overstated. Downstream of classify_settlement_asset_finality in the finality-classification chain; follows the check_linea_l2_finality_window shape as a precedent only, since the proof system differs. Zero network, zero PII.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-321-rhc-bold-finality-classifier.html\n**Wave:** 56\n**mandate_type:** settlement_finality_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "settlement_finality_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-321-rhc-bold-finality-classifier.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: settlement_finality_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "classify_bold_challenge_finality",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-321-rhc-bold-finality-classifier.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "settlement_finality_mandate",
        "x-ocg-wave": 56
      }
    },
    "/v1/tools/stress_test_ap_redemption_path": {
      "post": {
        "operationId": "stress_test_ap_redemption_path",
        "summary": "AP Concentration + Redemption-Path Stress",
        "description": "Stress-tests the one-token-equals-one-share economic-exposure claim for Robinhood Chain stock tokens against actual redemption reachability. BBVI is the sole Authorised Participant at issuance; only Authorised Participants may subscribe or redeem directly from Robinhood Assets (Jersey) Limited after KYB, everyone else is secondary-market-only. Enumerates AP concentration, premium/discount exposure if the sole AP stops market-making, and issuer-credit exposure distinct from the underlying equity. Verify-only; never recommends a position. Zero network, zero PII.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-322-rhc-ap-redemption-stress.html\n**Wave:** 56\n**mandate_type:** collateral_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "collateral_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-322-rhc-ap-redemption-stress.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: collateral_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "stress_test_ap_redemption_path",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-322-rhc-ap-redemption-stress.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "collateral_mandate",
        "x-ocg-wave": 56
      }
    },
    "/v1/tools/run_robinhood_chain_fit_diagnostic": {
      "post": {
        "operationId": "run_robinhood_chain_fit_diagnostic",
        "summary": "Robinhood Chain Fit Diagnostic",
        "description": "12-question A-F diagnostic grading a firm's Robinhood Chain adoption fit across four paths: stock-token application, collateral/lending venue, index/basket product, and agent-settlement automation. Routes to the reconciliation, regime-mapping, valuation-lint, collateral-haircut, BoLD-finality, and AP-redemption-stress workflows. Deliberately does not reuse the MiCA/GENIUS question set from the Tempo and Arc diagnostics, since Robinhood Chain stock tokens sit in the opposite regulatory carve-out. Zero network, zero PII.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-323-rhc-fit-diagnostic.html\n**Wave:** 56\n**mandate_type:** agent_guardrail_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "agent_guardrail_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-323-rhc-fit-diagnostic.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: agent_guardrail_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "run_robinhood_chain_fit_diagnostic",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-323-rhc-fit-diagnostic.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "agent_guardrail_mandate",
        "x-ocg-wave": 56
      }
    },
    "/v1/tools/compute_npv": {
      "post": {
        "operationId": "compute_npv",
        "summary": "Net Present Value (NPV)",
        "description": "Net present value of a cash flow series, discounted at a declared periodic rate. Accepts either caller-supplied period offsets or dated cash flows converted to years under a declared day-count convention (30/360, ACT/360, ACT/365, or a simplified ACT/ACT). Deterministic pow via Taylor-series exp/ln, no engine transcendentals. Foundation primitive for downstream valuation and lease/loan analytics.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-324-tvm-npv.html\n**Wave:** 57\n**mandate_type:** analytics_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "analytics_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-324-tvm-npv.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: analytics_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "compute_npv",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-324-tvm-npv.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "analytics_mandate",
        "x-ocg-wave": 57
      }
    },
    "/v1/tools/compute_irr": {
      "post": {
        "operationId": "compute_irr",
        "summary": "Internal Rate of Return (IRR)",
        "description": "Internal rate of return for an equal-period cash flow series, solved by deterministic bisection over a declared rate bracket with declared tolerance and iteration cap. Never Newton/derivative-based, so no float-drift nondeterminism. Reports whether the bracket contained a sign change and whether the search converged.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-325-tvm-irr.html\n**Wave:** 57\n**mandate_type:** analytics_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "analytics_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-325-tvm-irr.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: analytics_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "compute_irr",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-325-tvm-irr.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "analytics_mandate",
        "x-ocg-wave": 57
      }
    },
    "/v1/tools/compute_xirr": {
      "post": {
        "operationId": "compute_xirr",
        "summary": "XIRR (Irregular Dated Cash Flows)",
        "description": "Annualized rate of return for irregular-interval dated cash flows, matching Excel XIRR semantics exactly: fixed actual/365 day count, anchored to the first cash flow date, solved by deterministic bisection over a declared rate bracket. Companion to compute_irr for cash flows that do not fall on equal periods.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-326-tvm-xirr.html\n**Wave:** 57\n**mandate_type:** analytics_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "analytics_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-326-tvm-xirr.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: analytics_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "compute_xirr",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-326-tvm-xirr.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "analytics_mandate",
        "x-ocg-wave": 57
      }
    },
    "/v1/tools/compute_annuity": {
      "post": {
        "operationId": "compute_annuity",
        "summary": "Annuity PV / FV / Payment Solver",
        "description": "Solves present value, future value, or payment for an ordinary annuity or annuity-due, given the other two plus rate and number of periods, using the standard closed-form annuity factor. Matches Excel PV/FV/PMT semantics including the due=true (beginning-of-period) adjustment.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-327-tvm-annuity.html\n**Wave:** 57\n**mandate_type:** analytics_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "analytics_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-327-tvm-annuity.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: analytics_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "compute_annuity",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-327-tvm-annuity.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "analytics_mandate",
        "x-ocg-wave": 57
      }
    },
    "/v1/tools/compute_breakeven": {
      "post": {
        "operationId": "compute_breakeven",
        "summary": "Breakeven / CVP Analysis",
        "description": "Standard cost-volume-profit breakeven analysis: breakeven units and revenue from fixed costs, price per unit, and variable cost per unit, plus contribution margin ratio and an optional margin-of-safety calculation against a supplied current volume.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-328-tvm-breakeven.html\n**Wave:** 57\n**mandate_type:** analytics_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "analytics_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-328-tvm-breakeven.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: analytics_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "compute_breakeven",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-328-tvm-breakeven.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "analytics_mandate",
        "x-ocg-wave": 57
      }
    },
    "/v1/tools/compute_bond_duration": {
      "post": {
        "operationId": "compute_bond_duration",
        "summary": "Bond Macaulay / Modified Duration",
        "description": "Macaulay and modified duration for a standard even-period bullet bond, given face value, coupon rate, yield to maturity, years to maturity, and compounding frequency. Prices the schedule and reports the PV-weighted average time to cash flows in years. Feeds compute_dv01 and compute_convexity for full fixed-income risk analytics.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-329-tvm-bond-duration.html\n**Wave:** 57\n**mandate_type:** analytics_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "analytics_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-329-tvm-bond-duration.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: analytics_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "compute_bond_duration",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-329-tvm-bond-duration.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "analytics_mandate",
        "x-ocg-wave": 57
      }
    },
    "/v1/tools/compute_dv01": {
      "post": {
        "operationId": "compute_dv01",
        "summary": "Bond DV01 (Price Value of a Basis Point)",
        "description": "DV01 / price value of a basis point for a standard even-period bullet bond, computed by full central-difference reprice at yield plus and minus a declared basis-point shock, not the linear modified-duration approximation. Stays accurate for large coupons or short maturities where the linear approximation drifts. Same bond schedule builder as compute_bond_duration.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-330-tvm-dv01.html\n**Wave:** 57\n**mandate_type:** analytics_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "analytics_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-330-tvm-dv01.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: analytics_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "compute_dv01",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-330-tvm-dv01.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "analytics_mandate",
        "x-ocg-wave": 57
      }
    },
    "/v1/tools/compute_convexity": {
      "post": {
        "operationId": "compute_convexity",
        "summary": "Bond Convexity",
        "description": "Standard closed-form convexity for a bullet bond, annualized by compounding frequency squared. Second-order complement to modified duration for estimating bond price sensitivity to larger yield moves; optionally reports the convexity price-adjustment term for a declared yield shock. Same bond schedule builder as compute_bond_duration.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-331-tvm-convexity.html\n**Wave:** 57\n**mandate_type:** analytics_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "analytics_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-331-tvm-convexity.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: analytics_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "compute_convexity",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-331-tvm-convexity.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "analytics_mandate",
        "x-ocg-wave": 57
      }
    },
    "/v1/tools/build_amortization_schedule": {
      "post": {
        "operationId": "build_amortization_schedule",
        "summary": "Amortization Schedule Builder",
        "description": "Deterministic amortization schedule builder covering level-payment, ARM (index plus margin, periodic and lifetime caps, recast), interest-only, balloon, and temporary buydown (2-1 or 3-2-1) structures, per the unit-period and odd-days conventions in 12 CFR 1026 Appendix J. Returns the full period-by-period schedule (principal, interest, ending balance), totals, a schedule_digest, and advances/payments arrays shaped for direct use as the actuarial APR solver's input. Cents-integer fixed-point math throughout; no floating-point drift.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-332-build-amortization-schedule.html\n**Wave:** 59\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-332-build-amortization-schedule.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "build_amortization_schedule",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-332-build-amortization-schedule.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 59
      }
    },
    "/v1/tools/compute_dti_ratios": {
      "post": {
        "operationId": "compute_dti_ratios",
        "summary": "DTI Ratio Calculator",
        "description": "Front-end (housing) and back-end (total) debt-to-income ratios per Fannie Mae Selling Guide B3-6-02 and Freddie Mac Single-Family Seller/Servicer Guide 5401.2. Classifies the back-end ratio into a standard-manual / extended-manual-compensating-factors / DU-LPA-only / exceeds-max tier and flags whether the loan is within the max DTI for the selected underwriting type (DU, LPA, or manual). Feeds art-222-agency-eligibility-matrix as one of its DTI inputs. Not check_agency_eligibility_matrix itself, which performs the full multi-check eligibility decision.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-335-compute-dti-ratios.html\n**Wave:** 60\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-335-compute-dti-ratios.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "compute_dti_ratios",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-335-compute-dti-ratios.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 60
      }
    },
    "/v1/tools/compute_ltv_ratios": {
      "post": {
        "operationId": "compute_ltv_ratios",
        "summary": "LTV/CLTV/HCLTV Ratio Calculator",
        "description": "Loan-to-value, combined LTV, and home-equity combined LTV per Fannie Mae Selling Guide B2-1.1-03 and Freddie Mac Single-Family Seller/Servicer Guide 5401.1. Applies the lesser-of-value-or-price rule for purchases, appraised value for refinances, and includes the full HELOC credit limit (not just the drawn balance) in HCLTV. Feeds art-222-agency-eligibility-matrix as its LTV/CLTV/HCLTV inputs. Not check_agency_eligibility_matrix itself, which performs the full multi-check eligibility decision.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-336-compute-ltv-ratios.html\n**Wave:** 60\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-336-compute-ltv-ratios.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "compute_ltv_ratios",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-336-compute-ltv-ratios.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 60
      }
    },
    "/v1/tools/compute_federal_withholding": {
      "post": {
        "operationId": "compute_federal_withholding",
        "summary": "Federal Withholding Calculator (Percentage Method)",
        "description": "Federal income tax withholding via the IRS Publication 15-T (2025) percentage method, Worksheet 1A, for a 2020-or-later Form W-4. Supports single/MFS, married filing jointly, and head of household, plus Step 3 dependents credit, Step 4(a) other income, Step 4(b) deductions, and Step 4(c) extra withholding. STANDARD Withholding Rate Schedules only; the Form W-4 Step 2 multiple-jobs checkbox table is out of scope for v1. Federal only, not tax advice, state withholding out of scope. Feeds art-339-compute-gross-to-net as its federal_withholding_per_period input. Not compute_gross_to_net itself, which adds FICA and produces net pay.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-338-compute-federal-withholding.html\n**Wave:** 60\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-338-compute-federal-withholding.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "compute_federal_withholding",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-338-compute-federal-withholding.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 60
      }
    },
    "/v1/tools/compute_gross_to_net": {
      "post": {
        "operationId": "compute_gross_to_net",
        "summary": "Gross-to-Net Payroll Calculator (FICA)",
        "description": "Gross-to-net payroll calculation: FICA (Social Security 6.2% up to the 2025 $176,100 wage base, Medicare 1.45% uncapped, Additional Medicare Tax 0.9% on cumulative wages over $200,000 per IRC 3101(b)(2)), pretax deduction ordering (401(k)/HSA/Section 125 reduce both FICA and federal-taxable wages), and net pay. federal_withholding_per_period is a declared input, normally fed from art-338-compute-federal-withholding's output, since kernels cannot import one another. Federal only, not tax advice, state withholding and state payroll taxes out of scope. Consumes art-338-compute-federal-withholding. Not compute_federal_withholding itself, which only computes the federal income tax withholding line.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-339-compute-gross-to-net.html\n**Wave:** 60\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-339-compute-gross-to-net.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "compute_gross_to_net",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-339-compute-gross-to-net.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 60
      }
    },
    "/v1/tools/compute_flsa_regular_rate": {
      "post": {
        "operationId": "compute_flsa_regular_rate",
        "summary": "FLSA Regular Rate & Overtime Calculator",
        "description": "FLSA regular rate of pay and overtime premium per 29 CFR 778, Subpart C, including nondiscretionary-bonus reallocation into the regular rate (778.110, 778.208-778.209) and the 0.5x overtime premium for hours over 40 in the workweek (778.107). Federal only, not legal advice; state daily/weekly overtime rules out of scope. Multi-workweek bonus proration is the caller's responsibility: nondiscretionary_bonus_amount is the portion already allocated to the single workweek being computed. Not compute_gross_to_net or compute_federal_withholding, which handle payroll tax withholding rather than wage-hour overtime obligations.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-340-compute-flsa-regular-rate.html\n**Wave:** 60\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-340-compute-flsa-regular-rate.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "compute_flsa_regular_rate",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-340-compute-flsa-regular-rate.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 60
      }
    },
    "/v1/tools/compute_escrow_analysis": {
      "post": {
        "operationId": "compute_escrow_analysis",
        "summary": "RESPA Aggregate Escrow Analysis",
        "description": "12 CFR 1024.17 (Reg X) aggregate escrow accounting method: builds a 12-month trial running balance from a starting balance, a monthly escrow deposit, and the projected annual disbursement schedule, compares the low point to the 1/6-of-annual-disbursements cushion target, and classifies the account as balanced, shortage, deficiency, or surplus with the corresponding spread/refund remedy. Not test_hpml_escrow (art-235), which tests whether an escrow account was required to be established in the first place.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-342-compute-escrow-analysis.html\n**Wave:** 60\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-342-compute-escrow-analysis.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "compute_escrow_analysis",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-342-compute-escrow-analysis.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 60
      }
    },
    "/v1/tools/compute_mlr_rebate": {
      "post": {
        "operationId": "compute_mlr_rebate",
        "summary": "MLR Rebate Calculator",
        "description": "Medical Loss Ratio numerator/denominator, credibility-adjustment tier, 3-year premium-weighted averaging, and rebate math per 45 CFR 158 (ACA MLR rule). Classifies member life-years into non-credible / partially-credible / fully-credible bands, computes the current-year adjusted MLR and the 3-year average against the market threshold (80% individual/small-group, 85% large-group), and applies the de minimis payment floor.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-344-compute-mlr-rebate.html\n**Wave:** 60\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-344-compute-mlr-rebate.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "compute_mlr_rebate",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-344-compute-mlr-rebate.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 60
      }
    },
    "/v1/tools/compute_experience_mod": {
      "post": {
        "operationId": "compute_experience_mod",
        "summary": "NCCI Experience Modification Calculator",
        "description": "Workers'-compensation experience rating modification (NCCI Experience Rating Plan Manual published national formula): per-claim primary/excess loss split at the state split point, then Mod = (Ap + W×Ae + (1-W)×Ee + B) / (Ep + B). Split point, expected losses, expected primary losses, weighting value, and ballast value are licensed NCCI/state rating-bureau table values supplied by the caller from their own experience rating worksheet -- this node never vendors or reproduces those tables, only the published split-and-mod formula.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-346-compute-experience-mod.html\n**Wave:** 60\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-346-compute-experience-mod.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "compute_experience_mod",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-346-compute-experience-mod.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 60
      }
    },
    "/v1/tools/score_credit_model_quantized": {
      "post": {
        "operationId": "score_credit_model_quantized",
        "summary": "Quantized Credit Model Scorer",
        "description": "Runs a fixed, int8-quantized logistic-regression-class credit-decisioning model as a pure integer inference kernel and returns the score it produced from the supplied normalized inputs. Proves that THIS fixed quantized model produced THIS score from THESE inputs. It is not a fairness attestation and not a model-quality certification, and the underlying model is a synthetic offline demand-test artifact, not fit for real regulatory credit decisioning. The quantization_parity block on the artifact records the float-vs-quantized agreement rate measured over 1000 held-out vectors.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-348-score-credit-model-quantized.html\n**Wave:** 58\n**mandate_type:** credit_assessment\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "credit_assessment"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-348-score-credit-model-quantized.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: credit_assessment. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "score_credit_model_quantized",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-348-score-credit-model-quantized.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "credit_assessment",
        "x-ocg-wave": 58
      }
    },
    "/v1/tools/lint_fedwire_structured_address": {
      "post": {
        "operationId": "lint_fedwire_structured_address",
        "summary": "Fedwire Structured Address Linter",
        "description": "Lints a Fedwire or CHIPS ISO 20022 PostalAddress24 block against the November 2026 structured-address mandate (network param selects fedwire or chips; rules verified byte-identical between the two networks at build time). On 2026-11-16 Fedwire and CHIPS remove the fully-unstructured postal address option in favor of a single hybrid format -- Town Name and Country always required, up to 2 supplemental AdrLine elements of 70 chars each. Detects unstructured AdrLine-only addresses (prohibited), hybrid silent-fail duplication (AdrLine echoing structured field values, which causes STP rejection without a visible error code), and address structure type (FULLY_STRUCTURED, HYBRID, UNSTRUCTURED, EMPTY). For the SWIFT CBPR+ cross-border equivalent use lint_cbpr_structured_address (art-241).\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-349-fedwire-structured-address-linter.html\n**Wave:** 46\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-349-fedwire-structured-address-linter.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "lint_fedwire_structured_address",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-349-fedwire-structured-address-linter.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 46
      }
    },
    "/v1/tools/sweep_fedwire_addresses": {
      "post": {
        "operationId": "sweep_fedwire_addresses",
        "summary": "Fedwire Payment-File Address Sweep",
        "description": "Batch-sweeps a Fedwire or CHIPS payment file (CSV, one record per row) through the November 2026 structured-address mandate lint (lint_fedwire_structured_address, art-349) per record. Returns a rejection-risk report -- violation counts by rule and the worst offenders -- and a remediation-worksheet receipt (file digest, per-record findings digest, risk score), so a migration team can triage a whole payment file before the 2026-11-16 cutover instead of discovering rejections message-by-message in production. Reuses art-349's rule set rather than reimplementing it -- one kernel is the source of truth for Fedwire/CHIPS structured-address rules.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-350-fedwire-address-sweep.html\n**Wave:** 46\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-350-fedwire-address-sweep.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "sweep_fedwire_addresses",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-350-fedwire-address-sweep.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 46
      }
    },
    "/v1/tools/check_etr_control_evidence": {
      "post": {
        "operationId": "check_etr_control_evidence",
        "summary": "ETR Singularity & Exclusive-Control Evidence Checker",
        "description": "Checks a supplied electronic transferable record (ETR/eBL) document digest and control-assertion set (platform identity, singularity assertion, control-transfer events with timestamps and signatures as supplied) against MLETR Art. 10/11 functional-equivalence elements: integrity ref, singularity assertion present, control chain continuous, no overlapping-control intervals. Walks the supplied event log as a single chain of custody and flags any event that does not extend it as an overlapping/unknown-party control claim -- pure interval/chain math over the evidence as presented, not a legal opinion or registry attestation of which copy is authoritative. For general eBL/MLETR functional-equivalence self-assessment scoring use validate_mletr_record (art-53); this tool verifies a concrete supplied control-transfer event log for singularity/exclusivity specifically.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-352-etr-control-evidence-checker.html\n**Wave:** 61\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-352-etr-control-evidence-checker.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "check_etr_control_evidence",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-352-etr-control-evidence-checker.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 61
      }
    },
    "/v1/tools/build_etr_possession_chain": {
      "post": {
        "operationId": "build_etr_possession_chain",
        "summary": "ETR Possession-Chain Receipt Builder",
        "description": "Builds a hash-chained possession-receipt evidence pack for an electronic transferable record (ETR) under UNCITRAL MLETR Art. 10/11: given the ETR's own document digest and an ordered set of control-transfer events (from_holder, to_holder, timestamp, signature -- all as supplied), each receipt binds the prior receipt's hash, so reordering, inserting, or deleting a transfer breaks the chain. Also checks holder-to-holder continuity and timestamp ordering, and computes a SHA-256 Merkle root over the chain -- a portable evidence pack a holder can present to a bank or court. Does not itself assess MLETR Art. 10/11 singularity/exclusive-control legal elements; that verdict is check_etr_control_evidence (art-352).\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-353-etr-possession-chain-builder.html\n**Wave:** 61\n**mandate_type:** cryptographic_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "cryptographic_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-353-etr-possession-chain-builder.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: cryptographic_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "build_etr_possession_chain",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-353-etr-possession-chain-builder.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "cryptographic_mandate",
        "x-ocg-wave": 61
      }
    },
    "/v1/tools/lookup_mletr_jurisdiction_adoption": {
      "post": {
        "operationId": "lookup_mletr_jurisdiction_adoption",
        "summary": "MLETR Jurisdiction-Adoption Lookup",
        "description": "Static citation-table lookup of UNCITRAL MLETR (Model Law on Electronic Transferable Records) adoption status per jurisdiction -- statute, scope, and effective date, data_version stamped -- and a corridor verdict for whether an electronic bill of lading (eBL) is legally effective end-to-end between an origin and destination jurisdiction (UK, Singapore, UAE, Bahrain, France, Japan, India, US, Germany at this data_version). Answers the 'is an eBL legally effective in corridor X->Y' practitioner question that sits upstream of the MLETR control-evidence chain (art-352/art-353).\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-354-mletr-jurisdiction-adoption-lookup.html\n**Wave:** 47\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-354-mletr-jurisdiction-adoption-lookup.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "lookup_mletr_jurisdiction_adoption",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-354-mletr-jurisdiction-adoption-lookup.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 47
      }
    },
    "/v1/tools/compute_rwa_erba_2026": {
      "post": {
        "operationId": "compute_rwa_erba_2026",
        "summary": "ERBA / Standardized RWA Calculator (Basel Endgame 2026)",
        "description": "Credit-risk expanded risk-based approach (ERBA) / standardized-approach RWA calculator per the 2026 Basel Endgame reproposal (BCBS/US NPR, reproposed 2026-03-19, comments closed 2026-06-18, final expected ~Q4 2026). Runs an exposure book -- residential real estate by LTV band, retail (QRRE transactor/revolver, other retail), corporate (ECRA external-rating or SCRA unrated), SME support factor, off-balance-sheet CCFs -- through a chosen rule_set (2023 original NPR or 2026 reproposal) and returns per-exposure risk weights, aggregate RWA, and a receipt. rule_status stays proposed until the rule finalizes. Feeds compare_basel_2023_vs_2026 for the versus-2023 capital delta.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-355-erba-standardized-rwa-calculator.html\n**Wave:** 48\n**mandate_type:** capital_assessment\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "capital_assessment"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-355-erba-standardized-rwa-calculator.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: capital_assessment. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "compute_rwa_erba_2026",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-355-erba-standardized-rwa-calculator.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "capital_assessment",
        "x-ocg-wave": 48
      }
    },
    "/v1/tools/compute_oprisk_sma_2026": {
      "post": {
        "operationId": "compute_oprisk_sma_2026",
        "summary": "Basel Operational Risk SMA (2026 Reproposal)",
        "description": "Basel Standardized Measurement Approach (SMA) for operational-risk capital per the July 2026 US Basel Endgame reproposal (comment period closed 2026-06-18, final expected ~Q4 2026): marginal Business Indicator Component across the $1bn/$30bn buckets (12%/15%/18%) and the Internal Loss Multiplier, applying the reproposal's US-variant ILM neutralization to 1 by default with a switch to model the non-neutralized BCBS d424 formula. rule_status: proposed -- re-pin at finalization. Formula-focused; does not model scenario/portfolio replay (see the SIM-REPLAY suite for that).\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-356-compute-oprisk-sma-2026.html\n**Wave:** 62\n**mandate_type:** capital_assessment\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "capital_assessment"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-356-compute-oprisk-sma-2026.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: capital_assessment. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "compute_oprisk_sma_2026",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-356-compute-oprisk-sma-2026.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "capital_assessment",
        "x-ocg-wave": 62
      }
    },
    "/v1/tools/compare_basel_2023_vs_2026": {
      "post": {
        "operationId": "compare_basel_2023_vs_2026",
        "summary": "Basel 2023-vs-2026 Capital-Delta Comparator",
        "description": "Runs the same portfolio through the 2023 Basel III Endgame NPR risk-weight framework and the 2026 reproposal (2026-03-19, three NPRs) framework, then reports the RWA and minimum-capital delta -- the 'reproduce the $87.7bn relief story on OUR book' tool. Representative credit-risk asset-class risk-weight buckets plus a simplified operational-risk SMA business-indicator coefficient, NOT an exhaustive regulatory table. rule_status:'proposed' -- final rule expected ~Q4 2026, re-pin WU pre-authorized at finalization. References compute_rwa_erba_2026 (art-355) and compute_oprisk_sma_2026 (art-356) by tool_id for future chain wiring.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-357-basel-2023-vs-2026-capital-delta-comparator.html\n**Wave:** 48\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-357-basel-2023-vs-2026-capital-delta-comparator.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "compare_basel_2023_vs_2026",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-357-basel-2023-vs-2026-capital-delta-comparator.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 48
      }
    },
    "/v1/tools/simulate_output_floor": {
      "post": {
        "operationId": "simulate_output_floor",
        "summary": "Basel Output-Floor Phase-In Simulator",
        "description": "Basel III finalization / 2026 reproposal output-floor simulator: applies the published floor mechanic (applied RWA = max(internal-model RWA, floor% x standardized RWA)) across a caller-supplied annual phase-in schedule, returning the year-by-year capital impact path, the first binding-floor year, and the maximum incremental RWA the floor adds versus the internal model. Phase-in years and floor percentages are jurisdiction-specific and, pre-finalization, still proposed -- this node takes them as inputs from the caller's own rule text and never vendors or hardcodes a phase-in table.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-358-simulate-output-floor.html\n**Wave:** 61\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-358-simulate-output-floor.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "simulate_output_floor",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-358-simulate-output-floor.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 61
      }
    },
    "/v1/tools/build_idv_session_receipt": {
      "post": {
        "operationId": "build_idv_session_receipt",
        "summary": "IDV/KYC Session Evidence Receipt Builder",
        "description": "Hash-chains an identity-verification (IDV/KYC) session's declared results into a tamper-evident session receipt, per attempt: session metadata (verifier identity + version, timestamp), capture-chain attestation (C2PA manifest digest if present), injection-detection verdict, liveness verdict, document-check digest, and device-signal summary. Every verifier-sourced field is labeled asserted: this kernel attests the session record as declared, not detection quality or subject genuineness. Zero PII by construction: consumes only digests, booleans, and scores, and rejects any raw-data-shaped input (images, biometric templates) before compute proceeds.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-359-idv-session-receipt-builder.html\n**Wave:** 62\n**mandate_type:** compliance_control\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_control"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-359-idv-session-receipt-builder.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_control. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "build_idv_session_receipt",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-359-idv-session-receipt-builder.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_control",
        "x-ocg-wave": 62
      }
    },
    "/v1/tools/check_camera_provenance": {
      "post": {
        "operationId": "check_camera_provenance",
        "summary": "Camera-Provenance Check",
        "description": "Structural check on an IDV/KYC capture's C2PA manifest: claim well-formedness, hard-binding hash assertion, and claim-signature reference (art-123 reuse), plus a digitalSourceType read off the c2pa.actions assertion that flags trainedAlgorithmicMedia so a downstream reader knows the capture was declared AI-generated rather than a live camera capture. Structural check only, no trust-list or chain-of-trust claim. Feeds the session receipt builder's capture-chain field (art-359).\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-361-camera-provenance-check.html\n**Wave:** 62\n**mandate_type:** compliance_control\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_control"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-361-camera-provenance-check.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_control. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "check_camera_provenance",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-361-camera-provenance-check.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_control",
        "x-ocg-wave": 62
      }
    },
    "/v1/tools/compute_raroc_loan_price": {
      "post": {
        "operationId": "compute_raroc_loan_price",
        "summary": "RAROC Loan Pricing Calculator",
        "description": "Risk-Adjusted Return on Capital (RAROC) loan pricing per Basel II BCBS 128 (2006) / Basel III BCBS 189 (2010) simplified public approximation of the IRB economic-capital formula (single-factor Vasicek model at 99.9% confidence, or the SA risk-weight bucket table). Returns RAROC versus hurdle rate, economic capital, net income waterfall, and the break-even spread. Provable node counterpart to tools/437-raroc-loan-pricing.html; simplified public approximation, not a substitute for an internally approved IRB model.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-362-compute-raroc-loan-price.html\n**Wave:** 62\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-362-compute-raroc-loan-price.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "compute_raroc_loan_price",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-362-compute-raroc-loan-price.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 62
      }
    },
    "/v1/tools/compute_dscr": {
      "post": {
        "operationId": "compute_dscr",
        "summary": "DSCR & Interest Coverage Ratio Calculator",
        "description": "Debt Service Coverage Ratio and Interest Coverage Ratio suite: Basic/Cash/FCF DSCR, Fixed Charge Coverage Ratio (FCCR), EBIT- and EBITDA-basis ICR, and Net/Gross Leverage, evaluated against a published lender threshold matrix (investment grade, leveraged loan, CRE, infrastructure, SME/mid-market). Provable node counterpart to tools/438-dscr-interest-coverage-calculator.html.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-363-compute-dscr.html\n**Wave:** 62\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-363-compute-dscr.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "compute_dscr",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-363-compute-dscr.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 62
      }
    },
    "/v1/tools/compute_lcr_nsfr_leverage": {
      "post": {
        "operationId": "compute_lcr_nsfr_leverage",
        "summary": "LCR / NSFR / Leverage Ratio Calculator",
        "description": "Basel III Liquidity Coverage Ratio (BCBS 238), Net Stable Funding Ratio (BCBS 295), and Leverage Ratio (BCBS 270, finalized BCBS 360) point-in-time calculator from caller-supplied HQLA positions, outflow/inflow categories, ASF/RSF items, and capital/exposure figures. Deterministic single-scenario point calculation, distinct from the Monte Carlo stress distribution in sim-01-lcr-nsfr-liquidity-stress-test. Provable node counterpart to tools/469-lcr-calculator.html, tools/470-nsfr-calculator.html, and tools/471-leverage-ratio-calculator.html.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-364-compute-lcr-nsfr-leverage.html\n**Wave:** 62\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-364-compute-lcr-nsfr-leverage.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "compute_lcr_nsfr_leverage",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-364-compute-lcr-nsfr-leverage.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 62
      }
    },
    "/v1/tools/compute_globe_topup_tax": {
      "post": {
        "operationId": "compute_globe_topup_tax",
        "summary": "GloBE Top-Up Tax & QDMTT Allocation Calculator",
        "description": "OECD Pillar Two GloBE top-up tax calculator: per-jurisdiction substance-based income exclusion (SBIE), effective tax rate (ETR), and top-up-rate/top-up-amount, then allocates the top-up across QDMTT, IIR, and UTPR, applying the OECD Side-by-Side Safe Harbour (approved/declassified 5 January 2026) when the caller declares a Central Record listing of a Qualified SbS Regime, a Filing Constituent Entity election, and a fiscal year on or after 1 January 2026 -- when it applies, Top-up Tax is deemed zero for both the IIR and the UTPR. Ports the calculation from tools/473-globe-etr-jurisdiction-calculator.html and tools/474-topup-tax-qdmtt-calculator.html into one provable kernel. SBIE payroll/asset rates and the 15% minimum rate are OECD-published transitional table values pinned behind a constants_version field -- a rate change is a version bump, never a silent recompute. Jurisdiction-level QDMTT enactment/rate and the Central Record listing are caller-supplied, never vendored. KNOWN-WRONG (comment only, not behaviour, recorded 2026-08-17 per ART9-CITATION-FIX-1): the kernel source at chaingraph/kernels/art-365-compute-globe-topup-tax.kernel.mjs line 49 cites the SBIE transitional rates as 'Art. 9.1' -- the correct citation is Art. 9.2 (Art. 9.1 is Tax Attributes Upon Transition; Art. 9.2 is the Transitional relief for the Substance-based Income Exclusion, per research/ART9-NUMBERING-CONFIRM-1.md and research/ART9-NUMBERING-DENY-1.md). This node is sealed (compute_proof_ready: ready) so the kernel comment is left uncorrected per SO #36 -- no GPU re-prove for a comment. The kernel's behaviour is correct and cleared ART-365-SIDEBYSIDE-1 with zero divergences; fix the comment only if art-365 is ever legitimately re-proved for another reason.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-365-compute-globe-topup-tax.html\n**Wave:** 63\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-365-compute-globe-topup-tax.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "compute_globe_topup_tax",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-365-compute-globe-topup-tax.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 63
      }
    },
    "/v1/tools/price_embedded_insurance": {
      "post": {
        "operationId": "price_embedded_insurance",
        "summary": "Embedded Insurance Pricing Modeller",
        "description": "Embedded-insurance unit economics for a platform attaching per-transaction coverage: per-transaction premium, monthly/annual gross written premium, net written premium after reinsurance cession, expected losses, commission and opex cost, underwriting profit, combined ratio, expense ratio, and breakeven loss ratio. Ports the calculation from tools/446-embedded-insurance-pricing-modeller.html into a provable kernel. Losses apply against net written premium while commission and opex apply against gross written premium -- the source tool's own simplification, ported as-is.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-366-price-embedded-insurance.html\n**Wave:** 63\n**mandate_type:** analytics_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "analytics_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-366-price-embedded-insurance.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: analytics_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "price_embedded_insurance",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-366-price-embedded-insurance.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "analytics_mandate",
        "x-ocg-wave": 63
      }
    },
    "/v1/tools/compute_cross_border_fees": {
      "post": {
        "operationId": "compute_cross_border_fees",
        "summary": "Cross-Border B2B Fee Calculator",
        "description": "Itemizes a single cross-border B2B invoice's total cost stack: FX spread cost, payment-method/correspondent fee, VAT or reverse-charge cost, documentary-credit cost, and reconciliation cost, plus total cost as a percentage of invoice value. Ports the calculation from tools/141-cross-border-b2b-fee-calculator.html into a provable kernel. VAT treatment, documentary-credit cost, and correspondent fees are caller-supplied, never vendored. Pairs with the already-shipped compare_corridor_cost node (art-249), which benchmarks a remittance corridor against World Bank RPW / SDG 10.c targets rather than itemizing a single invoice.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-367-compute-cross-border-fees.html\n**Wave:** 63\n**mandate_type:** analytics_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "analytics_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-367-compute-cross-border-fees.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: analytics_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "compute_cross_border_fees",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-367-compute-cross-border-fees.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "analytics_mandate",
        "x-ocg-wave": 63
      }
    },
    "/v1/tools/compute_fx_netting_positions": {
      "post": {
        "operationId": "compute_fx_netting_positions",
        "summary": "Multilateral FX Netting Calculator",
        "description": "Multilateral FX netting across up to 8 currencies: nets each currency's payable/receivable exposures in FCY, converts to USD at a caller-supplied spot-plus-forward-points effective rate, and returns gross volume, net volume, netting efficiency, estimated settlement savings, and per-currency residual position with an approximate 95%-confidence VaR. Ports the calculation from tools/105-fx-netting-simulator.html into a provable kernel. Spot rates, forward points, and 30-day volatility are caller-supplied reference data, never vendored.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-368-compute-fx-netting-positions.html\n**Wave:** 63\n**mandate_type:** analytics_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "analytics_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-368-compute-fx-netting-positions.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: analytics_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "compute_fx_netting_positions",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-368-compute-fx-netting-positions.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "analytics_mandate",
        "x-ocg-wave": 63
      }
    },
    "/v1/tools/run_rate_shock_ladder": {
      "post": {
        "operationId": "run_rate_shock_ladder",
        "summary": "Rate Shock Ladder Replay",
        "description": "US OCC/FDIC interest-rate-risk parallel shock ladder: sweeps four prescribed parallel magnitudes (+/-100/200/300/400bp) over a bucketed repricing-gap schedule, returning both a duration-weighted delta-EVE leg and a 12-month cumulative-gap delta-NII leg per shock. Optional non-parallel steepener/flattener presets are caller-declared (short/long tenor bps split), not baked-in regulatory scalars. Distinct from the shipped BCBS d368 / EBA standardised six-scenario convention (art-183/art-185): sweeps multiple magnitudes rather than one, and combines EVE+NII in a single kernel. Complements CC-A repricing-gap schedules or user-supplied gap tables. NaN-safe. Zero network, zero PII.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-369-run-rate-shock-ladder.html\n**Wave:** 64\n**mandate_type:** analytics_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "analytics_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-369-run-rate-shock-ladder.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: analytics_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "run_rate_shock_ladder",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-369-run-rate-shock-ladder.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "analytics_mandate",
        "x-ocg-wave": 64
      }
    },
    "/v1/tools/replay_supervisory_scenario": {
      "post": {
        "operationId": "replay_supervisory_scenario",
        "summary": "Supervisory Scenario Replay (DFAST-lite)",
        "description": "Replays the Fed's published 2026 28-variable supervisory scenario paths (baseline and severely adverse, Q1:2026-Q1:2029) against user-supplied loss and PPNR coefficient functions, producing a quarterly P&L and capital walk. This is a replay of user functions over official published inputs, not the Fed's model and not a DFAST submission.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-370-supervisory-scenario-replay.html\n**Wave:** 2\n**mandate_type:** capital_assessment\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "capital_assessment"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-370-supervisory-scenario-replay.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: capital_assessment. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "replay_supervisory_scenario",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-370-supervisory-scenario-replay.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "capital_assessment",
        "x-ocg-wave": 2
      }
    },
    "/v1/tools/simulate_var_monte_carlo": {
      "post": {
        "operationId": "simulate_var_monte_carlo",
        "summary": "Portfolio VaR — Monte Carlo (Integer PRNG)",
        "description": "Monte Carlo portfolio Value-at-Risk and Expected Shortfall over a one-factor correlated-asset model. Integer-only xoshiro256** PRNG and fixed-point arithmetic run the full path simulation, so a declared seed replays byte-identically, and a tampered seed produces a different hash. Declares the SPEC.md §24.6.2 seeded-stochastic determinism class; the PRNG algorithm, seed, and draw count are carried in the receipt as ordinary inputs/outputs.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-371-simulate-var-monte-carlo.html\n**Wave:** 2\n**mandate_type:** risk_control\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "risk_control"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-371-simulate-var-monte-carlo.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: risk_control. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "simulate_var_monte_carlo",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-371-simulate-var-monte-carlo.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "risk_control",
        "x-ocg-wave": 2
      }
    },
    "/v1/tools/recompute_fund_nav": {
      "post": {
        "operationId": "recompute_fund_nav",
        "summary": "Recompute Fund NAV",
        "description": "Recomputes a fund's net-asset-value-per-share from SUPPLIED holdings (quantity x supplied price, multi-currency with supplied FX), accruals (income and expense with a declared day-count convention), liabilities, and shares outstanding, using fixed-point BigInt money math throughout (no float accumulation). Applies a declared rounding mode (e.g. $0.0001 for a money-market fund vs $0.01 for a standard fund) and returns a full component breakdown. HARD FENCE: every price and FX rate is supplied and asserted, never fetched (zero-egress); this recomputes the arithmetic over declared inputs and attests THAT, never a fair-value opinion, never an independent valuation, never live market data. First entry of the Funds/NAV family (nav-verification-pack) alongside test_nav_error_materiality (FN-2) and compute_fund_expense_ratios (FN-3). Not fund_share_class_composer (asset allocation) or any pricing/valuation tool. 40-Act/UCITS citations informative only.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-373-recompute-fund-nav.html\n**Wave:** 51\n**mandate_type:** attestation_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "attestation_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-373-recompute-fund-nav.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: attestation_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "recompute_fund_nav",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-373-recompute-fund-nav.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "attestation_mandate",
        "x-ocg-wave": 51
      }
    },
    "/v1/tools/test_nav_error_materiality": {
      "post": {
        "operationId": "test_nav_error_materiality",
        "summary": "Test NAV-Error Materiality",
        "description": "Compares an erroneous NAV-per-share against a corrected NAV-per-share against a DECLARED materiality policy (the industry half-cent absolute and 1% relative conventions, plus the fund's own policy taken as an input) using fixed-point BigInt money math throughout. Returns a material/immaterial verdict, affected-period math, an estimated impact figure, and a reprocessing-need indication. The fund-ops incident artifact. HARD FENCE: the erroneous and corrected NAV values are supplied and asserted, never independently recomputed here; this attests the arithmetic of the error comparison against a declared policy, never an accounting opinion, never a determination that a fund must reprocess, never advice. Second entry of the Funds/NAV family (nav-verification-pack) alongside recompute_fund_nav (FN-1) and compute_fund_expense_ratios (FN-3). Not recompute_fund_nav (independent NAV recomputation) or any fair-value/pricing tool.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-374-test-nav-error-materiality.html\n**Wave:** 51\n**mandate_type:** attestation_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "attestation_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-374-test-nav-error-materiality.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: attestation_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "test_nav_error_materiality",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-374-test-nav-error-materiality.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "attestation_mandate",
        "x-ocg-wave": 51
      }
    },
    "/v1/tools/compute_fund_expense_ratios": {
      "post": {
        "operationId": "compute_fund_expense_ratios",
        "summary": "Compute Fund Expense Ratios",
        "description": "Computes a fund's gross and net expense ratios and Total Expense Ratio (TER) from SUPPLIED gross expense components (flat amounts or accruals, using the identical accrual conventions as recompute_fund_nav/FN-1) and average net assets, applying any declared fee waivers/caps strictly in a DECLARED order using fixed-point BigInt money math throughout (no float accumulation). Waiver ordering is the substance: the order in which fixed-dollar caps, percent-of-remaining reimbursements, and rate caps apply changes the net expense ratio, so the order is a required declared input, never a house convention, and every waiver's running-balance effect is returned for audit. HARD FENCE: every expense component, average-net-assets figure, and waiver term is supplied and asserted, never fetched (zero-egress); this recomputes the arithmetic over declared inputs and attests THAT, never an opinion on expense accuracy and never a compliance determination. Third entry of the Funds/NAV family (nav-verification-pack) alongside recompute_fund_nav (FN-1) and test_nav_error_materiality (FN-2). 40-Act/UCITS citations informative only.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-375-compute-fund-expense-ratios.html\n**Wave:** 51\n**mandate_type:** attestation_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "attestation_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-375-compute-fund-expense-ratios.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: attestation_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "compute_fund_expense_ratios",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-375-compute-fund-expense-ratios.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "attestation_mandate",
        "x-ocg-wave": 51
      }
    },
    "/v1/tools/score_payee_name_match": {
      "post": {
        "operationId": "score_payee_name_match",
        "summary": "Payee Name-Match Score (VoP/CoP)",
        "description": "Deterministic, versioned single-pair payee name-matching score for Verification-of-Payee / Confirmation-of-Payee evidence. Normalizes (diacritic stripping, legal-entity suffix removal), scores by integer Levenshtein edit distance against both a plain and a token-sorted form, and bands the result MATCH / CLOSE_MATCH / NO_MATCH against declared thresholds. algorithm_version is carried in the receipt so a score is reproducible evidence, not a black-box vendor output. Distinct from the batch aggregate analyser art-11: this scores one declared pair for downstream session-receipt binding.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-376-score-payee-name-match.html\n**Wave:** 2\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-376-score-payee-name-match.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "score_payee_name_match",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-376-score-payee-name-match.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 2
      }
    },
    "/v1/tools/build_vop_session_receipt": {
      "post": {
        "operationId": "build_vop_session_receipt",
        "summary": "VoP Session Receipt Builder",
        "description": "Builds a signed, hash-chained Verification-of-Payee / Confirmation-of-Payee session receipt: binds the declared match result (score, band, algorithm_version or an external source), the warning text and severity shown, and the consumer's action (proceeded, abandoned, retried) across a session's attempts. Each attempt's receipt hash chains to the prior one, rooted at a session-anchored genesis hash, so any reordering or edit breaks the downstream chain. Attests the computation over the declared session record, not ground-truth identity and not the PSP's own UI -- that assertion is the PSP's, bound here as evidence. Verifies fully offline.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-377-build-vop-session-receipt.html\n**Wave:** 2\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-377-build-vop-session-receipt.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "build_vop_session_receipt",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-377-build-vop-session-receipt.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 2
      }
    },
    "/v1/tools/build_agent_test_evidence": {
      "post": {
        "operationId": "build_agent_test_evidence",
        "summary": "Quarterly Agent Test Evidence Composer",
        "description": "Composes a quarterly agent testing-evidence pack: test-suite identity and digest, per-test receipts with an honest deterministic/estimated determinism class, pass rate, and a regression comparison chained to the prior quarter's pack digest. A declared prior-pack digest that does not match the caller-supplied prior record is flagged as a broken chain rather than silently accepted. When the caller declares which sealed subject artifact the pack evidences, the per-test receipt digests wrap as a section-27.6 evidence bundle over that subject. Evidence format only -- never a certification claim. Zero network, zero PII.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-378-quarterly-test-evidence-composer.html\n**Wave:** 65\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-378-quarterly-test-evidence-composer.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "build_agent_test_evidence",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-378-quarterly-test-evidence-composer.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 65
      }
    },
    "/v1/tools/build_agent_incident_record": {
      "post": {
        "operationId": "build_agent_incident_record",
        "summary": "Agent Incident Record Composer",
        "description": "Composes a structured agent incident/failure record from caller-declared inputs: agent identity, an optional mandate hash, an incident description with an honest severity class, session evidence digests, remediation status, and an optional cross-link to an escalation record or a signed failure receipt. A missing agent identity degrades the record's claim strength rather than being silently accepted, and a malformed cross-link hash is flagged, not hidden. This is an evidence format for an incident the caller declares, not an incident-detection system, not a determination of fault, and not an insurance adjudication. Zero network, zero PII.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-379-agent-incident-record-composer.html\n**Wave:** 65\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-379-agent-incident-record-composer.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "build_agent_incident_record",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-379-agent-incident-record-composer.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 65
      }
    },
    "/v1/tools/build_ai_workpaper_record": {
      "post": {
        "operationId": "build_ai_workpaper_record",
        "summary": "AI-Tool-Usage Workpaper Record",
        "description": "Composes a documentation-element workpaper record from an existing OCG receipt (tool identity, execution hash, kernel digest), a declared determinism class and conventions, engagement metadata, and a reviewer sign-off statement. Maps to the six elements firms must document for AI/technology-assisted audit evidence under amended AU-C 500 / PCAOB guidance: tool identity, inputs, outputs, limitations, sign-off, and optional linkage to a prior workpaper. An evidence format, not an audit opinion -- makes no PCAOB or AICPA endorsement or compliance-sufficiency claim. An OPTIONAL section-16 eddsa-jcs-2022 signature on the emitted artifact turns the declared sign-off into a countersigned record. When the caller supplies a reviewer identity, the declared sign-off additionally remaps to a section-27.1 approval record over the referenced receipt's execution hash.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-380-build-ai-workpaper-record.html\n**Wave:** 65\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-380-build-ai-workpaper-record.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "build_ai_workpaper_record",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-380-build-ai-workpaper-record.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 65
      }
    },
    "/v1/tools/check_agent_token_scope": {
      "post": {
        "operationId": "check_agent_token_scope",
        "summary": "Agent Token Scope Checker",
        "description": "Compares a requested agent action (amount, currency, merchant category, timestamp) against an agent token or mandate's declared scope: spend cap, currency, MCC allow-list, and expiry. If an attenuation chain of ancestor tokens is supplied, also checks that each delegation link narrows -- never widens -- the parent's bounds. Returns an in-scope or out-of-scope verdict and receipt. Pure evaluation only -- never authorizes, blocks, or executes a payment. Consumes the same mandate-chain vocabulary as art-01; distinct job -- one requested action against one token's bounds, not full mandate-chain structural validation.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-385-agent-token-scope-checker.html\n**Wave:** 47\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-385-agent-token-scope-checker.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "check_agent_token_scope",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-385-agent-token-scope-checker.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 47
      }
    },
    "/v1/tools/lint_cbom_structure": {
      "post": {
        "operationId": "lint_cbom_structure",
        "summary": "CBOM Structural Lint & CNSA-2.0 Classifier",
        "description": "Validates a pasted CycloneDX 1.6 Cryptography Bill of Materials against a hand-derived field subset (algorithm, key size, certification level, crypto functions) and classifies declared algorithm assets as quantum-vulnerable (RSA, ECDSA/ECDH, DH, SHA-1) or CNSA-2.0 target-aligned (ML-KEM-1024, ML-DSA-87, AES-256, SHA-384/512). Structural and classification checks only; every finding asserted from the pasted CBOM. Not a scanner, not discovery, not a cryptographic audit.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-386-lint-cbom-structure.html\n**Wave:** 65\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-386-lint-cbom-structure.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "lint_cbom_structure",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-386-lint-cbom-structure.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 65
      }
    },
    "/v1/tools/compute_pqc_deadline_ladder": {
      "post": {
        "operationId": "compute_pqc_deadline_ladder",
        "summary": "CNSA 2.0 Deadline Ladder Calculator",
        "description": "Per-row CNSA 2.0 post-quantum migration deadline for a supplied system inventory (system class, asset type, deployment date): applicable deadline, days remaining, the earliest binding constraint, and a FIPS 140-2 Historical-list exposure flag. Every deadline is declared with a source citation so a regulatory date shift is a data re-pin, not a code change. Structural date math only, findings asserted, not legal advice.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-387-pqc-deadline-ladder-calculator.html\n**Wave:** 65\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-387-pqc-deadline-ladder-calculator.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "compute_pqc_deadline_ladder",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-387-pqc-deadline-ladder-calculator.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 65
      }
    },
    "/v1/tools/convert_tempo_fee_amm": {
      "post": {
        "operationId": "convert_tempo_fee_amm",
        "summary": "Tempo Fee-AMM Conversion Calculator",
        "description": "Converts a supplied fee-token amount to the validator's token through Tempo's enshrined protocol Fee AMM (Tempo has no native gas token): validatorTokenOut = userTokenIn x 0.9970, 30bps to LPs. Checks the conversion against declared pool reserves for liquidity sufficiency and returns output-or-failure, never a silent overdraw. Fixed-point BigInt math at attodollar scale; calculator only, zero egress.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-388-tempo-fee-amm-converter.html\n**Wave:** 65\n**mandate_type:** treasury_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "treasury_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-388-tempo-fee-amm-converter.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: treasury_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "convert_tempo_fee_amm",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-388-tempo-fee-amm-converter.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "treasury_mandate",
        "x-ocg-wave": 65
      }
    },
    "/v1/tools/compute_tempo_mainnet_fee_capacity": {
      "post": {
        "operationId": "compute_tempo_mainnet_fee_capacity",
        "summary": "TIP-1010 Mainnet Fee & Payment-Lane Capacity Calculator",
        "description": "Per-tx fee (fee_microusd = ceil(base_fee_attodollars_per_gas x gas_used / 1e12)) and payment-lane TPS headroom for a supplied payment mix, against the published TIP-1010 mainnet constants (base fee 2e10 attodollars/gas, 500M gas/block, ~94% payment-lane reservation). Successor to model_tempo_gas_economics (art-107), which predates these constants. Every parameter is declared with its TIP-1010 citation and carried as protocol_version so a base-fee governance change is a data re-pin, never a code change. Does not read /docs/api/rpc (outside Tempo's stable API contract). Fixed-point BigInt math, calculator only, zero egress.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-389-tempo-mainnet-fee-capacity.html\n**Wave:** 65\n**mandate_type:** treasury_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "treasury_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-389-tempo-mainnet-fee-capacity.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: treasury_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "compute_tempo_mainnet_fee_capacity",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-389-tempo-mainnet-fee-capacity.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "treasury_mandate",
        "x-ocg-wave": 65
      }
    },
    "/v1/tools/validate_tip20_memo_commitment": {
      "post": {
        "operationId": "validate_tip20_memo_commitment",
        "summary": "TIP-20 Memo/Commitment Validator",
        "description": "Validates a TIP-20 TransferWithMemo's 32-byte memo as a hash-or-locator commitment: checks length/hex form, recomputes the SHA-256 commitment over a supplied off-chain payload or a templated invoice-ID locator, and reports whether the memo matches. Integrity-only -- distinct from screen_tip20_transfer_batch (art-38, AML/Travel Rule screening of a transfer batch). Calculator only, zero egress.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-390-tip20-memo-commitment-validator.html\n**Wave:** 65\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-390-tip20-memo-commitment-validator.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "validate_tip20_memo_commitment",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-390-tip20-memo-commitment-validator.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 65
      }
    },
    "/v1/tools/compute_canton_traffic_cost": {
      "post": {
        "operationId": "compute_canton_traffic_cost",
        "summary": "Canton Synchronizer Traffic-Cost Calculator",
        "description": "Computes Canton Network synchronizer traffic cost (CIP-0042/CIP-0084 regime): fee = message megabytes x the Tokenomics-Committee-set USD/MB rate, converted to Canton Coin burned at a caller-supplied CC/USD price. Applies the CIP-0119 transfer-preapproval free-traffic window (90-day base duration since June 2026) when the traffic is a preapproval within its free period. Rate, price, and protocol-version inputs are caller-supplied and source-cited in the output -- this kernel never hard-codes a fee or price as a silent constant. Distinct from the shipped tokenization-readiness/DvP/allowlist Canton nodes (503/507/509), which validate settlement and counterparty structure rather than compute synchronizer traffic economics.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-391-compute-canton-traffic-cost.html\n**Wave:** 64\n**mandate_type:** analytics_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "analytics_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-391-compute-canton-traffic-cost.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: analytics_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "compute_canton_traffic_cost",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-391-compute-canton-traffic-cost.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "analytics_mandate",
        "x-ocg-wave": 64
      }
    },
    "/v1/tools/compute_canton_app_reward_estimate": {
      "post": {
        "operationId": "compute_canton_app_reward_estimate",
        "summary": "Canton App-Reward Estimator (CIP-0104)",
        "description": "Estimates a Canton Network app provider's Canton Coin reward for one round under CIP-0104 (approved 2026-02-12): app rewards are proportional to confirmed envelope bytes (traffic where the app-provider party appears as confirmer) against that round's app-reward pool share of the minting curve. The pool-share schedule (62% at launch, rising to 69% at year 5, 75% at year 10) is caller-supplied and source-cited, never hard-coded to a single year. Reward side of the ledger -- pairs with compute_canton_traffic_cost (art-391), which computes the fee/cost side of the same synchronizer traffic. Distinct from the shipped tokenization-readiness/DvP/allowlist Canton nodes (503/507/509), which validate settlement and counterparty structure.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-392-compute-canton-app-reward-estimate.html\n**Wave:** 64\n**mandate_type:** analytics_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "analytics_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-392-compute-canton-app-reward-estimate.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: analytics_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "compute_canton_app_reward_estimate",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-392-compute-canton-app-reward-estimate.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "analytics_mandate",
        "x-ocg-wave": 64
      }
    },
    "/v1/tools/lint_x402_v2_migration": {
      "post": {
        "operationId": "lint_x402_v2_migration",
        "summary": "x402 v2 Wire-Format Migration Linter",
        "description": "Lints a supplied x402 header set / 402 response body against the Protocol Version 2 wire format: flags deprecated v1 headers (X-PAYMENT, X-PAYMENT-RESPONSE) and their v2 replacements (PAYMENT-SIGNATURE, PAYMENT-RESPONSE), flags v1 body-based PaymentRequirements delivery (v2 moves requirements into the PAYMENT-REQUIRED header as a client-selectable array), and checks the network id for CAIP-2 format. Declares protocol_version so a future wire bump is a data re-pin. Pinned to coinbase/x402 specs/x402-specification-v2.md (2025-12-09).\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-393-x402-v2-migration-linter.html\n**Wave:** 66\n**mandate_type:** compliance_control\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_control"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-393-x402-v2-migration-linter.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_control. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "lint_x402_v2_migration",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-393-x402-v2-migration-linter.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_control",
        "x-ocg-wave": 66
      }
    },
    "/v1/tools/validate_x402_deferred_handshake": {
      "post": {
        "operationId": "validate_x402_deferred_handshake",
        "summary": "x402 Deferred-Scheme Handshake Validator",
        "description": "Validates a Cloudflare `deferred` x402 scheme handshake: 402 offer field shape (scheme:\"deferred\", id, termsUrl), RFC 9421 HTTP Message Signature covered-component coverage (@method, @target-uri, content-digest), and settlement-reference id continuity across a call sequence (uniqueness, no internal duplicates). Cryptographic signature verification reuses verify_webbotauth_signature (art-129); rollup/batch settlement arithmetic is owned by reconcile_x402_batch_settlement (art-61); this node validates the offer and handshake shape only. Scheme registry is a plugin surface and is not hard-coded.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-394-x402-deferred-handshake-validator.html\n**Wave:** 66\n**mandate_type:** compliance_control\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_control"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-394-x402-deferred-handshake-validator.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_control. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "validate_x402_deferred_handshake",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-394-x402-deferred-handshake-validator.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_control",
        "x-ocg-wave": 66
      }
    },
    "/v1/tools/compute_15c3_3_reserve": {
      "post": {
        "operationId": "compute_15c3_3_reserve",
        "summary": "15c3-3 Customer Reserve Formula Calculator",
        "description": "SEC Rule 15c3-3 Exhibit A customer reserve formula: credit items (customer free credit balances, margin credit balances, payables) against allowable debit items (margin-account debits with the 1% collateral haircut, failed-to-deliver debits with the 30-day aging exclusion, other allowable debits) to a reserve requirement, deposit-sufficiency verdict, and line-item receipt. Simplified over a representative subset of Exhibit A line items with a PAB (proprietary-account-of-broker-dealer) variant flag; attests the computation over caller-supplied inputs only, not an audit of those inputs or a determination of regulatory compliance.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-396-compute-15c3-3-reserve.html\n**Wave:** 63\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-396-compute-15c3-3-reserve.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "compute_15c3_3_reserve",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-396-compute-15c3-3-reserve.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 63
      }
    },
    "/v1/tools/lint_trace_cat_reports": {
      "post": {
        "operationId": "lint_trace_cat_reports",
        "summary": "TRACE / CAT Reporting Lint",
        "description": "TRACE (FINRA Rule 6730) trade-report timeliness lint against a caller-declared trading calendar and hours window, computing the reporting deadline from the execution timestamp with weekend/holiday-aware rollover, plus a CAT (Consolidated Audit Trail) equity/option order-event structural format-lint over a representative subset of required fields. Honestly scoped: not a full implementation of the CAT Reporting Technical Specification, and there is no built-in market calendar -- weekend days and holidays are supplied by the caller and versioned via constants_version.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-397-lint-trace-cat-reports.html\n**Wave:** 63\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-397-lint-trace-cat-reports.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "lint_trace_cat_reports",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-397-lint-trace-cat-reports.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 63
      }
    },
    "/v1/tools/lint_metro2_record": {
      "post": {
        "operationId": "lint_metro2_record",
        "summary": "Metro 2 Credit-Reporting Record Lint",
        "description": "Lints a Metro 2 credit-reporting base-segment record from a PUBLIC SUBSET of the format: field presence/format, account-status and payment-rating code validity, and DOFD (date of first delinquency) cross-field consistency per FCRA 15 U.S.C. Sec 1681c(a)(4)-(5), including the 7-year-plus-180-day obsolescence check. Does not implement the CDIA Credit Reporting Resource Guide (CRRG), a licensed proprietary document -- J1/J2/K1-K4 segments are checked as presence flags only. Part of the record-integrity family alongside lint_x12_claim_records (art-399), check_official_statement_completeness (art-400), and validate_form5500_schedules (art-401).\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-398-lint-metro2-record.html\n**Wave:** 47\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-398-lint-metro2-record.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "lint_metro2_record",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-398-lint-metro2-record.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 47
      }
    },
    "/v1/tools/lint_x12_claim_records": {
      "post": {
        "operationId": "lint_x12_claim_records",
        "summary": "X12 837/835 Healthcare-Claim Records Lint",
        "description": "Lints X12 837 (health-care claim) and 835 (claim payment/remittance advice) ENVELOPE control-number continuity (ISA13/IEA02, GS06/GE02, ST02/SE02) and 835 payment-amount balancing (total paid ties to the sum of claim-level payments, pure arithmetic). FORMAT-ONLY and structurally PHI-IMPOSSIBLE: the schema defines only envelope control numbers, claim/payment identifiers, and monetary amounts -- no patient name, DOB, diagnosis, or clinical field exists. Derived from public CMS companion-guide summaries, not the licensed X12 implementation guide. Part of the record-integrity family alongside lint_metro2_record (art-398), check_official_statement_completeness (art-400), and validate_form5500_schedules (art-401).\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-399-lint-x12-claim-records.html\n**Wave:** 47\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-399-lint-x12-claim-records.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "lint_x12_claim_records",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-399-lint-x12-claim-records.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 47
      }
    },
    "/v1/tools/check_official_statement_completeness": {
      "post": {
        "operationId": "check_official_statement_completeness",
        "summary": "Municipal Official Statement Completeness Checker",
        "description": "Checks a municipal-bond Official Statement disclosure-element checklist (element present, absent, or incomplete) and continuing-disclosure undertaking presence, per MSRB Rule G-32 (primary-offering disclosure via EMMA) and SEC Rule 15c2-12, including the (b)(5)(i)(C) material-event category list. Same present/absent checklist shape as the shipped GENIUS Sec 4 / MiCA-whitepaper linters. Checks that declared elements are present and well-formed, not that the underlying disclosures are true. Part of the record-integrity family alongside lint_metro2_record (art-398), lint_x12_claim_records (art-399), and validate_form5500_schedules (art-401).\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-400-check-official-statement-completeness.html\n**Wave:** 47\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-400-check-official-statement-completeness.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "check_official_statement_completeness",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-400-check-official-statement-completeness.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 47
      }
    },
    "/v1/tools/validate_form5500_schedules": {
      "post": {
        "operationId": "validate_form5500_schedules",
        "summary": "ERISA Form 5500 Schedule Validator",
        "description": "Validates a Form 5500 schedule-applicability matrix (plan type and size determine required schedules H/I/A/C/G/MB/SB/R), a Schedule H cross-schedule arithmetic tie (ending assets equal beginning assets plus net income minus distributions), and the filing-deadline calculation (plan-year end plus seven months, with the Form 5558 two-and-a-half-month extension). This is form-lint -- structural schedule applicability and arithmetic -- not retirement or plan-design advice; it sits in the compliance-mechanics lane of the options-shelf constraint, not the advice lane. Part of the record-integrity family alongside lint_metro2_record (art-398), lint_x12_claim_records (art-399), and check_official_statement_completeness (art-400).\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-401-validate-form5500-schedules.html\n**Wave:** 47\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-401-validate-form5500-schedules.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "validate_form5500_schedules",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-401-validate-form5500-schedules.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 47
      }
    },
    "/v1/tools/validate_regf_call_frequency": {
      "post": {
        "operationId": "validate_regf_call_frequency",
        "summary": "Reg F Call-Frequency Presumption Validator",
        "description": "Checks a declared debt-collection call log against the two 12 CFR 1006.14(b) Regulation F rebuttable presumptions: more than seven telephone calls to a person on a single debt within any seven consecutive days, and a call placed within seven days after a telephone conversation with that person on that debt. Pure interval counting over declared timestamps under a declared timezone offset; returns per-debt findings and a receipt. Presumptions are rebuttable per 1006.14(b)(3) and this does not determine that harassment occurred.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-402-validate-regf-call-frequency.html\n**Wave:** 60\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-402-validate-regf-call-frequency.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "validate_regf_call_frequency",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-402-validate-regf-call-frequency.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 60
      }
    },
    "/v1/tools/check_debt_validation_notice": {
      "post": {
        "operationId": "check_debt_validation_notice",
        "summary": "Debt Validation Notice Completeness Checker",
        "description": "Checks a debt-validation-notice content-element checklist against Regulation F 12 CFR 1006.34 (the Model Form B-1 element set) and computes the 30-day validation-period response-window math from a declared mailing date under a declared mailing-to-receipt assumption. Same present/absent checklist shape as the shipped official-statement / Metro2 / X12 linters. Checks that declared elements are present and well-formed, not that disclosed amounts are accurate.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-403-check-debt-validation-notice.html\n**Wave:** 60\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-403-check-debt-validation-notice.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "check_debt_validation_notice",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-403-check-debt-validation-notice.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 60
      }
    },
    "/v1/tools/check_retail_installment_disclosures": {
      "post": {
        "operationId": "check_retail_installment_disclosures",
        "summary": "Retail Installment Contract TILA Disclosure Checker",
        "description": "Ties declared retail-installment-contract Amount Financed, Finance Charge, and Total of Payments (12 CFR 1026.18) against a REUSED amortization schedule -- compose by feeding build_amortization_schedule's (art-332) output_payload straight in, or by reference via its totals and schedule_digest. Does not amortize itself. Also records a dealer-participation/markup declaration as an asserted, receipt-bound fair-lending adjacency note -- no discrimination determination is computed.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-404-check-retail-installment-disclosures.html\n**Wave:** 60\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-404-check-retail-installment-disclosures.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "check_retail_installment_disclosures",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-404-check-retail-installment-disclosures.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 60
      }
    },
    "/v1/tools/check_private_student_loan_disclosures": {
      "post": {
        "operationId": "check_private_student_loan_disclosures",
        "summary": "Private Student Loan Disclosure & Rescission Checker",
        "description": "Checks a private-education-loan disclosure-element checklist across the three 12 CFR 1026.46-48 stages (application/solicitation, approval, final), the HEOA self-certification-form presence requirement, and computes the 3-business-day right-to-cancel window from a declared final-disclosure date (skipping weekends and any declared holiday dates). Federal Income-Driven Repayment (IDR) calculations are explicitly out of scope v1 -- flagged as a future rider trigger, not built, because those formulas churn on a policy cycle distinct from the stable 1026.46-48 requirements checked here.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-405-check-private-student-loan-disclosures.html\n**Wave:** 60\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-405-check-private-student-loan-disclosures.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "check_private_student_loan_disclosures",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-405-check-private-student-loan-disclosures.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 60
      }
    },
    "/v1/tools/estimate_cross_venue_margin_capital": {
      "post": {
        "operationId": "estimate_cross_venue_margin_capital",
        "summary": "Crypto Cross-Venue Margin & Off-Exchange Settlement Estimator",
        "description": "Estimates the crypto off-exchange settlement / cross-venue margin picture for a book spread across trading venues (the Copper ClearLoop / FalconX / Ceffu model, per AT-CLEARING-WAVE-SPEC.md CW-1): the net cross-venue margin requirement after a declared netting offset against the sum of each venue's own isolated margin, the capital freed and capital efficiency of MPC-custody off-exchange settlement vs on-exchange isolated margin, the financing cost of running the book at a declared leverage multiple checked against a caller-declared program leverage cap (e.g. ClearLoop Loans up to 4x / FalconX up to 5x), and a plain counterparty/custody-risk framing string. Netting percentages, leverage caps and program names are caller-declared, version-pinned fixtures, never fetched or hard-coded. Distinct from the shipped TradFi treasury-clearing cluster (art-48..51), which addresses the US Treasury cash/repo clearing mandate and CME-FICC Combined Portfolio margining -- this node is the crypto prime-brokerage analogue. This receipt attests our computation over the user's declared positions and venue terms -- it does not verify those positions and is not a margin call, a settlement instruction, or investment advice.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-406-cross-venue-margin-estimator.html\n**Wave:** 67\n**mandate_type:** analytics_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "analytics_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-406-cross-venue-margin-estimator.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: analytics_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "estimate_cross_venue_margin_capital",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-406-cross-venue-margin-estimator.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "analytics_mandate",
        "x-ocg-wave": 67
      }
    },
    "/v1/tools/run_umr_aana_readiness": {
      "post": {
        "operationId": "run_umr_aana_readiness",
        "summary": "UMR / AANA Readiness Diagnostic",
        "description": "Determines whether a group's declared AANA (average aggregate notional amount) puts it in scope for the uncleared margin rules (UMR), per AT-CLEARING-WAVE-SPEC.md CW-2, and flags which counterparties are over the regulatory initial-margin threshold with an open documentation or custody gap. Thresholds (AANA >EUR 8bn, IM threshold EUR 50m) are pinned constants echoed in the output as constants_version + vintage, never fetched. This is an eligibility/readiness checker, not a SIMM calculator -- estimated IM per counterparty is always a caller declaration, never derived here from risk-class sensitivities, since SIMM is a licensed ISDA methodology not reproduced by this node. Distinct from the shipped TradFi treasury-clearing cluster (art-48..51), which addresses the US Treasury cash/repo clearing mandate, and from the crypto cross-venue margin estimator (art-406). This receipt attests our computation over the AANA and per-counterparty inputs the caller declared -- it does not audit those inputs and is not a determination that any entity is in or out of UMR scope.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-407-umr-aana-readiness-diagnostic.html\n**Wave:** 67\n**mandate_type:** agent_guardrail_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "agent_guardrail_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-407-umr-aana-readiness-diagnostic.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: agent_guardrail_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "run_umr_aana_readiness",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-407-umr-aana-readiness-diagnostic.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "agent_guardrail_mandate",
        "x-ocg-wave": 67
      }
    },
    "/v1/tools/assemble_ocg_evidence_bundle": {
      "post": {
        "operationId": "assemble_ocg_evidence_bundle",
        "summary": "Evidence Bundle Tier Labeler",
        "description": "Assembles a shareable evidence bundle around an artifact and stamps the SPEC.md §SIDECAR.1 tiered label it qualifies for: OCG-Verify (envelope well-formed, execution_hash recomputes), OCG-Execute (additionally §21 chain-execution and §22 mandate gates hold), OCG-Prove (additionally a §18 compute-integrity proof verifies). Tiers are cumulative -- any gate false at a level makes every level above it unavailable. The label adds no new gate and mints no new trust claim: it re-expresses existing gate-pass results the caller declares for the referenced artifact, and this node never re-runs those gates itself. When the caller supplies collected section-27.2 human-accountability records, they consume/emit as a section-27.6 evidence bundle keyed to the same artifact hash, so the tier label and the accountability trail ride one diffable object. Zero network, zero PII.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-408-evidence-bundle-tier-labeler.html\n**Wave:** 68\n**mandate_type:** attestation_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "attestation_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-408-evidence-bundle-tier-labeler.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: attestation_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "assemble_ocg_evidence_bundle",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-408-evidence-bundle-tier-labeler.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "attestation_mandate",
        "x-ocg-wave": 68
      }
    },
    "/v1/tools/assemble_ai_addendum": {
      "post": {
        "operationId": "assemble_ai_addendum",
        "summary": "AI Addendum Assembler",
        "description": "Assembles a Common Paper AI Addendum (Version 1.0, CC BY 4.0) from your Cover Page Key Terms: whether Provider may Train Models on Customer data, whether Provider may use data for non-training improvement, data retention window, output ownership, and AI sub-processor disclosure. The Standard Terms body is vendored verbatim and never modified; only the Cover Page varies. Emits the assembled addendum plus a contract-api.json variable map twin for agent consumption. Party identity, signatures, and notice addresses stay as literal placeholder tokens for your own off-platform signing flow. Not legal advice.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-411-ai-addendum-assembler.html\n**Wave:** 50\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-411-ai-addendum-assembler.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "assemble_ai_addendum",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-411-ai-addendum-assembler.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 50
      }
    },
    "/v1/tools/map_ai_act_procurement_clauses": {
      "post": {
        "operationId": "map_ai_act_procurement_clauses",
        "summary": "AI Act Procurement Clause Mapper",
        "description": "Maps an EU AI Act risk tier (derived from an upstream classifier such as the AI Act high-risk fit diagnostic) to the European Commission's Model Contractual AI Clauses (MCC-AI) template selection: High-Risk or Light, plus the applicable Chapter III clause set (transparency, risk management, data governance, human oversight, cybersecurity for High-Risk; a reduced set for Light). Reference mode only: MCC-AI redistribution terms are unclear, so this node selects and points to the official source rather than vendoring clause text. Not legal advice.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-412-ai-act-procurement-clause-mapper.html\n**Wave:** 50\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-412-ai-act-procurement-clause-mapper.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "map_ai_act_procurement_clauses",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-412-ai-act-procurement-clause-mapper.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 50
      }
    },
    "/v1/tools/screen_sanctions_private": {
      "post": {
        "operationId": "screen_sanctions_private",
        "summary": "Private-Input Sanctions Screen",
        "description": "Screens a privately held party/transfer list against a pinned OFAC-SDN-style list version and emits a public verdict (screened, hit count, clean flag) without disclosing the party list. Carries an OCG Standard §25 ocg-private-input@1 declaration: the party list is committed via sha256-salted@1 in policy_parameters.parties_commitment, never in the clear. Proves the screening ran against a specific committed list and list version. Private-input variant of screen_tip20_transfer_batch (art-38); use that public-input kernel when disclosure of the party list is acceptable; use this one when it is not. ZERO PII disclosed: only the verdict is public.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-413-screen-sanctions-private.html\n**Wave:** 51\n**mandate_type:** analytics_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "analytics_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-413-screen-sanctions-private.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: analytics_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "screen_sanctions_private",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-413-screen-sanctions-private.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "analytics_mandate",
        "x-ocg-wave": 51
      }
    },
    "/v1/tools/compute_rbc_action_level_private": {
      "post": {
        "operationId": "compute_rbc_action_level_private",
        "summary": "Private-Input NAIC RBC Action Level",
        "description": "Computes the NAIC Risk-Based Capital action-level tier from a privately held Total Adjusted Capital and Authorized Control Level RBC, emitting only the tier (NO_ACTION through MANDATORY_CONTROL) without disclosing the underlying dollar figures. Carries an OCG Standard §25 ocg-private-input@1 declaration: the capital components are committed via sha256-salted@1 in policy_parameters.rbc_components_commitment, never in the clear. Private-input variant of compute_rbc_action_level (art-254); use that public-input kernel when disclosure of the capital figures is acceptable; use this one when it is not. ZERO PII disclosed: only the action-level tier is public.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-414-compute-rbc-action-level-private.html\n**Wave:** 51\n**mandate_type:** analytics_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "analytics_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-414-compute-rbc-action-level-private.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: analytics_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "compute_rbc_action_level_private",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-414-compute-rbc-action-level-private.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "analytics_mandate",
        "x-ocg-wave": 51
      }
    },
    "/v1/tools/check_capital_adequacy_private": {
      "post": {
        "operationId": "check_capital_adequacy_private",
        "summary": "Private-Input Capital Adequacy Check",
        "description": "Checks a privately held eligible-capital and risk-weighted-assets figure against a pinned regulatory minimum (Basel III/3.1 CET1, or Solvency II SCR coverage), emitting only an above/below-minimum verdict and tier without disclosing capital or RWA. Carries an OCG Standard §25 ocg-private-input@1 declaration: the capital inputs are committed via sha256-salted@1 in policy_parameters.capital_inputs_commitment, never in the clear. Private-input variant of compute_basel31_delta (art-07) / calculate_solvency2_scr_ratio (art-180); use those public-input kernels when disclosure of the capital figures is acceptable; use this one when it is not. ZERO PII disclosed: only the above/below-minimum verdict is public.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-415-check-capital-adequacy-private.html\n**Wave:** 51\n**mandate_type:** analytics_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "analytics_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-415-check-capital-adequacy-private.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: analytics_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "check_capital_adequacy_private",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-415-check-capital-adequacy-private.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "analytics_mandate",
        "x-ocg-wave": 51
      }
    },
    "/v1/tools/build_idv_verification_incident_record": {
      "post": {
        "operationId": "build_idv_verification_incident_record",
        "summary": "IDV/KYC Verification-Failure Incident Composer",
        "description": "Composes a structured verification-failure/fraud-attempt incident record from an IDV/KYC session for fraud teams, regulators, and insurers: a cross-link to the session's hash-chained receipt (art-359), an honest failure classification (type + AR4SI severity tier), session evidence digests, remediation status, and an optional cross-link to an escalation record or a signed failure receipt. Reuses the art-379 agent-incident-record shape and vocabulary. A missing session-receipt link degrades the record's claim strength rather than being silently accepted, and a malformed cross-link hash is flagged, not hidden. This is an evidence format for an incident the caller declares, not a fraud-detection system, not a determination of fault, and not a regulatory or insurance adjudication. Zero network, zero PII.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-418-idv-verification-failure-incident-composer.html\n**Wave:** 62\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-418-idv-verification-failure-incident-composer.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "build_idv_verification_incident_record",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-418-idv-verification-failure-incident-composer.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 62
      }
    },
    "/v1/tools/verify_witness_cosignatures": {
      "post": {
        "operationId": "verify_witness_cosignatures",
        "summary": "Witness Cosignature Verifier",
        "description": "Verifies a C2SP tlog-checkpoint + witness-cosignature note (SPEC.md §20.2) offline: confirms the note's origin and root match a §20/§20.1 batch anchor's declared anchored_hash, then checks each pinned witness's cosignature against a k-of-n threshold. Supports both Ed25519 cosignature/v1 and ML-DSA-44 (the suite §20.2 names alongside it under the §PQC-1 reserved-extension discipline). Consumes a caller-supplied checkpoint note (e.g. from a c2sp.org/tlog-proof bundle), verify-side only, zero log operation, zero network fetch. Golden fixtures dogfood the tool's own output, including a tampered negative fixture that must fail. States only that ≥k pinned witnesses signed this root; does not establish log honesty, key ownership, or leaf inclusion (see art-280/art-279 and SPEC.md §20.1 for those checks).\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-424-witness-cosignature-verifier.html\n**Wave:** 50\n**mandate_type:** cryptographic_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "cryptographic_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-424-witness-cosignature-verifier.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: cryptographic_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "verify_witness_cosignatures",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-424-witness-cosignature-verifier.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "cryptographic_mandate",
        "x-ocg-wave": 50
      }
    },
    "/v1/tools/compute_large_exposures_limit": {
      "post": {
        "operationId": "compute_large_exposures_limit",
        "summary": "Large Exposures Limit Check",
        "description": "Basel III large exposures framework (BCBS 283) and U.S. single-counterparty credit limits (Regulation YY, 12 CFR 252 Subpart H) limit check: aggregates each counterparty's gross exposure net of eligible credit-risk-mitigation, rolls connected/economically-interdependent counterparties into one group exposure, then checks the group against Tier 1 capital under the general 25% limit or the tighter 15% GSIB-to-GSIB limit. Emits a breach-list artifact of every group exceeding its applicable limit. Deterministic point-in-time calculation from caller-supplied exposure, CRM, and capital figures for a single reporting date.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-425-large-exposures-limit-check.html\n**Wave:** 70\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-425-large-exposures-limit-check.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "compute_large_exposures_limit",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-425-large-exposures-limit-check.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 70
      }
    },
    "/v1/tools/calculate_cecl_ecl_allowance": {
      "post": {
        "operationId": "calculate_cecl_ecl_allowance",
        "summary": "CECL Expected Credit Loss & Allowance Calculator",
        "description": "Computes a deterministic CECL (Current Expected Credit Loss, ASC 326) allowance given caller-supplied PD/LGD/EAD curves, segment exposures, and forecast scenario weights, and reconciles the result against the prior period's allowance balance. Supports WARM (Weighted-Average Remaining Maturity -- an annualized historical loss rate x remaining life practical-expedient approach), DCF (full contractual cash-flow projection, discounted at the effective interest rate, with period expected shortfall = contractual payment x PD x LGD), and straight loss-rate (a lifetime historical loss rate applied directly to exposure, no discounting) methods. BOUNDARY: PD/LGD/EAD curves and forecast scenario weights are policy inputs supplied by the caller -- human or model judgment -- and this kernel performs only the arithmetic combination into per-segment ECL and the allowance rollforward (beginning balance + provision expense - charge-offs + recoveries = ending allowance, checked against the newly computed required allowance). It does not estimate, calibrate, back-test, or validate any PD/LGD/EAD model. Distinct from IFRS9's 3-stage staging regime (see tools 196/198/204, a different accounting standard) -- CECL recognizes lifetime expected credit losses from origination with no staging transfer logic.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-426-cecl-ecl-calculator.html\n**Wave:** 70\n**mandate_type:** credit_assessment\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "credit_assessment"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-426-cecl-ecl-calculator.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: credit_assessment. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "calculate_cecl_ecl_allowance",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-426-cecl-ecl-calculator.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "credit_assessment",
        "x-ocg-wave": 70
      }
    },
    "/v1/tools/compute_discount_window_capacity": {
      "post": {
        "operationId": "compute_discount_window_capacity",
        "summary": "Discount Window Borrowing-Capacity Calculator",
        "description": "Federal Reserve Discount Window borrowing-capacity calculator: lendable value = sum of pledged collateral positions x published Fed collateral margins (margin table effective date is caller-supplied policy input, not hardcoded) compared against a runnable-liability / uninsured-deposit coverage target. Timely given the pending Discount Window Preparedness Act and the Treasury LCR-recognition push for pre-positioned collateral; no existing vendor tool covers this calculation.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-427-discount-window-capacity.html\n**Wave:** 63\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-427-discount-window-capacity.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "compute_discount_window_capacity",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-427-discount-window-capacity.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 63
      }
    },
    "/v1/tools/compute_cyber_incident_notification_clock": {
      "post": {
        "operationId": "compute_cyber_incident_notification_clock",
        "summary": "Cyber Incident Notification Clock",
        "description": "Starts three parallel regulatory notification-deadline clocks from one hash-anchored cyber-incident determination timestamp: the 36-hour interagency banking-regulator rule (12 CFR 53/225/304), the 4-business-day SEC Form 8-K Item 1.05 notification (weekends-only business-day arithmetic; no federal holiday calendar is applied, a documented scope limit), and the 72-hour NYDFS 23 NYCRR 500.17(a) notice. Each obligation carries its own decision-tree attestation slot (applicable, deadline, completion state, a §22.11-shaped optional exception for an at-risk or missed deadline) and a stable obligation_id ready to be cited by a future Human-Accountability (BANK-SPEC-HA-1) approval record, without embedding a mutable reference inside its own hashed output. A pending SEC Item 1.05 rescission petition (flagged Apr 2026) is carried as an annotation only; it does not alter the computed deadline. Complementary to tools/incident-response-runbook-builder.html. This tool computes deadlines and attestation slots only; it does not itself transmit, file, or submit any regulatory notification, and it is not legal advice.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-428-cyber-incident-clock.html\n**Wave:** 70\n**mandate_type:** attestation_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "attestation_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-428-cyber-incident-clock.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: attestation_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "compute_cyber_incident_notification_clock",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-428-cyber-incident-clock.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "attestation_mandate",
        "x-ocg-wave": 70
      }
    },
    "/v1/tools/compute_var_backtest_traffic_light": {
      "post": {
        "operationId": "compute_var_backtest_traffic_light",
        "summary": "VaR Backtesting Traffic-Light Zone Calculator",
        "description": "Counts Basel VaR backtesting exceptions (actual daily P&L loss exceeding the model's 1-day VaR estimate) over a rolling up-to-250-trading-day window, then looks up the green/yellow/red traffic-light zone and capital multiplier per the Basel Committee's 1996 Amendment to the Capital Accord to Incorporate Market Risks, Part V, retained under BCBS d457 (Jan 2019) internal-models-approach backtesting. Exception-count plus zone plus multiplier lookup only -- does NOT compute VaR itself and does NOT apply the multiplier to a capital charge.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-429-var-backtest-traffic-light.html\n**Wave:** 70\n**mandate_type:** capital_assessment\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "capital_assessment"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-429-var-backtest-traffic-light.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: capital_assessment. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "compute_var_backtest_traffic_light",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-429-var-backtest-traffic-light.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "capital_assessment",
        "x-ocg-wave": 70
      }
    },
    "/v1/tools/compute_fdic_assessment_rate": {
      "post": {
        "operationId": "compute_fdic_assessment_rate",
        "summary": "FDIC Deposit-Insurance Assessment Rate Calculator",
        "description": "FDIC deposit-insurance assessment rate calculator (12 CFR 327): looks up the base assessment rate for a supplied composite CAMELS + financial-ratio score against a caller-supplied rate schedule, then applies the unsecured-debt and brokered-deposit adjustments and floors/caps the result to a caller-supplied statutory range. The rate schedule is caller-supplied policy input, not hardcoded, so a future FDIC rate-schedule update (including a pending assessments rulemaking) is a policy_parameters change, not a kernel change. Does not compute the composite CAMELS score itself.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-431-fdic-assessment-rate-calculator.html\n**Wave:** 71\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-431-fdic-assessment-rate-calculator.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "compute_fdic_assessment_rate",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-431-fdic-assessment-rate-calculator.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 71
      }
    },
    "/v1/tools/map_call_report_schedule_rc": {
      "post": {
        "operationId": "map_call_report_schedule_rc",
        "summary": "Call Report Schedule RC (Balance Sheet) Mapper",
        "description": "Maps caller-declared FFIEC Call Report (FFIEC 031) Schedule RC line items -- cash, securities, loans and leases, other assets; deposits, borrowings, other liabilities; common stock, surplus, retained earnings, AOCI -- into Schedule RC totals (Total assets RCON2170, Total liabilities RCON2948, Total equity capital RCON3210, real public MDRM item codes) and checks the RC balance-sheet identity (Total assets == Total liabilities + Total equity capital) within a caller-set rounding tolerance. Not a filer -- produces evidence artifacts and form-shaped totals only, never a submission. Line-item values are caller-declared from the institution's own books; this tool performs only arithmetic aggregation and the identity check, never estimation or audit of individual line items. Feeds art-433 (Schedule RC-R capital) and art-434 (Call Report edit-check gate) for cross-schedule validation. Not for Y-9C (see the separate Y-9C kernel, which uses instruction-text-encoded edits, not a public taxonomy).\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-432-call-report-rc-balance-sheet.html\n**Wave:** 71\n**mandate_type:** regulatory_reporting\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "regulatory_reporting"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-432-call-report-rc-balance-sheet.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: regulatory_reporting. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "map_call_report_schedule_rc",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-432-call-report-rc-balance-sheet.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "regulatory_reporting",
        "x-ocg-wave": 71
      }
    },
    "/v1/tools/map_call_report_schedule_rcr": {
      "post": {
        "operationId": "map_call_report_schedule_rcr",
        "summary": "Call Report Schedule RC-R (Regulatory Capital) Mapper",
        "description": "Maps caller-declared FFIEC Call Report (FFIEC 031) Schedule RC-R regulatory-capital components -- CET1, additional Tier 1, Tier 2 capital, total risk-weighted assets, total leverage exposure -- into the standard capital ratios (CET1, Tier 1, Total capital, supplementary leverage ratio) and the 2026-04-01 eSLR final rule's GSIB buffer requirement (§0.2), each checked against caller-declared, version-pinned minimums. Not a filer -- produces evidence artifacts and form-shaped totals only, never a submission. Capital-component and RWA values are caller-declared; this tool performs only ratio arithmetic and threshold comparison, never risk-weight calculation, exposure classification, or GSIB-status derivation. Feeds art-434 (Call Report edit-check gate) for cross-schedule validation against art-432 (Schedule RC). Not for Y-9C HC-R (see the separate Y-9C kernel).\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-433-call-report-rcr-capital.html\n**Wave:** 71\n**mandate_type:** regulatory_reporting\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "regulatory_reporting"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-433-call-report-rcr-capital.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: regulatory_reporting. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "map_call_report_schedule_rcr",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-433-call-report-rcr-capital.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "regulatory_reporting",
        "x-ocg-wave": 71
      }
    },
    "/v1/tools/map_bhc_schedule_hc": {
      "post": {
        "operationId": "map_bhc_schedule_hc",
        "summary": "FR Y-9C Schedule HC (Consolidated Balance Sheet) Mapper",
        "description": "Maps caller-declared FR Y-9C (Financial Statements for Holding Companies) Schedule HC line items -- cash, securities, loans and leases, other assets; deposits, borrowings, other liabilities; common stock, surplus, retained earnings, AOCI -- into Schedule HC totals (Total assets BHCK2170, Total liabilities BHCK2948, Total equity capital BHCK3210, real public MDRM item codes shared with the Call Report Schedule RC schema under the BHCK consolidated-holding-company prefix) and checks the HC balance-sheet identity within a caller-set rounding tolerance. Y-9C panel = top-tier bank holding companies with total consolidated assets >= $3B (§0.2). NO public XBRL edit taxonomy exists for Y-9C (FFIEC CDR taxonomy covers Call Reports 031/041/051 + UBPR only) -- edits are hand-encoded from FR Y-9C instruction text, not sourced from a machine-readable taxonomy. Schedule mapping logic mirrors art-432 (Call Report Schedule RC) 1:1; only the MDRM prefix (BHCK vs RCON) and report_form differ. Not a filer -- produces evidence artifacts and form-shaped totals only, never a submission. Line-item values are caller-declared from the holding company's own books; this tool performs only arithmetic aggregation and the identity check, never estimation or audit of individual line items. Feeds art-436 (Schedule HC-R capital).\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-435-bhc-schedule-hc-balance-sheet.html\n**Wave:** 71\n**mandate_type:** regulatory_reporting\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "regulatory_reporting"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-435-bhc-schedule-hc-balance-sheet.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: regulatory_reporting. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "map_bhc_schedule_hc",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-435-bhc-schedule-hc-balance-sheet.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "regulatory_reporting",
        "x-ocg-wave": 71
      }
    },
    "/v1/tools/map_bhc_schedule_hcr": {
      "post": {
        "operationId": "map_bhc_schedule_hcr",
        "summary": "FR Y-9C Schedule HC-R (Regulatory Capital) Calculator",
        "description": "Given caller-supplied CET1/Tier1/Tier2 capital components and risk-weighted assets, computes FR Y-9C Schedule HC-R standard capital ratios plus the supplementary leverage ratio (SLR), including the enhanced-SLR (eSLR) buffer effective 2026-04-01 (§0.2), for top-tier bank holding companies (Y-9C panel = total consolidated assets >= $3B). Schedule mapping and ratio-calculation logic mirrors art-433 (Call Report Schedule RC-R) 1:1 -- same thresholds, same eSLR buffer treatment; only report_form and entity type (consolidated holding company vs insured depository institution) differ. NO public XBRL edit taxonomy exists for Y-9C (§0.2) -- capital-component field names mirror the FR Y-9/FFIEC BHCK consolidated mnemonic convention, hand-encoded from FR Y-9C instruction text. BOUNDARY: capital component and RWA values are caller-declared; this tool performs only ratio arithmetic and threshold comparison against caller-declared, version-pinned minimums -- it does not calculate risk weights, classify exposures, or derive GSIB status. Not a filer -- produces evidence artifacts only, never a submission.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-436-bhc-schedule-hcr-capital.html\n**Wave:** 71\n**mandate_type:** regulatory_reporting\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "regulatory_reporting"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-436-bhc-schedule-hcr-capital.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: regulatory_reporting. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "map_bhc_schedule_hcr",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-436-bhc-schedule-hcr-capital.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "regulatory_reporting",
        "x-ocg-wave": 71
      }
    },
    "/v1/tools/compute_fr2052a_inflow_outflow_classification": {
      "post": {
        "operationId": "compute_fr2052a_inflow_outflow_classification",
        "summary": "FR 2052a Inflow/Outflow Bucket Classifier",
        "description": "FR 2052a complex-institution liquidity monitoring filing-layer kernel, scoped to the inflow/outflow section: product/maturity-bucket classification against a caller-supplied Appendix IV-style boundary table (versioned policy input, not hardcoded), intercompany elimination (excluded from external aggregation, reported separately), and form-shaped JSON export by bucket (inflow/outflow/net). A bucket override without a reason_code is flagged -- the row-level basis for a separate signed §27 human_accountability_record, not minted by this kernel. Not a filing tool -- evidence artifact and form-shaped export only, never regulator-submittable. Not check_conforming_loan_limit or a Call Report/Y-9C schedule kernel.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-437-fr2052a-inflow-outflow-classifier.html\n**Wave:** 71\n**mandate_type:** regulatory_reporting\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "regulatory_reporting"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-437-fr2052a-inflow-outflow-classifier.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: regulatory_reporting. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "compute_fr2052a_inflow_outflow_classification",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-437-fr2052a-inflow-outflow-classifier.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "regulatory_reporting",
        "x-ocg-wave": 71
      }
    },
    "/v1/tools/compose_eval_attestation_receipt": {
      "post": {
        "operationId": "compose_eval_attestation_receipt",
        "summary": "Eval Attestation Receipt Composer",
        "description": "Hashes a third-party eval log (e.g. an Inspect AI transcript) and binds it into a receipt that a compiled Work Mandate (art-274) can reference. VERIFY-ONLY: never executes, re-runs, or re-scores the eval -- composes shipped §4 hash, §16 signature, and §20 anchor carriers around a digest the caller already produced. claim_strength is the weakest-link status across the eval log hash and the mandate reference, never inflated by one strong leg covering a missing other.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-438-eval-attestation-receipt-composer.html\n**Wave:** 72\n**mandate_type:** governance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "governance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-438-eval-attestation-receipt-composer.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: governance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "compose_eval_attestation_receipt",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-438-eval-attestation-receipt-composer.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "governance_mandate",
        "x-ocg-wave": 72
      }
    },
    "/v1/tools/rollforward_y14_capital_worksheet": {
      "post": {
        "operationId": "rollforward_y14_capital_worksheet",
        "summary": "FR Y-14 Capital Worksheet Roll-Forward & Cross-Check",
        "description": "Rolls forward a caller-declared FR Y-14A/Q capital worksheet (CET1, additional Tier 1, Tier 2) from beginning balance through period additions and deductions to an ending balance, applies a caller-declared published-scenario adjustment (e.g. a Federal Reserve DFAST/CCAR severely-adverse published-scenario delta), and cross-checks the computed ending total capital against a caller-declared reported total-capital figure sourced from another schedule (e.g. FR Y-9C Schedule HC-R, art-436) within a caller-declared tolerance. Not a filer -- produces evidence artifacts and worksheet totals only, never a submission. All roll-forward line items, the scenario adjustment amount, and the cross-check reference figure are caller-declared; this tool performs only roll-forward arithmetic (beginning + additions - deductions + scenario adjustment = ending) and a tolerance comparison, never capital-component classification, scenario modeling, or projection -- firm capital-planning models (PPNR, loss forecasts, scenario translation into balance-sheet impact) stay strictly outside this boundary. Complements art-436 (BHC Schedule HC-R capital) as an independent roll-forward/cross-check, not a replacement for it.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-439-y14-capital-worksheet-rollforward.html\n**Wave:** 71\n**mandate_type:** regulatory_reporting\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "regulatory_reporting"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-439-y14-capital-worksheet-rollforward.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: regulatory_reporting. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "rollforward_y14_capital_worksheet",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-439-y14-capital-worksheet-rollforward.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "regulatory_reporting",
        "x-ocg-wave": 71
      }
    },
    "/v1/tools/map_nmd_behavioral_repricing": {
      "post": {
        "operationId": "map_nmd_behavioral_repricing",
        "summary": "NMD Behavioral Repricing Mapper",
        "description": "OCC 2010-1 Interagency Advisory on IRR: maps non-maturity deposit (NMD) segment balances into a bucketed net-repricing-gap schedule using a caller-declared behavioral allocation (per-bucket repricing fractions) and a deposit beta -- never a baked-in regulatory decay curve. Feeds directly into art-369's repricing_gaps input, which art-369 itself requires as a GIVEN and does not derive. Distinct from art-369 (Rate Shock Ladder Replay), which sweeps shocks over an already-bucketed gap schedule; this kernel builds that schedule from underlying deposit balances. NaN-safe. Zero network, zero PII.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-442-nmd-behavioral-repricing-mapper.html\n**Wave:** 73\n**mandate_type:** analytics_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "analytics_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-442-nmd-behavioral-repricing-mapper.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: analytics_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "map_nmd_behavioral_repricing",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-442-nmd-behavioral-repricing-mapper.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "analytics_mandate",
        "x-ocg-wave": 73
      }
    },
    "/v1/tools/calculate_basis_risk_nii_shock": {
      "post": {
        "operationId": "calculate_basis_risk_nii_shock",
        "summary": "IRRBB Basis-Risk NII Shock Calculator",
        "description": "Comptroller's Handbook IRR basis-risk delta-NII calculator: sweeps a single reference-rate shock across multiple priced indices (Prime, SOFR, Fed Funds, CD portfolio, etc.), each with a caller-declared historical beta vs the reference rate, and isolates the incremental delta-NII from indices not moving in lockstep. Distinct from art-369 (Rate Shock Ladder Replay), whose parallel-curve convention assumes one shock moves the entire gap schedule uniformly and cannot see basis risk. Complements art-369 and art-442 as the third leg of a full NII/EVE-shock toolkit. NaN-safe. Zero network, zero PII.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-443-irrbb-basis-risk-nii-shock-calculator.html\n**Wave:** 73\n**mandate_type:** analytics_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "analytics_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-443-irrbb-basis-risk-nii-shock-calculator.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: analytics_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "calculate_basis_risk_nii_shock",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-443-irrbb-basis-risk-nii-shock-calculator.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "analytics_mandate",
        "x-ocg-wave": 73
      }
    },
    "/v1/tools/compute_basel_haircut_adjusted_exposure": {
      "post": {
        "operationId": "compute_basel_haircut_adjusted_exposure",
        "summary": "Collateral Haircut Engine (Basel CRE22)",
        "description": "Basel CRE22 comprehensive-approach collateral haircut engine for counterparty credit risk: applies a caller-supplied, versioned supervisory haircut table (policy input, not hardcoded) to each collateral item's asset class/maturity bucket, scales for a non-standard holding period via the CRE22.68 square-root-of-time rule, adds an FX-mismatch haircut where collateral currency differs from exposure currency, and computes net exposure E* = max(0, E*(1+He) - sum(C*(1-Hc-Hfx))). An item haircut override without a reason_code is flagged -- the item-level basis for a separate signed §27 human_accountability_record, not minted by this kernel. An unmatched asset_class/maturity_bucket defaults to a conservative 100% haircut, flagged, never silently valued. Deterministic per-item haircut application and summation only -- no collateral-to-exposure allocation/optimization solver. Not calculate_repo_haircut (508, Canton 24/7 timing-gap-specific SFT calculator) or compute_stock_token_collateral_haircut (art-320, RHC liquidation-risk layering) -- this is the generic Basel comprehensive-approach net-exposure engine across asset classes and currencies. Not a capital-return filing tool -- evidence artifact only, never regulator-submittable.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-444-collateral-haircut-engine.html\n**Wave:** 71\n**mandate_type:** regulatory_reporting\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "regulatory_reporting"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-444-collateral-haircut-engine.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: regulatory_reporting. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "compute_basel_haircut_adjusted_exposure",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-444-collateral-haircut-engine.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "regulatory_reporting",
        "x-ocg-wave": 71
      }
    },
    "/v1/tools/check_credit_concentration_topn_sector": {
      "post": {
        "operationId": "check_credit_concentration_topn_sector",
        "summary": "Credit Concentration Top-N / Sector Checker",
        "description": "Credit-concentration screen over a flat exposure list (name, sector, amount): returns the top-N single-name exposures by amount, a per-sector rollup, single-name and sector Herfindahl-Hirschman Index (0-10000 scale), and a breach list against caller-declared single-name and sector limit percentages. Concentration limits are your own institution's risk-appetite policy, not a fixed regulatory threshold, so nothing is baked in. Distinct from the shipped IRRBB/NII shock kernels (art-183/art-185/art-369), which measure rate-risk exposure rather than name/sector diversification. NaN-safe. Zero network, zero PII.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-445-credit-concentration-topn-sector.html\n**Wave:** 72\n**mandate_type:** analytics_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "analytics_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-445-credit-concentration-topn-sector.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: analytics_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "check_credit_concentration_topn_sector",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-445-credit-concentration-topn-sector.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "analytics_mandate",
        "x-ocg-wave": 72
      }
    },
    "/v1/tools/compute_counterparty_limit_check": {
      "post": {
        "operationId": "compute_counterparty_limit_check",
        "summary": "Counterparty Internal Limit Check",
        "description": "Counterparty internal credit-limit check: compares each counterparty's caller-supplied current exposure against its board-approved internal limit line (settlement, pre-settlement/PFE, or aggregate limit type), computes utilization percent and headroom, and flags each counterparty WITHIN_LIMIT, WARNING (above the caller-set soft-warning threshold, e.g. 90% of the limit), or BREACH (exposure exceeds the approved limit). This is a deterministic point-in-time check against internally governed limit lines -- distinct from the Basel/Reg-YY regulatory single-counterparty threshold check (art-425) -- and is NOT a real-time exposure monitor: no live feed, no intraday polling, no scheduled job. Not X: use art-425 for the Basel III / Regulation YY 25%/15%-of-Tier-1 regulatory large-exposures limit; use this node for internal (board- or risk-committee-approved) counterparty limit-line governance.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-446-counterparty-internal-limit-check.html\n**Wave:** 70\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-446-counterparty-internal-limit-check.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "compute_counterparty_limit_check",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-446-counterparty-internal-limit-check.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 70
      }
    },
    "/v1/tools/check_securitization_risk_retention": {
      "post": {
        "operationId": "check_securitization_risk_retention",
        "summary": "Securitization Risk Retention Check",
        "description": "EU Securitisation Regulation (EU) 2017/2402 Art.6 and U.S. Credit Risk Retention Rule (Dodd-Frank Sec.941, Reg RR, 12 CFR Part 244) 5% risk-retention checker: verifies the originator/sponsor/original-lender retains at least 5% net economic interest via a recognized method (vertical slice, horizontal first-loss, L-shaped, representative sample, seller's interest), applies the U.S. Qualified Residential Mortgage (QRM) exemption where flagged, and flags EU-specific structural breaches -- retainer sole-purpose-entity prohibition and retained-interest hedging/sale. Deterministic point-in-time structural check from caller-supplied retention method, exposure/retained amounts, and jurisdiction-specific flags for a single reporting date. Not a compute_rbc_action_level (NAIC insurer capital ladder) or calculate_solvency2_scr_ratio (EU insurer capital) check -- this is bank/ABS securitization risk-retention structure, not insurer solvency.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-447-securitization-risk-retention-check.html\n**Wave:** 73\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-447-securitization-risk-retention-check.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "check_securitization_risk_retention",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-447-securitization-risk-retention-check.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 73
      }
    },
    "/v1/tools/track_ifrs17_loss_component_rollforward": {
      "post": {
        "operationId": "track_ifrs17_loss_component_rollforward",
        "summary": "IFRS 17 Loss Component Roll-Forward Tracker",
        "description": "Tracks the IFRS 17 para 50 loss-component roll-forward across periods: opening balance, additional loss recognised on new onerous contracts, reversal from subsequent favourable experience (capped so it never reverses more than the available balance), other adjustments, and release to profit or loss (capped at the pre-release balance). Delta over validate_ifrs17_csm_rollforward (art-178), which resets the loss component to a single period's shortfall and does not track the component's own multi-period roll-forward or its release pattern. IFRS 17 para 50, BC323-BC326. NaN-safe numeric validation on all inputs. Zero network, zero PII.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-448-ifrs17-loss-component-tracker.html\n**Wave:** 32\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-448-ifrs17-loss-component-tracker.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "track_ifrs17_loss_component_rollforward",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-448-ifrs17-loss-component-tracker.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 32
      }
    },
    "/v1/tools/aggregate_solvency2_scr_modules": {
      "post": {
        "operationId": "aggregate_solvency2_scr_modules",
        "summary": "Solvency II SCR Standard-Formula Module Aggregator",
        "description": "Aggregates the five Solvency II standard-formula risk-module capital charges (market, counterparty default, life underwriting, health underwriting, non-life underwriting) into Basic SCR via the Delegated Regulation (EU) 2015/35 Annex IV correlation matrix, then adds the operational risk charge and subtracts the loss-absorbing adjustment (deferred tax/technical provisions) to produce total SCR. Delta over calculate_solvency2_scr_ratio (art-180), which takes `scr` as a given input and does not derive it from sub-module charges; feeds art-180's scr input. Not the US NAIC RBC action-level ladder (a different jurisdiction and regime, see compute_rbc_action_level). Solvency II Dir. 2009/138/EC + Del. Reg. (EU) 2015/35 Annex IV. NaN-safe. Zero network, zero PII.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-449-solvency2-scr-module-aggregator.html\n**Wave:** 32\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-449-solvency2-scr-module-aggregator.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "aggregate_solvency2_scr_modules",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-449-solvency2-scr-module-aggregator.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 32
      }
    },
    "/v1/tools/build_model_inventory_entry": {
      "post": {
        "operationId": "build_model_inventory_entry",
        "summary": "Model Inventory Entry Builder",
        "description": "Builds a single model-inventory record for a bank's SR 26-2 model-risk-management inventory: checks the caller-declared attributes (model name, owner, purpose, tier, development/deployment dates, last validation date) against the SR 26-2 required-field set, assigns a proportionality tier (limited/moderate/high) from caller-declared materiality and complexity inputs, and returns a completeness score plus a list of missing required fields. First node in the model-passport lifecycle (inventory entry, then outcome-analysis comparison in art-451, then validation status in art-453). Distinct from the shipped program-level gap analyzers (tools 339/451 SR 26-02 and SR 11-7 gap assessors), which score an institution's overall MRM program, not a single model's inventory record. Distinct from art-380 (AI workpaper record), which documents a completed assessment rather than registering a model. NaN-safe. Zero network, zero PII.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-450-model-inventory-entry.html\n**Wave:** 73\n**mandate_type:** compliance_control\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_control"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-450-model-inventory-entry.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_control. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "build_model_inventory_entry",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-450-model-inventory-entry.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_control",
        "x-ocg-wave": 73
      }
    },
    "/v1/tools/compare_model_outcome_analysis": {
      "post": {
        "operationId": "compare_model_outcome_analysis",
        "summary": "Model Outcome-Analysis Comparison",
        "description": "SR 26-2 ongoing-monitoring backtest: compares a list of period predicted-vs-actual model outcomes, computes per-period absolute percent error, mean/max absolute percent error, and flags periods breaching a caller-declared error tolerance. Returns a pass/fail outcome status against a caller-declared maximum breach rate. Second node in the model-passport lifecycle (after art-450 inventory entry, before art-453 validation status). Distinct from the shipped program-level gap analyzers (tools 339/451 SR 26-02 and SR 11-7 gap assessors), which score an institution's overall MRM program rather than backtest one model's outcomes. NaN-safe. Zero network, zero PII.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-451-model-outcome-analysis.html\n**Wave:** 73\n**mandate_type:** compliance_control\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_control"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-451-model-outcome-analysis.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_control. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "compare_model_outcome_analysis",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-451-model-outcome-analysis.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_control",
        "x-ocg-wave": 73
      }
    },
    "/v1/tools/build_ai_training_data_lineage_record": {
      "post": {
        "operationId": "build_ai_training_data_lineage_record",
        "summary": "AI Training-Data Lineage Record",
        "description": "Composes a hash-chained ML training-data lineage record: dataset identity, dataset version, upstream source dataset references, a declared collection/governance method, and an OPTIONAL reference to an existing OCG receipt for the training-run compute (tool identity, execution hash, kernel digest -- never re-embedded). Chains to a prior lineage record via sha256_prev_lineage_hash. Maps to EU AI Act Art 10 (data and data governance) + Annex IV 2(d) technical-documentation elements (data provenance, collection, labelling, cleaning); SR 11-7 model risk management data-lineage practice as the US domestic analog. Documents dataset lineage only -- does not validate dataset quality, bias, or representativeness. Not build_ai_decision_log_record (art-236, per-inference decision chain) and not build_ai_workpaper_record (art-380, audit workpaper over a receipt).\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-452-build-ai-training-data-lineage-record.html\n**Wave:** 66\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-452-build-ai-training-data-lineage-record.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "build_ai_training_data_lineage_record",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-452-build-ai-training-data-lineage-record.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 66
      }
    },
    "/v1/tools/assess_model_validation_status": {
      "post": {
        "operationId": "assess_model_validation_status",
        "summary": "Model Validation Status Assessor",
        "description": "Determines a model's SR 26-2 validation status by combining its proportionality tier, last-validation date, and most recent outcome-analysis result against a tier-based revalidation cadence (high=365 days, moderate=730, limited=1095, overridable). Returns validated / conditionally-approved / validation-overdue / restricted-use / validation-required plus days-since-validation and next-due-in-days. Third and final node in the model-passport lifecycle (after art-450 inventory entry and art-451 outcome-analysis comparison) -- the passport's headline field. Dates are caller-declared (as_of_date) and diffed with integer civil-calendar arithmetic, never the system clock, so the result is fully deterministic. Distinct from the shipped program-level gap analyzers (tools 339/451 SR 26-02 and SR 11-7 gap assessors), which score an institution's overall MRM program rather than one model's cadence status. NaN-safe. Zero network, zero PII.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-453-model-validation-status.html\n**Wave:** 73\n**mandate_type:** compliance_control\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_control"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-453-model-validation-status.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_control. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "assess_model_validation_status",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-453-model-validation-status.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_control",
        "x-ocg-wave": 73
      }
    },
    "/v1/tools/compute_globe_jurisdictional_etr": {
      "post": {
        "operationId": "compute_globe_jurisdictional_etr",
        "summary": "GloBE Jurisdictional ETR Calculator",
        "description": "Computes a jurisdiction's OECD Pillar Two (GloBE) effective tax rate from caller-declared constituent-entity financial data: sums entity-level GloBE income/loss to a jurisdictional net (Art 3.1), sums entity-level adjusted covered taxes (Art 4), and divides to get the ETR. If the jurisdictional net is a GloBE loss, no ETR is computed and the jurisdiction is flagged rather than divided by a non-positive base. Top-up tax percentage = max(0, minimum_rate - ETR); minimum_rate defaults to the Art 5.1 15% rate but is taken as a versioned policy-parameter input, not hardcoded. Election flags (de minimis, stock-based comp, aggregate deferred-tax adjustment) are caller-declared policy parameters -- this kernel echoes which elections were declared, it does not decide them; election judgment and DTA characterization stay with the filer. First node in the GloBE annual cycle, feeding the substance-based income exclusion / top-up node (art-455) and, downstream, the safe-harbour tests (art-456) and GIR composer (art-457). Pure arithmetic aggregation only. NaN-safe. Zero network, zero PII.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-454-globe-jurisdictional-etr.html\n**Wave:** 32\n**mandate_type:** compliance_control\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_control"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-454-globe-jurisdictional-etr.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_control. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "compute_globe_jurisdictional_etr",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-454-globe-jurisdictional-etr.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_control",
        "x-ocg-wave": 32
      }
    },
    "/v1/tools/compute_globe_sbie_topup": {
      "post": {
        "operationId": "compute_globe_sbie_topup",
        "summary": "GloBE SBIE & Top-up Tax Calculator",
        "description": "Computes the OECD Pillar Two substance-based income exclusion (SBIE) for a jurisdiction from a caller-declared payroll-cost figure, tangible-asset carrying value, and a versioned transition-year rate table (payroll % + tangible-asset % looked up by target year, table supplied whole as a policy input -- not hardcoded). Derives excess profit (jurisdictional GloBE income less SBIE, floored at zero), the resulting top-up tax from a caller-supplied top-up-tax percentage, and the final jurisdictional top-up after a QDMTT-paid offset, flagging any QDMTT over-collection informationally. Consumes art-454's jurisdictional GloBE income + top-up-tax-percentage output shape directly and does not recompute an ETR itself, so it also runs standalone. Election choices and GloBE-income adjustments are human judgment and stay upstream. NaN-safe. Zero network, zero PII.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-455-globe-sbie-topup.html\n**Wave:** 76\n**mandate_type:** compliance_control\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_control"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-455-globe-sbie-topup.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_control. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "compute_globe_sbie_topup",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-455-globe-sbie-topup.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_control",
        "x-ocg-wave": 76
      }
    },
    "/v1/tools/evaluate_globe_safe_harbour_tests": {
      "post": {
        "operationId": "evaluate_globe_safe_harbour_tests",
        "summary": "GloBE Transitional Safe Harbour Test Evaluator",
        "description": "Evaluates a jurisdiction against the OECD Pillar Two Transitional CbCR Safe Harbour (Dec 2022 Agreed Administrative Guidance): the de minimis test (CbCR revenue < EUR 10m AND profit before tax < EUR 1m, both versioned thresholds), the simplified ETR test (simplified covered taxes / profit before tax >= the fiscal-year transition rate -- 15% for 2023/2024, 16% for 2025, 17% for 2026, versioned rate table; auto-passes when profit before tax is non-positive since ETR is undefined), and the routine profits test (profit before tax <= the caller-supplied substance-based income exclusion amount). Safe harbour is met if ANY ONE of the three tests passes, in which case the jurisdiction's top-up tax is deemed zero. Returns each test as an independently gated pass/fail verdict with its own reasoning, plus the overall safe_harbour_met / deemed_zero_topup flags. Pure arithmetic threshold comparisons only -- elections, DTA characterization, and the SBIE amount itself are HUMAN JUDGMENT and enter only as policy_parameters; SBIE is not recomputed here (that is art-455's job). NaN-safe. Zero network, zero PII.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-456-globe-safe-harbour-tests.html\n**Wave:** 74\n**mandate_type:** compliance_control\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_control"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-456-globe-safe-harbour-tests.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_control. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "evaluate_globe_safe_harbour_tests",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-456-globe-safe-harbour-tests.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_control",
        "x-ocg-wave": 74
      }
    },
    "/v1/tools/compose_globe_gir": {
      "post": {
        "operationId": "compose_globe_gir",
        "summary": "GloBE Information Return (GIR) Composer",
        "description": "Assembles the OECD GloBE Information Return (GIR) data model for one MNE group / fiscal year by combining the outputs of art-454 (jurisdictional ETR), art-455 (SBIE / top-up), and art-456 (transitional safe harbour tests) into the GIR's jurisdictional-summary shape: per-jurisdiction ETR, SBIE, top-up tax, safe-harbour status, and the constituent-entity allocation split. Exports in two forms: an OECD GIR XML rendering (schema version pinned as a versioned policy_parameters input -- this tool does not chase draft schema revisions) and a form-shaped JSON mirror, both carrying the composed execution_hash in their metadata. Every jurisdiction row where safe_harbour_met is true is composed with top-up forced to zero (deemed_zero_topup), consistent with art-456; jurisdictions with no safe-harbour test result compose the raw art-454/455 top-up figures unchanged. This tool assembles and formats only -- it recomputes nothing upstream (ETR, SBIE, and safe-harbour verdicts are trusted inputs from their own nodes) and its XML/JSON export is explicitly marked NOT-SUBMITTABLE, since national filing gateways vary in accepted schema version and transport. Pure data assembly and templating. NaN-safe. Zero network, zero PII.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-457-globe-gir-composer.html\n**Wave:** 75\n**mandate_type:** compliance_control\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_control"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-457-globe-gir-composer.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_control. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "compose_globe_gir",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-457-globe-gir-composer.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_control",
        "x-ocg-wave": 75
      }
    },
    "/v1/tools/plan_attribute_sample": {
      "post": {
        "operationId": "plan_attribute_sample",
        "summary": "Attribute Sampling Plan Generator",
        "description": "Computes a SOX 404 / ICFR attribute-sampling plan from confidence level, tolerable deviation rate, and expected deviation rate (all policy inputs) using the standard zero-EDR Poisson attribute-sampling formula with an expansion factor for nonzero EDR. Item selection is deterministic interval sampling over the caller-declared population hash -- no randomness, so any auditor can replay the exact same sample from the same declared inputs. If the tolerable deviation rate is at or below the expected deviation rate the plan is statistically indefensible, so the kernel reframes to a full-population census rather than shipping a bad plan. First node in the ICFR control-test evidence chain (feeds art-461 control-test-evidence-composer). NaN-safe. Zero network, zero PII.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-458-attribute-sampling-plan.html\n**Wave:** 74\n**mandate_type:** compliance_control\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_control"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-458-attribute-sampling-plan.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_control. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "plan_attribute_sample",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-458-attribute-sampling-plan.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_control",
        "x-ocg-wave": 74
      }
    },
    "/v1/tools/check_sod_matrix": {
      "post": {
        "operationId": "check_sod_matrix",
        "summary": "Segregation-of-Duties Matrix Checker",
        "description": "Evaluates a caller-declared role-assignment set against a caller-declared SoD conflict ruleset for SOX 404 / ICFR access controls. For every user, checks all pairs of assigned roles against the ruleset and returns any conflicts found, the count of affected users, and a clean/not-clean verdict. The ruleset is a versioned policy input, never derived by the kernel. Deterministic pairwise set evaluation only. Zero network, zero PII -- user_id and role names are caller-supplied opaque strings.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-459-sod-matrix-check.html\n**Wave:** 74\n**mandate_type:** compliance_control\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_control"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-459-sod-matrix-check.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_control. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "check_sod_matrix",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-459-sod-matrix-check.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_control",
        "x-ocg-wave": 74
      }
    },
    "/v1/tools/verify_ipe_integrity": {
      "post": {
        "operationId": "verify_ipe_integrity",
        "summary": "IPE Integrity Verifier",
        "description": "Verifies Information-Produced-by-Entity (IPE) completeness and accuracy for SOX 404 / ICFR control testing -- is this report extract what the source system actually produced. Reconciles a caller-declared source-extract hash, row count, and control total against the same facts for the report built from it, within a caller-set rounding tolerance. All facts are policy inputs; the kernel never re-derives the extract, only reconciles the declared parameters into a confirmed/exception verdict with a discrepancy list. Deterministic equality and tolerance checks only. Zero network, zero PII.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-460-ipe-integrity-verifier.html\n**Wave:** 74\n**mandate_type:** compliance_control\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_control"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-460-ipe-integrity-verifier.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_control. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "verify_ipe_integrity",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-460-ipe-integrity-verifier.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_control",
        "x-ocg-wave": 74
      }
    },
    "/v1/tools/screen_je_ruleset": {
      "post": {
        "operationId": "screen_je_ruleset",
        "summary": "Journal-Entry Ruleset Screen",
        "description": "Runs a caller-declared, versioned journal-entry testing ruleset over a caller-declared JE extract and flags each entry that trips one or more rules: weekend/holiday postings, round-number entries, suspense/manual-account postings, post-close entries, and unusual user/account pairings. Every firm-specific convention (which rules are active, what counts as a round number, the weekend day set, the holiday calendar, the suspense-account list, the period-close date, the authorized user/account pairing list) is a caller-declared policy input, never a silent default; the ruleset_version string is echoed verbatim in the output so the artifact records exactly which policy vintage produced the flags. Optionally binds to a caller-declared extract_population_hash for audit-trail linkage to a hashed JE population (soft coupling only, e.g. to an art-460-style extract-integrity record if that node has landed). First of three ARCB-K-1 substantive audit-recalculation kernels. NaN-safe. Zero network, zero PII.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-462-je-ruleset-screen.html\n**Wave:** 74\n**mandate_type:** compliance_control\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_control"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-462-je-ruleset-screen.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_control. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "screen_je_ruleset",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-462-je-ruleset-screen.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_control",
        "x-ocg-wave": 74
      }
    },
    "/v1/tools/run_audit_recalc_suite": {
      "post": {
        "operationId": "run_audit_recalc_suite",
        "summary": "Audit Recalculation Suite",
        "description": "Independently recalculates five caller-supplied audit schedule types (straight-line/double-declining-balance/units-of-production depreciation, interest accrual, EPS basic and diluted, straight-line intangible amortization, and prepaid-expense roll-forwards) and diffs each recalculated figure against the client's stated figure. A category only runs when the caller supplies items for it. The variance threshold gate (tolerance_abs, tolerance_pct) is a caller-declared policy input with an explicit, echoed default of 0/0 (flag any nonzero variance) when the caller declares neither -- there is no silent, unrecorded tolerance. EPS diluted uses the simplified NI-less-preferred-dividends-over-diluted-shares form; it does not model if-converted or treasury-stock adjustments for specific convertible instruments, a judgment-heavy extension out of this kernel's deterministic-recalc scope. Second of three ARCB-K-1 substantive audit-recalculation kernels. NaN-safe; a zero-denominator ratio resolves to null, never NaN/Infinity. Zero network, zero PII.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-463-recalc-suite.html\n**Wave:** 74\n**mandate_type:** compliance_control\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_control"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-463-recalc-suite.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_control. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "run_audit_recalc_suite",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-463-recalc-suite.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_control",
        "x-ocg-wave": 74
      }
    },
    "/v1/tools/match_confirmations": {
      "post": {
        "operationId": "match_confirmations",
        "summary": "Bank/AR Confirmation Matcher",
        "description": "Joins caller-supplied bank and accounts-receivable confirmation responses against caller-supplied ledger balances on (counterparty_id, type), and classifies each pair EXACT_MATCH, TOLERANCE_MATCH, or MISMATCH, plus confirmations with no corresponding ledger balance and ledger balances with no corresponding confirmation. The match tolerance (tolerance_abs, tolerance_pct) is a caller-declared policy input; the explicit, echoed default is 0/0 (exact match required) when the caller declares neither -- there is no silent, unrecorded tolerance. A duplicate (counterparty_id, type) key on either side is reported as a data-quality flag rather than silently overwritten -- only the first occurrence on each side is joined. Third of three ARCB-K-1 substantive audit-recalculation kernels. NaN-safe. Zero network, zero PII.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-464-confirmation-matcher.html\n**Wave:** 74\n**mandate_type:** compliance_control\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_control"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-464-confirmation-matcher.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_control. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "match_confirmations",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-464-confirmation-matcher.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_control",
        "x-ocg-wave": 74
      }
    },
    "/v1/tools/build_dora_roi_register": {
      "post": {
        "operationId": "build_dora_roi_register",
        "summary": "DORA Register of Information (RoI) Builder & Cross-Validator",
        "description": "Constructs and cross-validates the core Register of Information (RoI) template relationships required under DORA (EU 2022/2554) Art. 28/30: entity + ICT third-party providers + functions + contractual arrangements. Validates ISO 17442 LEI format + mod-97 check-digit on the entity and every provider, referential integrity (every function's provider_id, every contract's function_id and provider_id, and function-to-contract provider consistency), and mandatory-field completeness per record type, emitting a form-shaped JSON dataset plus a validation report with per-record findings and compliance_flags. Distinct from the RoI's official xBRL-CSV submission format, which this kernel does NOT emit (a later WU handles ESA-format conversion). Distinct from art-467-dora-incident-classifier (this validates the standing RoI dataset; that classifies a single ICT incident's reporting obligations). Criticality of functions/providers is a caller-declared flag, not judged here.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-466-dora-roi-builder.html\n**Wave:** 74\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-466-dora-roi-builder.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "build_dora_roi_register",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-466-dora-roi-builder.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 74
      }
    },
    "/v1/tools/classify_dora_ict_incident_and_clock_deadlines": {
      "post": {
        "operationId": "classify_dora_ict_incident_and_clock_deadlines",
        "summary": "DORA ICT Incident Classifier & Reporting Clock",
        "description": "Classifies an ICT-related incident as major or non-major under DORA (EU 2022/2554) Art. 18, applying the published RTS (EU 2024/1772) numeric criteria (clients affected %, duration, geographical spread, data losses, economic impact, critical-services impact, reputational impact), then starts the DORA Art. 19 reporting clock (4-hour initial notification, 72-hour intermediate report, 1-calendar-month final report, all from classification) once classified major. Follows the art-428-cyber-incident-clock deadline-clock pattern for the EU DORA regime; see that node for the analogous US banking/SEC/NYDFS clock. Not a duplicate of the existing art-09-dora-incident-classifier (earlier draft-RTS citation, no notification-clock link, infrastructure_mandate) -- art-467 cites the final 2024 RTS/ITS package and is built to the attestation-clock pattern; the overlap between the two is flagged for review, not hidden. This node classifies and computes deadlines only; it does not itself transmit, file, or submit any regulatory notification, and it is not legal advice.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-467-dora-incident-classifier.html\n**Wave:** 74\n**mandate_type:** attestation_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "attestation_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-467-dora-incident-classifier.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: attestation_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "classify_dora_ict_incident_and_clock_deadlines",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-467-dora-incident-classifier.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "attestation_mandate",
        "x-ocg-wave": 74
      }
    },
    "/v1/tools/reconcile_aml_lookback_completeness": {
      "post": {
        "operationId": "reconcile_aml_lookback_completeness",
        "summary": "AML Lookback Completeness Reconciler",
        "description": "Reconciles an AML consent-order remediation lookback's order-scope population against the extract actually produced for re-screening, per historical period. Coverage is always measured against the caller-declared SOURCE-SYSTEM record count, never the extract's own self-reported count -- a lookback that reports zero gaps because it only counted what the extract already contains is indistinguishable from a clean lookback, and catching that blind spot is this node's purpose. A second axis reconciles versioned policy-list snapshot availability: any period whose sanctions/PEP list snapshot was not preserved is flagged unverifiable and excluded from the screened-coverage total rather than silently re-screened against today's list. Also flags duplicate records surviving dedup. Deterministic reconciliation arithmetic only. Zero network, zero PII.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-470-lookback-completeness-reconciler.html\n**Wave:** 74\n**mandate_type:** compliance_control\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_control"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-470-lookback-completeness-reconciler.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_control. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "reconcile_aml_lookback_completeness",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-470-lookback-completeness-reconciler.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_control",
        "x-ocg-wave": 74
      }
    },
    "/v1/tools/plan_aml_disposition_sample": {
      "post": {
        "operationId": "plan_aml_disposition_sample",
        "summary": "AML Disposition Sampling Frame Builder",
        "description": "Builds a deterministic sampling frame over an AML consent-order lookback's historical alert dispositions for independent-validator review, plus a reviewer workload allocation. Reuses the shipped art-458-attribute-sampling-plan kernel's compute() directly for the statistical core (sample size, deterministic interval selection over a caller-declared population hash) rather than reimplementing it -- no randomness, fully replayable by an independent reviewer from the same declared inputs. Adds only the AML-specific layer: labeling the frame as a disposition sample and deterministically fanning the selected indices out round-robin across a caller-declared reviewer roster. Deterministic only. Zero network, zero PII.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-471-disposition-sampling-frame.html\n**Wave:** 74\n**mandate_type:** compliance_control\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_control"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-471-disposition-sampling-frame.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_control. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "plan_aml_disposition_sample",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-471-disposition-sampling-frame.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_control",
        "x-ocg-wave": 74
      }
    },
    "/v1/tools/benchmark_tp_interquartile_range": {
      "post": {
        "operationId": "benchmark_tp_interquartile_range",
        "summary": "Transfer-Pricing Interquartile Range Benchmark",
        "description": "OECD Transfer Pricing Guidelines Ch. III §3.57 interquartile-range arithmetic over a caller-declared array of already-selected comparable financial ratios: linear-interpolation quartiles (Q1/median/Q3), IQR, and a tested-party ratio-vs-range verdict (below/within/above range). Also computes the TNMM net-cost-plus and operating-margin ratios and the Berry ratio directly from caller-declared financial data. Comparable-set SELECTION and functional/DEMPE analysis are entirely caller judgment -- this kernel performs no comparability analysis and never opines on which PLI applies; it is pure downstream arithmetic on an already-selected set. Cross-links art-456 GloBE safe-harbour (consumes the same underlying entity financial data for a different regime). Zero network, zero PII.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-473-interquartile-benchmark.html\n**Wave:** 75\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-473-interquartile-benchmark.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "benchmark_tp_interquartile_range",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-473-interquartile-benchmark.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 75
      }
    },
    "/v1/tools/validate_mt700_lc_fields": {
      "post": {
        "operationId": "validate_mt700_lc_fields",
        "summary": "MT700 LC Field Validator",
        "description": "Validates SWIFT MT700 Documentary Credit field-format and date-logic conformance against UCP 600 / MT700 mandatory-field rules: DC number, form of credit, issue/expiry/shipment dates, currency and amount, availability terms, shipment terms, goods description, documents required, presentation period, and party fields. Returns a weighted compliance score, field-by-field findings, and article citations. Provable node counterpart to tools/420-mt700-lc-field-validator.html; the tool page's Presented Documents discrepancy check (UCP 600 R01-R14) stays browser-only.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-474-validate-mt700-lc-fields.html\n**Wave:** 65\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-474-validate-mt700-lc-fields.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "validate_mt700_lc_fields",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-474-validate-mt700-lc-fields.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 65
      }
    },
    "/v1/tools/compute_cfpb_1071_coverage": {
      "post": {
        "operationId": "compute_cfpb_1071_coverage",
        "summary": "CFPB 1071 Coverage Check & SBLAR Record Validator",
        "description": "CFPB Section 1071 small business lending rule (Regulation B subpart B, revised final rule published 2026-05-01): determines whether a financial institution is a covered originator by checking its small-business-originations count against the 1,000-origination threshold for each of the two preceding calendar years, and validates a batch of Small Business Lending Application Register (SBLAR) records against a caller-supplied required-field schema. Fixed compliance-date reference: data collection begins 2028-01-01, first SBLAR submission due 2029-06-01. Deterministic threshold comparison and field-presence check only -- no filing, no submission, no hardcoded field-list claim beyond the caller's supplied schema.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-475-cfpb-1071-coverage-check.html\n**Wave:** 70\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-475-cfpb-1071-coverage-check.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "compute_cfpb_1071_coverage",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-475-cfpb-1071-coverage-check.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 70
      }
    },
    "/v1/tools/map_agent_payment_mandate": {
      "post": {
        "operationId": "map_agent_payment_mandate",
        "summary": "Agent Payment Mandate Cross-Protocol Mapper",
        "description": "Translates an agentic-payment mandate declared under one protocol (AP2, x402, or ACP) into the field vocabulary of another, pivoting through one internal canonical schema so each protocol needs only one mapping in and one mapping out. Emits the translated mandate plus a mapping receipt: source digest, target digest, mapping-table version, and a declared lossy-fields list, so any field the source could not carry is surfaced rather than silently dropped. AP2 and x402 field usage verified against art-01, art-62, and art-26; ACP is a draft-generic profile pending independent confirmation of its public schema. Verify-only and translate-only: nothing here initiates, routes, or settles a payment.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-476-map-agent-payment-mandate.html\n**Wave:** 71\n**mandate_type:** compliance_control\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_control"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-476-map-agent-payment-mandate.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_control. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "map_agent_payment_mandate",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-476-map-agent-payment-mandate.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_control",
        "x-ocg-wave": 71
      }
    },
    "/v1/tools/compute_intraday_liquidity_monitoring": {
      "post": {
        "operationId": "compute_intraday_liquidity_monitoring",
        "summary": "BCBS 248 Intraday Liquidity Monitoring Snapshot",
        "description": "BCBS 248 \"Monitoring tools for intraday liquidity management\" (Basel Committee, April 2013): computes daily maximum intraday liquidity usage (the largest negative excursion of a cumulative net settlement position built from a caller-supplied time-stamped transaction list), echoes start-of-day available liquidity, totals gross payments and receipts, checks time-specific obligations against their due times, and classifies the daily maximum usage against a caller-supplied list of available intraday liquidity sources. Not DW capacity (art-427) or FR 2052a inflow/outflow classification (art-437) -- adjacent but distinct BCBS 248 daily-usage metrics. Evidence artifact only, not a filing or supervisory submission.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-477-intraday-liquidity-monitoring.html\n**Wave:** 71\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-477-intraday-liquidity-monitoring.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "compute_intraday_liquidity_monitoring",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-477-intraday-liquidity-monitoring.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 71
      }
    },
    "/v1/tools/analyze_dc_vs_lc_cost_benefit": {
      "post": {
        "operationId": "analyze_dc_vs_lc_cost_benefit",
        "summary": "Documentary Collection vs Letter of Credit Cost-Benefit",
        "description": "Compares the total cost and risk-adjusted exposure of Documentary Collections (D/P, D/A) against Letters of Credit (Sight, Usance, Confirmed, SBLC) for a trade transaction. Returns a fee breakdown, break-even non-payment probability, and a recommendation, plus a disclosed heuristic LC protection score. Provable node counterpart to tools/423-dc-vs-lc-analyzer.html; that tool page's URC 522 checklist and jurisdiction D/A enforceability reference panels stay browser-only reference material, not computed outputs.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-478-analyze-dc-vs-lc-cost-benefit.html\n**Wave:** 65\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-478-analyze-dc-vs-lc-cost-benefit.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "analyze_dc_vs_lc_cost_benefit",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-478-analyze-dc-vs-lc-cost-benefit.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 65
      }
    },
    "/v1/tools/compare_receivables_finance_economics": {
      "post": {
        "operationId": "compare_receivables_finance_economics",
        "summary": "Forfaiting vs Factoring vs Invoice Discounting Economics",
        "description": "Compares net proceeds and effective annual cost across forfaiting (medium/long-term trade receivables, non-recourse PV discount), factoring with recourse, factoring without recourse, and invoice discounting for a receivables portfolio. Models advance rates, discount rates, service fees, and arrangement costs; returns per-instrument net proceeds, effective annual cost, a cost ranking, and the cheapest/highest-proceeds instrument. Provable node counterpart to tools/425-forfaiting-factoring-economics.html.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-479-compare-receivables-finance-economics.html\n**Wave:** 65\n**mandate_type:** analytics_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "analytics_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-479-compare-receivables-finance-economics.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: analytics_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "compare_receivables_finance_economics",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-479-compare-receivables-finance-economics.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "analytics_mandate",
        "x-ocg-wave": 65
      }
    },
    "/v1/tools/rdarr_aggregation_recompute": {
      "post": {
        "operationId": "rdarr_aggregation_recompute",
        "summary": "RDARR Aggregation Recompute",
        "description": "Re-derives a stated risk-report figure from a SUPPLIED source extract under a declared aggregation policy (filter set, netting rule, FX rate set, hierarchy roll-up). Returns the recomputed figure, a signed delta vs the reported figure, and a per-roll-up-node contribution breakdown so a break localises to one node instead of the whole report. HARD FENCE: every FX rate is supplied and asserted, never fetched (zero-egress); this recomputes the arithmetic over declared inputs and attests THAT, never an opinion on extract or reported-figure correctness, never a data-quality assessment (see art-481-rdarr-quality-scorecard), never a materiality judgement. First entry of the BCBS 239 / RDARR family, feeding the rdarr-attestation-cycle chain (art-481 + gate + attestation bundle). Not a data-quality scorecard or any general risk-data ingester. ECB Guide on effective risk data aggregation and risk reporting (3 May 2024) referenced as informative context only.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-480-rdarr-aggregation-recompute.html\n**Wave:** 66\n**mandate_type:** attestation_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "attestation_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-480-rdarr-aggregation-recompute.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: attestation_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "rdarr_aggregation_recompute",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-480-rdarr-aggregation-recompute.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "attestation_mandate",
        "x-ocg-wave": 66
      }
    },
    "/v1/tools/rdarr_quality_scorecard": {
      "post": {
        "operationId": "rdarr_quality_scorecard",
        "summary": "RDARR Quality Scorecard",
        "description": "Deterministic data-quality metrics over a SUPPLIED risk-data extract, keyed to the measurable RDARR prerequisites: completeness of mandatory attributes, referential integrity across the declared hierarchy, timeliness against a declared cut-off, reconciliation coverage, and manual-adjustment ratio. Each metric is scored against a policy-supplied threshold (never hardcoded) and labelled with its ECB Guide on effective risk data aggregation and risk reporting (3 May 2024) prerequisite area, so the result drops into an existing self-assessment. HARD FENCE: thresholds are policy inputs; this is never a supervisory pass mark, never a materiality judgement. Second entry of the BCBS 239 / RDARR family, feeding the rdarr-attestation-cycle chain alongside art-480-rdarr-aggregation-recompute (gate + attestation bundle). Not an aggregation recompute or any general risk-data ingester.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-481-rdarr-quality-scorecard.html\n**Wave:** 66\n**mandate_type:** attestation_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "attestation_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-481-rdarr-quality-scorecard.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: attestation_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "rdarr_quality_scorecard",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-481-rdarr-quality-scorecard.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "attestation_mandate",
        "x-ocg-wave": 66
      }
    },
    "/v1/tools/adjudicate_emir_reconciliation": {
      "post": {
        "operationId": "adjudicate_emir_reconciliation",
        "summary": "EMIR Trade-Repository Reconciliation Adjudicator",
        "description": "Under EMIR Refit the trade repository (TR) runs the inter-TR reconciliation and returns a daily ISO 20022 response naming matched/unreconciled fields per UTI -- a firm holds that TR response plus its own submitted state, never both counterparties' raw extracts. This node independently reproduces the reconciliation verdict from the TR response + the firm's submitted state, under a policy-supplied per-cycle field/tolerance/suppression table, and emits a stable per-break key (uti::field_name) so consecutive cycles diff cleanly. Disagreement with the TR's own stated match status is a first-class output, never an error. Lifecycle events (amendment, compression, termination) are ordinary inputs. Not art-156-emir-counterparty-pairing-reconciler, which compares two counterparties' own extracts directly -- a premise EMIR Refit's TR-mediated reconciliation model replaced. Feeds art-483-emir-break-ageing.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-482-emir-recon-adjudicator.html\n**Wave:** 71\n**mandate_type:** attestation_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "attestation_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-482-emir-recon-adjudicator.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: attestation_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "adjudicate_emir_reconciliation",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-482-emir-recon-adjudicator.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "attestation_mandate",
        "x-ocg-wave": 71
      }
    },
    "/v1/tools/age_emir_reconciliation_breaks": {
      "post": {
        "operationId": "age_emir_reconciliation_breaks",
        "summary": "EMIR Reconciliation Break Ageing",
        "description": "Diffs a current EMIR reconciliation break set (e.g. from art-482-emir-recon-adjudicator) against the prior cycle's sealed break set by stable break_key, emitting a newly-opened / persisting / newly-closed split, an ageing bucket, a recurrence count, and an escalation-clock status against policy-supplied ageing limits -- reusing the art-428-cyber-incident-clock deadline-vs-evaluated_at pattern rather than re-deriving deadline math. Ageing limits and the escalation deadline are per-cycle policy inputs, never hardcoded.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-483-emir-break-ageing.html\n**Wave:** 71\n**mandate_type:** attestation_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "attestation_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-483-emir-break-ageing.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: attestation_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "age_emir_reconciliation_breaks",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-483-emir-break-ageing.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "attestation_mandate",
        "x-ocg-wave": 71
      }
    },
    "/v1/tools/run_regrpt_edit_checks": {
      "post": {
        "operationId": "run_regrpt_edit_checks",
        "summary": "Published Regulatory Report Edit-Check Runner",
        "description": "Evaluates a caller-supplied report instance against a caller-supplied published edit-check rule set -- FFIEC Call Report validity and quality edits (Excel/PDF, published ahead of each quarter-end, latest 2026-01-22) or the EBA ITS validation-rules list -- across seven rule shapes: intra-schedule arithmetic identity, cross-schedule tie-out, sign/domain constraint, mandatory-field completeness, closed-domain membership, conditional presence, and conditional prohibition. The three conditional shapes take a when predicate over other cells in the same row. Returns per-rule pass/fail/suppressed status keyed by the published edit id, with failing cell references and computed-vs-reported values. Accepts a deactivation/suppression list as a first-class policy input (the EBA publishes rules deactivated for inaccuracies or IT issues; this kernel never reports a failure on a stood-down rule, and records exactly which suppressions were applied plus any that are stale). Distinct from art-434-call-report-edit-check-gate, which runs a CURATED, HARDCODED battery of checks against a specific art-432/art-433 Schedule RC/RC-R output shape: this kernel bakes in no rule content at all, and evaluates whatever rule set the caller supplies against whatever report instance the caller supplies. Nothing access-gated is required to get a result.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-484-regrpt-editcheck-runner.html\n**Wave:** 77\n**mandate_type:** regulatory_reporting\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "regulatory_reporting"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-484-regrpt-editcheck-runner.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: regulatory_reporting. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "run_regrpt_edit_checks",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-484-regrpt-editcheck-runner.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "regulatory_reporting",
        "x-ocg-wave": 77
      }
    },
    "/v1/tools/explain_regrpt_variance": {
      "post": {
        "operationId": "explain_regrpt_variance",
        "summary": "Regulatory Report Period-over-Period Variance Explainer",
        "description": "Computes period-over-period variance across a regulatory report instance pair -- absolute and relative movement per line item against a policy-supplied materiality threshold (default plus per-line overrides), ranked by contribution (largest absolute movement first) -- and flags which movements require a written explanation, i.e. exceed materiality with no matching explanation on file. Does not judge whether a supplied explanation is adequate; that is a human review-and-approval step downstream (RGEC-K-2's gate: an unexplained material variance routes to review_required). Pairs with art-484-regrpt-editcheck-runner's rule-based edit checks -- this node handles analytical-review variance, not rule pass/fail.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-485-regrpt-variance-explainer.html\n**Wave:** 77\n**mandate_type:** regulatory_reporting\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "regulatory_reporting"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-485-regrpt-variance-explainer.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: regulatory_reporting. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "explain_regrpt_variance",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-485-regrpt-variance-explainer.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "regulatory_reporting",
        "x-ocg-wave": 77
      }
    },
    "/v1/tools/check_cscf_control_applicability": {
      "post": {
        "operationId": "check_cscf_control_applicability",
        "summary": "CSCF Control Applicability & Coverage",
        "description": "Scores a Swift member's declared architecture type and component inventory against a policy-supplied Swift Customer Security Controls Framework (CSCF) control matrix -- the published control number, tier (mandatory/advisory), applicable-architecture-type list, and evidence column, never a hand-transcribed list. Returns the applicable mandatory/advisory control set, coverage percentages, a gap list keyed by the published control number, an evidence index mapped to the matrix's supporting-evidence column, and an explicit not-applicable set with a stated reason per exclusion so an omission can never read as a pass. Not a Swift-endorsed tool and not a KYC-SA submission; consumes the firm's own declared architecture and its own copy of the published matrix.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-486-cscf-control-applicability.html\n**Wave:** 66\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-486-cscf-control-applicability.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "check_cscf_control_applicability",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-486-cscf-control-applicability.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 66
      }
    },
    "/v1/tools/check_assessor_independence": {
      "post": {
        "operationId": "check_assessor_independence",
        "summary": "Swift CSP Assessor Independence Eligibility",
        "description": "Checks eligibility of a Swift CSCF Independent Assessment Framework assessment: assessment route (internal 2nd/3rd line vs external) against a policy-supplied permitted-routes-per-architecture-type table, claimed assessor certifications against a policy-supplied required set, an independence-from-implementer test over a declared identity set using distinct-identity counting so one person wearing two hats cannot satisfy both sides, and assessment-date validity against the attestation deadline. Returns eligible/ineligible with the first failing predicate named. Not an accreditation of the assessor and not a Swift endorsement -- an eligibility check over the firm's own declared facts.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-487-assessor-independence-check.html\n**Wave:** 66\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-487-assessor-independence-check.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "check_assessor_independence",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-487-assessor-independence-check.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 66
      }
    },
    "/v1/tools/replicate_model_outputs": {
      "post": {
        "operationId": "replicate_model_outputs",
        "summary": "Model Replication Diff",
        "description": "Independently recomputes a model's reported outputs from a declared model specification (version, as-of date, transform, intercept, coefficients) and a stated input record set, then diffs the recomputation against the model's own reported outputs within a caller-supplied tolerance. Returns a per-record diff (reported, recomputed, absolute and relative diff, within-tolerance), aggregate tolerance stats, an overall replicated / not-replicated verdict, and the failing segment(s) named when not replicated. If the declared specification cannot be recomputed as stated -- unrecognized transform, no coefficients, no tolerance -- the honest result is not_replicable_as_specified with a reason, not a forced pass or fail. Deterministic recompute-and-diff only: this node never opines on conceptual soundness, assumption reasonableness, or fitness for use -- that judgment belongs in a validator's approval record, not here. Model inputs and specifications are expected to arrive as a workbook export via the shipped WB-BRIDGE-1 workbook-to-OCG artifact bridge (tool 554); this node itself accepts plain JSON records so any upstream source can feed it. Distinct from the shipped model-passport nodes (art-450/451/453), which track a model's inventory tier and revalidation cadence rather than recomputing its numeric output. Inline deterministic transcendental math (no engine Math.exp/log) so the same input always produces the same execution_hash on every surface. NaN-safe. Zero network, zero PII.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-488-model-replication-diff.html\n**Wave:** 77\n**mandate_type:** compliance_control\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_control"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-488-model-replication-diff.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_control. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "replicate_model_outputs",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-488-model-replication-diff.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_control",
        "x-ocg-wave": 77
      }
    },
    "/v1/tools/run_model_test_battery": {
      "post": {
        "operationId": "run_model_test_battery",
        "summary": "Model Test Battery",
        "description": "Runs the deterministic-given-data quantitative model validation battery: discriminatory power (Gini coefficient, Kolmogorov-Smirnov statistic) from scored outcomes, population and characteristic stability (PSI, CSI) between two declared snapshots using the caller's own bins, back-test outcome-vs-predicted per declared bin, and a calibration comparison (predicted vs actual rate, max absolute diff). Every test is graded against a POLICY-SUPPLIED threshold object -- this node never chooses or hardcodes a threshold. If a threshold is missing for a requested test, that test is reported skipped_no_threshold, never silently defaulted; if the underlying data is missing or insufficient (e.g. a single-class scored set for Gini/KS), the test is reported skipped_insufficient_data. Each result carries the test's standard name, its metric value, its threshold, and pass/breach so the artifact reads as a workpaper section, not an opinion. Model inputs and specifications are expected to arrive as a workbook export via the shipped WB-BRIDGE-1 workbook-to-OCG artifact bridge (tool 554); this node itself accepts plain JSON so any upstream source can feed it. Pairs with art-488 model-replication-diff (recompute-and-diff) as the two deterministic legs of a model validation cycle -- neither node emits a soundness or fitness-for-use opinion. Inline deterministic transcendental math (no engine Math.exp/log) so the same input always produces the same execution_hash on every surface. NaN-safe. Zero network, zero PII.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-489-model-test-battery.html\n**Wave:** 77\n**mandate_type:** compliance_control\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_control"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-489-model-test-battery.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_control. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "run_model_test_battery",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-489-model-test-battery.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_control",
        "x-ocg-wave": 77
      }
    },
    "/v1/tools/check_fatca_crs_submission_conformance": {
      "post": {
        "operationId": "check_fatca_crs_submission_conformance",
        "summary": "FATCA/CRS Submission Conformance Check",
        "description": "Evaluates a FATCA/CRS submission record set against a policy-supplied schema version and business-rule set: DocTypeIndic sequencing (the public OECD CRS/FATCA XML Schema v2.0 new/corrected/void enumeration), MessageRefId/DocRefId uniqueness, CorrDocRefId referencing across corrected and voided records, mandatory-identifier structural checks (TIN presence, BirthDate format, address completeness), and the caller's own mandatory_element_rules array keyed by a published error code and element path. A suppression_list (F3) excludes stood-down rule codes from producing any finding at all, with an audit-trail count of what was suppressed. Schema versions and error-code sets are pinned policy inputs, never kernel source. Ahead of the annual Responsible Officer certification; feeds art-491 ro-remediation-closure. Not a validator competing on schema coverage -- free FATCA/CRS XML validators already exist -- the claim is the sealed, offline-verifiable evidence chain from submission error through remediation to a named RO signature.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-490-fatca-crs-submission-check.html\n**Wave:** 77\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-490-fatca-crs-submission-check.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "check_fatca_crs_submission_conformance",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-490-fatca-crs-submission-check.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 77
      }
    },
    "/v1/tools/track_fatca_crs_ro_remediation_closure": {
      "post": {
        "operationId": "track_fatca_crs_ro_remediation_closure",
        "summary": "FATCA/CRS RO Remediation Closure Tracker",
        "description": "Tracks the returned notification set for a FATCA/CRS certification period (ICMM-style error notifications, CRS status messages) against the firm's own remediation records: per-notification open/closed/overdue status, resubmission linkage naming which corrected DocRefId closes which notification, closure coverage percentage, and a certification-period readiness verdict against a declared cut-off date. Reuses the art-428-cyber-incident-clock decision-tree attestation-slot pattern (item_state/exception vocabulary); no new notification-clock arithmetic is invented. Consumes art-490 fatca-crs-submission-check findings as the error source in the fatca-ro-certification-cycle chain. Feeds the Responsible Officer's certification evidence bundle -- never claims to itself satisfy an IRS or competent-authority filing requirement.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-491-ro-remediation-closure.html\n**Wave:** 77\n**mandate_type:** attestation_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "attestation_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-491-ro-remediation-closure.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: attestation_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "track_fatca_crs_ro_remediation_closure",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-491-ro-remediation-closure.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "attestation_mandate",
        "x-ocg-wave": 77
      }
    },
    "/v1/tools/classify_settlement_finality": {
      "post": {
        "operationId": "classify_settlement_finality",
        "summary": "Settlement Finality Classifier",
        "description": "Vendor-neutral settlement-finality classifier covering three settlement models, each on its own ordered tier ladder: an optimistic challenge window (soft, posted, challengeable, final), a validity proof (soft, committed, proven_unfinalized, final) and single-slot BFT consensus (soft, final). The ladders are deliberately kept separate because a posted batch on an optimistic rollup and a committed batch on a validity rollup are not the same claim, and the ladder actually used is emitted as tier_ladder so the receipt is self-describing. Validity-proof finality is treated as two gates rather than a timer, proof accepted and settlement-layer block finalised, so the in-between position is reported as proven_unfinalized. Adjudicates an asserted finality tier and flags an overstated claim. Chain identity is free text echoed verbatim: there is no chain enum, no named chain profile and no published window table, so the node cannot go stale when a network changes. Evaluation time is caller supplied and the kernel reads no clock. Zero network, zero PII.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-492-classify-settlement-finality.html\n**Wave:** 78\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-492-classify-settlement-finality.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "classify_settlement_finality",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-492-classify-settlement-finality.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 78
      }
    },
    "/v1/tools/check_icm_quorum_forgery_risk": {
      "post": {
        "operationId": "check_icm_quorum_forgery_risk",
        "summary": "ICM Quorum Forgery Classifier",
        "description": "Computes the smallest set of a source Avalanche L1's validators that could jointly sign an Interchain Messaging (ICM / Avalanche Warp Messaging) message the receiving L1 would accept: sorts the caller-transcribed stake weights descending, prefix-sums them, and returns the count at which the receiving chain's accepted stake-weight quorum is first satisfied, alongside that group's cumulative share, an HHI-style stake concentration figure, and a verdict against a caller-declared minimum-colluding floor. Quorum semantics follow avalanchego's Warp signature check (signed weight times 100 greater than or equal to total weight times the quorum percentage), evaluated cross-multiplied so no division rounding moves the boundary. The accepted quorum is a caller input with no baked-in default threshold, because it is the receiving chain's own acceptance policy for that source rather than a statutory number, following the precedent art-445 sets by refusing to bake in a concentration limit. Avalanche finality is sub-second with no reorg window, so the challenge-window arithmetic that applies to optimistic bridges does not transfer; this node picks up where that risk relocates, namely who signed the cross-chain message. Borrows only the art-445 helper pattern (fixed-point 2dp rounding, share-of-total, finite gate, NaN-safe coercion); art-445 computes top-N and per-sector rollups and does not compute a minimum-colluding set. Observes no chain: no RPC call and no P-Chain query, with the validator set transcribed by the caller as opaque identifiers. Zero network, zero PII.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-494-icm-quorum-forgery-classifier.html\n**Wave:** 78\n**mandate_type:** analytics_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "analytics_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-494-icm-quorum-forgery-classifier.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: analytics_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "check_icm_quorum_forgery_risk",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-494-icm-quorum-forgery-classifier.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "analytics_mandate",
        "x-ocg-wave": 78
      }
    },
    "/v1/tools/classify_avax_permissioning_controls": {
      "post": {
        "operationId": "classify_avax_permissioning_controls",
        "summary": "Evergreen Permissioning-Control Classifier",
        "description": "Classifies six Evergreen supervisory controls -- transaction permissioning, contract deployment permissioning, native asset issuance, fee policy, reward distribution, and validator set membership -- as protocol-enforced, application-enforced, or absent, from caller-transcribed genesis precompile configuration and validator-manager mode. Distinct from the segregation-of-duties matrix checker: that tool asks who holds conflicting power, this asks where the control lives at all. An undeclared input never falls through to a silent guess -- it becomes a named judgment_required entry naming the undetermined fact, the input that resolves it, and who decides. Zero network, zero PII -- opaque control and precompile keys only.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-495-avax-permissioning-control-classifier.html\n**Wave:** AVAX-PERM-1\n**mandate_type:** compliance_control\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_control"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-495-avax-permissioning-control-classifier.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_control. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "classify_avax_permissioning_controls",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-495-avax-permissioning-control-classifier.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_control",
        "x-ocg-wave": "AVAX-PERM-1"
      }
    },
    "/v1/tools/model_l1_fee_runway": {
      "post": {
        "operationId": "model_l1_fee_runway",
        "summary": "L1 Continuous-Fee Runway Model",
        "description": "Avalanche Evergreen L1 continuous-fee TCO and depletion-runway model. ACP-77 replaced the 2000 AVAX stake requirement with a continuous, dynamic P-Chain fee drawn from an L1 balance that depletes and needs refills, so the fee rate and its growth assumption are always caller inputs, never baked in. Computes validator count times fee rate, plus infra cost, plus current balance into an annual TCO and its per-component breakdown. The novel output is months_to_depletion and depletion_offset_days: the point at which the L1 runs out of balance and stops validating, an offset from the caller-supplied as_of, never a clock read. Also returns the refill amount required to reach a caller-supplied target runway. Zero balance, zero validators or a zero fee rate each resolve to a defined, finite result rather than an unbounded projection. No chain observation, no RPC: every input is caller-transcribed state. Zero network, zero PII.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-496-l1-continuous-fee-runway.html\n**Wave:** 78\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-496-l1-continuous-fee-runway.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "model_l1_fee_runway",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-496-l1-continuous-fee-runway.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 78
      }
    },
    "/v1/tools/build_validator_change_control_receipt": {
      "post": {
        "operationId": "build_validator_change_control_receipt",
        "summary": "Validator Change-Control Receipt",
        "description": "Turns one permissioned-validator event on an Avalanche Evergreen L1 -- a validator add, remove, or weight change -- into change-control evidence in the shape the SOX/ICFR control family already uses: the authorization chain of named identities, the weight delta and its share-of-total effect against a caller-supplied total network stake, and a quorum verdict comparing the caller's declared approval-quorum policy against what the caller states was achieved, plus a structural exceptions list (nonzero prior weight on an add, nonzero posterior weight on a remove, no delta on a weight change, an unauthorized change, an achieved-quorum count exceeding the number of named authorizers). No baked-in quorum threshold: quorum_required is the caller's own policy for that Evergreen L1, exactly as art-445/art-494 refuse to bake in their own thresholds. No chain observation, no P-Chain query, no RPC: the event is transcribed by the caller. Not X: use art-503 for a §27 dual-control certification that counts distinct approvers against a statutory-or-policy threshold across a subject; this node evidences one validator-set change event, not an approval-count certification. compliance_control. Zero PII: validator_ref and every authorizing identity are opaque references.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-497-validator-change-control-receipt.html\n**Wave:** 78\n**mandate_type:** compliance_control\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_control"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-497-validator-change-control-receipt.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_control. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "build_validator_change_control_receipt",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-497-validator-change-control-receipt.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_control",
        "x-ocg-wave": 78
      }
    },
    "/v1/tools/classify_reward_flow_related_party": {
      "post": {
        "operationId": "classify_reward_flow_related_party",
        "summary": "Consortium Validator Reward-Flow Related-Party Classifier",
        "description": "Answers the question a consortium controller faces at quarter-end close on a permissioned Avalanche Evergreen L1: are any of the reward-manager precompile's payment recipients related parties of the reporting entity, and is what they received material. Takes a transcribed recipient list, the caller's own entity-ownership map, per-period reward amounts transcribed from the institution's own accounting export, a materiality threshold and a ruleset_version, and returns a per-recipient classification (same ultimate parent as the issuer, co-consortium member, unrelated, or unresolved), the aggregate related-party amount measured against the threshold, a gap list that names every recipient it could not resolve, and clearly-labelled draft ASC 850 / IAS 24 disclosure-note language. Own versioned ruleset carried in policy_parameters and echoed into the receipt: no ruleset is imported from any other control family, so one family's ruleset edit cannot move this node's hash. Flags, amounts and the pinned ASC 850 and IAS 24 citations are emitted unconditionally; the draft note is a convenience layer on top of them and is labelled DECISION-SUPPORT DRAFT, never legal or accounting advice. No coverage ratio and no percentage of recipients classified: the permitted form is a gap list naming each unresolved recipient. No chain observation, no RPC, no P-Chain query: recipients and amounts are transcribed by the caller. Not X: use art-459 for a segregation-of-duties conflict matrix over role assignments; this node classifies payment recipients against a group ownership structure. compliance_control. Zero PII: every recipient, entity and parent reference is an opaque caller-supplied string, and unmapped fields on caller objects are dropped rather than echoed.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-498-reward-flow-related-party.html\n**Wave:** 78\n**mandate_type:** compliance_control\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_control"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-498-reward-flow-related-party.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_control. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "classify_reward_flow_related_party",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-498-reward-flow-related-party.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_control",
        "x-ocg-wave": 78
      }
    },
    "/v1/tools/check_safeguarding_reconciliation": {
      "post": {
        "operationId": "check_safeguarding_reconciliation",
        "summary": "CASS 15 Safeguarding Reconciliation Check",
        "description": "Compares a UK payment or e-money firm's safeguarding requirement (CASS 15.8.29G) against the components of its safeguarding resource (CASS 15.8.26R) for one caller-declared as-of date, and classifies the arithmetic outcome as reconciled, shortfall, or excess against a caller-declared tolerance. Resource components carry the four component types CASS 15.8.26R enumerates: relevant funds bank account, segregated but not yet placed, relevant assets, and insurance or guarantee. Money is handled as integer minor units throughout with 2dp display, an empty or zero figure set resolves to a defined verdict, and any value that is not a usable integer amount is named in rejected_inputs rather than silently dropped. Single-run and stateless: the firm performs its reconciliation no less than once each reconciliation day because CASS 15.8.19R requires it of the firm, and this tool operates nothing, stores nothing, and retains nothing. A shortfall verdict is an arithmetic finding about the figures supplied, never a determination that the firm has breached CASS 15.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-499-check-safeguarding-reconciliation.html\n**Wave:** 78\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-499-check-safeguarding-reconciliation.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "check_safeguarding_reconciliation",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-499-check-safeguarding-reconciliation.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 78
      }
    },
    "/v1/tools/classify_safeguarding_method": {
      "post": {
        "operationId": "classify_safeguarding_method",
        "summary": "CASS 15 Safeguarding Method Classifier",
        "description": "Classifies each caller-declared funds stream of a UK payment or e-money firm on three questions: whether the funds are relevant funds, whether the safeguarding method asserted for them (segregation under CASS 15.3, or an insurance policy or comparable guarantee under CASS 15.5) is coherent with the designated-account, acknowledgement-letter and instrument facts supplied, and where the supplied facts do not settle the answer. Every judgment_required outcome names what is undetermined, which single input would resolve it, and who decides, so a judgment is never a bare flag. Also computes a SUP 3A safeguarding audit exemption indicator from a relevant funds high-water figure observed over at least 53 weeks. Single-run and stateless. A coherence verdict is a consistency check on the facts as declared, never a determination that the firm has complied with or breached CASS 15, and never an opinion on whether an insurance policy or guarantee is legally effective.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-500-classify-safeguarding-method.html\n**Wave:** 78\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-500-classify-safeguarding-method.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "classify_safeguarding_method",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-500-classify-safeguarding-method.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 78
      }
    },
    "/v1/tools/build_safeguarding_audit_evidence": {
      "post": {
        "operationId": "build_safeguarding_audit_evidence",
        "summary": "CASS 15 Safeguarding Audit Evidence Pack",
        "description": "Assembles the evidence set a qualified auditor asks a UK payment or e-money firm for at the start of a CASS 15 safeguarding audit: the reconciliation results across the declared audit period, the safeguarding method classification, a schedule of the matters those raise keyed by the individual rule reference with a management response recorded against each item, and the section 27 accountability trail over the firm's own reconciliation export. It is the first consumer of the section 27.4 attested-artifact subject class: the export is a non-OCG producer's sealed output, so its subject identifier is computed by art-502-bind-attested-subject and echoed here verbatim rather than recomputed, because a second implementation of that preimage would be a second canon. The trail counts distinct identities, never records and never signing keys; an unsigned approval record is not conformant evidence and holds the role rather than passing it; an agent identity does not satisfy a human role absent an explicit human-role mandate; and because this surface reads no clock a time-boxed override can never resolve to a silent auto-pass. Stated limit, normative: the attested subject evidences producer pinning, input binding and content integrity, never that the arithmetic inside the firm's export is correct, and the artifact omits replay_verified entirely rather than setting it false because no replay was attempted. This pack expresses neither of the two audit opinions, systems adequacy throughout the period and compliance at the period end, which belong to the safeguarding auditor and are emitted as open slots naming who decides. It records no breach, it is evidence assembled for the engagement rather than a filing, it is not submittable to the FCA, and it does not discharge the audit.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-501-build-safeguarding-audit-evidence.html\n**Wave:** 78\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-501-build-safeguarding-audit-evidence.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "build_safeguarding_audit_evidence",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-501-build-safeguarding-audit-evidence.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 78
      }
    },
    "/v1/tools/bind_attested_subject": {
      "post": {
        "operationId": "bind_attested_subject",
        "summary": "Attested Artifact Subject Binder",
        "description": "Computes the SPEC.md section 27.4 attested-artifact subject identifier for the sealed output of a pinned non-OCG producer: a spreadsheet, a reconciliation export, a report builder's PDF, anything with a content-addressed manifest but no kernel, no node and no chain. The identifier is sha256 over the JCS canonicalisation of exactly three members, tool_ref plus inputs_digest plus artifact, on the single canonical hash path; there is no fourth member and no wall clock, run identifier, host or session state enters it, so a verifier that never executed the producer recomputes the same value offline from the echoed preimage. tool_ref.manifest_digest is the chainless analogue of the section 17 kernel_digest and is what makes the producer tamper-evident rather than merely its output; its absence is reported, never assumed. Digest strings are hashed verbatim as declared and are never rewritten, so a malformed digest is named rather than silently normalised. Stated limit, normative: an attested-artifact subject carries no section 18 compute proof and no section 16 or 17 re-execution claim, it never evidences that the producer's arithmetic is correct, and the artifact omits replay_verified entirely rather than setting it false because no replay was attempted. This node identifies a subject so that separately signed section 27 approval records can name it; it signs nothing itself and asserts no regulator acceptance or filing sufficiency.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-502-bind-attested-subject.html\n**Wave:** 77\n**mandate_type:** compliance_control\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_control"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-502-bind-attested-subject.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_control. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "bind_attested_subject",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-502-bind-attested-subject.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_control",
        "x-ocg-wave": 77
      }
    },
    "/v1/tools/build_dual_control_certification": {
      "post": {
        "operationId": "build_dual_control_certification",
        "summary": "Dual Control Certification Evidence",
        "description": "Decides whether a required number of distinct named identities have each filed a signed section 27 approval record over one sealed subject in one required role, and reports every record it could not count and why. This is the first production use of the section 27.3 integer threshold construction, and it is regime agnostic by design: the regime label is free text that is never interpreted, so one surface serves a chief executive plus chief financial officer certification at a threshold of two, a chief executive or chief operating officer certification at a threshold of one, and an audit sign-off, without a separate node per regime. The trap it exists to catch is identity. Counting is by distinct identity, never by record and never by signing key, so one human rotating keys counts once and one human signing twice counts once, and every collapse is reported with the record hashes and the distinct verification methods folded together rather than applied silently. A threshold over fewer than the required number of distinct approvers is unsatisfied and never auto-passes; an absent subject, an unstated threshold, an unrecognised role, a read-only examiner role and an empty record set each resolve to a stated reason rather than a fall-through. An unsigned approval record is not conformant evidence and is rejected with its reason, including where the caller declared it signed and the record carries no proof bound to the named identity. Section 27.8 parity is enforced in the verdict: an agent-filed record counts only when a human principal delegated that exact role in a signed mandate whose validity window contains the caller-supplied as-of date, and an agent that prepared the subject can never approve it. No clock is read anywhere, so a time-boxed record can never resolve to a silent permanent pass. It counts approvals and computes nothing about what was certified: no reserve composition, no eligible-asset determination and no ratio. Stated boundary: this evidences that named humans took responsibility. It carries no claim of regulator acceptance, it does not serve as a filing, and it makes no assertion that the certified numbers are correct.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-503-build-dual-control-certification.html\n**Wave:** 78\n**mandate_type:** compliance_control\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_control"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-503-build-dual-control-certification.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_control. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "build_dual_control_certification",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-503-build-dual-control-certification.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_control",
        "x-ocg-wave": 78
      }
    },
    "/v1/tools/classify_carf_reportable": {
      "post": {
        "operationId": "classify_carf_reportable",
        "summary": "CARF / DAC8 Reportable User Classifier",
        "description": "Classifies crypto-asset user records and their transactions for Crypto-Asset Reporting Framework and DAC8 purposes, against a policy set the caller declares rather than one this node asserts: which residence jurisdictions the reporting jurisdiction treats as reportable, which transaction classes are in scope, the due-diligence rule set keyed by the caller's own rule codes, and the pinned schema version. Nothing about any jurisdiction's transposition is in kernel source, so the node states no view on how a jurisdiction has implemented CARF or DAC8. A deactivation list is a first-class input: a suppressed rule code produces no unsatisfied due-diligence step at all for any record, and every suppression applied is echoed with a count so the exclusion is visible rather than silent. Self-certification is the gating step. Anything other than a valid self-certification leaves reportability undetermined rather than guessed, and an undetermined verdict is never a bare flag: each carries an entry naming what is undetermined, which input would resolve it, and the role that decides. Entity records fold controlling-person residences into the determination, so an entity outside the reportable set whose controlling person is inside it is caught. Transactions are classified only once the user is classifiable. Output is counts by verdict and by transaction class, never a ratio and never a percentage. Zero personal data by construction: users are identified by an opaque caller-supplied reference, and the node takes no name, no tax identification number, no address and no date of birth. No clock is read, so the reporting period is a declared input and nothing silently expires. Stated boundary: this classifies only. It computes no tax liability, it submits and transmits nothing, it makes no claim that its output is submittable, and it is not legal or tax advice.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-504-classify-carf-reportable.html\n**Wave:** 78\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-504-classify-carf-reportable.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "classify_carf_reportable",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-504-classify-carf-reportable.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 78
      }
    },
    "/v1/tools/dispose_carf_status_message": {
      "post": {
        "operationId": "dispose_carf_status_message",
        "summary": "CARF Status Message Disposition",
        "description": "Turns a returned Crypto-Asset Reporting Framework or DAC8 status message into a dispositioned break list: every file-level and record-level error the authority reported, tied to the record and the field that caused it, with the disposition that answers it. The differentiator is that a disposition signed in an earlier reporting cycle is carried forward against the same break reference, keeping the named signer and the originating cycle attached, so the answer to why an error is still open survives from one cycle to the next. A disposition is countable only when it is signed by a named signer: an unsigned one is rejected with its reason and the break stays open, because an unsigned disposition is a note rather than accountable evidence. The return path is not assumed. The OECD status message schema is an instrument for one competent authority to report errors back to another, and the OECD states it may also be used for domestic reporting to the extent the relevant jurisdiction's own law permits, which is a permission and not a guarantee. So the operator must declare that its jurisdiction returns a status message and name the channel; absent that declaration the node returns a stated verdict and produces no break list rather than implying a file came back. A deactivation list is a first-class input: a suppressed error code produces no break at all and the suppression is counted in the artifact. A record-level error whose document reference matches nothing in the submitted set is itself reported, because an operator that cannot say which record the authority is complaining about has a finding of its own. Error codes arrive as data and the schema version is a pinned policy input, never kernel source. Zero personal data by construction: records are identified by opaque references only. No clock is read, so cycle references are declared strings and nothing silently expires. Stated boundary: this dispositions a file the operator already holds. It does not fetch, submit or transmit anything, it makes no claim that any output is submittable, and it is not legal or tax advice.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-505-dispose-carf-status-message.html\n**Wave:** 78\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-505-dispose-carf-status-message.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "dispose_carf_status_message",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-505-dispose-carf-status-message.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 78
      }
    },
    "/v1/tools/classify_t1_posttrade_timing": {
      "post": {
        "operationId": "classify_t1_posttrade_timing",
        "summary": "T+1 Post-Trade Timing Classifier",
        "description": "Classifies the post-trade timings a caller supplies to answer the question a settlement readiness programme is actually trying to answer: which step breaches its cut-off under the shorter settlement cycle that did not breach under the longer one. Each step in the caller's declared chain order is measured against a target-cycle cut-off and a baseline-cycle cut-off, and reports its status as on time, at risk, breached or undetermined, the residual margin in seconds on both sides, and whether the shorter cycle is what breaks it. The first failing step is named, and it is the first in the declared chain order rather than the earliest by clock, because a post-trade chain is a sequence of dependencies and not a sorted list of instants. The at-risk band is a caller policy input: with no band declared there is no at-risk zone, and that absence is reported rather than filled with an invented threshold. No cut-off table is shipped and there is no named-venue profile set. Market and venue cut-offs are caller inputs, never data kept current here, because a table of cut-offs is a standing maintenance duty and a duty that silently goes false is worse than no table at all. This classifies supplied timings. It observes no venue, no central securities depository and no matching platform, it opens no connection, and it is not monitoring. No clock is read: timestamps are parsed from caller strings with a strict ISO 8601 grammar and nothing is compared against the present moment, so nothing expires on its own. Every emitted number passes a finite gate, so a missing, blank, malformed or non-existent timestamp yields a null margin with a named reason and marks the step undetermined rather than reading as on time, and an unclassified step is never counted as an on-time step. Zero personal data by construction: trades and steps are identified by opaque caller references only. Stated boundary: this computes no settlement penalty, which is a separate concern, it states nothing about funding or foreign exchange implications, it makes no claim about markets outside the cycle change the caller declares, and it is not legal, tax or regulatory advice.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-506-classify-t1-posttrade-timing.html\n**Wave:** 78\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-506-classify-t1-posttrade-timing.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "classify_t1_posttrade_timing",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-506-classify-t1-posttrade-timing.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 78
      }
    },
    "/v1/tools/determine_deposit_insurance_coverage": {
      "post": {
        "operationId": "determine_deposit_insurance_coverage",
        "summary": "Deposit Insurance Coverage Determination",
        "description": "Computes the insured amount and the uninsured remainder for deposit accounts grouped by ownership right and capacity, and reports every account whose coverage cannot be calculated from the fields supplied. Balances held in the same ownership right and capacity by the same holder combine before an allowance is applied, so splitting a balance across accounts never creates coverage, and a group receives the largest allowance count stated for it rather than the sum across its accounts, so repeating a beneficiary set across accounts never multiplies coverage. The standard maximum deposit insurance amount is supplied by the caller and no statutory amount is held here: supply none and nothing is estimated, because every record is returned as undeterminable naming that field and the totals report zero insured rather than a guess. No table of part 330 ownership categories or allowance rules is held either. Ownership right and capacity codes are opaque strings used for grouping and reporting only, nothing branches on the text of a code, and how many separate insurance allowances a group is entitled to arrives as a per-record input, because that determination belongs to the institution and its counsel. Money is fixed point in integer minor units throughout, so no floating point operation is performed on a balance and a value that is not an integer is reported rather than coerced or rounded. Every account that cannot be calculated names the field that is missing, so a reader is told which field to go and get rather than being handed a bare undetermined count. Accounts held under alternative recordkeeping are undeterminable by construction rather than by failure, because the beneficial ownership detail sits with a third party. The annual certification that the information technology system was tested during the preceding twelve months is a caller-supplied assertion with a caller-supplied date, echoed unchanged and never computed from a clock, and nothing here verifies that any testing occurred; the signature over it is evaluated as a section 27 approval record at a threshold of one by art-503-build-dual-control-certification. Whether an institution has the two million or more deposit accounts that bring it into scope is a caller declaration and is never asserted here. Stated boundary: this is arithmetic over supplied records. It carries no claim that the Federal Deposit Insurance Corporation would accept the result, it does not serve as a filing, it does not produce the prescribed submission format, and it offers no deposit insurance advice.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-507-determine-deposit-insurance-coverage.html\n**Wave:** 78\n**mandate_type:** compliance_control\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_control"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-507-determine-deposit-insurance-coverage.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_control. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "determine_deposit_insurance_coverage",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-507-determine-deposit-insurance-coverage.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_control",
        "x-ocg-wave": 78
      }
    },
    "/v1/tools/recompute_bordereau": {
      "post": {
        "operationId": "recompute_bordereau",
        "summary": "Delegated Authority Bordereau Recomputation",
        "description": "Recomputes a delegated authority bordereau the way the carrier reviewer does, from the same file the coverholder sent. It foots gross premium, brokerage, coverholder commission, mapped taxes and levies, ceded premium and net per currency, derives net from its components and compares that against a mapped net column, then compares the whole footing field by field against the totals the coverholder asserts. Exact agreement on a footing is a weak result and the tool says so, because both sides added the same column. The check that carries weight is utilisation of the binding authority: the aggregate and per risk limits are held by the carrier and are not on the bordereau, so they are declared caller inputs and are never derived from the document under review, which is what gives that comparison independent provenance. It also reports lines outside the declared period or permitted currency list, repeated policy references, absent expected periods and lines whose mapped fields are missing. Which of the supplied columns carries which measure is a caller declaration, as are the standard label and version, which are pinned into the artifact and shown on screen: no field list, schema, rate table or commission table is bundled or read, and nothing claims which revision of any standard is current, so a later revision makes an old receipt dated rather than wrong. The arithmetic reads only mapped numeric and reference columns. Every other column is ignored and reaches no result, and no rejection record echoes a cell value, so insured names, addresses and claim narratives stay out of the computed output. Money is fixed point in integer minor units with two decimal display throughout, decimal input is parsed from its string form rather than by floating point, and zero rows, an empty mapping and a zero limit each resolve to a defined result rather than to a not a number. Absent asserted totals the run is reported as recompute only, which is its own state and never a pass. Stated boundary: a difference means the two arithmetics disagree on the rows supplied, not that the coverholder misreported. It performs no data standard conformance validation, no terms of business or sanctions screening, no reserving or pricing adequacy assessment, and makes no assertion that authority was properly exercised, which is a conclusion for the delegated authority audit.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-508-recompute-bordereau.html\n**Wave:** 78\n**mandate_type:** analytics_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "analytics_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-508-recompute-bordereau.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: analytics_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "recompute_bordereau",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-508-recompute-bordereau.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "analytics_mandate",
        "x-ocg-wave": 78
      }
    },
    "/v1/tools/recompute_payment_waterfall": {
      "post": {
        "operationId": "recompute_payment_waterfall",
        "summary": "Securitisation Payment Waterfall Recomputation",
        "description": "Recomputes a securitisation payment waterfall for one stated period from the aggregate available funds and the priority ladder the investor already holds, then compares the result against what the investor report says was paid. The allocation is derived here by running the ladder, not lifted from the report, so the comparison has independent provenance on both sides rather than re-adding a published column. The ladder, every cap, every trigger threshold and every diversion come from the caller transaction documents: no deal library, no bundled ladder, no market convention threshold and no rate or index table is held here, and the ladder reference the caller pins is carried in the artifact and shown on screen so a later amendment makes an old receipt dated rather than wrong. Steps whose amount is set by a document that is not public, such as a trustee fee or a senior expense governed by a fee letter, are declared asserted by the caller and are reported as asserted inputs rather than as figures this tool derived. A failing test suppresses only the step identifiers the caller declared against that test, so divert behaviour is never inferred from a test name or from convention. Absent any asserted allocations the run is reported as recompute only, which is its own state and never agreement. Money is fixed point in integer minor units throughout with two decimal display, ratio tests are compared by integer cross multiplication so no division occurs on the comparison path, and zero available funds, an empty ladder and a zero ratio denominator each resolve to a defined result rather than to a not a number. No Article 7 disclosure template is read, validated or asserted anywhere, and the arithmetic needs no loan level data. Stated boundary: a shortfall or a difference against the report is an arithmetic finding about the ladder and figures supplied. It forecasts nothing, models no scenario, performs no credit or rating analysis, and makes no assertion that the deal was paid correctly or that it complies with anything.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-509-recompute-payment-waterfall.html\n**Wave:** 78\n**mandate_type:** analytics_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "analytics_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-509-recompute-payment-waterfall.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: analytics_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "recompute_payment_waterfall",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-509-recompute-payment-waterfall.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "analytics_mandate",
        "x-ocg-wave": 78
      }
    },
    "/v1/tools/build_art5_diligence_evidence": {
      "post": {
        "operationId": "build_art5_diligence_evidence",
        "summary": "Article 5 Due Diligence Evidence Record",
        "description": "Records, for one securitisation position over one stated period, which Article 5 verification and ongoing monitoring duties an institutional investor declares it performed, the evidence references behind each, what remains outstanding, and the accountability trail naming who signed each off. Each duty carries a pinned citation object with a full date from which the provision was in force: a bare four digit year is rejected and named rather than accepted, and a superseded citation is recorded through a superseding reference and is never stripped. Where a duty turns on a question the facts do not settle, the record names what is undetermined, which input resolves it and who decides, rather than raising a bare flag. Gaps are published as a named list with the duty against each one and never as a coverage ratio, a percentage of duties met or a score, because a proportion invites a reader to treat a partial record as partial compliance. A duty reaches performed only when it is declared performed, names evidence, and carries records naming a performer and an approver by distinct identity, each bound to its own signing identity; an unsigned record holds the duty rather than passing it, an agent identity satisfies a human role only under an explicit human role mandate, and a time boxed override never satisfies a sign off here because no clock is read. The duty set shipped is the Article 5 paragraph set, which is primary legislation rather than a maintained template, and it is not presented as exhaustive: a caller may declare further duties carrying their own pinned citations. No disclosure template is read, validated or asserted, and the record works on opaque position, deal and identity references and on evidence references rather than evidence content, so no loan level or personal data is needed. Stated boundary: every status is evidence of a human act. Nothing here states that the diligence performed was adequate, that a duty was discharged to any supervisor satisfaction, or that any authority has accepted anything, and it is not a filing.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-510-build-art5-diligence-evidence.html\n**Wave:** 78\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-510-build-art5-diligence-evidence.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "build_art5_diligence_evidence",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-510-build-art5-diligence-evidence.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 78
      }
    },
    "/v1/tools/recompute_fund_fees": {
      "post": {
        "operationId": "recompute_fund_fees",
        "summary": "Recompute Fund Fees",
        "description": "Recomputes a fund's management fee and performance fee from the terms the investor already holds (the fee statement and the fund agreement) and diffs the result against what was actually charged, where supplied. Management fee accrues on a declared fee base with a declared day-count convention. Performance fee applies a declared hurdle: a HARD hurdle charges only the excess return above the hurdle, a SOFT hurdle charges the full return once the hurdle is cleared, and conflating the two is the single most common performance-fee error, so hurdle_type carries no default and its absence raises judgment_required naming the field rather than guessing. The high-water mark then gates the fee to the excess above the prior peak, and a loss carry-forward is NOT cleared by a fee period ending unless the caller explicitly declares otherwise. Crystallised (payable now) and accrued-but-uncrystallised performance fee are reported as SEPARATE figures, never summed. HARD FENCE: fee rate, hurdle rate and type, high-water mark, crystallisation policy, accrual basis and day count are every one of them a caller input transcribed from the fund agreement: this kernel ships no rate table, no fund library, no term database, zero fund-administrator or market-data lookups (zero-egress). agreement_ref and terms_version are pinned in the artifact and shown on screen, so a later side letter makes an old receipt dated, not wrong. Absent charged_amounts the run is reported recompute-only, its own state, never folded into a match. A diff against charged_amounts is a finding that the recomputation disagrees on the supplied terms, never an allegation that the manager overcharged. Distinct from art-373-recompute-fund-nav, which recomputes NAV per share and is consumed rather than reimplemented here, and from art-375-compute-fund-expense-ratios, whose expense ratio cannot detect a misapplied high-water-mark reset; this node reuses art-375's fixed-point money math pattern without editing either node's kernel. Out of scope: equalisation and series accounting, carried-interest waterfalls for closed-end funds, tax treatment, and any submittability or coverage-ratio claim.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-511-recompute-fund-fees.html\n**Wave:** 79\n**mandate_type:** analytics_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "analytics_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-511-recompute-fund-fees.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: analytics_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "recompute_fund_fees",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-511-recompute-fund-fees.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "analytics_mandate",
        "x-ocg-wave": 79
      }
    },
    "/v1/tools/check_mica_reserve_disclosure": {
      "post": {
        "operationId": "check_mica_reserve_disclosure",
        "summary": "Check MiCA Reserve Disclosure",
        "description": "Checks a token issuer's published reserve disclosure, the amount in circulation and the value and composition of the reserve, against the composition, concentration, segregation and publication-cadence terms the reader supplies. Deterministic and backward-looking: it reads what was published and compares it to declared rules, and contains no simulation of any kind. Coverage is the reserve total against tokens in circulation, with the surplus or shortfall. Composition tests each component against the caller's declared eligible asset classes and per-class concentration limits, listing every component that falls outside and keeping its amount inside the reserve total, because excluding it would flatter the coverage figure. Segregation tests the segregated proportion against the declared minimum, and lists every component whose custodian type the caller did not declare acceptable. Cadence names each period that ran longer than the declared interval with no publication, individually and with its dates, never as a count. HARD FENCE: the eligible asset classes, concentration limits, minimum segregated percentage, acceptable custodian types and disclosure cadence are every one of them a caller input, pinned in the artifact and shown on screen. This kernel ships no reporting template, no eligible-asset table and no issuer library, performs no lookups of any kind (zero-egress), and makes no claim about what the current rules are, so a rule change makes an old receipt dated rather than wrong. The one regime constant is the e-money-token minimum of 30 percent, applied only when the caller declared nothing, labelled at source in the receipt; for an asset-referenced token an absent minimum raises judgment_required naming the field rather than inventing a threshold. Every verdict is against the caller's declared rules: this is not a determination that the issuer complies, not legal advice, and not a submission. Where a named human attests the check, the dual-control certification surface art-503-build-dual-control-certification is reused and no second threshold evaluator is built. Distinct from rca-02-mica-reserve-stress, which is a Monte Carlo redemption stress asking whether the reserve survives a run, a forward-looking simulation this node neither imports nor edits, and from art-105-mica-token-service-scoper and tools/332-mica-casp-authorization-checker, neither of which reads a reserve disclosure. Out of scope: redemption stress simulation, authorisation and service scoping, white-paper conformance, template validation, any statement that an issuer is or is not compliant, and any coverage ratio about our own estate.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-512-check-mica-reserve-disclosure.html\n**Wave:** 79\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-512-check-mica-reserve-disclosure.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "check_mica_reserve_disclosure",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-512-check-mica-reserve-disclosure.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 79
      }
    },
    "/v1/tools/build_public_money_settlement_receipt": {
      "post": {
        "operationId": "build_public_money_settlement_receipt",
        "summary": "Public-Money Settlement Receipt",
        "description": "Turns one caller-transcribed payment of public money into settlement evidence an audit authority can check with no access to the operator's database: a single-settlement verdict confirming the obligation was discharged exactly once across all declared rail legs, a ministry/agency attribution verdict against the caller's own revenue-code table, an at-par verdict comparing amount credited to amount collected with every fee itemised and never netted, a finality class echoed per rail from the caller's own declared basis, and a structural exceptions list. Portable to any government payment platform, any treasury-single-account regime, any supreme audit institution -- not built to any one vendor's data model. No rail connector, no switch, no live payment observation: the event is transcribed by the caller, exactly as art-497 transcribes a validator change. Does not classify finality itself -- art-492-classify-settlement-finality and art-59-settlement-asset-finality-classifier already do that; a chain composes them upstream of this node. Zero PII: payer is a class plus an opaque reference, never a name, account number, or address. compliance_control.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-513-public-money-settlement-receipt.html\n**Wave:** 79\n**mandate_type:** compliance_control\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_control"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-513-public-money-settlement-receipt.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_control. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "build_public_money_settlement_receipt",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-513-public-money-settlement-receipt.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_control",
        "x-ocg-wave": 79
      }
    },
    "/v1/tools/build_conditional_relief_collateral_receipt": {
      "post": {
        "operationId": "build_conditional_relief_collateral_receipt",
        "summary": "Conditional-Relief Collateral Receipt",
        "description": "Shows, per acceptance and per day, that every condition of a conditional regulatory relief -- no-action, exemptive, or comfort-letter -- held before a firm accepted an asset as collateral in reliance on it: a per-condition PASS/FAIL/UNDECIDABLE verdict against the caller's own versioned condition set (never a silent PASS on absent evidence), a version-staleness check comparing the version the caller relied on against the version the condition set was evidenced against, the applicable capital charge from the caller's own table, and a revocation-exposure figure -- the capital and eligibility delta if the relief were withdrawn at as_of. Portable to any regime -- CFTC, SEC, OCC, FCA, MAS -- the regime label and every condition are caller-supplied policy input, never a hardcoded rule set. Does not rebuild reserve checking (art-06, art-512, art-280) or haircuts/eligibility (art-444, 505, 508, art-320) -- reused upstream in a chain. Renders no eligibility opinion and no investment advice: it reports whether the caller's declared conditions were met against the caller's declared evidence. compliance_control.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-514-conditional-relief-collateral-receipt.html\n**Wave:** 79\n**mandate_type:** compliance_control\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_control"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-514-conditional-relief-collateral-receipt.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_control. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "build_conditional_relief_collateral_receipt",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-514-conditional-relief-collateral-receipt.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_control",
        "x-ocg-wave": 79
      }
    },
    "/v1/tools/build_allocation_decision_receipt": {
      "post": {
        "operationId": "build_allocation_decision_receipt",
        "summary": "Build Allocation Decision Receipt",
        "description": "Re-derives whether an allocation produced by an optimizer is explained by the objective and inputs that were true when it was made: the eligibility schedule snapshot, the inventory snapshot offered, the haircut table version, and the declared objective. Portable to any optimizer, not collateral only, so the same input shape covers a liquidity sweep, a treasury cash placement, a payment-routing choice, or an order allocation. Re-derives ONE candidate allocation for a declared objective (cheapest_to_deliver, preserve_hqla, or minimise_movements) using a fixed, published greedy rule, and compares it to the allocation the caller says was actually chosen: a reproducibility verdict, the delta versus the re-derived allocation in cost and in eligibility terms, and the binding constraint explaining each difference. A caller-named objective outside the three known ones is recorded but not solved, since this kernel has no fixed re-derivation rule for it. ADR_DIVERGENT is not a finding of error: a divergence means the chosen allocation is not explained by the declared objective and inputs, which is routinely legitimate (a trader override, an undeclared constraint, a stale snapshot); no output here characterises intent. This is not a competing optimizer and never claims the re-derived allocation is better than the one chosen. Eligibility, inventory, haircuts and the objective are every one of them a caller input, transcribed from the snapshot in force when the allocation was made; this kernel ships no eligibility table, no inventory feed and no haircut table of its own, and performs no lookups of any kind (zero-egress). Distinct from art-370-supervisory-scenario-replay, which replays the Fed's published macro scenario paths against caller loss/PPNR functions (a scenario replay over regulator-published inputs, not a decision re-derivation), and from art-236-build-ai-decision-log-record, which builds an EU AI Act Art 12(2) decision-log record (metadata about a decision, with no reproducibility verdict and no optimal-allocation computation). Reuses 505-tokenized-collateral-eligibility-checker for eligibility of each candidate and art-444-collateral-haircut-engine for the haircut applied; consumes their outcome as a caller-declared input and edits neither.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-515-build-allocation-decision-receipt.html\n**Wave:** 80\n**mandate_type:** attestation_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "attestation_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-515-build-allocation-decision-receipt.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: attestation_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "build_allocation_decision_receipt",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-515-build-allocation-decision-receipt.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "attestation_mandate",
        "x-ocg-wave": 80
      }
    },
    "/v1/tools/attest_daily_reconciliation": {
      "post": {
        "operationId": "attest_daily_reconciliation",
        "summary": "Daily Reconciliation Attestation",
        "description": "Attests that a daily reconciliation duty was discharged over a caller-declared population, rather than computing the reconciliation match itself. Checks population completeness in both count and value (declared population vs matched+unmatched+partially-matched), ages open exceptions against a caller-declared tolerance, and diffs the current exception list against the prior period's carried-forward exception set to detect an exception that disappeared without a documented resolution. Where the prior-period exception set is not supplied at all, continuity is reported as unverifiable rather than falsely clean. Region-portable: every fact is a caller-declared input, with no country, currency, or scheme hardcoded. Deterministic arithmetic only. Zero network, zero PII.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-516-daily-reconciliation-attestation.html\n**Wave:** 80\n**mandate_type:** attestation_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "attestation_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-516-daily-reconciliation-attestation.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: attestation_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "attest_daily_reconciliation",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-516-daily-reconciliation-attestation.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "attestation_mandate",
        "x-ocg-wave": 80
      }
    },
    "/v1/tools/validate_audit_trail_completeness": {
      "post": {
        "operationId": "validate_audit_trail_completeness",
        "summary": "Audit-Trail Completeness Attestation",
        "description": "Attests that an audit log covering transactions and user activity is complete and gap-free over a caller-declared window, against a caller-declared continuity mechanism: sequence numbers, hash-chain links, or periodic control totals. Enumerates gap position where the mechanism can localize one, reports privileged-action coverage separately from transaction coverage (a trail that logs transactions but not administrator actions fails the 'and user activities' requirement explicitly), checks retention conformance, and reports an undecidable list where the declared mechanism cannot support a position-level verdict (control totals confirm a period is short but cannot localize which event is missing). No log ingestion, no vendor log format parsing -- the caller supplies counts and the declared mechanism only. Zero PII: users are role classes and opaque refs, never a username, email, or IP. Region-portable: window, retention requirement, and mechanism are entirely caller-declared inputs, with no country, currency, scheme, or statute hardcoded. Disambiguation: art-237-validate-agent-audit-trail validates the field structure of one IETF AAT agent-to-agent record; cry-05-agent-action-audit-trail-aggregator builds a Merkle root over this suite's own execution receipts. Neither evaluates a window, detects a gap across a population of external log events, or checks privileged-action coverage -- that is this node.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-517-audit-trail-completeness.html\n**Wave:** 80\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-517-audit-trail-completeness.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "validate_audit_trail_completeness",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-517-audit-trail-completeness.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 80
      }
    },
    "/v1/tools/attest_bulk_disbursement_integrity": {
      "post": {
        "operationId": "attest_bulk_disbursement_integrity",
        "summary": "Bulk Disbursement Integrity",
        "description": "Attests that a bulk payment run -- salaries, pensions, social transfers, vendor payments -- is internally consistent and matches its authorization. Reconciles per-payee records against the authorized control total in both count and value, surfaces duplicate-candidate clusters by a caller-supplied opaque key, reports payee roster movement against the prior run, and flags limit breaches including split-payment candidates (multiple sub-limit payments to one payee ref summing past a declared limit) and destination-tier cap breaches (a payment authorized and funded but unable to land because the destination wallet is at its KYC-tier balance cap). Duplicate, split, and cap-breach flags are candidates for review, never findings of fraud or misconduct. Region-portable: every fact is a caller-declared input, with no country, currency, or scheme hardcoded. Deterministic arithmetic only. Zero network, zero PII -- payee is an opaque ref plus an amount and a rail.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-518-bulk-disbursement-integrity.html\n**Wave:** 80\n**mandate_type:** attestation_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "attestation_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-518-bulk-disbursement-integrity.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: attestation_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "attest_bulk_disbursement_integrity",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-518-bulk-disbursement-integrity.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "attestation_mandate",
        "x-ocg-wave": 80
      }
    },
    "/v1/tools/verify_migration_completeness": {
      "post": {
        "operationId": "verify_migration_completeness",
        "summary": "Payment Data Migration Completeness",
        "description": "Verifies that data moved from a legacy system to a successor is complete, value-preserving, and reconcilable, using caller-declared per-partition source and target record counts and control totals rather than reading any dataset. Checks each declared partition for count and value completeness against a declared tolerance and known exclusions, and separately checks the aggregate (the sum of every partition) against the individual partitions -- a grand total that reconciles while one or more partitions underneath do not is flagged as the inconsistency it is, not passed silently. Also checks transformation coverage (fields observed to change value with no declared transformation rule) and flags any partition verified by sampling only as a residual-risk statement, never as equivalent to a full completeness verdict. Region-portable: every fact is a caller-declared input, with no country, currency, agency, or rail hardcoded. Deterministic arithmetic only. Zero data ingestion, zero PII.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-519-payment-data-migration-completeness.html\n**Wave:** 80\n**mandate_type:** attestation_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "attestation_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-519-payment-data-migration-completeness.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: attestation_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "verify_migration_completeness",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-519-payment-data-migration-completeness.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "attestation_mandate",
        "x-ocg-wave": 80
      }
    },
    "/v1/tools/check_operator_exit_portability": {
      "post": {
        "operationId": "check_operator_exit_portability",
        "summary": "Operator Exit & Data Portability",
        "description": "Evaluates a caller-declared operator-exit and data-portability posture: per data category, whether an export path exists and whether its format is open or proprietary, producing a stranded-category list rather than a coverage ratio. Checks declared operator- versus supplier-control of named components and flags a contractual-operator claim unsupported by that declared control, single-supplier dependencies with no declared substitute, escrow arrangements, and notice period / transition-assistance terms. Undeclared is a distinct, non-failing state from an explicit negative declaration throughout. Evaluates declarations only -- never a supplier audit, vendor rating, or enforceability opinion, and no output names or characterises a supplier. Region-portable: every fact is a caller-declared input, with no country, currency, scheme or supplier hardcoded. Deterministic arithmetic only. Zero network, zero PII.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-520-operator-exit-data-portability.html\n**Wave:** 80\n**mandate_type:** attestation_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "attestation_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-520-operator-exit-data-portability.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: attestation_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "check_operator_exit_portability",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-520-operator-exit-data-portability.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "attestation_mandate",
        "x-ocg-wave": 80
      }
    },
    "/v1/tools/verify_settlement_asset_backing": {
      "post": {
        "operationId": "verify_settlement_asset_backing",
        "summary": "Settlement-Asset Backing Invariant",
        "description": "Checks whether value held across an issuance topology stays fully backed in aggregate, not merely per account, as balances move between caller-declared buffers. The caller names each buffer (its role, asset type, and what it backs), declares a backing-ratio requirement, per-buffer floor and ceiling, and a movement set. Evaluates the aggregate backing verdict before and after the declared movements, per-buffer floor/ceiling breaches, the thinnest safe margin per buffer, declared idle-balance cost versus declared crossing cost, and the specific movement that first breaks the invariant. Settlement-asset agnostic: the same kernel runs unchanged for centrally-issued digital cash, pooled-account-backed digital cash, and a reserve-backed stablecoin, demonstrated on fixtures with zero kernel difference. Does not sweep, net, or attest reserves, and issues no recommendation to move money.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-521-settlement-asset-backing-invariant.html\n**Wave:** 80\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-521-settlement-asset-backing-invariant.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "verify_settlement_asset_backing",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-521-settlement-asset-backing-invariant.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 80
      }
    },
    "/v1/tools/compute_identity_proofing_assurance_level": {
      "post": {
        "operationId": "compute_identity_proofing_assurance_level",
        "summary": "Identity-Proofing Assurance Level Evaluator",
        "description": "Rates whether a DECLARED identity-evidence set reaches a DECLARED target level of a caller-supplied, versioned assurance-level framework (the art-444 policy-input pattern) -- never a hardcoded framework such as NIST 800-63-3 or eIDAS. The level definition supplies levels ordered lowest-to-highest rigor, each with criteria naming a required evidence type and a numeric min_strength on a caller-normalized 0-100 scale; the kernel never interprets a framework's own named tiers. A criterion the definition cannot express (no required_evidence_type or no min_strength) is flagged IAL_DEFINITION_INSUFFICIENT, distinct from IAL_SHORTFALL (evidence present but not meeting a well-formed criterion) -- the two are never conflated. When the target level is not met, achieved level falls back to the highest fully-met level below it. This node rates an evidence set against a declared policy; it does NOT assert that a person is who they claim to be, and no output or copy implies verification of a natural person. No identity attributes are ever computed over -- evidence items are types, strengths and verification methods, with an optional opaque attribute reference (caller-supplied, no commitment scheme claimed by this node) carried through unread, never a plaintext value. No approver identity, signature, approval field or role -- manual review/EDD escalation is a separate signed §27 human_accountability_record, not minted by this kernel. This is the assurance-LEVEL evaluator specifically, distinct from any private-check-receipt evidencing scheme or a re-verification-cadence evaluator (neither built in this exercise). Not 490-eudi-kyc-flow-designer (an eIDAS/LoA-specific flow-design tool) -- this is framework-agnostic by construction and takes any structurally-expressible level definition as a policy input, with no dependency on any named jurisdiction or procurement.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-523-identity-proofing-assurance-level.html\n**Wave:** 72\n**mandate_type:** regulatory_reporting\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "regulatory_reporting"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-523-identity-proofing-assurance-level.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: regulatory_reporting. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "compute_identity_proofing_assurance_level",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-523-identity-proofing-assurance-level.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "regulatory_reporting",
        "x-ocg-wave": 72
      }
    },
    "/v1/tools/compare_cross_ccp_pqd_fields": {
      "post": {
        "operationId": "compare_cross_ccp_pqd_fields",
        "summary": "Cross-CCP PQD Comparator",
        "description": "Compares a caller-selected set of CPMI-IOSCO public quantitative disclosure (PQD) fields across FICC and ICE using a manually-transcribed, source-cited fixture dataset -- backtest coverage and largest margin deficiency per FICC division (GSD, MBSD, NSCC), and default fund requirement, Cover-2 peak stress loss, and total initial margin required per ICE clearing house (ICC, ICEU, ICUS), plus a CCP-level ICE skin-in-the-game total. FICC and ICE do not disclose the same field set; a field one side does not publish is reported unavailable, never interpolated. Flags a caller-declared threshold breach (e.g. Cover-2 peak stress loss exceeding a declared percentage of default fund requirement) per entity. Comparison arithmetic and delta table only -- no ranking, no better/worse scoring language, no forecasting. CME and LCH are named in the spec but not built -- selecting either yields an unknown-CCP rejection, never a fabricated figure. Every fixture figure is public and source-cited to the CCP's own quarterly disclosure PDF, refreshed manually per quarter, never a live feed and never scraped.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-528-cross-ccp-pqd-comparator.html\n**Wave:** 82\n**mandate_type:** regulatory_reporting\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "regulatory_reporting"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-528-cross-ccp-pqd-comparator.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: regulatory_reporting. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "compare_cross_ccp_pqd_fields",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-528-cross-ccp-pqd-comparator.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "regulatory_reporting",
        "x-ocg-wave": 82
      }
    },
    "/v1/tools/recompute_ccp_default_waterfall": {
      "post": {
        "operationId": "recompute_ccp_default_waterfall",
        "summary": "CCP Default Waterfall Recomputation",
        "description": "Recomputes the sequential loss-allocation order at a CCP defaulting-member event: defaulter's initial margin, then the defaulter's default-fund contribution, then the CCP's own skin-in-the-game, then the surviving members' default-fund pool, then assessment powers -- per a caller-declared waterfall structure and a caller-declared loss amount. The structure is not hardcoded to any one CCP's rulebook; a caller supplies its own stage order and subset per PFMI Principle 4 and its own published rulebook. Carries an OCG Standard §25 ocg-private-input@1 declaration: the defaulter's initial margin, the defaulter's default-fund contribution, and the surviving-members' default-fund pool are member-level figures, committed via sha256-salted@1 in policy_parameters.member_figures_commitment, never disclosed in the clear. The CCP's own skin-in-the-game and any assessment-powers cap are the CCP's own already-published figures and stay public inputs. Emits, stage by stage, how much of the declared loss each stage absorbed and whether a residual remains unallocated -- a breach of the declared structure at that loss amount. Distinct in domain from art-509-recompute-payment-waterfall, a securitisation cashflow waterfall unrelated to CCP default management. It performs no fund-sizing of its own, no stress-scenario modelling, and makes no determination that any CCP's published resources are adequate.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-529-ccp-default-waterfall-recompute.html\n**Wave:** 83\n**mandate_type:** analytics_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "analytics_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-529-ccp-default-waterfall-recompute.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: analytics_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "recompute_ccp_default_waterfall",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-529-ccp-default-waterfall-recompute.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "analytics_mandate",
        "x-ocg-wave": 83
      }
    },
    "/v1/tools/size_ccp_default_fund_cover2": {
      "post": {
        "operationId": "size_ccp_default_fund_cover2",
        "summary": "CCP Default Fund Cover-2 Sizing",
        "description": "Sizes a CCP default fund under the PFMI Principle 4 \"Cover 2\" standard: fund size must be at least the largest plus second-largest clearing-member stress loss across caller-declared stress scenarios. Applies each caller-declared scenario loss rate (in basis points, shaped from qfa-03-stress-test-engine's scenario_losses output as a chained input) to every caller-declared member exposure, ranks members per scenario, takes the two largest, and checks a caller-declared fund size against the worst scenario across the declared set. Not a stress-loss engine itself -- qfa-03 already computes multi-scenario portfolio stress losses; this node consumes that shape read-only and never reimplements it. Region-portable: no CCP, currency, or jurisdiction is hardcoded. Arithmetic sizing check only, no fund-size recommendation.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-530-default-fund-cover2-sizing.html\n**Wave:** 81\n**mandate_type:** risk_parameter\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "risk_parameter"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-530-default-fund-cover2-sizing.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: risk_parameter. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "size_ccp_default_fund_cover2",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-530-default-fund-cover2-sizing.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "risk_parameter",
        "x-ocg-wave": 81
      }
    },
    "/v1/tools/attest_margin_call_lifecycle": {
      "post": {
        "operationId": "attest_margin_call_lifecycle",
        "summary": "Member Margin Call Lifecycle",
        "description": "Tracks a clearing member's margin call through its declared lifecycle states -- issued, confirmed, funded, or disputed and escalated as a contingency path -- against a caller-declared SLA window, and attests whether the call was funded within the CCP's own published timing rule. Checks that the declared state timestamps are chronologically consistent and, for a still-open call, whether it has already run past its SLA as of a caller-declared evaluation point. Emits an informational suggested gate route (end, escalate, or hold) without itself implementing any escalation workflow. Region-portable: currency and the SLA window are caller-declared inputs, with no CCP or jurisdiction hardcoded. Deterministic arithmetic only. Zero network, zero PII -- the member reference is an opaque caller-supplied string, never a raw identity.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-531-member-margin-call-lifecycle.html\n**Wave:** 83\n**mandate_type:** attestation_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "attestation_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-531-member-margin-call-lifecycle.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: attestation_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "attest_margin_call_lifecycle",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-531-member-margin-call-lifecycle.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "attestation_mandate",
        "x-ocg-wave": 83
      }
    },
    "/v1/tools/check_client_porting": {
      "post": {
        "operationId": "check_client_porting",
        "summary": "Client Porting Check",
        "description": "Checks whether a client's cleared positions and collateral are portable to a backup clearing member under a caller-declared porting window, given caller-declared position/collateral completeness and backup-member consent status. Evaluates one caller-supplied snapshot: an empty position set, a missed porting window, and a not-yet-consented backup member each resolve to a distinct, defined not-portable outcome rather than a generic failure. A portable verdict is an evaluation of the supplied snapshot, never a guarantee that porting will in fact occur, and this tool does not itself move any position or collateral. Clause: PFMI Principle 14 (Segregation and Portability), 17 CFR 240.15c3-3a where a broker-dealer customer-protection structure is in view.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-532-client-porting-check.html\n**Wave:** 83\n**mandate_type:** attestation_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "attestation_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-532-client-porting-check.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: attestation_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "check_client_porting",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-532-client-porting-check.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "attestation_mandate",
        "x-ocg-wave": 83
      }
    },
    "/v1/tools/register_mra_remediation_closure": {
      "post": {
        "operationId": "register_mra_remediation_closure",
        "summary": "Consent-Order / MRA Remediation Closure Register",
        "description": "Registers a firm's consent-order Articles / MRA findings against its own remediation records: per-issue milestone completeness (closed with evidence attached), evidence validity (delivered evidence type matches what each milestone declares it calls for), and overdue/on-track timing against each issue's own committed date, reusing art-491-ro-remediation-closure's cutoff-vs-evaluated arithmetic unchanged. Emits SPEC.md section 27.4's closed decision enum at the per-issue and rollup level (auto_pass / review_required / escalate / hold) -- never itself judges that remediation was appropriate, timely, or sustainable; that determination is a named human's section 27 approval record. Not FATCA/CRS notification-closure -- see art-491 for that, unrelated regime.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-533-mra-remediation-closure-register.html\n**Wave:** 84\n**mandate_type:** attestation_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "attestation_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-533-mra-remediation-closure-register.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: attestation_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "register_mra_remediation_closure",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-533-mra-remediation-closure-register.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "attestation_mandate",
        "x-ocg-wave": 84
      }
    },
    "/v1/tools/roll_up_aml_lookback_disposition": {
      "post": {
        "operationId": "roll_up_aml_lookback_disposition",
        "summary": "AML Lookback Disposition Rollup",
        "description": "Closes the loop art-470 (lookback-completeness-reconciler) and art-471 (disposition-sampling-frame) leave open. Art-470 reconciles that the RE-SCREENING extract was complete; art-471 builds a deterministic sample of the resulting dispositions for independent review; neither checks that a disposition was actually recorded for every sampled item, that a filed or no-SAR determination carries a rationale, or that the sample frame's declared population size still reconciles to the completeness population. This node rolls those three axes up: disposition-coverage against the sample frame's own declared size, disposition-rationale-presence on every filed/no-SAR determination, and a population-to-sample tie-out between art-470's and art-471's declared population sizes. Emits a closed §27.4 gate-policy value: full coverage with rationale present on every filed/no-SAR item yields auto_pass; any missing disposition evaluated as of a caller-declared date on or after the lookback's declared close date yields escalate; a population tie-out failure or an explicit caller-declared sampling-frame discrepancy yields hold; a disposition present without its required rationale yields review_required. Customer id and alert id cross this kernel already salted -- callers supply a sha256-salted@1 commitment string, never the plaintext identifier -- and the kernel never sees, requests, or computes over the plaintext. Deterministic rollup arithmetic only. Zero network, zero PII.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-534-aml-lookback-disposition-rollup.html\n**Wave:** 83\n**mandate_type:** compliance_control\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_control"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-534-aml-lookback-disposition-rollup.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_control. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "roll_up_aml_lookback_disposition",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-534-aml-lookback-disposition-rollup.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_control",
        "x-ocg-wave": 83
      }
    },
    "/v1/tools/validate_fdic370_output_file": {
      "post": {
        "operationId": "validate_fdic370_output_file",
        "summary": "FDIC Part 370 Output-File Validator",
        "description": "Validates the shape of the institution's own 12 CFR part 370 deposit-insurance-coverage output file (the section 370.10 coverage summary report structure) against its published record layout -- required field presence, malformed count/amount values, and a repeated ownership right and capacity code -- and ties the file's declared totals to a supplied art-507-determine-deposit-insurance-coverage recompute. A file-shape defect and a totals mismatch are two separate, never-merged findings: a shape problem is checked first and routes to review_required regardless of how the totals compare, and only a clean-shaped file with a totals disagreement routes to escalate. Ownership right and capacity codes stay opaque strings, exactly as in art-507; no table of part 330 ownership categories is held here. Without a supplied art-507 result there is nothing to reconcile against, so the node reports did_not_run naming that precondition rather than assuming a tie-out. Emits a section 27.4 gate-policy value plus a sibling execution_state at a predictable output_payload pointer. Not a filing and not deposit insurance advice.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-535-fdic370-output-file-validator.html\n**Wave:** 84\n**mandate_type:** compliance_control\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_control"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-535-fdic370-output-file-validator.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_control. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "validate_fdic370_output_file",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-535-fdic370-output-file-validator.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_control",
        "x-ocg-wave": 84
      }
    },
    "/v1/tools/test_reg_w_affiliate_transactions": {
      "post": {
        "operationId": "test_reg_w_affiliate_transactions",
        "summary": "Reg W Affiliate Transaction Tester",
        "description": "Tests each caller-declared covered transaction with an affiliate against the Regulation W (12 CFR 223) quantitative limits: the 10% single-affiliate and 20% aggregate-affiliate capital limits, and a collateral-coverage percentage requirement on covered credit transactions. Capital base, both limit percentages, and the collateral-coverage percentage all arrive as caller-declared policy_parameters, cited with a required policy_vintage -- never hardcoded, since 12 CFR 223 figures version on their own schedule. A market-terms flag (the qualitative 12 CFR 223.51 'on terms substantially the same' test) is a caller-declared boolean the node records for the artifact only; it is never a judgment this node makes. Either quantitative limit breached escalates; a collateral shortfall with no capital breach routes to review_required; both limits satisfied and full collateral coverage auto-passes. No policy_parameters or no declared transactions yields a did-not-run execution state rather than a guessed decision.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-536-reg-w-affiliate-transaction-tester.html\n**Wave:** 82\n**mandate_type:** compliance_control\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_control"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-536-reg-w-affiliate-transaction-tester.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_control. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "test_reg_w_affiliate_transactions",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-536-reg-w-affiliate-transaction-tester.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_control",
        "x-ocg-wave": 82
      }
    },
    "/v1/tools/validate_qfc_recordkeeping_file": {
      "post": {
        "operationId": "validate_qfc_recordkeeping_file",
        "summary": "QFC Part 371 Recordkeeping File Validator",
        "description": "Validates the shape of the institution's own 12 CFR part 371 qualified-financial-contract recordkeeping file -- the position, counterparty, and collateral record set the appendix to part 371 requires -- against its published record layout, and ties the file's declared totals to a supplied control-total summary. A file-shape defect and a totals mismatch are two separate, never-merged findings: a shape problem is checked first and routes to review_required regardless of how the totals compare, and only a clean-shaped file with a totals disagreement routes to escalate. Position identifier and counterparty identifier are enumerable low-entropy identifiers salted before this node ever sees them; QFC type and currency code stay opaque strings, with no table of contract-type or currency codes held here. Without a supplied control-total summary there is nothing to reconcile against, so the node reports did_not_run naming that precondition rather than assuming a tie-out. Emits a section 27.4 gate-policy value plus a sibling execution_state at a predictable output_payload pointer. Not a filing and not recordkeeping-adequacy advice.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-537-qfc-recordkeeping-file-validator.html\n**Wave:** 84\n**mandate_type:** compliance_control\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_control"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-537-qfc-recordkeeping-file-validator.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_control. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "validate_qfc_recordkeeping_file",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-537-qfc-recordkeeping-file-validator.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_control",
        "x-ocg-wave": 84
      }
    },
    "/v1/tools/compute_asset_liability_coverage": {
      "post": {
        "operationId": "compute_asset_liability_coverage",
        "summary": "Asset/Liability Coverage",
        "description": "General, jurisdiction-neutral solvency check: total_assets_musd / total_liabilities_musd, plus surplus_shortfall_musd = total_assets_musd - total_liabilities_musd, per asset-class and liability-class breakdown, rolled up. COVERED at or above 1.0, SHORTFALL below it. A zero-liabilities line resolves coverage_ratio null and status NO_LIABILITIES_OUTSTANDING -- never a division artifact. Aggregate totals only (no per-customer or per-wallet line item). No single normative anchor exists for exchange-level asset/liability coverage (unlike bank capital-adequacy ratios elsewhere in the suite) -- stated explicitly rather than inventing a crosswalk citation.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-539-asset-liability-coverage.html\n**Wave:** 84\n**mandate_type:** compliance_control\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_control"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-539-asset-liability-coverage.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_control. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "compute_asset_liability_coverage",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-539-asset-liability-coverage.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_control",
        "x-ocg-wave": 84
      }
    },
    "/v1/tools/recompute_csdr_penalty": {
      "post": {
        "operationId": "recompute_csdr_penalty",
        "summary": "CSDR Penalty Recompute (Caller Reference Price)",
        "description": "Per-ISIN/day CSDR cash-penalty recompute over a caller-declared open-fails set: selects the RTS asset-class/penalty-type daily rate (CSDR-RTS-2025-10, ESMA Final Report 13 Oct 2025), applies fail duration to a caller-supplied reference_price and quantity, credits partial settlement proportionally, and sums forward penalty exposure across the fails set. Fixes art-78-csdr-penalty-calculator's reachability defect -- art-78 priced off notional with no shipped pack able to feed it a differing reference_price; this node's schema instead requires a caller-supplied reference_price per fail. art-78 keeps its own identity and chain wiring unchanged. Supports an optional OCG Standard section 25 ocg-private-input@1 declaration (sha256-salted@1) for the ISIN and counterparty_id per fail, since a small ISIN/counterparty universe is enumerable by table lookup.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-543-csdr-penalty-recompute.html\n**Wave:** 85\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-543-csdr-penalty-recompute.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "recompute_csdr_penalty",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-543-csdr-penalty-recompute.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 85
      }
    },
    "/v1/tools/validate_slate_report_fields": {
      "post": {
        "operationId": "validate_slate_report_fields",
        "summary": "SLATE Securities-Loan Report Field Validator",
        "description": "Field-level structural validator for a covered-securities-loan report record against the FINRA Rule 6500-series field spec (loan terms, rate, collateral type, counterparty) that FINRA Rule 6540 -- FINRA's implementation of SEC Rule 10c-1a securities-lending transparency reporting (SLATE) -- requires. Honestly scoped in the art-397 pattern: this schema-validates structurally (required fields present, enum membership, numeric/date parseability) and is explicitly NOT a full SLATE conformance engine -- no cross-record consistency check, no regulatory-timeliness check. Validate-never-transmit: never calls fetch, never calls an RNSA, never simulates submission -- readiness is not submission. Reporting compliance date is 2028-09-28 per the SEC's 2025-12-03 exemptive order (post-remand of NAPFM v. SEC, 5th Cir., 2025-08-25) -- re-verify against a then-current SEC.gov release before treating that date as load-bearing.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-544-slate-report-validator.html\n**Wave:** 85\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-544-slate-report-validator.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "validate_slate_report_fields",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-544-slate-report-validator.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 85
      }
    },
    "/v1/tools/run_slate_reporting_fit": {
      "post": {
        "operationId": "run_slate_reporting_fit",
        "summary": "SLATE Reporting Readiness Diagnostic",
        "description": "Score a caller-declared covered-securities-loan reporting pipeline against the FINRA Rule 6540 obligation checklist (SEC 10c-1a implementation, SLATE reporting) across five dimensions: reporting-agent registration, same-day capture of new/modified/terminated loans, Rule 6500-series field-spec mapping, a unique loan-identifier scheme, and recordkeeping retention. Returns an A-F grade and a gap list. Honestly scoped in the art-397 pattern: a declared-state checklist diagnostic, not a conformance engine, and not a substitute for art-544-slate-report-validator's field-level structural validation of an actual report record. Validate-never-transmit: never calls fetch, never calls an RNSA, never simulates submission -- readiness is not submission. Second stage of the slate-reporting-readiness chain, receiving from art-544.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-545-slate-readiness-diagnostic.html\n**Wave:** 85\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-545-slate-readiness-diagnostic.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "run_slate_reporting_fit",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-545-slate-readiness-diagnostic.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 85
      }
    },
    "/v1/tools/validate_dtcc_ca_iso20022_message": {
      "post": {
        "operationId": "validate_dtcc_ca_iso20022_message",
        "summary": "DTC Corporate Actions ISO 20022 Message Validator",
        "description": "Validates the structural message-shape of a single DTC corporate-action event message (notification / election / allocation) against the ISO 20022 field set migrated under DTCC Important Notice 23890-26 (legacy corporate-actions message format decommission -- a DTCC operator mandate, not a regulatory deadline: PSE testing 2026-01, Test Facility 2026-03, PROD testing 2026-07, legacy decommission Q3 2027). Checks required-field presence per message function, ISO 20022 CAEV event-type code, CUSIP format, DTC participant number, and date formats. Message-shape validation only -- does NOT compute entitlement, dividend, rights, or split amounts; that half is corporate-action entitlement recompute (art-547), which chains from this node's output.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-546-dtcc-ca-iso20022-validator.html\n**Wave:** 84\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-546-dtcc-ca-iso20022-validator.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "validate_dtcc_ca_iso20022_message",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-546-dtcc-ca-iso20022-validator.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 84
      }
    },
    "/v1/tools/recompute_corporate_action_entitlement": {
      "post": {
        "operationId": "recompute_corporate_action_entitlement",
        "summary": "Corporate Action Entitlement Recompute",
        "description": "Deterministic dividend/rights/split entitlement math per record date for a single position, under the ISO 20022 corporate-action event field set migrated by DTCC Important Notice 23890-26 (legacy corporate-actions message format decommission -- a DTCC operator mandate, not a regulatory deadline: PSE testing 2026-01, Test Facility 2026-03, PROD testing 2026-07, legacy decommission Q3 2027). entitlement = position_qty x ratio_or_rate, with rounding/proration rules per corporate-action type -- all caller-supplied, no security-master lookup, no market-data fetch. Entitlement math only -- does NOT validate DTC ISO 20022 message shape; that half is the message-shape validator (art-546), which chains into this node's input.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-547-corporate-action-entitlement-recompute.html\n**Wave:** 84\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-547-corporate-action-entitlement-recompute.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "recompute_corporate_action_entitlement",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-547-corporate-action-entitlement-recompute.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 84
      }
    },
    "/v1/tools/run_vop_readiness_diagnostic": {
      "post": {
        "operationId": "run_vop_readiness_diagnostic",
        "summary": "VoP Readiness Diagnostic",
        "description": "EU Instant Payments Regulation Verification-of-Payee (VoP) readiness/consistency diagnostic. Deterministically classifies a caller-declared match_score against caller-declared thresholds into match, close_match, no_match, or not_verifiable, then cross-checks that classification against the caller-declared psp_vop_response_code -- flagging, never silently correcting, a mismatch. Outcome-attestation shape, not recompute-the-match: this node does not implement the EPC VoP fuzzy name-matching algorithm and makes no live IBAN/account-holder-name directory call. Carries an OCG Standard §25 ocg-private-input@1 declaration: the IBAN, payee name, and account-holder identifier (if collected) are committed via sha256-salted@1, never in the clear. Distinct from simulate_vop_matching (art-11, a batch aggregate match-rate analyser using its own similarity math), score_payee_name_match (art-376, computes a name-match score from a name pair), and build_vop_session_receipt (art-377, builds the downstream session receipt); use this node for the upstream threshold/response-code consistency check. ZERO plaintext PII disclosed.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-548-vop-readiness-diagnostic.html\n**Wave:** 52\n**mandate_type:** vop_readiness_attestation\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "vop_readiness_attestation"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-548-vop-readiness-diagnostic.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: vop_readiness_attestation. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "run_vop_readiness_diagnostic",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-548-vop-readiness-diagnostic.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "vop_readiness_attestation",
        "x-ocg-wave": 52
      }
    },
    "/v1/tools/check_g20_corridor_cost_gap": {
      "post": {
        "operationId": "check_g20_corridor_cost_gap",
        "summary": "G20/FSB Corridor Cost-Gap Calculator",
        "description": "Recomputes a caller-declared cross-border payment corridor's cost gap against the hardcoded G20/FSB roadmap targets: retail cross-border payments end-2027 (no more than 1% global average, no more than 3% any corridor) and remittances 2030 (no more than 3% global average, no more than 5% any corridor). The caller supplies the corridor's observed total-cost percentage (as integer basis points), sourced from World Bank Remittance Prices Worldwide (RPW, methodology Q325) or elsewhere; this kernel never vendors RPW's own corridor cost table, only the published target arithmetic. Zero live FX/rate calls. These are transparency and benchmarking targets, not an enforceable deadline against any single firm -- not a compliance-gate. Not the US Reg E remittance disclosure recompute (see art-reg-e-remittance-disclosure-check for that).\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-549-g20-corridor-cost-gap.html\n**Wave:** 90\n**mandate_type:** risk_parameter\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "risk_parameter"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-549-g20-corridor-cost-gap.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: risk_parameter. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "check_g20_corridor_cost_gap",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-549-g20-corridor-cost-gap.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "risk_parameter",
        "x-ocg-wave": 90
      }
    },
    "/v1/tools/check_reg_e_remittance_disclosure": {
      "post": {
        "operationId": "check_reg_e_remittance_disclosure",
        "summary": "Reg E Remittance Disclosure Consistency Check",
        "description": "Deterministic recompute of the Reg E Subpart B (12 CFR 1005.31, implementing Dodd-Frank section 1073) remittance disclosure arithmetic identity: amount_received = (send_amount - total_fees) x exchange_rate. The caller supplies a provider's already-disclosed send amount, total fees, exchange rate, and recipient amount (all as integer cents / a rate scaled by 1,000,000, no floats); this kernel recomputes the identity and reports amount_recipient_recomputed, disclosure_consistent, and the exact discrepancy amount if any. Never fetches a live rate and never generates a fresh disclosure of its own -- it verifies that numbers a provider already disclosed are internally consistent. Distinct from art-248-compute-remittance-disclosure, which computes a disclosure from scratch rather than checking one against a caller-declared recipient figure.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-550-reg-e-remittance-disclosure-check.html\n**Wave:** 91\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-550-reg-e-remittance-disclosure-check.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "check_reg_e_remittance_disclosure",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-550-reg-e-remittance-disclosure-check.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 91
      }
    },
    "/v1/tools/record_index_constituents": {
      "post": {
        "operationId": "record_index_constituents",
        "summary": "Record Index Constituents",
        "description": "Gives an index's constituent set, as of a stated date, its own citable execution_hash -- the BMR/SEBI-shaped starting point ('what was in the index and why') that every downstream weighting or rebalance artifact cites rather than re-declaring. Attests that a declared constituent set exists exactly as stated, selected under a stated eligibility-criteria description, over caller-supplied constituent rows (security_id, name, sector, country) and a declared selection universe size. HARD FENCE: every constituent row and the eligibility-criteria description are supplied and asserted, never fetched (zero-egress); this attests THAT a declared set exists as stated, never whether the criteria was correctly applied against underlying market data, never a live index-provider feed. First entry of the Financial Index/Benchmark Administrator Lineage family, alongside the forthcoming compute_index_weights, compile_rebalance_evidence_pack and record_index_correction. Not fund NAV recomputation (art-373) or any benchmark-publisher scorecard. Corrections cite the prior artifact via the SPEC.md top-level supersedes field, not a bespoke status registry. EU Benchmark Regulation (BMR, Regulation (EU) 2016/1011) and SEBI benchmark-administrator framework citations informative only.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-557-record-index-constituents.html\n**Wave:** 90\n**mandate_type:** attestation_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "attestation_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-557-record-index-constituents.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: attestation_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "record_index_constituents",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-557-record-index-constituents.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "attestation_mandate",
        "x-ocg-wave": 90
      }
    },
    "/v1/tools/record_fund_positions": {
      "post": {
        "operationId": "record_fund_positions",
        "summary": "Record Fund Positions",
        "description": "Gives a fund's declared positions snapshot, as of a stated valuation date, its own citable execution_hash -- the upstream input-receipt that the proven NAV chain (art-373-recompute-fund-nav) currently hashes internally, and that a separate wiring node can instead cite via an optional positions_ref rather than re-declaring the same holdings. Attests that a declared snapshot exists exactly as stated, over caller-supplied holdings rows (security_id, quantity, currency) and a declared shares_outstanding. HARD FENCE: fund_id, valuation_date, every holding row, and shares_outstanding are supplied and asserted, never fetched (zero-egress); this attests THAT a declared snapshot exists as stated, never whether it matches a custodian record, never a live position feed. Section 25 private-inputs review ruled not applicable and stated explicitly: holdings are echoed in cleartext by design, since the node's function is to give the declared snapshot a citable hash, not to hide it behind a commitment. Not fund NAV recomputation (art-373) and not a pricing input (a sibling record_pricing_inputs node covers pricing). Corrections cite the prior artifact via the SPEC.md top-level supersedes field, not a bespoke status registry.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-558-record-fund-positions.html\n**Wave:** 90\n**mandate_type:** attestation_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "attestation_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-558-record-fund-positions.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: attestation_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "record_fund_positions",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-558-record-fund-positions.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "attestation_mandate",
        "x-ocg-wave": 90
      }
    },
    "/v1/tools/compile_model_risk_lineage_pack": {
      "post": {
        "operationId": "compile_model_risk_lineage_pack",
        "summary": "Compile Model Risk Lineage Pack",
        "description": "Compiles a model's current model-passport-lifecycle (art-450-model-inventory-entry, art-451-model-outcome-analysis, art-453-model-validation-status) and model-validation-cycle (art-488-model-replication-diff, art-489-model-test-battery) artifacts, cited by execution_hash and never recomputed, into a single BCBS 239 SS II / RDARR-shaped bundle: inventory tier, outcome-analysis result, validation status, replication verdict, and test-battery result, each with its citing hash and producing tool, so a reviewer sees one document that traces every SR 26-2 assertion back to the artifact that made it. Each of the five stage references is optional individually; the pack reports which stages are cited and which are absent, and zero-stages-cited is a legitimate empty state, never an error. HARD FENCE: this pack cites the referenced receipts, it does not re-run the model, re-derive the outcome analysis, or itself opine on validation sufficiency -- that opinion, if any, belongs to the cited art-453/art-489 artifacts, never to this bundle. SR 26-2 (superseding SR 11-7, effective 2026-04-17) scopes this pack to conventional quantitative models in scope under that guidance; it makes no claim about gen-AI or agentic-AI systems. Corrections cite the prior artifact via the SPEC.md top-level supersedes field, not a bespoke status registry.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-562-compile-model-risk-lineage-pack.html\n**Wave:** 91\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-562-compile-model-risk-lineage-pack.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "compile_model_risk_lineage_pack",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-562-compile-model-risk-lineage-pack.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 91
      }
    },
    "/v1/tools/map_mt9xx_to_camt": {
      "post": {
        "operationId": "map_mt9xx_to_camt",
        "summary": "Swift MT9xx to camt Statement Migration Mapper",
        "description": "Maps a pasted Swift MT900/910/940/942/950 statement or notification message to a camt.052/053/054-shaped JSON mapping object, plus a fidelity report (truncation findings, unmappable tags, and a 60F + sum(61) = 62F balance-consistency check for statement types). Swift retires these MT9xx messages in the 2027-28 coexistence window, receive-capability for the camt equivalents is mandated from November 2027, and Swift itself provides no MT-to-ISO 20022 conversion tool -- the translation burden lands on the receiving corporate or treasury. Field vocabulary (MT tag to camt element path) is reused from the tools/402 MT/MX field decoder. Kernel output stays JSON only; camt XML serialization from that JSON happens page-side. Distinct from the tools/565 camt.053 reconciliation workbench, which reconciles already-mapped camt.053 data against a ledger rather than mapping the message format.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-563-mt9xx-camt-statement-migration-mapper.html\n**Wave:** 85\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-563-mt9xx-camt-statement-migration-mapper.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "map_mt9xx_to_camt",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-563-mt9xx-camt-statement-migration-mapper.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 85
      }
    },
    "/v1/tools/lint_ucp_checkout_payload": {
      "post": {
        "operationId": "lint_ucp_checkout_payload",
        "summary": "UCP Checkout Payload Lint",
        "description": "Deterministic, verify-only structural lint of a caller-supplied Universal Commerce Protocol (UCP; Google + Shopify, announced NRF 2026-01-11, Apache-2.0 spec on GitHub) checkout resource against the schema pinned at tag v2026-04-08 of github.com/Universal-Commerce-Protocol/ucp. Checks the resource-level required[] field set, the status enum, ISO 4217 currency form, integer minor-unit amounts, and the exactly-one-subtotal / exactly-one-total cardinality rule on totals[]. Verdict CONFORMANT | NONCONFORMANT | UNKNOWN_VERSION: a payload declaring a UCP version outside the pinned allowlist is capped at UNKNOWN_VERSION regardless of otherwise-clean structure, never upgraded to CONFORMANT for a version this kernel has no pinned rules for. Never contacts a UCP or ACP endpoint and never fetches a live spec version -- the caller supplies the payload. UCP composes with AP2 rather than competing with it; part of the agentic-commerce-convergence chain alongside art-12 (ACP checkout conformance) and art-01 (AP2 mandate-chain validator).\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-564-ucp-checkout-payload-lint.html\n**Wave:** 92\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-564-ucp-checkout-payload-lint.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "lint_ucp_checkout_payload",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-564-ucp-checkout-payload-lint.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 92
      }
    },
    "/v1/tools/verify_kya_x402_scope": {
      "post": {
        "operationId": "verify_kya_x402_scope",
        "summary": "KYA Credential x x402 Payload Scope Verifier",
        "description": "Cross-checks a declared KYA (Know Your Agent) credential's scope against a declared x402 PaymentPayload: amount vs the credential's spend cap, network/asset vs its allowed set, payee vs its merchant allowlist, validity window vs the payload's timestamps, and scope-string coverage of the payment scheme. Returns findings[] and a verdict of IN_SCOPE, OUT_OF_SCOPE, or INDETERMINATE (when the credential omits a claim the payload requires -- never guessed). Verify-only: never fetches either input, never contacts Skyfire or a facilitator, performs no signature verification, and never initiates or settles an x402 payment.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-565-kya-x402-scope-verifier.html\n**Wave:** 92\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-565-kya-x402-scope-verifier.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "verify_kya_x402_scope",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-565-kya-x402-scope-verifier.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 92
      }
    },
    "/v1/tools/recompute_pe_waterfall_lp": {
      "post": {
        "operationId": "recompute_pe_waterfall_lp",
        "summary": "PE Distribution Waterfall LP-Side Recompute",
        "description": "Recomputes a standard 4-tier PE distribution waterfall (return of capital, preferred return, GP catch-up, residual carry split) from caller-DECLARED dated contribution/distribution cashflows and a caller-DECLARED waterfall parameterization (pref rate + compounding basis, GP catch-up percentage, carry percentage, European whole-fund or American deal-by-deal tier structure, optional clawback check), then diffs the recomputed per-tier LP/GP allocation against a caller-supplied GP-reported allocation. Verdict MATCHES, DIVERGES with per-tier deltas, or INDETERMINATE whenever a required parameter is absent -- never guessed, never defaulted. ILPA's own reporting-template guidance states it was not designed for verifying any of the GP's calculations, cited here only as dated gap evidence, never as an ILPA endorsement or ILPA-compliance claim. Cross-links recompute_fund_nav (art-373), which recomputes NAV, not distribution waterfalls -- the two do not duplicate each other. Zero network, zero PII, fixed-point BigInt money math throughout.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-567-pe-waterfall-lp-recompute.html\n**Wave:** 93\n**mandate_type:** attestation_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "attestation_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-567-pe-waterfall-lp-recompute.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: attestation_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "recompute_pe_waterfall_lp",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-567-pe-waterfall-lp-recompute.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "attestation_mandate",
        "x-ocg-wave": 93
      }
    },
    "/v1/tools/recompute_trustee_report_waterfall": {
      "post": {
        "operationId": "recompute_trustee_report_waterfall",
        "summary": "Securitization Trustee-Report Waterfall Recomputation",
        "description": "Recomputes a securitization priority-of-payments waterfall for one stated distribution period from a caller-declared tier list and the period's own collections, then compares the recomputed distribution against what the monthly trustee report states was distributed. The tier list, its priority order, every cap and every trigger reference come from the deal's own indenture, which the caller pins in an indenture reference that is carried into the artifact, so a later amendment dates an old receipt rather than falsifying it. Trigger states are caller-declared booleans only: a tier naming a trigger is skipped exactly when the caller declares that trigger breached, and this tool computes no coverage ratio, delinquency rate, or other market figure to decide a trigger's state. The recomputed side of every comparison is derived here by allocating the period collections down the tier list, never lifted from the trustee report, so a divergence is a genuine arithmetic finding rather than a re-adding of a published column. The verdict is MATCHES, DIVERGES, or INDETERMINATE, and INDETERMINATE covers both an empty tier list and a run where no trustee-reported distribution was supplied to compare against; neither case is guessed toward agreement. Money is fixed point in integer minor units throughout with two-decimal display, and zero collections, an empty tier list, and a tier naming a collection type that was not supplied each resolve to a defined result. Cites the OCC's Comptroller's Handbook on Asset Securitization as a mechanics reference only; the deal's own indenture governs, and this tool says so rather than asserting endorsement by any standard-setter. Stated boundary: a divergence against the trustee report is an arithmetic finding about the tier list and figures supplied here. It is never a compliance determination, never an audit opinion, and never a finding that the deal was administered correctly or incorrectly.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-568-securitization-trustee-report-recompute.html\n**Wave:** 92\n**mandate_type:** analytics_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "analytics_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-568-securitization-trustee-report-recompute.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: analytics_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "recompute_trustee_report_waterfall",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-568-securitization-trustee-report-recompute.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "analytics_mandate",
        "x-ocg-wave": 92
      }
    },
    "/v1/tools/check_muni_arbitrage_spending_exception": {
      "post": {
        "operationId": "check_muni_arbitrage_spending_exception",
        "summary": "Muni Arbitrage Spending-Exception Checker",
        "description": "Tests whether a tax-exempt bond issue's declared expenditure schedule satisfies one of the three IRC section 148 arbitrage-rebate spending exceptions under Treas. Reg. section 1.148-7: the 6-month exception (100% spent by 6 months, or 95%/12mo with reasonable retainage), the 18-month exception (15%/6mo, 60%/12mo, 100%/18mo, or 95%/18mo plus 100%/30mo with reasonable retainage), or the 24-month construction exception (10%/6mo, 45%/12mo, 75%/18mo, 100%/24mo, or 95%/24mo plus 100%/36mo with reasonable retainage). Whether reasonable retainage is elected is always a caller-declared boolean, never assumed. A caller-declared de minimis amount, capped at the lesser of 3% of gross proceeds or $150,000, may be applied against the required spend at every milestone; an out-of-cap declaration is rejected rather than clamped. Each milestone date is computed calendar-wise from the issue date and receives its own verdict: MET when cumulative spending as of that date reached the required amount, FAILED when the date has passed without reaching it, or PENDING when the milestone date is still in the future relative to the caller-declared evaluation date. Overall exception status is FAILED if any milestone failed, PENDING if none failed but one or more are still pending, and MET only when every milestone has been met. Scope is deliberately narrow: this checks the spending-exception milestone tests only and does not compute the future-value arbitrage rebate itself, which is a separate tool. Clause: IRC section 148; Treas. Reg. section 1.148-7; IRS Pub 5271. Not tax advice.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-569-muni-arbitrage-spending-exception-checker.html\n**Wave:** 93\n**mandate_type:** compliance_control\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_control"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-569-muni-arbitrage-spending-exception-checker.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_control. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "check_muni_arbitrage_spending_exception",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-569-muni-arbitrage-spending-exception-checker.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_control",
        "x-ocg-wave": 93
      }
    },
    "/v1/tools/examine_lc_document_presentation": {
      "post": {
        "operationId": "examine_lc_document_presentation",
        "summary": "UCP 600 / ISBP 745 Document Examination Assembler",
        "description": "Recomputes the letter-of-credit document examination a checker already works from a paper checklist inside the 5-banking-day window, from structured fields the checker has transcribed off the presentation -- no OCR, no document upload, no parsing of any document image or free text. Checks presentation timing against the credit's expiry date and the UCP 600 Art. 14(c) 21-calendar-day-after-shipment window (or the credit's own stated period); the Art. 14(b) 5-banking-day examination-window deadline when an examination-completion date is declared; Art. 30 quantity and amount tolerances, +/-5% or +/-10% when the credit qualifies the figure with 'about'; the Art. 28(f)(ii) insurance floor against the declared CIF/CIP value; cross-document consistency under Art. 14(d)/(e), including named-port conflicts and a checker-declared goods-description conformity flag; and draft tenor arithmetic against the credit's stipulated tenor. Every finding cites its article number. Verdict COMPLYING_PRESENTATION when no discrepancy is found, DISCREPANT when at least one is, INDETERMINATE when a required input (the credit amount or quantity, the expiry or latest-shipment date, the presentation date, or the invoice/transport-document fields) is absent. This is the examination side of the LC lifecycle -- the companion tool tools/420-mt700-lc-field-validator.html validates the MT700 issuance message; the two are cross-linked, not duplicated. UCP 600 and ISBP 745 are cited by article/paragraph number only; their text is ICC copyright and is never reproduced, and this tool carries no claim of ICC endorsement.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-570-ucp600-document-examination-assembler.html\n**Wave:** 93\n**mandate_type:** compliance_control\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_control"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-570-ucp600-document-examination-assembler.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_control. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "examine_lc_document_presentation",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-570-ucp600-document-examination-assembler.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_control",
        "x-ocg-wave": 93
      }
    },
    "/v1/tools/recompute_lease_schedule_asc842_ifrs16": {
      "post": {
        "operationId": "recompute_lease_schedule_asc842_ifrs16",
        "summary": "Lease Schedule Recompute — ASC 842 / IFRS 16",
        "description": "Recomputes the present value of a declared lease payment schedule and the full effective-interest amortization -- liability and right-of-use asset -- under ASC 842 and IFRS 16 side by side, from a caller-declared discount rate and payment schedule. Runs the ASC 842 five-criterion finance-vs-operating classification test: ownership transfer, a purchase option reasonably certain of exercise, and specialized-asset status are always caller-declared; the major-part-of-economic-life and substantially-all-of-fair-value criteria are computed against the common 75%/90% bright lines only when the caller elects them, and otherwise are caller-declared judgment inputs -- an election is always labeled as such, never silently defaulted. IFRS 16 applies a single on-balance-sheet lessee model with no operating/finance distinction. Optionally diffs the ASC 842 or IFRS 16 closing liability at each payment date against a counterparty-supplied preparer schedule within a declared tolerance, returning MATCHES, DIVERGES, or INDETERMINATE when no preparer schedule is supplied or preparer dates do not appear in the computed schedule. The discount rate is always a declared input, never inferred or derived. Performs arithmetic only over caller-declared terms; does not source a discount rate, does not determine what qualifies as a specialized asset, and reproduces no FASB or IASB standard text -- citations are to paragraph numbers only. Clause: ASC 842 (FASB ASC Topic 842), classification criteria at ASC 842-10-25-2 through 25-3; IFRS 16, effective 2019-01-01.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-571-lease-schedule-recompute-asc842-ifrs16.html\n**Wave:** 93\n**mandate_type:** compliance_control\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_control"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-571-lease-schedule-recompute-asc842-ifrs16.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_control. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "recompute_lease_schedule_asc842_ifrs16",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-571-lease-schedule-recompute-asc842-ifrs16.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_control",
        "x-ocg-wave": 93
      }
    },
    "/v1/tools/recompute_garnishment_stack": {
      "post": {
        "operationId": "recompute_garnishment_stack",
        "summary": "Multi-Garnishment Stacking Recomputation",
        "description": "Recomputes, for one stated pay period, how much of an employee's disposable earnings each order in a caller-declared garnishment stack may lawfully withhold, then compares the recomputed per-order withholding against a garnishment notice where one is supplied. Both an employer computing what to withhold and an employee or legal-aid clinic recomputing a notice they received can run the same arithmetic; neither side is privileged. Disposable earnings are computed from caller-supplied gross earnings less legally-required deductions. Each order type carries its own statutory cap: child-support orders use the CCPA Title III tiers of 50, 55, 60 or 65 percent keyed on arrears over 12 weeks and a second family; a federal tax levy is exempt from the CCPA percentage limitations and is capped here only at remaining disposable earnings, with the IRS wage-bracket exempt-amount table named as out of scope; a state levy uses a caller-declared percentage where supplied and otherwise defaults to the general CCPA cap, with no fifty-state table bundled; an HEA Administrative Wage Garnishment order is capped at 15 percent of disposable earnings and by the 30-times-federal-minimum-wage floor; and creditor and other orders use the general CCPA cap of 25 percent or the 30-times floor, whichever is less. Orders are withheld in the priority order the caller supplies, subject to each order's own cap and an aggregate ceiling equal to the single highest individual cap present in the stack, a documented simplification named in the artifact's not_proven list. A dated, caller-overridable federal minimum wage prefill feeds the 30-times floor. The verdict is MATCHES, DIVERGES, or INDETERMINATE, and INDETERMINATE covers both an empty order stack and a run where no noticed withholding amounts were supplied to compare against; neither case is guessed toward agreement. Money is fixed point in integer minor units throughout with two-decimal display. Cites the Consumer Credit Protection Act Title III, 29 CFR Part 870, DOL Fact Sheet 30, and 34 CFR Part 34 for the Administrative Wage Garnishment cap, each dated for re-verification against primary text. Stated boundary: this is not legal advice, and a divergence against a supplied notice is an arithmetic finding about the order stack and figures supplied here, never a determination that any order is valid, enforceable, or correctly served.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-572-multi-garnishment-stacking-recompute.html\n**Wave:** 96\n**mandate_type:** analytics_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "analytics_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-572-multi-garnishment-stacking-recompute.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: analytics_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "recompute_garnishment_stack",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-572-multi-garnishment-stacking-recompute.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "analytics_mandate",
        "x-ocg-wave": 96
      }
    },
    "/v1/tools/recompute_section16b_profit": {
      "post": {
        "operationId": "recompute_section16b_profit",
        "summary": "Section 16(b) Short-Swing Profit Recomputation",
        "description": "Recomputes an Exchange Act Section 16(b) short-swing profit figure from a caller-declared list of an insider's own transactions in the issuer's equity security, then compares the recomputed figure against a number a demand letter claims where one is supplied. Section 16(b) demand letters are typically built by a plaintiff firm scanning Form 4 filings for a lowest-price-in, highest-price-out match; the recipient side, whether the insider or the issuer's counsel, has had no deterministic free tool to independently recompute that number, which this node is. Matching uses the Smolowe v. Delvag Reinsurance / Gratz v. Claughton maximal-recovery construction: the lowest-priced eligible purchase is repeatedly paired against the highest-priced eligible sale within a day-count approximation of the statutory less-than-six-months window, a pairing that would produce a loss is skipped rather than netted against a profitable one, and every matched pair is reported with its own purchase date, sale date, share count and profit. A transaction carrying a caller-declared exemption flag, such as a Rule 16b-3 approved-plan exemption, is excluded from matching and reported separately; this node makes no independent exemption determination. It also carries an informational Section 16(a) and 16(b) applicability check over caller-declared officer, director, and ten-percent-owner status, including the Holding Foreign Insiders Accountable Act asymmetry: a foreign private issuer's officers and directors became Section 16(a) reporting filers under HFIAA without becoming subject to Section 16(b) short-swing profit-recovery liability, which this node flags without gating the arithmetic on it. The verdict is MATCHES, DIVERGES, or INDETERMINATE, and INDETERMINATE covers both an empty transaction list and a run where no demand-letter figure was supplied to compare against; neither case is guessed toward agreement. Money is fixed point in integer minor units throughout with two-decimal display. Cites Exchange Act Section 16(b) and 16(a), Rule 16b-3, Rule 3a12-3, and HFIAA, each dated for re-verification against primary text, and names the matching algorithm and the six-month day-count approximation as research findings needing independent re-verification rather than established facts. Stated boundary: this is not legal advice, no computed figure resolves a matchability or exemption dispute, and a Rule 144 volume-limitation check is a named follow-on tool, not computed here.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-573-section16b-short-swing-profit-recompute.html\n**Wave:** 96\n**mandate_type:** analytics_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "analytics_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-573-section16b-short-swing-profit-recompute.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: analytics_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "recompute_section16b_profit",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-573-section16b-short-swing-profit-recompute.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "analytics_mandate",
        "x-ocg-wave": 96
      }
    },
    "/v1/tools/recompute_certified_payroll_pwa": {
      "post": {
        "operationId": "recompute_certified_payroll_pwa",
        "summary": "Certified Payroll / Prevailing Wage Recomputation",
        "description": "Recomputes, for one stated certified-payroll week, whether each worker on a caller-declared payroll was paid at or above the wage-determination rate for their classification, with Contract Work Hours and Safety Standards Act overtime applied at time-and-a-half on the basic hourly rate and fringe due straight-time for every hour. A prime contractor verifying a subcontractor's weekly payroll and a Section 6418 credit-transferee or tax-equity investor diligencing a developer's prevailing-wage math before purchasing transferred credits can run the identical arithmetic; neither side is privileged. Where a submitted certified payroll is also supplied, the recomputed required gross for each worker, derived here from the wage determination and declared hours rather than lifted from the submission, is compared against it field by field. In PWA mode, any deficiency found triggers an IRC Section 45(b)(7)-(8) correction-payment and penalty computation re-verified against primary text at build: the wage-differential component of the correction is tripled on a declared intentional disregard, interest accrues at the Section 6621 underpayment rate with six percentage points substituted for three, and the penalty is five thousand dollars per underpaid worker for the stated period, ten thousand on intentional disregard, with annual aggregation across periods left to the caller since this kernel is single-run and stateless. An optional apprentice-ratio check compares a declared permitted ratio against declared journeyman and apprentice counts without a bundled fifty-state or program table and without reassigning excess-apprentice hours to the journeyman rate, both named in the artifact's not_proven list. The verdict is MATCHES, DIVERGES, or INDETERMINATE, and INDETERMINATE covers an empty wage determination, an empty payroll, a payroll row whose classification is not found in the wage determination, and a run where no submitted certified payroll was supplied to compare against; none of these cases is guessed toward agreement. Money is fixed point in integer minor units throughout with two-decimal display. Cites the Davis-Bacon Act at 40 U.S.C. Section 3141 and following, 29 CFR Part 5, the Contract Work Hours and Safety Standards Act at 40 U.S.C. Section 3701 and following, IRC Section 45(b)(7)-(8) and its final regulations, and DOL Form WH-347, each dated for re-verification against primary text; no WH-347 expiration or sunset date is encoded because research turned up conflicting secondary-source dates. Stated boundary: this is not tax or legal advice, and a divergence against a submitted payroll is an arithmetic finding about the wage determination and hours supplied here, never a determination that any classification, hours, or correction figure is legally or factually correct.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-574-certified-payroll-prevailing-wage-recompute.html\n**Wave:** 97\n**mandate_type:** analytics_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "analytics_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-574-certified-payroll-prevailing-wage-recompute.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: analytics_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "recompute_certified_payroll_pwa",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-574-certified-payroll-prevailing-wage-recompute.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "analytics_mandate",
        "x-ocg-wave": 97
      }
    },
    "/v1/tools/recompute_tmpg_fails_charge": {
      "post": {
        "operationId": "recompute_tmpg_fails_charge",
        "summary": "TMPG Fails-Charge Recompute",
        "description": "Recomputes the NY Fed Treasury Market Practices Group fails-charge claim a buyer presents to a failing seller on a UST, agency, or agency-MBS settlement fail: charge = max(0, 3% minus the caller-declared reference rate) / 360 x par amount x days failed, per the published trading practice (2016 revision). Accepts a batch of fails in one pass, each with its own par amount, reference rate, and day count, and diffs the recomputed charge against a caller-declared claimed amount within a caller-declared tolerance -- never a default. A fail with no claimed amount contributes an INDETERMINATE line rather than a silent pass. Overall verdict DIVERGES if any fail's recomputed charge falls outside tolerance of its claimed amount; INDETERMINATE if every fail is within tolerance or unclaimed but at least one has no claimed amount to diff, or if the tolerance itself, or every fail, is absent; MATCHES only when every fail carries a claimed amount and every one agrees within tolerance. Par and claimed amounts are integer minor units, so the arithmetic is exact; recomputed charges round to the nearest minor unit. Performs arithmetic only over caller-declared par amounts, reference rates, day counts, and claimed amounts -- does not source, derive, or independently verify fail status, par amounts, or reference rates from any feed, and makes no TMPG/NY Fed endorsement claim. Clause: NY Fed TMPG fails-charge trading practice (2016 revision); confirm current text at newyorkfed.org before relying on a computed figure for a live claim.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-575-tmpg-fails-charge-recompute.html\n**Wave:** 94\n**mandate_type:** compliance_control\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_control"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-575-tmpg-fails-charge-recompute.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_control. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "recompute_tmpg_fails_charge",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-575-tmpg-fails-charge-recompute.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_control",
        "x-ocg-wave": 94
      }
    },
    "/v1/tools/classify_emir3_active_account_status": {
      "post": {
        "operationId": "classify_emir3_active_account_status",
        "summary": "EMIR 3.0 Active Account Representativeness Classifier",
        "description": "Classifies an EU counterparty's posture under EMIR Article 7a (the Active Account Requirement, inserted by Regulation (EU) 2024/2987) across three obligations: whether the active-account obligation applies and is met at an Article-14-authorised CCP; whether the Article 7a(4) representativeness obligation applies, is exempt below the EUR 6 billion notional-clearing-volume threshold, or is met by clearing at least five trades on an annual average basis in each caller-declared most-relevant subcategory per class; and whether a reporting submission falls within the applicable Commission Delegated Regulation (EU) 2026/305 Article 10 window (last day of January or July, first cycle anchored to the stated 2026-07-31 report). Subcategories are bucketed deterministically from caller-declared trade size and maturity against the RTS Annex I tables for EUR fixed-to-float, OIS and FRA, PLN fixed-to-float and FRA (single any/any bucket), and EUR STIR Euribor and euro short-term rate. Which subcategories are ESMA's market-wide most-relevant designation is not derivable from one counterparty's own trades and is taken as a caller-declared input, named in the artifact's not_proven list. Each obligation resolves to MET, NOT_MET, EXEMPT, or INDETERMINATE, and INDETERMINATE covers every case where a required input -- clearing-threshold exceedance, active-account status, notional volume, subcategory designation, or reporting date -- was not declared; none is guessed toward a passing verdict. Cites Article 7a EMIR and Commission Delegated Regulation (EU) 2026/305, re-verified against EUR-Lex at build. Existing EMIR coverage on this site is trade-report field, lifecycle, UTI and UPI validation only; this is a distinct Active Account Requirement self-check, not a duplicate. Stated boundary: this is not legal advice, and does not independently verify that a declared trade actually cleared or that the counterparty genuinely exceeds the Article 4a clearing threshold.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-576-emir3-active-account-representativeness-classifier.html\n**Wave:** 97\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-576-emir3-active-account-representativeness-classifier.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "classify_emir3_active_account_status",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-576-emir3-active-account-representativeness-classifier.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 97
      }
    },
    "/v1/tools/recompute_exchange_fee_tier_invoice": {
      "post": {
        "operationId": "recompute_exchange_fee_tier_invoice",
        "summary": "Exchange Access-Fee / Maker-Taker Tier Recompute",
        "description": "Recomputes a monthly exchange maker-taker invoice from a caller-pasted fee schedule: resolves the firm's active tier from its declared prior-period average daily volume (ADV), applies that tier's maker rebate and taker access-fee rate to the declared monthly maker/taker share totals, and diffs the recomputed amount against the claimed invoice within a declared tolerance -- verdict MATCHES, DIVERGES, or INDETERMINATE when no tier qualifies. Separately, independent of which tier is currently active, checks every tier's taker rate in the declared schedule against the Reg NMS Rule 610(c) access-fee cap ($0.001/share for quotations priced at $1.00/share or more, compliance date 2026-11-02) -- verdict CAP_CONFORMANT, CAP_EXCEEDS, or INDETERMINATE when the caller has not declared that the schedule applies to quotes priced at $1.00/share or more. The two checks never gate each other: a schedule can conform to the cap while its invoice diverges, or the reverse. Fee schedules, ADV, and monthly volume are caller-declared inputs; this tool does not source, fetch, or maintain any exchange's published schedule. All rates and money amounts are integer micro-dollars (1 micro = $0.000001) so the arithmetic is exact. Not legal or accounting advice; a DIVERGES or CAP_EXCEEDS verdict is a citable arithmetic finding for the firm and, where relevant, its counsel to evaluate against the exchange's actual published schedule and rule text.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-577-exchange-fee-tier-recompute.html\n**Wave:** 97\n**mandate_type:** compliance_control\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_control"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-577-exchange-fee-tier-recompute.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_control. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "recompute_exchange_fee_tier_invoice",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-577-exchange-fee-tier-recompute.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_control",
        "x-ocg-wave": 97
      }
    },
    "/v1/tools/verify_etf_pcf_basket": {
      "post": {
        "operationId": "verify_etf_pcf_basket",
        "summary": "ETF PCF Create/Redeem Basket Verification",
        "description": "Recomputes what an authorized participant's assembled ETF create/redeem basket should contain against the fund's daily Portfolio Composition File (PCF) and diffs it against what was actually assembled, for a declared number of creation units. Per PCF line, checks that the expected quantity (the PCF's per-unit quantity times units requested) is covered by the basket either in kind or through a declared cash-in-lieu substitution -- never a silent gap -- and flags any basket line that is not a PCF line at all. Separately recomputes the total cash the AP should have deposited or received: the PCF's declared per-unit balancing amount times units requested, plus the total cash-in-lieu substitution value, compared against the cash actually deposited within a declared tolerance. Cash tolerance is always a declared input, never defaulted. Verdict MATCHES when every line covers its expected quantity and the cash balances within tolerance; DIVERGES when any line mismatches or the cash breaks; INDETERMINATE when a required input (the tolerance, the transaction type, units requested, the creation-unit size, the PCF balancing amount, or at least one PCF line) is absent. All quantities are integer shares and all cash figures integer minor units, so the arithmetic is exact. Distinct from the shipped fund-NAV verification pack, which recomputes NAV per share rather than an in-kind basket against a PCF -- cross-link, do not duplicate. Performs arithmetic only over a caller-declared PCF and a caller-declared basket; does not source, derive, or independently verify the PCF, does not price securities, and does not determine which lines are cash-in-lieu-eligible. Clause: DTCC's ETF Processing service (Fund/SERV, over NSCC) settles AP creation/redemption baskets against the fund's daily PCF; no DTCC endorsement of this tool is implied or claimed.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-578-etf-pcf-basket-verification.html\n**Wave:** 94\n**mandate_type:** compliance_control\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_control"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-578-etf-pcf-basket-verification.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_control. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "verify_etf_pcf_basket",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-578-etf-pcf-basket-verification.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_control",
        "x-ocg-wave": 94
      }
    },
    "/v1/tools/recompute_stock_loan_rebate_fee": {
      "post": {
        "operationId": "recompute_stock_loan_rebate_fee",
        "summary": "Stock-Loan Rebate/Fee Recompute",
        "description": "Recomputes the periodic rebate or fee bill on an open securities loan that a borrower or beneficial owner receives from an agent lender or prime broker, using the caller's own declared daily collateral and rate data under the standard MSLA/SIFMA Actual/360 daily-accrual convention, then diffs the recomputed total against the statement's claimed amount. Supports both loan bases: rebate-basis loans (cash collateral, daily accrual of collateral value times the benchmark rate minus the rebate spread, with a negative spread-benchmark differential correctly flipping to a borrower-pays amount for a hard-to-borrow security) and fee-basis loans (a flat fee rate on the loaned security's market value, always borrower-pays). Separately checks every declared day's collateral value against the caller-declared SIFMA collateral-maintenance threshold (102% same-currency or 105% cross-currency) independent of whether the period's money total matches. Verdict MATCHES when the computed total agrees with the statement within a caller-declared tolerance and no collateral-mark breach occurred; DIVERGES when either check fails; INDETERMINATE when a required input (the tolerance, the margin percentage, the period, or at least one loan) is absent. The money side complementing the shipped FINRA SLATE reporting tools, which check regulatory transparency reporting rather than the bill itself. Balances are integer minor units and rates are integer basis points, so the arithmetic is exact. Performs arithmetic only over caller-declared daily collateral values, loaned-security market values, and rate/spread inputs; does not source or independently verify any value against a DTC feed, an agent lender's books, or a Reg SHO threshold-security list, and does not determine which collateral-maintenance percentage a given master agreement requires. Clause: SIFMA Master Securities Loan Agreement (MSLA) conventions plus FINRA's Securities Lending and Transparency Engine (SLATE, Rule 6500 Series) as the distinct reporting-side reference.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-579-stock-loan-rebate-recompute.html\n**Wave:** 97\n**mandate_type:** compliance_control\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_control"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-579-stock-loan-rebate-recompute.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_control. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "recompute_stock_loan_rebate_fee",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-579-stock-loan-rebate-recompute.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_control",
        "x-ocg-wave": 97
      }
    },
    "/v1/tools/compute_note_h_margin_debit": {
      "post": {
        "operationId": "compute_note_h_margin_debit",
        "summary": "15c3-3a Note H Margin-Debit Computation",
        "description": "Recomputes whether a margin debit related to a broker-dealer's customer transactions in U.S. Treasury securities qualifies for inclusion in the Exchange Act Rule 15c3-3 customer or PAB reserve formula under Note H to Exhibit A (Rule 15c3-3a), and if so computes the debit amount. Note H permits that debit only once a registered clearing agency's rules satisfy several Commission-approved conditions and the margin itself comes from a permitted source. This kernel checks each condition as its own declared boolean, cited to the specific Note H subsection it comes from: Commission approval and published notice that Note H is satisfied for the named clearing agency; a separate, gross, per-customer margin calculation; cash margin invested only in short-term U.S. Treasury securities; margin held in a segregated Special Clearing Account at a Federal Reserve Bank or an FDIC-insured bank; and a system for returning excess margin no longer required. The source of the margin is separately checked against Note H's three permitted sources, including the narrow path where a broker-dealer's own Treasury securities may be used only if the customer lacked sufficient margin of its own and the broker-dealer recouped the advance by the next business day. The verdict is INCLUDABLE, NOT_INCLUDABLE, or INDETERMINATE, and INDETERMINATE covers both an unstated condition and missing margin-required or margin-on-deposit figures, neither of which is guessed toward either other verdict. Where INCLUDABLE, the debit is the smaller of the margin required and the margin actually on deposit, since Note H permits a debit no larger than either figure. Money is fixed point in integer minor units throughout with two-decimal display. Cites Exchange Act Rule 15c3-3a Note H by subsection and the SEC's Treasury-clearing compliance dates (cash trades by 2026-12-31, repo by 2027-06-30), each dated for re-verification against primary text. This kernel is a narrow sibling to the shipped art-396 15c3-3 reserve-formula tool: it recomputes only the Note H margin-debit sliver, never the full Items 1-14 reserve formula, and never edits art-396. Not legal or regulatory advice, and whether a clearing agency's rules and Commission notice actually satisfy Note H is for the broker-dealer's own compliance and financial-operations review.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-580-15c3-3a-note-h-margin-debit.html\n**Wave:** 97\n**mandate_type:** analytics_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "analytics_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-580-15c3-3a-note-h-margin-debit.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: analytics_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "compute_note_h_margin_debit",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-580-15c3-3a-note-h-margin-debit.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "analytics_mandate",
        "x-ocg-wave": 97
      }
    },
    "/v1/tools/classify_emir3_simm_approval_scope": {
      "post": {
        "operationId": "classify_emir3_simm_approval_scope",
        "summary": "EMIR 3 SIMM Approval-Scope Classifier",
        "description": "Classifies which EMIR 3 initial-margin model-approval obligations apply to a caller-declared counterparty profile across four items: prior competent-authority (NCA) authorisation before using or changing an initial-margin model under Article 11(12a) (inserted by Regulation (EU) 2024/2987); EBA central validation of a pro forma model's elements and general aspects, also under Article 11(12a), for the ISDA SIMM case; the recurring end-March annual application-data update to the home NCA for an already-authorised SIMM user, under the Article 11(15) supervisory-procedure process; and the 2026 EBA validation-system onboarding window published for SIMM applicants, open through end-August 2026. Each obligation resolves to IN_SCOPE, OUT_OF_SCOPE, or INDETERMINATE, and INDETERMINATE covers every case where a required fact -- a declared home competent authority, or a model-status distinction between a new application and an already-authorised model -- was not supplied; none is guessed toward a passing verdict. Carries zero ISDA SIMM methodology content: no risk weight, correlation, bucket, or sensitivity math, and no reproduction of any ISDA document. Cites EMIR Article 11(12a) and Article 11(15) as amended by Regulation (EU) 2024/2987, re-verified against EUR-Lex and EBA's published process at build; the implementing RTS and Guidelines on initial-margin model authorisation were at public-consultation stage (17 March - 17 June 2026) and not yet finalised as of the build date, stated plainly in-page. Distinct from art-576's Active Account Requirement classifier -- this is the initial-margin model-approval track, not the clearing-obligation track. Stated boundary: this is not legal advice, expresses no ISDA endorsement, and does not perform any methodology-level verification of an actual initial-margin model -- that omission is deliberate and disclosed in-page.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-581-emir3-simm-approval-scope-classifier.html\n**Wave:** 97\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-581-emir3-simm-approval-scope-classifier.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "classify_emir3_simm_approval_scope",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-581-emir3-simm-approval-scope-classifier.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 97
      }
    },
    "/v1/tools/check_genius_reserve_disclosure_conformance": {
      "post": {
        "operationId": "check_genius_reserve_disclosure_conformance",
        "summary": "GENIUS Act Reserve-Disclosure Conformance Monitor",
        "description": "Checks a monthly PPSI reserve disclosure against two statute-derived GENIUS Act S.394 §4 requirements: 1:1 reserve coverage arithmetic and attestation presence/timeliness against the statutory monthly cadence. Verdict per requirement (MET/NOT_MET/INDETERMINATE). NARROWED 2026-08-07: the permitted-asset composition check is out of scope because no final GENIUS Act implementing regulation exists as of that date (all OCC/FDIC/Treasury/FinCEN/NCUA instruments remain NPRM/ANPRM). Never claims final-rule attribution or compliance certification. Cross-links the shipped pre-issuance precheck_reserve_attestation (art-06) and the fuller check_genius_reserve_disclosure (art-275).\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-582-genius-reserve-disclosure-conformance-monitor.html\n**Wave:** 55\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-582-genius-reserve-disclosure-conformance-monitor.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "check_genius_reserve_disclosure_conformance",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-582-genius-reserve-disclosure-conformance-monitor.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 55
      }
    },
    "/v1/tools/derive_beacon_fair_sample": {
      "post": {
        "operationId": "derive_beacon_fair_sample",
        "summary": "Beacon-Seeded Fair-Sampling Deriver",
        "description": "Derives a deterministic, offline-replayable audit sample by HMAC-DRBG (SHA-256) seeded from a caller-pasted public randomness beacon pulse (drand quicknet or NISTIR-8213) combined with an item-manifest hash committed before the pulse round. Emits the selected item indices plus a full per-draw derivation transcript (seed, per-draw HMAC output, candidate index, accept/reject) so an examiner re-derives the identical sample offline from the transcript alone. Verdict DERIVED, or INDETERMINATE when inputs are missing or malformed. The beacon pulse, its round and its randomness are caller-declared inputs: the kernel performs SHA-256/HMAC math only, never fetches a pulse and never verifies the pulse's BLS signature, so a sample is only as trustworthy as the pulse the caller supplied. Committing the item-manifest hash before the pulse round is what makes the selection cherry-pick-proof, and the page teaches that ordering. Extends the assurance and workpaper family; cross-links the shipped art-471 disposition-sampling-frame rather than duplicating it.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-583-beacon-seeded-fair-sampling-deriver.html\n**Wave:** 82\n**mandate_type:** compliance_control\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_control"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-583-beacon-seeded-fair-sampling-deriver.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_control. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "derive_beacon_fair_sample",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-583-beacon-seeded-fair-sampling-deriver.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_control",
        "x-ocg-wave": 82
      }
    },
    "/v1/tools/build_sanctions_screening_evidence_pack": {
      "post": {
        "operationId": "build_sanctions_screening_evidence_pack",
        "summary": "Sanctions Screening Evidence Pack",
        "description": "Binds a caller-declared sanctions-screening decision (query, match count, decision) to the EXACT versioned dataset it was screened against, by comparing a caller-computed digest of the artifact they actually screened against a caller-declared published digest for that dataset version. Generic dataset_ref shape (dataset_id + version + digest_algo + published_digest) works with any versioned list source, never a named provider dependency; OpenSanctions' immutable version-pinned artifact paths are the worked example. Emits BOUND when the digests match, UNBOUND when they diverge, and INDETERMINATE when the dataset reference is incomplete or the caller declares no computed digest of their own, since the node never fetches or computes a digest itself (zero network, zero PII). Proves this decision ran against this exact byte-identical dataset version: process reproducibility, never screening adequacy; the underlying screening logic, thresholds, and list quality remain the screening provider's responsibility. Clause: FinCEN CVC 2019 guidance perimeter (verification only, no value custody); OFAC compliance program expectations for maintaining an auditable trail of the list version screened.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-585-sanctions-screening-evidence-pack.html\n**Wave:** 82\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-585-sanctions-screening-evidence-pack.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "build_sanctions_screening_evidence_pack",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-585-sanctions-screening-evidence-pack.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 82
      }
    },
    "/v1/tools/verify_finp2p_ledger_proof": {
      "post": {
        "operationId": "verify_finp2p_ledger_proof",
        "summary": "FinP2P Ledger Proof Verifier",
        "description": "Verifies a FinP2P Ledger Proof in Hashlist mode against a caller-supplied secp256k1 public key. Recomputes the FinP2P Hashlist digest (fixed field order, group hash then hash-of-group-hashes, per finp2p-docs.ownera.io) and reports whether it matches the receipt's stated hash, and separately whether the secp256k1 signature over that digest verifies against the supplied key. Zero network calls; the verification key is caller-supplied, never resolved by this tool. Two independently reported results, never fused into one boolean. Makes no claim about ledger finality, settlement, or acceptance. EIP-712 typed-data proofs are out of scope (Hashlist mode only).\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-587-finp2p-ledger-proof-verifier.html\n**Wave:** 98\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-587-finp2p-ledger-proof-verifier.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "verify_finp2p_ledger_proof",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-587-finp2p-ledger-proof-verifier.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 98
      }
    },
    "/v1/tools/verify_tempo_mpp_voucher": {
      "post": {
        "operationId": "verify_tempo_mpp_voucher",
        "summary": "Tempo MPP Voucher & Receipt Verifier",
        "description": "Verifies a Tempo Machine Payments Protocol cumulative EIP-712 session voucher offline (ecrecover, no RPC or database lookup), validates a TIP-20 32-byte memo structurally, and validates/renders a merchant-side HTTP 402 Payment challenge plus a Payment-Receipt-shaped binding to an optional subject execution_hash. Voucher struct and channel-state field names confirmed against the primary TIP20ChannelReserve.sol contract source, not just secondary docs. Never holds a private key, never signs, never escrows third-party funds, never initiates a payment, never operates a live endpoint -- every field is caller-supplied and echoed, nothing is fetched or resolved independently. A receiving address is not custody.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-594-tempo-mpp-voucher-receipt-verifier.html\n**Wave:** 99\n**mandate_type:** compliance_control\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_control"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-594-tempo-mpp-voucher-receipt-verifier.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_control. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "verify_tempo_mpp_voucher",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-594-tempo-mpp-voucher-receipt-verifier.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_control",
        "x-ocg-wave": 99
      }
    },
    "/v1/tools/digest_gleif_snapshot": {
      "post": {
        "operationId": "digest_gleif_snapshot",
        "summary": "GLEIF Snapshot Digest",
        "description": "Hash-pins a pasted GLEIF Golden Copy record or file segment as of a caller-stated capture time, so a later reader can tell whether the entity data in front of them is the same data a pack was built from. The digest is taken over the raw pasted bytes, never a parsed, trimmed or re-serialized form, so anyone holding the original file can reproduce it. Reads LastUpdateDate only from the unambiguous CDF XML element; for a CSV row the caller states the value and the output records which of the two it came from. Validates LEI syntax as a courtesy flag (ISO 17442 mod-97, the same check art-246 carries), never as a blocking gate. Zero network: the GLEIF Golden Copy URL is named for the reader, never fetched. This records that these exact bytes were pinned at the stated time. It is not a statement that the record is still current, not a validation of the entity data, and carries no ongoing monitoring duty.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-599-gleif-snapshot-digest.html\n**Wave:** 99\n**mandate_type:** cryptographic_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "cryptographic_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-599-gleif-snapshot-digest.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: cryptographic_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "digest_gleif_snapshot",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-599-gleif-snapshot-digest.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "cryptographic_mandate",
        "x-ocg-wave": 99
      }
    },
    "/v1/tools/check_lei_relationship_consistency": {
      "post": {
        "operationId": "check_lei_relationship_consistency",
        "summary": "LEI Relationship Consistency Checker",
        "description": "Checks four structural invariants over a pasted set of GLEIF Level-2 relationship records for one subject LEI: every startNode and endNode is a syntactically valid LEI (ISO 17442 mod-97, the same check art-246 carries), walking IS_DIRECTLY_CONSOLIDATED_BY edges never revisits a node already on the current path, every reporting-exception code is a published GLEIF category held as a versioned constant rather than inferred, and no two active records share a startNode, endNode and relationshipType triple with overlapping validity periods. A violation flags a possible inconsistency in GLEIF's published Level-2 data for this LEI. It is not an assertion about the entity's actual corporate structure and not a finding about the entity itself; golden-copy data is periodically corrected, so recheck against a fresh pull before treating any violation as durable. An empty record set returns consistent as null rather than a clean pass. Zero network: this never queries GLEIF and is not a re-implementation of GLEIF's own reconciliation service.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-600-lei-relationship-consistency.html\n**Wave:** 99\n**mandate_type:** compliance_control\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_control"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-600-lei-relationship-consistency.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_control. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "check_lei_relationship_consistency",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-600-lei-relationship-consistency.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_control",
        "x-ocg-wave": 99
      }
    },
    "/v1/tools/compute_dora_roi_gleif_preflight_pack": {
      "post": {
        "operationId": "compute_dora_roi_gleif_preflight_pack",
        "summary": "Dora Roi Gleif Preflight Pack",
        "description": "DORA RoI GLEIF pre-submission evidence pack, terminal node of chain dora-roi-gleif-preflight-pack (art-466 -> art-599 x N -> art-600 x N -> art-601). Pure composition over upstream node outputs: links to the upstream dora-roi-builder artifact by execution_hash + tool_id (never the raw dataset), and for each LEI-bearing counterparty carries forward its art-599 GLEIF snapshot digest result and its art-600 relationship-consistency result. Rolls up all_snapshots_captured and any_relationship_violation across the counterparty set, plus a named-human attestation closure (management-body role, art-300 pattern). Every element carries captured_at and a source digest so staleness stays visible without the pack asserting freshness. Preparation aid only: assembles evidence a firm compiles when preparing its own DORA RoI submission. Not a submission, not a filing, not a determination that a submission is complete or accurate, and not a statement that any regulator has reviewed or would accept this output. compliance_flags describe pack-assembly state only.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-601-dora-roi-gleif-preflight-pack.html\n**Wave:** 103\n**mandate_type:** compliance_control\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_control"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-601-dora-roi-gleif-preflight-pack.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_control. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "compute_dora_roi_gleif_preflight_pack",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-601-dora-roi-gleif-preflight-pack.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_control",
        "x-ocg-wave": 103
      }
    },
    "/v1/tools/verify_erc8004_registry_entry": {
      "post": {
        "operationId": "verify_erc8004_registry_entry",
        "summary": "ERC-8004 Registry Entry Verifier",
        "description": "Checks whether a caller-supplied claimed ERC-8004 agent registry entry (Identity, Reputation, or Validation registry) and a caller-supplied on-chain record, independently read by the caller from the registry contract, agree field-by-field, and separately whether any address-shaped field in the on-chain record is EIP-55 checksum-valid. Zero network calls; this tool never queries a registry contract itself, so it makes no claim about the current on-chain state, only that the two supplied records are consistent with each other at the time supplied. Generic schema only, no per-registry-type adapter code -- the caller supplies both records as arbitrary key-value pairs. agent_id is compared as an opaque literal string throughout: never parsed as a number, never resolved against an Agent Card or A2A endpoint, never cached, and never cross-referenced against another registry. Two independently reported findings, never fused into one boolean.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-604-erc8004-registry-entry-verifier.html\n**Wave:** 99\n**mandate_type:** compliance_control\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_control"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-604-erc8004-registry-entry-verifier.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_control. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "verify_erc8004_registry_entry",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-604-erc8004-registry-entry-verifier.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_control",
        "x-ocg-wave": 99
      }
    },
    "/v1/tools/verify_erc165_interface_id": {
      "post": {
        "operationId": "verify_erc165_interface_id",
        "summary": "ERC-165 Interface ID Verifier",
        "description": "Recomputes an ERC-165 interfaceId as the XOR of 4-byte function selectors (the first 4 bytes of keccak256 of each canonical Solidity signature) over a caller-declared list of function signatures, using the vendored keccak256 bundle already pinned in this repository. Zero network calls: this tool never queries a live contract's supportsInterface(bytes4) and makes no claim about what any deployed contract actually returns. Compares the recomputed id against an optional claimed_interface_id and flags a match against seven well-known standard ids (ERC-165 itself, ERC-721 core/Metadata/Enumerable, ERC-1155 core/MetadataURI, ERC-2981) purely as a courtesy label, never as verification. Malformed signature entries are excluded from the XOR and reported separately rather than silently dropped. A CONSISTENT match only establishes that the declared function list hashes to that value -- never that the list is complete, correct, or actually implemented anywhere.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-606-erc165-interface-id-verifier.html\n**Wave:** 99\n**mandate_type:** compliance_control\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_control"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-606-erc165-interface-id-verifier.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_control. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "verify_erc165_interface_id",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-606-erc165-interface-id-verifier.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_control",
        "x-ocg-wave": 99
      }
    },
    "/v1/tools/classify_erc1967_proxy_slot": {
      "post": {
        "operationId": "classify_erc1967_proxy_slot",
        "summary": "ERC-1967 Proxy Slot Classifier",
        "description": "Recomputes the four canonical EIP-1967 storage slots (bytes32(uint256(keccak256(label)) - 1) for the implementation, admin, beacon, and rollback labels) fresh on every call using the vendored keccak256 bundle already pinned in this repository, then classifies a caller-supplied (declared_slot, storage_value) pair: which of the four roles declared_slot matches, if any, and whether storage_value looks like the zero-padded 20-byte address EIP-1967 expects at that slot (extracting and EIP-55 checksumming the embedded address when it does). Zero network calls: this tool never reads live chain state -- declared_slot and storage_value are both caller-supplied, read by the caller from their own eth_getStorageAt call or a block explorer, and may already be stale by the time they are pasted in. Address/slot-level fact only: renders no upgrade-safety, admin-trustworthiness, or implementation-safety judgment, and a non-standard declared_slot does not itself prove a contract is not a proxy.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-607-erc1967-proxy-slot-classifier.html\n**Wave:** 99\n**mandate_type:** compliance_control\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_control"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-607-erc1967-proxy-slot-classifier.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_control. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "classify_erc1967_proxy_slot",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-607-erc1967-proxy-slot-classifier.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_control",
        "x-ocg-wave": 99
      }
    },
    "/v1/tools/calculate_erc2981_royalty": {
      "post": {
        "operationId": "calculate_erc2981_royalty",
        "summary": "ERC-2981 Royalty Calculator",
        "description": "Recomputes an ERC-2981 royalty amount as floor(sale_price * royalty_fraction_bps / 10000) -- the same integer-division convention the OpenZeppelin reference ERC2981 implementation uses -- from a caller-declared sale_price and royalty_fraction_bps, using BigInt arithmetic throughout so a sale_price beyond Number.MAX_SAFE_INTEGER never loses precision. Flags a bps value above 10000 (100%) as out of range (the value the reference implementation reverts on) while still reporting the raw recompute, and compares against an optional claimed_royalty_amount. Zero network calls: this tool never queries a contract's actual royaltyInfo() return value -- sale_price, royalty_fraction_bps, and receiver are all caller-declared. Cross-links 528-nft-metadata-validator and 521-cant-be-evil-nft-license-picker for adjacent NFT-standard surfaces (metadata shape, license terms) this tool does not cover. ERC-2981 royalty payment is a voluntary off-chain convention: this tool makes no claim that any marketplace will actually pay the computed amount.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-608-erc2981-royalty-calculator.html\n**Wave:** 99\n**mandate_type:** payment_policy\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "payment_policy"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-608-erc2981-royalty-calculator.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: payment_policy. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "calculate_erc2981_royalty",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-608-erc2981-royalty-calculator.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "payment_policy",
        "x-ocg-wave": 99
      }
    },
    "/v1/tools/evaluate_globe_de_minimis_exclusion": {
      "post": {
        "operationId": "evaluate_globe_de_minimis_exclusion",
        "summary": "GloBE Permanent De Minimis Exclusion Evaluator",
        "description": "Recomputes the PERMANENT GloBE de minimis exclusion of Article 5.5 of the OECD GloBE Model Rules (Pillar Two, December 2021) from per-year figures the caller supplies. This is a different rule from the transitional CbCR safe harbour de minimis test, which is a single-year test taken from the Qualified CbCR and is already computed by art-456-globe-safe-harbour-tests; this node does not recompute that test. Article 5.5.2 averages the GloBE Revenue and the GloBE Income or Loss of a jurisdiction across the current and the two preceding Fiscal Years, and Article 5.5.1 then compares those averages against two thresholds: the Average GloBE Revenue must be less than EUR 10 million, and the Average GloBE Income or Loss must be a loss or less than EUR 1 million. Both thresholds and the averaging window length arrive as versioned policy parameters carrying their own source and source digest, never as constants in kernel source, so a later threshold change is a parameter-set version bump rather than a kernel edit. A GloBE Loss year enters the average as a signed negative amount, per Article 5.5.3(b) and Commentary paragraphs 84 and 91, and is never coerced to zero. A preceding Fiscal Year in which no Constituent Entities had GloBE Revenue or GloBE Losses is excluded from the computation under Article 5.5.2's second sentence, which shrinks the divisor rather than contributing a zero; a jurisdiction in scope for fewer years than the window is an ordinary case and is reported as partial_window_used. The per-year input array is bounded by a declared and enforced max_years. Both conditions must hold together, which Commentary paragraph 81 states as aggregate and cumulative. The Article 5.5.1 Annual Election is the Filing Constituent Entity's judgment and enters only as a declared input that the node echoes back; a deemed-zero result is reported only where the election was declared made, and it is a recomputed arithmetic outcome on declared inputs rather than a filing conclusion. Any absent year, absent threshold parameter or undeclared election raises manual_review_required and withholds the availability verdict, and no missing value is ever silently defaulted. Annualisation of short Fiscal Years, conversion into euro, and the Article 5.5.4 removal of Stateless Constituent Entities and Investment Entities are applied upstream by the caller and declared to this node. Verify-only: the node recomputes declared arithmetic and reports whether it matches or diverges. Zero network, zero PII.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-637-globe-de-minimis-exclusion.html\n**Wave:** 103\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-637-globe-de-minimis-exclusion.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "evaluate_globe_de_minimis_exclusion",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-637-globe-de-minimis-exclusion.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 103
      }
    },
    "/v1/tools/compute_index_weights": {
      "post": {
        "operationId": "compute_index_weights",
        "summary": "Compute Index Weights",
        "description": "Computes (or receipts an externally-declared) weight per constituent from a stated methodology (market-cap, float-adjusted-market-cap, equal-weight, price-weight, or factor-tilted) and caller-supplied inputs, giving the weight set its own citable execution_hash separate from the constituent-membership fact in art-557. HARD FENCE: every input row (market_cap/price/float_factor/factor_score) is supplied and asserted, never fetched (zero-egress); this attests THAT a weight set was computed exactly as stated from the declared inputs, never whether those inputs are accurate. weight_sum_check is a hard local check (sum of weights within 1e-9 of 1.0), not a re-fetch. constituents_ref is optional and backward-compatible: a caller with no art-557 artifact yet still gets a valid weighting receipt over its declared constituent list. Second entry of the Financial Index/Benchmark Administrator Lineage family. Not fund NAV recomputation (art-373) or any benchmark-publisher scorecard. EU Benchmark Regulation (BMR, Regulation (EU) 2016/1011) Art 12(1) and SEBI (Index Providers) Regulations, 2024 Reg 18(1)/18(3) citations informative only.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-645-compute-index-weights.html\n**Wave:** 104\n**mandate_type:** attestation_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "attestation_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-645-compute-index-weights.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: attestation_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "compute_index_weights",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-645-compute-index-weights.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "attestation_mandate",
        "x-ocg-wave": 104
      }
    },
    "/v1/tools/compile_rebalance_evidence_pack": {
      "post": {
        "operationId": "compile_rebalance_evidence_pack",
        "summary": "Compile Rebalance Evidence Pack",
        "description": "Packages one rebalance event, the current period's constituent set and weight set, plus the prior period's for diffing, into a regulator-shaped bundle: what changed (additions/removals/weight deltas), citing the underlying art-557/art-645 receipts rather than recomputing them. This is the vertical's answer to a BMR administrator's-oversight-function record and a SEBI benchmark-administrator disclosure pack. HARD FENCE: this bundle CITES the referenced receipts (execution_hash + tool_id); it does not re-run or independently verify the weighting arithmetic against a third-party feed, and it makes no claim of BMR/SEBI compliance, informative citation only. The current/prior constituent and weight rows used for the diff are caller-supplied and asserted (zero-egress), same fence as art-557/art-645. Third entry of the Financial Index/Benchmark Administrator Lineage family. EU Benchmark Regulation (BMR, Regulation (EU) 2016/1011) Art 13(1) and SEBI (Index Providers) Regulations, 2024 Reg 19(2)/19(3) citations informative only.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-646-compile-rebalance-evidence-pack.html\n**Wave:** 105\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-646-compile-rebalance-evidence-pack.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "compile_rebalance_evidence_pack",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-646-compile-rebalance-evidence-pack.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 105
      }
    },
    "/v1/tools/record_index_correction": {
      "post": {
        "operationId": "record_index_correction",
        "summary": "Record Index Correction",
        "description": "art-557 already covers constituent-set corrections via the SPEC.md top-level supersedes field; this node adds the equivalent for a published index level or weight-set value, the case BMR calls an index restatement: a level or weight was published, then found wrong, and corrected. HARD FENCE: this kernel attests THAT a correction was declared, by whom (the caller-supplied original_value_ref), and why (reason_code); it does not itself verify the corrected value against a third-party recomputation, and it creates no reverse link or status registry, SPEC.md §1 is explicit that supersession is discoverable only from the newer artifact or a log scan. Fourth entry of the Financial Index/Benchmark Administrator Lineage family. Two separate regimes, cited separately: EU Benchmark Regulation (BMR, Regulation (EU) 2016/1011) Art 12(1)(e) (traceable and verifiable) is the cited traceability rationale; SEBI (Index Providers) Regulations, 2024 was searched and has no located provision governing correction or restatement of a published index value, recorded here as an explicit N/A, not silently inherited. This kernel makes no compliance claim under either regime.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-647-record-index-correction.html\n**Wave:** 106\n**mandate_type:** attestation_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "attestation_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-647-record-index-correction.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: attestation_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "record_index_correction",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-647-record-index-correction.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "attestation_mandate",
        "x-ocg-wave": 106
      }
    },
    "/v1/tools/record_model_input_lineage": {
      "post": {
        "operationId": "record_model_input_lineage",
        "summary": "Record Model Input Lineage",
        "description": "Attests attribute-level data lineage for a model's input data, which source system, which field, what transformation was applied, feeding which model run, distinct from every existing model-risk node (art-450/451/453/488/489), none of which attest where a model's input data came from, only what the model did with declared inputs. Input attributes are SUPPLIED and asserted by the caller (zero-egress); this node never fetches or validates against a live data warehouse or source system. An attribute declared without a source_system is reported as a legitimate finding (unmapped_attribute_count), never silently dropped or treated as an error. run_ref is optional, a caller with no model-run artifact yet still gets a valid lineage receipt. ECB Guide on effective risk data aggregation and risk reporting (May 2024) §3.4(3) requires complete, up-to-date data lineages on data attribute level for the risk indicators and critical data elements within scope; this node gives that its own citable artifact. SR 26-2 (effective 2026-04-17) scopes the model-risk context to conventional quantitative models only. Feeds the model-risk-lineage-pack chain (art-562) as an optional additional citation, never a required one.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-648-record-model-input-lineage.html\n**Wave:** 104\n**mandate_type:** attestation_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "attestation_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-648-record-model-input-lineage.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: attestation_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "record_model_input_lineage",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-648-record-model-input-lineage.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "attestation_mandate",
        "x-ocg-wave": 104
      }
    },
    "/v1/tools/publish_model_risk_head": {
      "post": {
        "operationId": "publish_model_risk_head",
        "summary": "Publish Model Risk Head",
        "description": "Publishes one SPEC.md §HEAD-1 head-commit publication event for a model's revalidation-history stream, so a model's validation history (art-453/art-489 results, or art-562/art-648 lineage artifacts) becomes a sequence-numbered, signer-continuous chain instead of a series of unlinked artifacts a reviewer must independently discover and order, mirroring NAV-LINEAGE-BUILD-SPEC.md §3 and INDEX-LINEAGE-BUILD-SPEC.md §5, applied to a model's revalidation cadence. HARD FENCE: this node never accepts or handles private key material, the caller signs the head-commit off-node via chaingraph/kernels/_head.mjs's own buildHead/signHead and separately runs its own Ed25519 verification (again via _head.mjs's verifyHeadProof/verifyChain) before calling this node. signature_valid and chain_valid are the caller's own verification claim, asserted and digested into this receipt, exactly like art-562's stage-reference citations, never independently re-derived by this node (the real zkVM guest has no WebCrypto at all, so an in-kernel Ed25519 verify result would not be reproducible across this repo's required execution environments). The one field this node DOES independently recompute is head_hash (pure SHA-256/JCS over the caller-supplied head, never trusted as a caller-asserted value, per SO #34). Backed by ocg-head-file@1 only at first, matching the NAV/index lineage rows; a head-file tip proves the signer's claimed tip, it does not itself detect equivocation (needs ocg-head-tlog@1, a later WU) and is not itself a revalidation-cadence enforcement mechanism. The estate's head-commit primitive (SPEC.md §HEAD-1 + _head.mjs) is merged to main; this node applies that estate-internal primitive to a model-risk stream and makes no claim under RDARR, BCBS 239, or SR 26-2 itself.\n\n**Tool URL:** https://ainumbers.co/chaingraph/art-649-publish-model-risk-head.html\n**Wave:** 105\n**mandate_type:** attestation_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "attestation_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/art-649-publish-model-risk-head.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: attestation_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "publish_model_risk_head",
        "x-tool-url": "https://ainumbers.co/chaingraph/art-649-publish-model-risk-head.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "attestation_mandate",
        "x-ocg-wave": 105
      }
    },
    "/v1/tools/generate_zk_compliance_proof": {
      "post": {
        "operationId": "generate_zk_compliance_proof",
        "summary": "ZK Compliance Proof Generator",
        "description": "Synthetic ZK compliance proof token for AML/Travel Rule predicates (amount threshold, sanctions clear, KYC complete, velocity normal, source of funds). NTT simulation: models the number-theoretic transform in real ZK-SNARK/STARK backends. GDPR Art. 25 data-minimisation demonstrator. Explicitly educational.\n\n**Tool URL:** https://ainumbers.co/chaingraph/cry-01-zk-compliance-proof-generator.html\n**Wave:** 2\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/cry-01-zk-compliance-proof-generator.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "generate_zk_compliance_proof",
        "x-tool-url": "https://ainumbers.co/chaingraph/cry-01-zk-compliance-proof-generator.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 2
      }
    },
    "/v1/tools/verify_merkle_batch": {
      "post": {
        "operationId": "verify_merkle_batch",
        "summary": "Merkle Batch Verifier",
        "description": "Batch-verifies Merkle inclusion proofs using SHA-256 over payment batches, settlement message sets, and ISO 20022 sets. Zero-egress, browser-local. DORA Art. 12 audit-trail integrity.\n\n**Tool URL:** https://ainumbers.co/chaingraph/cry-04-merkle-batch-verifier.html\n**Wave:** 3\n**mandate_type:** cryptographic_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "cryptographic_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/cry-04-merkle-batch-verifier.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: cryptographic_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "verify_merkle_batch",
        "x-tool-url": "https://ainumbers.co/chaingraph/cry-04-merkle-batch-verifier.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "cryptographic_mandate",
        "x-ocg-wave": 3
      }
    },
    "/v1/tools/aggregate_execution_receipts": {
      "post": {
        "operationId": "aggregate_execution_receipts",
        "summary": "Agent-Action Audit-Trail Aggregator",
        "description": "The regulatory receipt. Aggregates N execution_hashes from an agent session into one SHA-256 Merkle-root session receipt with per-leaf inclusion proofs and an ordered chain-depth map. Sets session_receipt_root. The tamper-evident audit object for EU AI Act Art. 12 record-keeping + DORA. Consumes ANY ChainGraph artifact; feeds CRY-04, PTG-01.\n\n**Tool URL:** https://ainumbers.co/chaingraph/cry-05-agent-action-audit-trail-aggregator.html\n**Wave:** 6\n**mandate_type:** cryptographic_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "cryptographic_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/cry-05-agent-action-audit-trail-aggregator.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: cryptographic_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "aggregate_execution_receipts",
        "x-tool-url": "https://ainumbers.co/chaingraph/cry-05-agent-action-audit-trail-aggregator.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "cryptographic_mandate",
        "x-ocg-wave": 6
      }
    },
    "/v1/tools/detect_transaction_anomalies": {
      "post": {
        "operationId": "detect_transaction_anomalies",
        "summary": "Isolation Forest Transaction Anomaly Detector",
        "description": "Native-JS Isolation Forest anomaly detection on synthetic transaction batches. 10-tree forest, 4-feature scoring (amount, hour, counterparty frequency, recency), anomaly score histogram, flagged transaction table. Zero-egress: no real transaction data transmitted. Chains from ART-05 (EU AI Act credit-scoring) and ART-10 (AMLA typology).\n\n**Tool URL:** https://ainumbers.co/chaingraph/ml-01-isolation-forest.html\n**Wave:** 3\n**mandate_type:** risk_control\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "risk_control"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/ml-01-isolation-forest.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: risk_control. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "detect_transaction_anomalies",
        "x-tool-url": "https://ainumbers.co/chaingraph/ml-01-isolation-forest.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "risk_control",
        "x-ocg-wave": 3
      }
    },
    "/v1/tools/score_credit_default_risk": {
      "post": {
        "operationId": "score_credit_default_risk",
        "summary": "Credit Default Risk Scorer",
        "description": "Logistic regression PD scorer on synthetic loan portfolio with Basel 3.1 F-IRB / A-IRB / SA RWA comparison (BCBS d424 formula, Φ⁻¹ Horner rational approximation). AUC-ROC trapezoid, KS statistic, Gini coefficient (EBA GL/2017/16 model performance thresholds). Chains from ART-05 (EU AI Act conformity). Feeds SIM-03 (Basel RWA Scenario Modeler).\n\n**Tool URL:** https://ainumbers.co/chaingraph/ml-02-credit-default-risk-scorer.html\n**Wave:** 4\n**mandate_type:** credit_assessment\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "credit_assessment"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/ml-02-credit-default-risk-scorer.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: credit_assessment. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "score_credit_default_risk",
        "x-tool-url": "https://ainumbers.co/chaingraph/ml-02-credit-default-risk-scorer.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "credit_assessment",
        "x-ocg-wave": 4
      }
    },
    "/v1/tools/detect_timeseries_anomalies": {
      "post": {
        "operationId": "detect_timeseries_anomalies",
        "summary": "Time-Series Anomaly Detector",
        "description": "Rolling-window z-score and STL-style seasonal decomposition anomaly detection on synthetic payment volume time series. Control chart (UCL/LCL 3σ), trend/seasonal/residual panel decomposition, anomaly flag table with severity, naïve ARIMA-lite 30-period forecast. Chains from SIM-03 (Basel RWA Scenario Modeler). Feeds RCA-01 (FRTB IMA). DORA Art.17 monitoring / EBA GL/2021/03 operational risk / PSD2 Art.96 fraud reporting.\n\n**Tool URL:** https://ainumbers.co/chaingraph/ml-03-timeseries-anomaly-detector.html\n**Wave:** 4\n**mandate_type:** risk_control\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "risk_control"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/ml-03-timeseries-anomaly-detector.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: risk_control. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "detect_timeseries_anomalies",
        "x-tool-url": "https://ainumbers.co/chaingraph/ml-03-timeseries-anomaly-detector.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "risk_control",
        "x-ocg-wave": 4
      }
    },
    "/v1/tools/compose_ap2_prompt": {
      "post": {
        "operationId": "compose_ap2_prompt",
        "summary": "AP2 Prompt Template Generator",
        "description": "Transforms any ChainGraph artifact JSON into a structured, regulator-framed prompt for any external LLM. Template registry v1.0.0: one entry per mandate_type with regulatory citations, audience framing, stochastic-output conventions, escalation conditions.\n\n**Tool URL:** https://ainumbers.co/chaingraph/ptg-01-ap2-prompt-template-generator.html\n**Wave:** 1\n**mandate_type:** prompt_template\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "prompt_template"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/ptg-01-ap2-prompt-template-generator.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: prompt_template. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "compose_ap2_prompt",
        "x-tool-url": "https://ainumbers.co/chaingraph/ptg-01-ap2-prompt-template-generator.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "prompt_template",
        "x-ocg-wave": 1
      }
    },
    "/v1/tools/compute_options_greeks": {
      "post": {
        "operationId": "compute_options_greeks",
        "summary": "Options Greeks Calculator",
        "description": "Black-Scholes options pricer with full Greeks (delta, gamma, theta, vega, rho). Equity, FX and rate presets; payoff profile and sensitivity charts. Zero-egress, deterministic.\n\n**Tool URL:** https://ainumbers.co/chaingraph/qfa-01-options-greeks.html\n**Wave:** 3\n**mandate_type:** risk_parameter\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "risk_parameter"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/qfa-01-options-greeks.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: risk_parameter. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "compute_options_greeks",
        "x-tool-url": "https://ainumbers.co/chaingraph/qfa-01-options-greeks.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "risk_parameter",
        "x-ocg-wave": 3
      }
    },
    "/v1/tools/compute_portfolio_var": {
      "post": {
        "operationId": "compute_portfolio_var",
        "summary": "Portfolio Covariance & VaR Engine",
        "description": "VaR and Expected Shortfall: Historical Simulation, Parametric (variance-covariance), and Monte Carlo with Cholesky 2-factor correlation structure. P&L histogram (30 bins), 8×8 covariance heatmap. 500 assets, seeded LCG RNG. Buy-side zero-egress story.\n\n**Tool URL:** https://ainumbers.co/chaingraph/qfa-02-portfolio-var-engine.html\n**Wave:** 2\n**mandate_type:** risk_control\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "risk_control"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/qfa-02-portfolio-var-engine.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: risk_control. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "compute_portfolio_var",
        "x-tool-url": "https://ainumbers.co/chaingraph/qfa-02-portfolio-var-engine.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "risk_control",
        "x-ocg-wave": 2
      }
    },
    "/v1/tools/compute_stress_test_scenarios": {
      "post": {
        "operationId": "compute_stress_test_scenarios",
        "summary": "Stress Test Engine",
        "description": "Multi-scenario stress testing across 6 historical crisis scenarios (GFC 2008, COVID Mar 2020, Dot-com Bust, Lehman Week, Rate Shock 2022, SVB Contagion 2023) with Monte Carlo per scenario. Equity/credit/rate factor decomposition, stressed VaR and ES, stress multiplier, recovery-day estimate. Chains from QFA-02 (VaR Engine). Feeds RCA-01 (FRTB IMA). Basel 3.1 Pillar 2 ICAAP / EBA GL/2018/04 / FRTB MAR30 stress calibration reference.\n\n**Tool URL:** https://ainumbers.co/chaingraph/qfa-03-stress-test-engine.html\n**Wave:** 4\n**mandate_type:** risk_parameter\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "risk_parameter"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/qfa-03-stress-test-engine.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: risk_parameter. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "compute_stress_test_scenarios",
        "x-tool-url": "https://ainumbers.co/chaingraph/qfa-03-stress-test-engine.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "risk_parameter",
        "x-ocg-wave": 4
      }
    },
    "/v1/tools/calculate_xva": {
      "post": {
        "operationId": "calculate_xva",
        "summary": "XVA / CVA Calculator",
        "description": "Monte Carlo XVA/CVA calculator. Simulates expected-exposure profiles for IRS, FX forwards, and CDS; computes CVA, DVA, FVA via discounted expected positive/negative exposure. Zero-egress.\n\n**Tool URL:** https://ainumbers.co/chaingraph/qfa-04-xva-cva-calculator.html\n**Wave:** 3\n**mandate_type:** risk_parameter\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "risk_parameter"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/qfa-04-xva-cva-calculator.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: risk_parameter. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "calculate_xva",
        "x-tool-url": "https://ainumbers.co/chaingraph/qfa-04-xva-cva-calculator.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "risk_parameter",
        "x-ocg-wave": 3
      }
    },
    "/v1/tools/simulate_frtb_es": {
      "post": {
        "operationId": "simulate_frtb_es",
        "summary": "FRTB IMA Expected Shortfall Pre-Validator",
        "description": "FRTB IMA Expected Shortfall pre-validation: MC simulation across liquidity horizons LH1–LH5 (10/20/40/60/120 days), NMRF surcharge estimation, PLA Test (green/amber/red), IMA vs SA floor capital comparison. Educational pre-validator ahead of UK IMA go-live January 2028.\n\n**Tool URL:** https://ainumbers.co/chaingraph/rca-01-frtb-ima-pre-validator.html\n**Wave:** 3\n**mandate_type:** risk_parameter\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "risk_parameter"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/rca-01-frtb-ima-pre-validator.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: risk_parameter. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "simulate_frtb_es",
        "x-tool-url": "https://ainumbers.co/chaingraph/rca-01-frtb-ima-pre-validator.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "risk_parameter",
        "x-ocg-wave": 3
      }
    },
    "/v1/tools/simulate_stablecoin_reserve": {
      "post": {
        "operationId": "simulate_stablecoin_reserve",
        "summary": "MiCA Stablecoin Reserve Stress Simulator",
        "description": "Monte Carlo simulation of stablecoin reserve portfolios under MiCA Article 36 redemption stress and asset price shocks. 1,000 paths × 90-day horizon. Coverage ratio fan chart (P5–P95), breach probability curve, Article 36 liquid buffer analysis, fire-sale contagion estimate. Complements ART-06 (static attestation) with full stochastic dimension.\n\n**Tool URL:** https://ainumbers.co/chaingraph/rca-02-mica-reserve-stress.html\n**Wave:** 3\n**mandate_type:** liquidity_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "liquidity_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/rca-02-mica-reserve-stress.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: liquidity_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "simulate_stablecoin_reserve",
        "x-tool-url": "https://ainumbers.co/chaingraph/rca-02-mica-reserve-stress.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "liquidity_mandate",
        "x-ocg-wave": 3
      }
    },
    "/v1/tools/verify_address_migration_batch": {
      "post": {
        "operationId": "verify_address_migration_batch",
        "summary": "ISO 20022 Structured-Address Migration Batch Verifier",
        "description": "GPU-parallel validation of PostalAddress24 fields across pacs.008 messages (up to 500k). Country-specific rules (UK postcode, DE Postleitzahl, US ZIP+4), MT103 :50K: truncation-risk flagging, November-2026 readiness score.\n\n**Tool URL:** https://ainumbers.co/chaingraph/rca-03-iso20022-address-migration-verifier.html\n**Wave:** 1\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/rca-03-iso20022-address-migration-verifier.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "verify_address_migration_batch",
        "x-tool-url": "https://ainumbers.co/chaingraph/rca-03-iso20022-address-migration-verifier.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 1
      }
    },
    "/v1/tools/run_liquidity_stress_test": {
      "post": {
        "operationId": "run_liquidity_stress_test",
        "summary": "Liquidity Stress Test Simulator (LCR/NSFR)",
        "description": "Monte Carlo simulation of LCR and NSFR under Basel III stress (CRR Art. 412/428, EBA GL/2017/01). 1,000 paths × 250 time steps. P5–P95 percentile distribution, breach probability, time-to-breach, sensitivity tornado.\n\n**Tool URL:** https://ainumbers.co/chaingraph/sim-01-lcr-nsfr-liquidity-stress-test.html\n**Wave:** 1\n**mandate_type:** liquidity_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "liquidity_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/sim-01-lcr-nsfr-liquidity-stress-test.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: liquidity_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "run_liquidity_stress_test",
        "x-tool-url": "https://ainumbers.co/chaingraph/sim-01-lcr-nsfr-liquidity-stress-test.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "liquidity_mandate",
        "x-ocg-wave": 1
      }
    },
    "/v1/tools/compute_rwa_scenarios": {
      "post": {
        "operationId": "compute_rwa_scenarios",
        "summary": "Basel RWA Scenario Modeler",
        "description": "SA-CR / F-IRB / A-IRB RWA in parallel with output-floor comparison (72.5% §CAP30). BCBS d424 IRB capital formula with Φ⁻¹ rational approximation, LCG Monte Carlo. Percentile table P5–P99. Three portfolio mixes.\n\n**Tool URL:** https://ainumbers.co/chaingraph/sim-03-basel-rwa-scenario-modeler.html\n**Wave:** 2\n**mandate_type:** capital_assessment\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "capital_assessment"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/sim-03-basel-rwa-scenario-modeler.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: capital_assessment. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "compute_rwa_scenarios",
        "x-tool-url": "https://ainumbers.co/chaingraph/sim-03-basel-rwa-scenario-modeler.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "capital_assessment",
        "x-ocg-wave": 2
      }
    },
    "/v1/tools/simulate_consent_stress": {
      "post": {
        "operationId": "simulate_consent_stress",
        "summary": "Open Banking Consent Flow Stress Simulator",
        "description": "Monte Carlo stress simulation of PSD2/FAPI 2.0/CDR consent lifecycle FSM (INIT→REDIRECT→AUTH→AUTHORIZED→ACTIVE→FAILED/EXPIRED/REVOKED). Configurable failure probabilities per transition stage, terminal state distribution, ASPSP SCA availability compliance check (95% threshold). Chains from PNR-01 (DORA ICT cascade).\n\n**Tool URL:** https://ainumbers.co/chaingraph/sim-07-open-banking-consent-flow-stress.html\n**Wave:** 3\n**mandate_type:** compliance_mandate\n**AP2/Policy Mandate export:** yes",
        "tags": [
          "compliance_mandate"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "See tool page for full input schema: https://ainumbers.co/chaingraph/sim-07-open-banking-consent-flow-stress.html"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful tool execution result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "OpenChainGraph v0.4 artifact envelope. mandate_type: compliance_mandate. Verify execution_hash at https://ainumbers.co/chaingraph/verify.html"
                }
              }
            }
          }
        },
        "x-mcp-tool-name": "simulate_consent_stress",
        "x-tool-url": "https://ainumbers.co/chaingraph/sim-07-open-banking-consent-flow-stress.html",
        "x-source": "chaingraph",
        "x-ap2-export": true,
        "x-mandate-type": "compliance_mandate",
        "x-ocg-wave": 3
      }
    }
  },
  "components": {
    "schemas": {
      "PolicyMandateV1": {
        "type": "object",
        "description": "AINumbers Policy Mandate v1.0 — output artifact for all ap2_export:true tools. NOT the AP2 v0.2 standard (FIDO Alliance Intent/Cart/Payment Mandates).",
        "properties": {
          "mandate_id": {
            "type": "string",
            "format": "uuid"
          },
          "issued_at": {
            "type": "string",
            "format": "date-time"
          },
          "issued_by": {
            "type": "string",
            "example": "ainumbers.co"
          },
          "tool_id": {
            "type": "string"
          },
          "tool_version": {
            "type": "string"
          },
          "mandate_type": {
            "type": "string"
          },
          "jurisdiction": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "regulatory_frameworks": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "payload": {
            "type": "object"
          },
          "summary": {
            "type": "string"
          },
          "agent_instructions": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "valid_from": {
            "type": "string",
            "format": "date-time"
          },
          "valid_until": {
            "type": "string",
            "format": "date-time"
          },
          "source_tool_inputs": {
            "type": "object"
          },
          "audit_metadata": {
            "type": "object",
            "properties": {
              "execution_hash": {
                "type": "string",
                "description": "WebCrypto SHA-256 over RFC 8785 canonical JSON of {policy_parameters, output_payload}"
              },
              "client_side_executed": {
                "type": "boolean"
              },
              "zero_pii_verified": {
                "type": "boolean"
              },
              "deterministic_run": {
                "type": "boolean"
              }
            }
          }
        }
      },
      "OCGArtifactV04": {
        "type": "object",
        "description": "OpenChainGraph v0.4 artifact envelope — emitted by all ChainGraph nodes. execution_hash is WebCrypto SHA-256 over RFC 8785/JCS canonical {policy_parameters, output_payload}.",
        "properties": {
          "mandate_id": {
            "type": "string",
            "format": "uuid"
          },
          "tool_id": {
            "type": "string"
          },
          "chaingraph_version": {
            "type": "string",
            "example": "0.4.0"
          },
          "execution_hash": {
            "type": "string",
            "description": "sha256:<hex> — verifiable at https://ainumbers.co/chaingraph/verify.html"
          },
          "chain": {
            "type": "object",
            "properties": {
              "parent_hashes": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "parent_tool_ids": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "chain_depth": {
                "type": "integer",
                "minimum": 0
              }
            }
          },
          "policy_parameters": {
            "type": "object"
          },
          "output_payload": {
            "type": "object"
          },
          "compliance_flags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "audit_signature": {
            "type": "string"
          }
        }
      }
    }
  }
}