ainumbers-mcp-apps
The ainumbers-mcp-apps server provides interactive fintech and developer tools rendered as widgets inside MCP-compatible AI hosts (Claude, ChatGPT, VS Code, etc.), covering agentic payments, MCP development, compliance, and financial risk — all client-side with zero PII stored.
Agentic Payments & Protocol Tools
Agentic Payment Protocol Comparator: Compare AP2, ACP, x402, Visa TAP, and Mastercard Agent Pay across credential, signing, rail, and audit dimensions
x402 Header Decoder & Flow Simulator: Decode x402 payment headers, lint payloads, and simulate the HTTP 402 verify/settle flow
Visa TAP Signature Inspector: Inspect Visa Trusted Agent Protocol signatures and score TAP readiness
Google AP2 Mandate Builder: Build or validate Google AP2 Checkout/Payment Mandate VDCs against the AP2 spec
Agentic Mandate Sandbox: Simulate agent payment policies — set spend caps, MCC allowlists, velocity throttles, and run synthetic transactions
MCP Developer Tools
MCP Tool-Definition Linter: Validate tool definitions against JSON Schema and annotation rules; get a conformance score
MCP server.json Validator: Validate server.json against the registry schema and generate a compliant skeleton
MCP Developer Readiness Scorecard: Compute a composite ship-readiness score across tool definitions, OAuth, transport, and spec compliance
MCP OAuth 2.1 Auditor: Validate protected-resource-metadata, check audience binding, and assess confused-deputy/token-passthrough risk
Tool-Poisoning Scanner: Scan MCP tool descriptions for poisoning and prompt-injection patterns; get a risk score
Policy & Compliance Tools
AP2 Policy Validator & Bridge: Validate AP2 Policy Mandate JSON payloads and auto-generate MCP tool definitions
AP2 AML Mandate Builder: Translate AML/BSA controls and TM rules into structured Policy Mandate JSON
Customer Risk Rating Engine: Score KYC risk across six FATF dimensions for individuals and entities
Agent Interoperability
A2A Agent Card Validator: Validate A2A agent-card.json against the v1.0 shape, check signatures, and confirm extension declarations
BaaS & Infrastructure
BaaS Provider Comparator: Score and compare BaaS providers across 10 capability dimensions with a customizable weighting matrix
Catalog Search
List AINumbers Tools: Search the full AINumbers catalog (480+ fintech tools) and get deep-links, with prefill support via
#in=<base64url(JSON)>&run=1for one-click invocation
AINumbers MCP Apps Server
An agent calling a fintech tool by name has no way to know if the tool actually ran the math it claims to have run. This server closes that gap for the AINumbers.co suite: every tool call is deterministic, zero PII, and served straight from the suite's own single-file HTML, not a paraphrase of it.
An MCP Apps (SEP-1865) server that exposes the AINumbers.co fintech tool suite to any MCP host, including Claude, ChatGPT, M365 Copilot, VS Code, and Cursor.

Quick start
# Claude: Settings -> Connectors -> Add custom connector
https://mcp.ainumbers.co/mcp
# Inspector
npx @modelcontextprotocol/inspector # then Streamable HTTP -> the URL aboveNo auth, no API key, no account. Production runs on Cloudflare Workers (/healthz reports runtime: cloudflare-workers), so there are no cold starts. Cursor and other Open Plugins directories pick this repo up automatically via the root .mcp.json, which declares the same endpoint.
Live endpoint: https://mcp.ainumbers.co/mcp (streamable HTTP) · Docs: ainumbers.co/mcp.html · Registry: co.ainumbers/tools on the Official MCP Registry
Related MCP server: Xero MCP Server
Tools
Read-only MCP tools — count intentionally not hardcoded here (it drifted stale the last time it was). See data/counts.json for the live figure; never hand-type this number, scripts/surface-parity.mjs and the site repo's count-drift gate both check against it. Fifteen tools render as interactive widgets, the rest are ChainGraph compute nodes plus a handful of catalog and discovery utility tools: list_ainumbers_tools, find_tool, find_chain, build_workflow_links, run_chain, verify_execution_hash, build_chaingraph, emit_chaingraph_artifact, build_session_receipt.
Every tool declares readOnlyHint: true. No account, no auth, zero PII, nothing mutates state.
The 15 flagship widgets
Each renders as the actual single-file AINumbers tool, served as a text/html;profile=mcp-app resource and driven by the AIN Bridge (prefill, run, Policy Mandate export):
MCP tool | AINumbers tool |
| T152 BaaS Provider Comparator |
| T320 AP2 MCP Policy Validator & Bridge |
| T285 Google AP2 Checkout/Payment Mandate Builder |
| T288 MCP Developer Readiness Scorecard |
| RBE-06 Agentic Mandate Sandbox |
| T110 Customer Risk Rating Engine |
| T131 AP2 AML Mandate Builder |
| T274 MCP Tool-Definition Linter |
| T275 MCP server.json Validator |
| T276 Agentic Payments Protocol Comparator |
| T277 x402 Decoder & 402 Flow Simulator |
| T278 MCP OAuth 2.1 Authorization Auditor |
| T282 MCP Tool-Poisoning Scanner |
| T283 A2A Agent Card Validator |
| T286 Visa TAP Signature Inspector |
list_ainumbers_tools and find_tool search the full catalog (see data/counts.json for the current tool count) and return deep-links. Prefill-enabled tools accept #in=<base64url(JSON of {element_id: value})>[&run=1] for one-click invocation. find_chain and build_workflow_links return ordered deep-links for a named multi-tool workflow. run_chain executes one server-side. verify_execution_hash independently re-verifies a returned artifact's hash.
Architecture
../repo (site repo, PostOakLabs/ainumbers)
| chaingraph.json, manifests/, pilot.mjs-referenced tool HTML
|
v node generate.mjs (build-time only, cannot run in cloud CI, needs the sibling repo)
data/ vendored: chaingraph.json, catalog.json, manifests, counts.json
kernels/ vendored: server-side compute kernels
|
v
worker.mjs (Cloudflare Workers, this repo's live runtime)
server.mjs (Node/express variant, local dev only, not deployed)
|
v
https://mcp.ainumbers.co/mcp (the one live endpoint: the Worker, not the express variant)data/ and kernels/ are generated, committed artifacts. The Worker boots from what's committed, not from a live read of ../repo. Any change to chaingraph.json, a manifest, pilot.mjs, or a kernel in the site repo requires re-running generate.mjs here and committing data/ and kernels/ in the same push, or the worker deploys stale.
Deploy flow (CI-owned)
Branch, then PR. CI runs the validate job: tool-name collisions, surface-parity, kernel coverage, chain validation, vendor-freshness, and a wrangler deploy --dry-run. Merging to master runs the deploy job, which runs wrangler deploy against Cloudflare Workers, then a post-deploy /mcp smoke test (a real initialize call against the live endpoint). No manual wrangler deploy, ever: Cloudflare Workers Builds stays disconnected on purpose, since running both is a double-deployer and has caused outages before. A green CI bundle does not by itself prove the live handshake works; only the smoke step does.
Dependabot auto-merges every dependency update (patch, minor, and major, all CI-gated), so run git pull --rebase before pushing any local branch since master moves on its own.
Develop
npm install
node generate.mjs # re-vendor tool HTML + manifests + catalog + kernels from ../repo into data/ + kernels/
npm start # http://localhost:3300/mcp (+ /healthz), Node/express variant (server.mjs), local dev only
node scripts/check-tool-names.mjs # verify no mcp_name collision before pushing
node scripts/surface-parity.mjs # verify counts.json matches the registered surfacepilot.mjs is the single source of truth for the widget tool set. After changing any pilot tool in the site repo, run node generate.mjs, commit data/ and kernels/, and push. CI validates and deploys.
All tool content is client-side, deterministic, and zero PII. Code is MIT licensed (see LICENSE); content is CC BY 4.0, Post Oak Labs. See README-SPEC.md for architecture and history.
Maintenance
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/PostOakLabs/ainumbers-mcp-apps'
If you have feedback or need assistance with the MCP directory API, please join our Discord server