# validate_ap2_mcp_policy

Validate AP2 Policy Mandate JSON payloads against the Unified Build Contract v1.0 schema. Auto-generates MCP tool definitions from the mandate and simulates agent ingestion of agent_instructions. Use when authoring or testing AP2 agentic payment policies. Renders the interactive AINumbers tool as a widget; inputs are applied via the AIN Bridge and the tool runs client-side (zero PII, zero network).

Agent View of the PolicyLayer registry record for `validate_ap2_mcp_policy`. HTML page: https://policylayer.com/tools/postoaklabs-ainumbers-mcp-apps/validate-ap2-mcp-policy

## Facts

- Tool: `validate_ap2_mcp_policy`
- Server: Ainumbers Mcp Apps (`postoaklabs/ainumbers-mcp-apps`) — https://policylayer.com/tools/postoaklabs-ainumbers-mcp-apps.md
- Homepage: https://github.com/PostOakLabs/ainumbers-mcp-apps
- Risk category: Read (Low risk)
- Registry record: grade F, identity unverified
- Server auth posture: open
- Server CORS policy: https://ainumbers.co
- Server rate-limited: no
- Parameters: 1
- Recommended policy verdict: Allowed

## Parameters

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `inputs` | object | no | Map of tool input element IDs to values (see manifest input_schema). Applied via AIN Bridge prefill. |

Parameters from the server's own tool schema.

## Example call (MCP tools/call, JSON-RPC 2.0)

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "validate_ap2_mcp_policy",
    "arguments": {}
  }
}
```

## Why validate_ap2_mcp_policy is rated Low

This tool is a schema validator and policy simulator used for testing and authoring purposes. It reads and validates data structures but does not execute actual payments, modify persistent state, or trigger financial transactions. The 'auto-generates MCP tool definitions' refers to schema-based generation for validation purposes, not live tool creation.

From the tool's own definition: "Tool performs validation of JSON payloads against a schema and simulates agent ingestion without modifying underlying data. Key phrases: 'Validate', 'auto-generates', 'simulates', 'testing'."

## Use case

AI agents call validate_ap2_mcp_policy to retrieve information from Ainumbers Mcp Apps without modifying anything. It is typically the context-gathering step in research, monitoring, and reporting workflows, before the agent takes action elsewhere.

## Recommended policy (PolicyLayer)

Verdict: **Allowed**. Enforced by the PolicyLayer MCP gateway (https://policylayer.com/mcp-gateway) before a call reaches Ainumbers Mcp Apps:

```json
{
  "version": "1",
  "default": "deny",
  "tools": {
    "validate_ap2_mcp_policy": {}
  }
}
```

## Other tools on Ainumbers Mcp Apps (687)

- `agentic_mandate_sandbox` — Execute — https://policylayer.com/tools/postoaklabs-ainumbers-mcp-apps/agentic-mandate-sandbox.md
- `allocate_ihb_interest` — Execute — https://policylayer.com/tools/postoaklabs-ainumbers-mcp-apps/allocate-ihb-interest.md
- `amortize_asc606_commissions` — Execute — https://policylayer.com/tools/postoaklabs-ainumbers-mcp-apps/amortize-asc606-commissions.md
- `anchor_document_integrity` — Execute — https://policylayer.com/tools/postoaklabs-ainumbers-mcp-apps/anchor-document-integrity.md
- `apply_climate_scenario` — Execute — https://policylayer.com/tools/postoaklabs-ainumbers-mcp-apps/apply-climate-scenario.md
- `assemble_aiuc1_evidence_pack` — Execute — https://policylayer.com/tools/postoaklabs-ainumbers-mcp-apps/assemble-aiuc1-evidence-pack.md
- `assemble_ocg_evidence_bundle` — Execute — https://policylayer.com/tools/postoaklabs-ainumbers-mcp-apps/assemble-ocg-evidence-bundle.md
- `attest_bulk_disbursement_integrity` — Execute — https://policylayer.com/tools/postoaklabs-ainumbers-mcp-apps/attest-bulk-disbursement-integrity.md
- `attest_calc_agent_independence` — Execute — https://policylayer.com/tools/postoaklabs-ainumbers-mcp-apps/attest-calc-agent-independence.md
- `attest_daily_reconciliation` — Execute — https://policylayer.com/tools/postoaklabs-ainumbers-mcp-apps/attest-daily-reconciliation.md
- `attest_margin_call_lifecycle` — Execute — https://policylayer.com/tools/postoaklabs-ainumbers-mcp-apps/attest-margin-call-lifecycle.md
- `bind_attested_subject` — Execute — https://policylayer.com/tools/postoaklabs-ainumbers-mcp-apps/bind-attested-subject.md
- `build_226j_response_evidence_pack` — Execute — https://policylayer.com/tools/postoaklabs-ainumbers-mcp-apps/build-226j-response-evidence-pack.md
- `build_agent_test_evidence` — Execute — https://policylayer.com/tools/postoaklabs-ainumbers-mcp-apps/build-agent-test-evidence.md
- `build_agent_traffic_policy` — Execute — https://policylayer.com/tools/postoaklabs-ainumbers-mcp-apps/build-agent-traffic-policy.md
- `build_ai_conformity_pack` — Execute — https://policylayer.com/tools/postoaklabs-ainumbers-mcp-apps/build-ai-conformity-pack.md
- `build_ai_workpaper_record` — Execute — https://policylayer.com/tools/postoaklabs-ainumbers-mcp-apps/build-ai-workpaper-record.md
- `build_allocation_decision_receipt` — Execute — https://policylayer.com/tools/postoaklabs-ainumbers-mcp-apps/build-allocation-decision-receipt.md
- `build_amortization_schedule` — Execute — https://policylayer.com/tools/postoaklabs-ainumbers-mcp-apps/build-amortization-schedule.md
- `build_ap2_cartmandate_hashchain` — Execute — https://policylayer.com/tools/postoaklabs-ainumbers-mcp-apps/build-ap2-cartmandate-hashchain.md
- `build_cbcr_report` — Execute — https://policylayer.com/tools/postoaklabs-ainumbers-mcp-apps/build-cbcr-report.md
- `build_chaingraph` — Execute — https://policylayer.com/tools/postoaklabs-ainumbers-mcp-apps/build-chaingraph.md
- `build_claim_dispute_bundle` — Execute — https://policylayer.com/tools/postoaklabs-ainumbers-mcp-apps/build-claim-dispute-bundle.md
- `build_conditional_relief_collateral_receipt` — Execute — https://policylayer.com/tools/postoaklabs-ainumbers-mcp-apps/build-conditional-relief-collateral-receipt.md
- `build_conversion_receipt` — Execute — https://policylayer.com/tools/postoaklabs-ainumbers-mcp-apps/build-conversion-receipt.md
- `build_digest_manifest` — Execute — https://policylayer.com/tools/postoaklabs-ainumbers-mcp-apps/build-digest-manifest.md
- `build_disclosure_manifest` — Execute — https://policylayer.com/tools/postoaklabs-ainumbers-mcp-apps/build-disclosure-manifest.md
- `build_dora_roi_register` — Execute — https://policylayer.com/tools/postoaklabs-ainumbers-mcp-apps/build-dora-roi-register.md
- `build_dual_control_certification` — Execute — https://policylayer.com/tools/postoaklabs-ainumbers-mcp-apps/build-dual-control-certification.md
- `build_etr_possession_chain` — Execute — https://policylayer.com/tools/postoaklabs-ainumbers-mcp-apps/build-etr-possession-chain.md
- …and 657 more: https://policylayer.com/tools/postoaklabs-ainumbers-mcp-apps.md

## For agents

This record is a snapshot. Live verdicts and the full registry:

- Check every server in your MCP config at once: `npx -y policylayer stack`
- Vet a server before you add it: install the mcp-precheck skill — `npx skills add https://policylayer.com` (skill text: https://policylayer.com/skill.md)
- Query the registry over MCP: endpoint `https://api.policylayer.com/mcp` — tools `check_mcp_server`, `check_mcp_stack`, `check_tool`, `search_registry`, `get_change_events`

---

Source: the PolicyLayer MCP registry — one continuously verified record per MCP server. Full record: https://policylayer.com/registry?q=postoaklabs-ainumbers-mcp-apps · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/postoaklabs-ainumbers-mcp-apps
