openfang-rail
Server Details
19 deterministic validation tools for AI agents: IBAN, SWIFT/BIC, LEI, VAT, ABA routing, IFSC, ABN, Luhn, ISBN, E.164, SEDOL and company-number checks, plus rental due-diligence and batch/vendor-onboarding packs. Pay-per-call via x402 (gasless EIP-3009 USDC on Base); 20 free calls/day, no API key.
- Status
- Healthy
- Uptime
- 100.0% over 23 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 12 tools
Individual checks (IBAN, SWIFT, VAT, etc.) are clearly distinct. The composite tools (batch_validate, pre_disbursement_guard, vendor_onboarding_pack, india_supplier_check) overlap in some checks but target different use cases (high-throughput, due diligence, vendor onboarding, India-specific), so while an agent might hesitate between them, descriptions clarify context. Minor ambiguity but not systematic.
All tool names use snake_case and most use the `<identifier>_check` pattern (iban_check, swift_bic_check, etc.). Composite tools have descriptive but unconventional names (pre_disbursement_guard, vendor_onboarding_pack), which break the verb_noun pattern slightly, yet remain clear and readable. Overall style is consistent with minor deviations.
12 tools is well within the ideal range for a validation/compliance server. Each tool serves a clear purpose—either a specific identifier check or a composite workflow—and there is no bloat or lack of utility. The scope is appropriately matched to the domain.
The server covers a broad set of identifiers (IBAN, SWIFT, VAT, GSTIN, IFSC, LEI, sanctions) and offers composite bundles for common workflows. However, some identifiers (EIN, ABN, ISBN, etc.) are only available via batch_validate, not as standalone tools, which is a minor gap for agents needing a single quick check without a batch call.
Available Tools
12 toolsbatch_validateBatch Identifier Pipeline (up to 50 checks, 1 payment)ARead-onlyIdempotentInspect
HIGH-THROUGHPUT DETERMINISTIC PIPELINE: Run up to 50 business identifier checks (IBAN / LEI / VAT / UK company / SWIFT / ABA / EIN / IFSC / ABN / Luhn / ISBN / E.164 / SEDOL / ISIN / EAN-13 / GSTIN / context-distill) in ONE paid call: one voucher, one settlement, one signed XDR-1 receipt covering the whole batch. 10x cheaper per item; essential for autonomous batch invoice processing.
| Name | Required | Description | Default |
|---|---|---|---|
| items | Yes | List of {tool, value} checks (max 50). |
Output Schema
| Name | Required | Description |
|---|---|---|
| tool | No | |
| count | Yes | |
| scope | No | |
| results | Yes | |
| valid_count | No | |
| invalid_count | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true, so the description doesn't need to restate safety. The description adds useful behavioral context: it is a deterministic pipeline, requires one payment, and emits a signed receipt covering the whole batch. That goes beyond the annotations and informs the agent about side effects and cost semantics. It doesn't detail failure behavior or whether the call fails as a whole, but the added context is strong.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is information-dense and front-loaded with 'HIGH-THROUGHPUT DETERMINISTIC PIPELINE', immediately setting the tool apart. Every sentence adds value: what it runs, how many, the payment model, why it's useful. Slightly shouting-heavy capitalization costs a little polish, but the content is well-ordered and not bloated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with a rich input schema, output schema, and clear annotations, the description captures the essential operational context: batching, payment, receipt, and target use case. It lacks an explicit statement about what happens on partial failures (e.g., does one invalid item fail the entire batch?) and doesn't mention its relationship to autonomous_commercial_pipeline, but these are relatively minor given the schema and annotation coverage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%: the single 'items' parameter is documented with type, min/max, and nested properties. The description adds the batching context ('up to 50', 'one paid call') which maps to the maxItems constraint, but it doesn't repeat or enhance the per-item field semantics. Baseline 3 is appropriate because the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Run') and resource ('up to 50 business identifier checks') and clearly differentiates this from the single-check sibling tools by emphasizing the batch pipeline ('ONE paid call', 'one voucher, one settlement, one signed XDR-1 receipt'). An agent can immediately distinguish batch_validate from its siblings like iban_check or vat_mod97_check without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It states a clear primary use case ('essential for autonomous batch invoice processing') and implies when to use the batch tool over individual checks (10x cheaper per item, up to 50 checks in one paid call). It does not explicitly list exclusions (e.g., 'use single-check tools for fewer than N items'), but the context is strong enough to route an agent correctly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gstin_checkGSTIN check (India)ARead-onlyIdempotentInspect
Validate an Indian GSTIN by structure (2-digit state code + PAN + entity code + 'Z') and its mod-36 cross-sum checksum.
| Name | Required | Description | Default |
|---|---|---|---|
| gstin | Yes | 15-character Indian Goods and Services Tax Identification Number. |
Output Schema
| Name | Required | Description |
|---|---|---|
| tool | No | |
| scope | No | |
| valid | Yes | |
| reason | Yes | |
| country | No | |
| normalized | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover safety (readOnlyHint, idempotentHint), so the bar is lowered. The description adds the behavior that the check is algorithmic – structure and mod-36 cross-sum checksum – implying that this is a format-only validation rather than a database lookup. It does not explicitly disclaim that registered/active status is not verified, but the algorithm detail is sufficient context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, action-first sentence with no filler. It packs the two validation criteria compactly after the main verb-object, and every phrase earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple single-parameter check with an output schema and safety annotations, the description covers the mechanics of the check. The only gap is an explicit reminder that registration status is not verified, which is a minor caveat given the algorithm-based description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already documents the single parameter with 100% coverage ('15-character Indian Goods and Services Tax Identification Number'), so the baseline is 3. The description enriches this by decomposing the GSTIN into state code + PAN + entity code + 'Z', giving agents a tangible sense of valid input composition.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States the specific verb 'Validate' with a clearly delimited resource, 'Indian GSTIN', and names the exact validation criteria (structure and mod-36 checksum). This distinguishes the tool from the sibling family of check tools (iban_check, abn_check, etc.) because the scope is unambiguously India-specific GSTINs.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no explicit when-to-use or when-not-to-use guidance, nor does it name alternative tools. Usage context must be inferred entirely from the tool's name and the specific identifier type it targets, which is adequate for a family of one-format-per-tool check utilities but leaves routing entirely to the agent's common sense.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
iban_checkIBAN Check & Wire Fraud ShieldARead-onlyIdempotentInspect
Deterministically validates international bank accounts (ISO 13616) using MOD-97-10 checksums: structure and checksum only. Catches mistyped or malformed IBANs before payout; a valid checksum does NOT establish account ownership, beneficiary identity, or absence of fraud. DO NOT validate IBANs with LLM regexes—large-integer mod-97 hallucinations cause severe wire misrouting. Returns offline-verifiable signed XDR-1 receipt.
| Name | Required | Description | Default |
|---|---|---|---|
| iban | Yes | IBAN to validate; spaces allowed. |
Output Schema
| Name | Required | Description |
|---|---|---|
| tool | No | |
| scope | No | |
| valid | Yes | |
| reason | Yes | |
| country | No | |
| normalized | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond readOnly/idempotent annotations, it discloses deterministic behavior, checksum-only verification, the signed offline-verifiable receipt, and explicitly warns that a valid checksum does not imply ownership or absence of fraud. This is meaningful behavioral context not present in annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core deterministic validation behavior and every sentence earns its place: scope, timing/limitation, anti-pattern warning, and receipt capability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With a single fully documented parameter, rich annotations, and an output schema, the description adds the remaining essential context: determinism, scope, limitation, and offline verification. No critical information is missing for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema fully describes the single 'iban' parameter including spaces allowed, so the baseline is 3. The description adds no parameter-level detail beyond confirming ISO 13616 and structure/checksum scope.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb ('validates'), resource ('international bank accounts (ISO 13616)'), and algorithm ('MOD-97-10 checksums'), and clearly limits scope to structure and checksum. This distinguishes it from other validation siblings by stating exactly what it does and does not certify.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It states when to use ('before payout'), what it cannot establish (ownership, beneficiary identity, fraud), and warns against LLM regex validation. It does not name a sibling tool as an alternative, but it gives clear use/no-use context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ifsc_checkIFSC Check (India NEFT/RTGS)ARead-onlyIdempotentInspect
Validate an Indian IFSC by RBI structure (BBBB0NNNNNN; 5th character always 0). Required for India bank payouts. Returns signed XDR-1 receipt.
| Name | Required | Description | Default |
|---|---|---|---|
| ifsc | Yes | 11-character Indian Financial System Code. |
Output Schema
| Name | Required | Description |
|---|---|---|
| tool | No | |
| scope | No | |
| valid | Yes | |
| reason | Yes | |
| country | No | |
| normalized | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (readOnlyHint, idempotentHint), the description adds that validation is performed by RBI structure—indicating a deterministic format check—and reveals the return artifact as a 'signed XDR-1 receipt.' This gives useful behavioral context that annotations alone do not provide, with no contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three short sentences, each adding distinct value: the validation rule, the use-case context, and the return format. It is front-loaded with the verb and pattern, with no redundant filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter validation tool with full schema coverage, an output schema present, and readOnly/idempotent annotations, the description is fully adequate. It explains what the tool does, why it is used, and what it returns, leaving no critical gap for an agent to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already documents the 'ifsc' parameter as an 11-character code, but the description enriches this with the exact RBI pattern (BBBB0NNNNNN) and the rule that the 5th character is always 0. This goes beyond the schema's minimal length description and clarifies the expected input format.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Validate') and resource ('Indian IFSC'), and defines the exact structural rule (BBBB0NNNNNN; 5th character always 0). This clearly distinguishes it from sibling validation tools like iban_check or swift_bic_check by pinning down the instrument type and country.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'Required for India bank payouts' gives a clear use case and context for when an agent should invoke this tool. It does not explicitly list alternatives or exclusions, but the India-specific framing is sufficient to guide selection among the many sibling checks.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
india_supplier_checkIndia Supplier Verification PackARead-onlyIdempotentInspect
One call, one receipt: GSTIN + PAN + UPI VPA + IFSC for an Indian counterparty. Four deterministic structural checks, each stating its own scope. Built for cross-border procurement where the buyer is an agent that cannot open an INR account.
| Name | Required | Description | Default |
|---|---|---|---|
| pan | No | PAN (10 chars, optional) | |
| vpa | No | UPI VPA handle (optional) | |
| ifsc | No | IFSC bank code (optional) | |
| gstin | No | GSTIN (15 chars, optional) |
Output Schema
| Name | Required | Description |
|---|---|---|
| tool | No | |
| scope | No | |
| results | No | |
| verdict | No | |
| corridor | No | |
| all_valid | Yes | |
| next_steps | No | |
| checked_count | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already signal read-only and idempotent behavior. The description adds value beyond those hints by specifying that the checks are deterministic, structural, and each state their own scope, while 'one call, one receipt' signals the expected response shape. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, each earns its place: the first states the offer, the second defines the behavioral nature, and the third gives the procurement context. There is no filler or redundant restating of schema fields.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the rich annotations, 100% parameter coverage, and presence of an output schema, the description is complete enough. It supplies the missing decision-making context: why this tool exists, when to use it, and what kind of result to expect.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents each parameter's format and optionality. The description lists the four identifiers and frames them as a combined verification pack, but it does not add parameter-level semantics beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a concrete deliverable: one call returns a receipt of GSTIN, PAN, UPI VPA, and IFSC structural checks for an Indian counterparty. It clearly distinguishes itself from single-identifier siblings like gstin_check and ifsc_check by being a combined pack, even though those siblings are not named.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives a clear intended context: cross-border procurement where the buyer is an agent that cannot open an INR account. It implies one call instead of four separate checks, but it does not explicitly state when NOT to use it or name alternatives like batch_validate or vendor_onboarding_pack.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lei_checkLegal Entity Identifier (LEI) KYB CheckARead-onlyIdempotentInspect
CRITICAL B2B KYB CHECK: Deterministically validates Legal Entity Identifiers (ISO 17442) with ISO 7064 MOD-97-10 check digits for institutional entities. Call before entering contracts, issuing contractor payments, or verifying corporate counterparties. Returns signed XDR-1 receipt.
| Name | Required | Description | Default |
|---|---|---|---|
| lei | Yes | 20-character Legal Entity Identifier. |
Output Schema
| Name | Required | Description |
|---|---|---|
| tool | No | |
| scope | No | |
| valid | Yes | |
| reason | Yes | |
| country | No | |
| normalized | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and idempotentHint, and the description adds useful behavioral context: deterministic validation, the ISO 7064 MOD-97-10 algorithm, and a 'signed XDR-1 receipt' return. There is no contradiction with the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with the critical purpose, followed by use cases and return value. The leading 'CRITICAL B2B KYB CHECK' is somewhat redundant with the title but does not introduce meaningful bloat.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter, read-only validation tool with an output schema and supporting annotations, the description is complete: it defines the identifier standard, the algorithm, when to call it, and what it returns. No essential decision-making context is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with the 'lei' parameter described as a '20-character Legal Entity Identifier.' The description adds the ISO 17442 standard and check-digit algorithm, but does not materially expand parameter semantics beyond what the schema already provides, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Deterministically validates Legal Entity Identifiers (ISO 17442) with ISO 7064 MOD-97-10 check digits for institutional entities.' This clearly distinguishes lei_check from the many sibling identifier-validation tools by naming the exact identifier standard and algorithm.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit trigger contexts: 'Call before entering contracts, issuing contractor payments, or verifying corporate counterparties.' It does not explicitly name alternative tools or state when not to use this check, but the LEI-specific scope makes the context unambiguous relative to sibling checks.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pre_disbursement_guardPre-Disbursement Due Diligence Guard (Check Before You Send)ARead-onlyIdempotentInspect
MANDATORY COUNTERPARTY DUE DILIGENCE: Verifies counterparty before releasing invoice payments, contractor payouts, or wires. Screens ISO 13616 IBAN checksum, RDAP domain age (<30d = scam), disposable email domains, UK CRN/LEI format, and BEC cross-jurisdiction mismatches. Produces signed XDR-1 receipt for compliance.
| Name | Required | Description | Default |
|---|---|---|---|
| lei | No | ISO 17442 Legal Entity Identifier (optional). | |
| vat_number | No | EU VAT number (optional). | |
| vendor_domain | No | Vendor website domain or invoicing email address (optional). | |
| company_number | No | Official corporate registration number, e.g. UK Companies House 8 digits/chars (optional). | |
| recipient_iban | No | Recipient bank IBAN (optional). | |
| declared_country | No | 2-letter ISO country code where vendor claims to be registered (optional, e.g. 'GB', 'US', 'DE'). | |
| physical_address | No | Vendor physical office address (optional). | |
| invoice_amount_usd | No | Disbursement transaction amount in USD (optional). |
Output Schema
| Name | Required | Description |
|---|---|---|
| tool | No | |
| scope | No | |
| checks | No | |
| summary | No | |
| decision | Yes | |
| risk_level | Yes | |
| risk_score | Yes | |
| flags_triggered | No | |
| recommendations | No | |
| clear_to_disburse | Yes | |
| inspected_counterparty | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only, idempotent, and open-world semantics. The description adds that it produces a signed XDR-1 receipt and lists the screening criteria (e.g., '<30d = scam'), which are useful behaviors beyond the annotations. It does not explicitly state failure handling, but this is a minor gap given the annotations and output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded with the primary purpose. It uses a short sentence plus a list of checks and an output note, with no redundant filler. The title also reinforces the usage context without repeating the full description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 8 optional parameters and an output schema, the description is sufficiently complete: it specifies inputs (implicitly via check list), the checks performed, and the output (signed receipt). It does not detail the receipt contents, but that is covered by the output schema. Overall, an agent can call this tool correctly based on the description alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema covers 100% of parameters with descriptions, so the baseline is 3. The tool description enhances parameter understanding by explaining how parameters are used in the checks (e.g., vendor_domain for domain age and disposable email detection, declared_country for BEC mismatches), adding meaning beyond the individual field descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states the tool's core function: verifying counterparties before disbursements, and enumerates the specific checks (IBAN, domain age, email domains, CRN/LEI, BEC mismatches). This clearly differentiates it from sibling single-purpose checkers like iban_check or lei_check by positioning it as a comprehensive due-diligence guard.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description signals mandatory usage ('MANDATORY', 'Check Before You Send') for pre-disbursement scenarios, implying it should be used before releasing payments. However, it does not explicitly name alternatives or contrast with the individual check tools, though the title and context make the intended use reasonably clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
receipt_verifyVerify any XDR-1 receipt — free, stateless, any issuerARead-onlyIdempotentInspect
Verifies a signed XDR-1 receipt from ANY x402 service: recomputes the canonical digest and recovers the signer, then compares it to the declared signer. Free forever — no account, no quota, no storage (stateless). A valid receipt proves the signer signed that tool call at that timestamp; it does NOT prove funds moved or any business claim.
| Name | Required | Description | Default |
|---|---|---|---|
| receipt | Yes | The full XDR-1 receipt object: v, tool, tool_version, input_hash, output_hash, payer, recipient, amount, nonce, ts, tier, signer, signature (optional successor/stream_state). |
Output Schema
| Name | Required | Description |
|---|---|---|
| scope | No | |
| valid | No | |
| digest | No | |
| canonical | No | |
| declared_signer | No | |
| signer_recovered | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnlyHint and idempotentHint annotations, the description adds meaningful behavioral details: the tool is stateless, free, has no quota, and performs no storage. It also discloses the exact verification algorithm and clearly limits the meaning of a valid receipt, preventing over-interpretation of results.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences with no filler. The first sentence front-loads the primary purpose and algorithm, the second adds operational constraints, and the third sets expectations for what the result means. Every sentence contributes information an agent needs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the single parameter, full schema coverage, presence of an output schema, and annotations for read-only/idempotent behavior, the description covers all essential context. It explains the verification process, the statelessness, and the semantic limits of the result, leaving no critical gap for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the single 'receipt' parameter is already fully documented in the schema, listing all required fields and optional extensions. The tool description adds context about what the tool does with the receipt, but it does not add new parameter-level detail beyond what the schema provides, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource — 'verifies a signed XDR-1 receipt' — and explains exactly how verification works: recomputing the canonical digest, recovering the signer, and comparing it to the declared signer. It clearly distinguishes this from sibling format checks like iban_check or luhn_check by emphasizing ANY x402 service and the cryptographic nature of the receipt.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use the tool: verifying a signed XDR-1 receipt from any x402 service, with no account, quota, or storage required. It also explicitly states a when-not: it does NOT prove funds moved or any business claim. However, it does not name any alternative tools or more explicitly contrast this with related payment/verification tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sanctions_address_screenOFAC SDN & Sanctions List Edge ScreenerARead-onlyIdempotentInspect
Deterministic screen of EVM addresses and jurisdictions against a curated local blocklist of sanctioned addresses and prohibited jurisdictions. Address- and jurisdiction-level only — this is NOT name-based screening and NOT a complete OFAC SDN check. Absence of a match is not a sanctions clearance; use as one informational input alongside your own compliance process.
| Name | Required | Description | Default |
|---|---|---|---|
| subject | Yes | EVM address (0x...) or ISO 3166-1 country code / jurisdiction name |
Output Schema
| Name | Required | Description |
|---|---|---|
| tool | Yes | |
| scope | No | |
| valid | Yes | |
| reason | No | |
| subject | No | |
| match_type | No | |
| is_sanctioned | Yes | |
| sanction_program | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description is transparent about deterministic behavior and the curated local blocklist, but it contradicts the openWorldHint annotation. It says 'Absence of a match is not a sanctions clearance,' implying an open-world result, while openWorldHint is false, suggesting a closed-world result. This is an annotation contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences with no filler. The core purpose and scope are front-loaded, and the caveats follow immediately. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter deterministic screen with an output schema and readOnly/idempotent annotations, the description fully covers scope, limitations, and follow-up usage. The only issue is the openWorldHint contradiction, which is already reflected in behavioral transparency.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is only one parameter, subject, and schema description coverage is 100%. The schema already documents that it accepts an EVM address or ISO 3166-1 country code/jurisdiction name, so the description adds no additional parameter-level semantics. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description states a specific verb and resource: 'Deterministic screen of EVM addresses and jurisdictions against a curated local blocklist.' It explicitly distinguishes itself from name-based screening and a complete OFAC SDN check, so an agent can clearly understand what this tool does and does not do.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly marks exclusions: 'NOT name-based screening and NOT a complete OFAC SDN check.' It also gives clear usage context: 'use as one informational input alongside your own compliance process.' This leaves little ambiguity about when to rely on the tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
swift_bic_checkSWIFT/BIC Structure & Country Code CheckARead-onlyIdempotentInspect
Validate a SWIFT/BIC code by ISO 9362 structure (bank code, ISO country, location, optional branch). Run before foreign wire transfer dispatch to prevent routing rejection. Returns signed XDR-1 receipt.
| Name | Required | Description | Default |
|---|---|---|---|
| bic | Yes | SWIFT/BIC code, 8 or 11 characters; spaces/dashes allowed. |
Output Schema
| Name | Required | Description |
|---|---|---|
| tool | No | |
| scope | No | |
| valid | Yes | |
| reason | Yes | |
| country | No | |
| normalized | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds meaningful behavioral context beyond the annotations: it clarifies the check is structural (ISO 9362 format and country code), not a live network or bank existence verification, and states that it 'Returns signed XDR-1 receipt,' informing the agent about the output artifact. No contradiction with the readOnlyHint or idempotentHint annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences with no wasted words. It front-loads the primary action and validation criteria, then adds usage context, and finally states the return behavior. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter validator with strong annotations and an output schema, the description is fully sufficient: it explains what the tool does, when to use it, what it validates, and what it returns. There are no significant gaps an agent would need to fill.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already fully describes the only parameter 'bic' with details about length and allowed characters, so the description adds little new semantics. The mention of ISO 9362 structure is helpful but does not significantly enhance the parameter's meaning beyond what the schema provides, matching the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Validate'), a specific resource ('SWIFT/BIC code'), and the exact standard used ('ISO 9362 structure'), listing the relevant components: bank code, ISO country, location, optional branch. This clearly differentiates it from sibling validation tools like iban_check or ifsc_check, even without naming them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit usage context: 'Run before foreign wire transfer dispatch to prevent routing rejection.' This tells an agent when to invoke the tool, though it does not explicitly mention exclusions or alternative tools. It is clear enough for selection in most scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vat_mod97_checkVAT Check & Tax Invoicing ShieldARead-onlyIdempotentInspect
CRITICAL TAX COMPLIANCE CHECK: Deterministically validates EU/BE VAT identifiers with MOD-97 checksums. Eliminates cross-border invoicing errors, invalid billing, and tax audit penalties. Returns signed XDR-1 receipt for accounting defense.
| Name | Required | Description | Default |
|---|---|---|---|
| vat_number | Yes | EU VAT id; BE mod-97 checksum (BE prefix optional). |
Output Schema
| Name | Required | Description |
|---|---|---|
| tool | No | |
| scope | No | |
| valid | Yes | |
| reason | Yes | |
| country | No | |
| normalized | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish read-only and idempotent behavior; the description adds that validation is deterministic and returns a signed XDR-1 receipt for accounting defense. This is useful behavioral context beyond the annotations, with no contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core validation sentence is clear and front-loaded, but 'CRITICAL TAX COMPLIANCE CHECK' and 'Eliminates cross-border invoicing errors, invalid billing, and tax audit penalties' are marketing overclaims that do not add operational value. The description is short but not every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter read-only check with an output schema and annotations, the description is largely sufficient. It could be more precise about whether non-BE EU VAT numbers are accepted, since 'EU/BE' is ambiguous, but the schema's 'BE mod-97 checksum' phrasing partially resolves this.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%: the single parameter 'vat_number' is already described as 'EU VAT id; BE mod-97 checksum (BE prefix optional).' The tool description adds no significant parameter-level meaning beyond the schema, so the high-coverage baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'Deterministically validates EU/BE VAT identifiers with MOD-97 checksums,' giving a specific verb and resource. It clearly distinguishes this tool from sibling validation tools such as iban_check, gstin_check, and luhn_check.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It clearly frames the tool as a tax-compliance check for cross-border invoicing, so an agent can infer when to use it. However, it does not name alternatives or specify when not to use it, such as when a live VAT registration lookup is required.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vendor_onboarding_packAll-in-One Vendor Onboarding & Clearing ShieldARead-onlyIdempotentInspect
INSTITUTIONAL COUNTERPARTY CLEARING: Screens vendor IBAN + LEI + VAT + UK company number in ONE signed call. Saves 50% vs individual checks. Produces an audit-ready compliance report and signed XDR-1 receipt to defend against invoice fraud before funds move.
| Name | Required | Description | Default |
|---|---|---|---|
| lei | No | Vendor LEI (optional). | |
| iban | No | Vendor IBAN (optional). | |
| vat_number | No | Vendor VAT number, BE mod-97 (optional). | |
| company_number | No | Vendor UK company number (optional). |
Output Schema
| Name | Required | Description |
|---|---|---|
| tool | No | |
| scope | No | |
| results | No | |
| verdict | No | |
| all_valid | Yes | |
| checked_count | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only and idempotent behavior, so the description benefits from a lower bar. It adds meaningful behavioral context beyond annotations: the call is 'signed,' it produces an 'audit-ready compliance report' and a 'signed XDR-1 receipt,' and it is intended as a pre-payment fraud defense. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded: the core function appears first, followed by a cost-benefit statement and the compliance outputs. Every sentence contributes a distinct piece of information, with no filler or tautology.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present and annotations covering read-only/idempotent safety, the description does not need to explain return values. It covers the main scenarios, outputs, and value proposition. The only minor gap is clarity around optional-parameter combinations, which is partially mitigated by the schema marking all parameters optional.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the input schema already documents each parameter as an optional vendor identifier. The description restates the parameter set (IBAN, LEI, VAT, company number) but adds no semantic detail beyond the schema, such as whether at least one identifier is required or how combinations affect the result. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('screens'), a clear resource (vendor IBAN + LEI + VAT + UK company number), and the combined one-call nature that distinguishes it from sibling individual-check tools. It also communicates the output artifacts (compliance report, XDR-1 receipt), making the tool's role unmistakable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly implies when this tool is preferred: when multiple vendor identifiers need screening in one call, especially 'before funds move.' It positions the tool against the alternative ('Saves 50% vs individual checks'), though it does not explicitly name the sibling tools or state when NOT to use it, such as when only a single identifier check is needed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
- Changed
india_supplier_check1 field changed- changed
Input schema / examplesPrevious value: -[ - { - "gstin": "27AAPFU0939F1ZV", - "ifsc": "HDFC0001234", - "pan": "ABCDE1234F", - "vpa": "merchant@okhdfcbank" - } -]New value: +[ + { + "gstin": "27AAPFU0939F1ZV", + "ifsc": "HDFC0001234", + "pan": "AAACP1234M", + "vpa": "merchant@okhdfcbank" + } +]
56 tool updates
- Removed
aba_routing_check - Removed
abn_check - Removed
aci_trust_lookup - Removed
africa_supplier_check - Removed
assured_create - Removed
assured_quote - Removed
balance_check - Removed
bind_insurance_policy - Removed
block_info - Removed
calculate_fx_savings - Removed
china_supplier_check - Removed
clean_markdown_scraper - Removed
cnpj_check - Removed
company_number_format - Removed
context_distill - Removed
create_ap2_pilot - Removed
create_b2b_invoice - Removed
crypto_ticker - Removed
csp_commitment_create - Removed
dip_file_dispute - Removed
e164_check - Removed
ean13_check - Removed
ein_format_check - Removed
erc20_balance - Removed
fx_spot_price_oracle - Removed
get_b2b_invoice - Removed
gulf_supplier_check - Removed
instant_json_schema_verifier - Removed
isbn_check - Removed
isin_check - Removed
iso20022_to_x402_intent - Removed
iso20022_validate - Removed
iso4217_currency_check - Removed
japan_corp_check - Removed
japan_supplier_check - Removed
kra_pin_check - Removed
latam_supplier_check - Removed
list_approved_insurers - Removed
luhn_check - Removed
ofac_sdn_check - Removed
pan_format_check - Removed
pod_verify_delivery - Removed
quote_3rd_party_insurance - Removed
reconcile - Removed
rent_deposit_guard - Removed
rental_listing_risk - Removed
rental_verdict - Removed
rfc_check - Added
sanctions_address_screen - Removed
sedol_check - Removed
settlement_history_check - Removed
simulate_spend_sentinel - Removed
tx_activity - Removed
uae_trn_check - Removed
upi_vpa_check - Removed
uscc_check
40 tool updates
- Changed
aba_routing_check2 fields changed- added
Input schema / properties / routingAdded value: +{ + "description": "9-digit US bank routing number (alias).", + "type": "string" +} - removed
Input schema / requiredRemoved value: -[ - "aba_routing" -]
- Added
aci_trust_lookup - Added
africa_supplier_check - Added
assured_create - Added
assured_quote - Added
bind_insurance_policy - Added
calculate_fx_savings - Added
china_supplier_check - Added
clean_markdown_scraper - Changed
cnpj_check1 field changed- changed
Input schema / properties / cnpj / descriptionPrevious value: -"14-digit Brazilian CNPJ (punctuation optional)."New value: +"14-digit Brazilian CNPJ; punctuation allowed (e.g. 00.000.000/0001-91)."
- Added
create_ap2_pilot - Added
create_b2b_invoice - Added
csp_commitment_create - Added
dip_file_dispute - Changed
erc20_balance1 field changed- changed
Input schema / properties / decimals / descriptionPrevious value: -"Token decimals override (optional; default: on-chain decimals(), else common list, else 18)."New value: +"Token decimals override (optional)."
- Added
fx_spot_price_oracle - Added
get_b2b_invoice - Added
gulf_supplier_check - Added
india_supplier_check - Added
instant_json_schema_verifier - Changed
iso20022_to_x402_intent18 fields changed- changed
Input schema / examplesPrevious value: -[ - { - "xml": "<Document xmlns=\"urn:iso:std:iso:20022:tech:xsd:pain.001.001.03\"><CstmrCdtTrfInitn><PmtInf><CdtTrfTxInf><Amt><InstdAmt Ccy=\"USD\">5000.00</InstdAmt></Amt><CdtrAcct><Id><IBAN>GB82WEST12345698765432</IBAN></Id></CdtrAcct></CdtTrfTxInf></PmtInf></CstmrCdtTrfInitn></Document>" - } -]New value: +[ + { + "instruction": { + "creditor": { + "iban": "DE77100100100123456789" + }, + "debtor": { + "iban": "DE89370400440532013000" + }, + "end_to_end_id": "E2E-1001", + "instructed_amount": { + "amount_minor": "250000000", + "amount_str": "250.00", + "currency": "USD" + } + }, + "seller_pay_to_address": "0xc59c85e661d34084a7769f955d17fd38254a6235" + } +] - added
Input schema / properties / chain_idAdded value: +{ + "description": "Target chain ID (default 8453 for Base)", + "type": "number" +} - added
Input schema / properties / counterparty_wallet_directoryAdded value: +{ + "description": "Enterprise IBAN -> 0x Base L2 wallet address map", + "type": "object" +} - added
Input schema / properties / instructionAdded value: +{ + "description": "Validated BAP-1 payment instruction object", + "type": "object" +} - added
Input schema / properties / seller_pay_to_addressAdded value: +{ + "description": "Fallback recipient Base L2 address", + "type": "string" +} - removed
Input schema / properties / xmlRemoved value: -{ - "description": "ISO 20022 XML string (< 512KB).", - "type": "string" -} - changed
Input schema / requiredPrevious value: -[ - "xml" -]New value: +[ + "instruction" +] - added
Output schema / properties / intent_templateAdded value: +{ + "type": "object" +} - added
Output schema / properties / noticeAdded value: +{ + "type": "string" +} - added
Output schema / properties / okAdded value: +{ + "type": "boolean" +} - removed
Output schema / properties / scopeRemoved value: -{ - "type": "string" -} - added
Output schema / properties / standardAdded value: +{ + "type": "string" +} - added
Output schema / properties / statusAdded value: +{ + "type": "string" +} - removed
Output schema / properties / swapped_railRemoved value: -{ - "type": "string" -} - removed
Output schema / properties / toolRemoved value: -{ - "type": "string" -} - removed
Output schema / properties / validRemoved value: -{ - "type": "boolean" -} - removed
Output schema / properties / x402_intentRemoved value: -{ - "type": "object" -} - changed
Output schema / requiredPrevious value: -[ - "valid" -]New value: +[ + "ok", + "standard", + "intent_template", + "status" +]
- Changed
iso20022_validate22 fields changed- changed
Input schema / examplesPrevious value: -[ - { - "xml": "<Document xmlns=\"urn:iso:std:iso:20022:tech:xsd:pain.001.001.03\"><CstmrCdtTrfInitn><PmtInf><CdtTrfTxInf><Amt><InstdAmt Ccy=\"USD\">5000.00</InstdAmt></Amt><CdtrAcct><Id><IBAN>GB82WEST12345698765432</IBAN></Id></CdtrAcct></CdtTrfTxInf></PmtInf></CstmrCdtTrfInitn></Document>" - } -]New value: +[ + { + "raw_payload": "<Document xmlns=\"urn:iso:std:iso:20022:tech:xsd:pain.001.001.09\"><CstmrCdtTrfInitn><GrpHdr><MsgId>MSG-2026-001</MsgId><NbOfTxs>1</NbOfTxs><CtrlSum>100.00</CtrlSum></GrpHdr><PmtInf><CdtTrfTxInf><Amt><InstdAmt Ccy=\"USD\">100.00</InstdAmt></Amt><CdtrAgt><FinInstnId><BICFI>DEUTDEDDFXX</BICFI></FinInstnId></CdtrAgt><CdtrAcct><Id><IBAN>DE89370400440532013000</IBAN></Id></CdtrAcct></CdtTrfTxInf></PmtInf></CstmrCdtTrfInitn></Document>" + } +] - added
Input schema / properties / formatAdded value: +{ + "description": "'xml' or 'json' (default auto-detected)", + "type": "string" +} - added
Input schema / properties / namespaceAdded value: +{ + "description": "Expected ISO 20022 schema namespace (e.g. 'pain.001.001.09')", + "type": "string" +} - added
Input schema / properties / raw_payloadAdded value: +{ + "description": "Raw ISO 20022 XML or JSON message text", + "type": "string" +} - added
Input schema / properties / transactionsAdded value: +{ + "description": "Structured transactions array for JSON validation", + "type": "array" +} - removed
Input schema / properties / xmlRemoved value: -{ - "description": "ISO 20022 XML string (< 512KB).", - "type": "string" -} - changed
Input schema / requiredPrevious value: -[ - "xml" -]New value: +[ + "raw_payload" +] - removed
Output schema / properties / amountRemoved value: -{ - "type": "string" -} - added
Output schema / properties / ctrl_sum_minorAdded value: +{ + "type": "string" +} - removed
Output schema / properties / currencyRemoved value: -{ - "type": "string" -} - added
Output schema / properties / findingsAdded value: +{ + "type": "array" +} - added
Output schema / properties / message_idAdded value: +{ + "type": "string" +} - removed
Output schema / properties / message_typeRemoved value: -{ - "type": "string" -} - added
Output schema / properties / namespaceAdded value: +{ + "type": "string" +} - added
Output schema / properties / okAdded value: +{ + "type": "boolean" +} - removed
Output schema / properties / reasonRemoved value: -{ - "type": "string" -} - added
Output schema / properties / receipt_digestAdded value: +{ + "type": "string" +} - removed
Output schema / properties / scopeRemoved value: -{ - "type": "string" -} - added
Output schema / properties / standardAdded value: +{ + "type": "string" +} - removed
Output schema / properties / toolRemoved value: -{ - "type": "string" -} - added
Output schema / properties / tx_countAdded value: +{ + "type": "number" +} - changed
Output schema / requiredPrevious value: -[ - "valid" -]New value: +[ + "ok", + "standard", + "valid" +]
- Added
iso4217_currency_check - Changed
japan_corp_check4 fields changed- changed
Input schema / examplesPrevious value: -[ - { - "corporate_number": "1010001008844" - } -]New value: +[ + { + "number": "1180301018771" + } +] - removed
Input schema / properties / corporate_numberRemoved value: -{ - "description": "13-digit Japanese Corporate Number.", - "type": "string" -} - added
Input schema / properties / numberAdded value: +{ + "description": "13-digit Japanese Corporate Number (e.g. 1180301018771).", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "corporate_number" -]New value: +[ + "number" +]
- Added
japan_supplier_check - Changed
kra_pin_check4 fields changed- changed
Input schema / examplesPrevious value: -[ - { - "kra_pin": "P051123456Z" - } -]New value: +[ + { + "pin": "P051112223Z" + } +] - removed
Input schema / properties / kra_pinRemoved value: -{ - "description": "11-character Kenyan KRA PIN.", - "type": "string" -} - added
Input schema / properties / pinAdded value: +{ + "description": "11-character KRA PIN (e.g. P051112223Z).", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "kra_pin" -]New value: +[ + "pin" +]
- Added
latam_supplier_check - Added
list_approved_insurers - Added
ofac_sdn_check - Added
pan_format_check - Added
pod_verify_delivery - Added
pre_disbursement_guard - Added
quote_3rd_party_insurance - Added
receipt_verify - Added
reconcile - Changed
rfc_check2 fields changed- changed
Input schema / examplesPrevious value: -[ - { - "rfc": "ABC680524P76" - } -]New value: +[ + { + "rfc": "BBA830831LJ2" + } +] - changed
Input schema / properties / rfc / descriptionPrevious value: -"12 or 13 character Mexican RFC."New value: +"12 or 13 character Mexican RFC (e.g. BBA830831LJ2)."
- Added
simulate_spend_sentinel - Added
uae_trn_check - Added
upi_vpa_check - Changed
uscc_check2 fields changed- changed
Input schema / examplesPrevious value: -[ - { - "uscc": "91310000775785552W" - } -]New value: +[ + { + "uscc": "91330100799655058B" + } +] - changed
Input schema / properties / uscc / descriptionPrevious value: -"18-character Chinese USCC code."New value: +"18-character Chinese Unified Social Credit Code (e.g. 91330100799655058B)."
39 tool updates
- Changed
aba_routing_check2 fields changed- removed
Input schema / properties / routingRemoved value: -{ - "description": "9-digit US bank routing number (alias).", - "type": "string" -} - added
Input schema / requiredAdded value: +[ + "aba_routing" +]
- Removed
aci_trust_lookup - Removed
autonomous_commercial_pipeline - Removed
bind_insurance_policy - Removed
browse_compute_clusters - Removed
browse_technical_studios - Removed
browse_top_guilds - Removed
calculate_fx_savings - Removed
clean_markdown_scraper - Changed
cnpj_check1 field changed- changed
Input schema / properties / cnpj / descriptionPrevious value: -"14-digit Brazilian CNPJ; punctuation allowed (e.g. 00.000.000/0001-91)."New value: +"14-digit Brazilian CNPJ (punctuation optional)."
- Removed
create_ap2_pilot - Removed
create_b2b_invoice - Removed
csp_commitment_create - Removed
dip_file_dispute - Removed
engine_benchmark - Changed
erc20_balance1 field changed- changed
Input schema / properties / decimals / descriptionPrevious value: -"Token decimals override (optional)."New value: +"Token decimals override (optional; default: on-chain decimals(), else common list, else 18)."
- Removed
fx_spot_price_oracle - Removed
get_b2b_invoice - Removed
get_guild_profile - Removed
get_studio_profile - Removed
instant_json_schema_verifier - Changed
iso20022_to_x402_intent18 fields changed- changed
Input schema / examplesPrevious value: -[ - { - "instruction": { - "creditor": { - "iban": "DE77100100100123456789" - }, - "debtor": { - "iban": "DE89370400440532013000" - }, - "end_to_end_id": "E2E-1001", - "instructed_amount": { - "amount_minor": "250000000", - "amount_str": "250.00", - "currency": "USD" - } - }, - "seller_pay_to_address": "0xc59c85e661d34084a7769f955d17fd38254a6235" - } -]New value: +[ + { + "xml": "<Document xmlns=\"urn:iso:std:iso:20022:tech:xsd:pain.001.001.03\"><CstmrCdtTrfInitn><PmtInf><CdtTrfTxInf><Amt><InstdAmt Ccy=\"USD\">5000.00</InstdAmt></Amt><CdtrAcct><Id><IBAN>GB82WEST12345698765432</IBAN></Id></CdtrAcct></CdtTrfTxInf></PmtInf></CstmrCdtTrfInitn></Document>" + } +] - removed
Input schema / properties / chain_idRemoved value: -{ - "description": "Target chain ID (default 8453 for Base)", - "type": "number" -} - removed
Input schema / properties / counterparty_wallet_directoryRemoved value: -{ - "description": "Enterprise IBAN -> 0x Base L2 wallet address map", - "type": "object" -} - removed
Input schema / properties / instructionRemoved value: -{ - "description": "Validated BAP-1 payment instruction object", - "type": "object" -} - removed
Input schema / properties / seller_pay_to_addressRemoved value: -{ - "description": "Fallback recipient Base L2 address", - "type": "string" -} - added
Input schema / properties / xmlAdded value: +{ + "description": "ISO 20022 XML string (< 512KB).", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "instruction" -]New value: +[ + "xml" +] - removed
Output schema / properties / intent_templateRemoved value: -{ - "type": "object" -} - removed
Output schema / properties / noticeRemoved value: -{ - "type": "string" -} - removed
Output schema / properties / okRemoved value: -{ - "type": "boolean" -} - added
Output schema / properties / scopeAdded value: +{ + "type": "string" +} - removed
Output schema / properties / standardRemoved value: -{ - "type": "string" -} - removed
Output schema / properties / statusRemoved value: -{ - "type": "string" -} - added
Output schema / properties / swapped_railAdded value: +{ + "type": "string" +} - added
Output schema / properties / toolAdded value: +{ + "type": "string" +} - added
Output schema / properties / validAdded value: +{ + "type": "boolean" +} - added
Output schema / properties / x402_intentAdded value: +{ + "type": "object" +} - changed
Output schema / requiredPrevious value: -[ - "ok", - "standard", - "intent_template", - "status" -]New value: +[ + "valid" +]
- Changed
iso20022_validate22 fields changed- changed
Input schema / examplesPrevious value: -[ - { - "raw_payload": "<Document xmlns=\"urn:iso:std:iso:20022:tech:xsd:pain.001.001.09\"><CstmrCdtTrfInitn><GrpHdr><MsgId>MSG-2026-001</MsgId><NbOfTxs>1</NbOfTxs><CtrlSum>100.00</CtrlSum></GrpHdr><PmtInf><CdtTrfTxInf><Amt><InstdAmt Ccy=\"USD\">100.00</InstdAmt></Amt><CdtrAgt><FinInstnId><BICFI>DEUTDEDDFXX</BICFI></FinInstnId></CdtrAgt><CdtrAcct><Id><IBAN>DE89370400440532013000</IBAN></Id></CdtrAcct></CdtTrfTxInf></PmtInf></CstmrCdtTrfInitn></Document>" - } -]New value: +[ + { + "xml": "<Document xmlns=\"urn:iso:std:iso:20022:tech:xsd:pain.001.001.03\"><CstmrCdtTrfInitn><PmtInf><CdtTrfTxInf><Amt><InstdAmt Ccy=\"USD\">5000.00</InstdAmt></Amt><CdtrAcct><Id><IBAN>GB82WEST12345698765432</IBAN></Id></CdtrAcct></CdtTrfTxInf></PmtInf></CstmrCdtTrfInitn></Document>" + } +] - removed
Input schema / properties / formatRemoved value: -{ - "description": "'xml' or 'json' (default auto-detected)", - "type": "string" -} - removed
Input schema / properties / namespaceRemoved value: -{ - "description": "Expected ISO 20022 schema namespace (e.g. 'pain.001.001.09')", - "type": "string" -} - removed
Input schema / properties / raw_payloadRemoved value: -{ - "description": "Raw ISO 20022 XML or JSON message text", - "type": "string" -} - removed
Input schema / properties / transactionsRemoved value: -{ - "description": "Structured transactions array for JSON validation", - "type": "array" -} - added
Input schema / properties / xmlAdded value: +{ + "description": "ISO 20022 XML string (< 512KB).", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "raw_payload" -]New value: +[ + "xml" +] - added
Output schema / properties / amountAdded value: +{ + "type": "string" +} - removed
Output schema / properties / ctrl_sum_minorRemoved value: -{ - "type": "string" -} - added
Output schema / properties / currencyAdded value: +{ + "type": "string" +} - removed
Output schema / properties / findingsRemoved value: -{ - "type": "array" -} - removed
Output schema / properties / message_idRemoved value: -{ - "type": "string" -} - added
Output schema / properties / message_typeAdded value: +{ + "type": "string" +} - removed
Output schema / properties / namespaceRemoved value: -{ - "type": "string" -} - removed
Output schema / properties / okRemoved value: -{ - "type": "boolean" -} - added
Output schema / properties / reasonAdded value: +{ + "type": "string" +} - removed
Output schema / properties / receipt_digestRemoved value: -{ - "type": "string" -} - added
Output schema / properties / scopeAdded value: +{ + "type": "string" +} - removed
Output schema / properties / standardRemoved value: -{ - "type": "string" -} - added
Output schema / properties / toolAdded value: +{ + "type": "string" +} - removed
Output schema / properties / tx_countRemoved value: -{ - "type": "number" -} - changed
Output schema / requiredPrevious value: -[ - "ok", - "standard", - "valid" -]New value: +[ + "valid" +]
- Removed
iso4217_currency_check - Changed
japan_corp_check4 fields changed- changed
Input schema / examplesPrevious value: -[ - { - "number": "1180301018771" - } -]New value: +[ + { + "corporate_number": "1010001008844" + } +] - added
Input schema / properties / corporate_numberAdded value: +{ + "description": "13-digit Japanese Corporate Number.", + "type": "string" +} - removed
Input schema / properties / numberRemoved value: -{ - "description": "13-digit Japanese Corporate Number (e.g. 1180301018771).", - "type": "string" -} - changed
Input schema / requiredPrevious value: -[ - "number" -]New value: +[ + "corporate_number" +]
- Changed
kra_pin_check4 fields changed- changed
Input schema / examplesPrevious value: -[ - { - "pin": "P051112223Z" - } -]New value: +[ + { + "kra_pin": "P051123456Z" + } +] - added
Input schema / properties / kra_pinAdded value: +{ + "description": "11-character Kenyan KRA PIN.", + "type": "string" +} - removed
Input schema / properties / pinRemoved value: -{ - "description": "11-character KRA PIN (e.g. P051112223Z).", - "type": "string" -} - changed
Input schema / requiredPrevious value: -[ - "pin" -]New value: +[ + "kra_pin" +]
- Removed
list_approved_insurers - Removed
ofac_sdn_check - Removed
pan_format_check - Removed
pod_verify_delivery - Removed
pre_disbursement_guard - Removed
quote_3rd_party_insurance - Removed
quote_compute_slice - Changed
rfc_check2 fields changed- changed
Input schema / examplesPrevious value: -[ - { - "rfc": "BBA830831LJ2" - } -]New value: +[ + { + "rfc": "ABC680524P76" + } +] - changed
Input schema / properties / rfc / descriptionPrevious value: -"12 or 13 character Mexican RFC (e.g. BBA830831LJ2)."New value: +"12 or 13 character Mexican RFC."
- Removed
semantic_service_matchmaker - Removed
simulate_spend_sentinel - Removed
uae_trn_check - Removed
upi_vpa_check - Changed
uscc_check2 fields changed- changed
Input schema / examplesPrevious value: -[ - { - "uscc": "91330100799655058B" - } -]New value: +[ + { + "uscc": "91310000775785552W" + } +] - changed
Input schema / properties / uscc / descriptionPrevious value: -"18-character Chinese Unified Social Credit Code (e.g. 91330100799655058B)."New value: +"18-character Chinese USCC code."
39 tool updates
- Changed
aba_routing_check2 fields changed- added
Input schema / properties / routingAdded value: +{ + "description": "9-digit US bank routing number (alias).", + "type": "string" +} - removed
Input schema / requiredRemoved value: -[ - "aba_routing" -]
- Added
aci_trust_lookup - Added
autonomous_commercial_pipeline - Added
bind_insurance_policy - Added
browse_compute_clusters - Added
browse_technical_studios - Added
browse_top_guilds - Added
calculate_fx_savings - Added
clean_markdown_scraper - Changed
cnpj_check1 field changed- changed
Input schema / properties / cnpj / descriptionPrevious value: -"14-digit Brazilian CNPJ (punctuation optional)."New value: +"14-digit Brazilian CNPJ; punctuation allowed (e.g. 00.000.000/0001-91)."
- Added
create_ap2_pilot - Added
create_b2b_invoice - Added
csp_commitment_create - Added
dip_file_dispute - Added
engine_benchmark - Changed
erc20_balance1 field changed- changed
Input schema / properties / decimals / descriptionPrevious value: -"Token decimals override (optional; default: on-chain decimals(), else common list, else 18)."New value: +"Token decimals override (optional)."
- Added
fx_spot_price_oracle - Added
get_b2b_invoice - Added
get_guild_profile - Added
get_studio_profile - Added
instant_json_schema_verifier - Changed
iso20022_to_x402_intent18 fields changed- changed
Input schema / examplesPrevious value: -[ - { - "xml": "<Document xmlns=\"urn:iso:std:iso:20022:tech:xsd:pain.001.001.03\"><CstmrCdtTrfInitn><PmtInf><CdtTrfTxInf><Amt><InstdAmt Ccy=\"USD\">5000.00</InstdAmt></Amt><CdtrAcct><Id><IBAN>GB82WEST12345698765432</IBAN></Id></CdtrAcct></CdtTrfTxInf></PmtInf></CstmrCdtTrfInitn></Document>" - } -]New value: +[ + { + "instruction": { + "creditor": { + "iban": "DE77100100100123456789" + }, + "debtor": { + "iban": "DE89370400440532013000" + }, + "end_to_end_id": "E2E-1001", + "instructed_amount": { + "amount_minor": "250000000", + "amount_str": "250.00", + "currency": "USD" + } + }, + "seller_pay_to_address": "0xc59c85e661d34084a7769f955d17fd38254a6235" + } +] - added
Input schema / properties / chain_idAdded value: +{ + "description": "Target chain ID (default 8453 for Base)", + "type": "number" +} - added
Input schema / properties / counterparty_wallet_directoryAdded value: +{ + "description": "Enterprise IBAN -> 0x Base L2 wallet address map", + "type": "object" +} - added
Input schema / properties / instructionAdded value: +{ + "description": "Validated BAP-1 payment instruction object", + "type": "object" +} - added
Input schema / properties / seller_pay_to_addressAdded value: +{ + "description": "Fallback recipient Base L2 address", + "type": "string" +} - removed
Input schema / properties / xmlRemoved value: -{ - "description": "ISO 20022 XML string (< 512KB).", - "type": "string" -} - changed
Input schema / requiredPrevious value: -[ - "xml" -]New value: +[ + "instruction" +] - added
Output schema / properties / intent_templateAdded value: +{ + "type": "object" +} - added
Output schema / properties / noticeAdded value: +{ + "type": "string" +} - added
Output schema / properties / okAdded value: +{ + "type": "boolean" +} - removed
Output schema / properties / scopeRemoved value: -{ - "type": "string" -} - added
Output schema / properties / standardAdded value: +{ + "type": "string" +} - added
Output schema / properties / statusAdded value: +{ + "type": "string" +} - removed
Output schema / properties / swapped_railRemoved value: -{ - "type": "string" -} - removed
Output schema / properties / toolRemoved value: -{ - "type": "string" -} - removed
Output schema / properties / validRemoved value: -{ - "type": "boolean" -} - removed
Output schema / properties / x402_intentRemoved value: -{ - "type": "object" -} - changed
Output schema / requiredPrevious value: -[ - "valid" -]New value: +[ + "ok", + "standard", + "intent_template", + "status" +]
- Changed
iso20022_validate22 fields changed- changed
Input schema / examplesPrevious value: -[ - { - "xml": "<Document xmlns=\"urn:iso:std:iso:20022:tech:xsd:pain.001.001.03\"><CstmrCdtTrfInitn><PmtInf><CdtTrfTxInf><Amt><InstdAmt Ccy=\"USD\">5000.00</InstdAmt></Amt><CdtrAcct><Id><IBAN>GB82WEST12345698765432</IBAN></Id></CdtrAcct></CdtTrfTxInf></PmtInf></CstmrCdtTrfInitn></Document>" - } -]New value: +[ + { + "raw_payload": "<Document xmlns=\"urn:iso:std:iso:20022:tech:xsd:pain.001.001.09\"><CstmrCdtTrfInitn><GrpHdr><MsgId>MSG-2026-001</MsgId><NbOfTxs>1</NbOfTxs><CtrlSum>100.00</CtrlSum></GrpHdr><PmtInf><CdtTrfTxInf><Amt><InstdAmt Ccy=\"USD\">100.00</InstdAmt></Amt><CdtrAgt><FinInstnId><BICFI>DEUTDEDDFXX</BICFI></FinInstnId></CdtrAgt><CdtrAcct><Id><IBAN>DE89370400440532013000</IBAN></Id></CdtrAcct></CdtTrfTxInf></PmtInf></CstmrCdtTrfInitn></Document>" + } +] - added
Input schema / properties / formatAdded value: +{ + "description": "'xml' or 'json' (default auto-detected)", + "type": "string" +} - added
Input schema / properties / namespaceAdded value: +{ + "description": "Expected ISO 20022 schema namespace (e.g. 'pain.001.001.09')", + "type": "string" +} - added
Input schema / properties / raw_payloadAdded value: +{ + "description": "Raw ISO 20022 XML or JSON message text", + "type": "string" +} - added
Input schema / properties / transactionsAdded value: +{ + "description": "Structured transactions array for JSON validation", + "type": "array" +} - removed
Input schema / properties / xmlRemoved value: -{ - "description": "ISO 20022 XML string (< 512KB).", - "type": "string" -} - changed
Input schema / requiredPrevious value: -[ - "xml" -]New value: +[ + "raw_payload" +] - removed
Output schema / properties / amountRemoved value: -{ - "type": "string" -} - added
Output schema / properties / ctrl_sum_minorAdded value: +{ + "type": "string" +} - removed
Output schema / properties / currencyRemoved value: -{ - "type": "string" -} - added
Output schema / properties / findingsAdded value: +{ + "type": "array" +} - added
Output schema / properties / message_idAdded value: +{ + "type": "string" +} - removed
Output schema / properties / message_typeRemoved value: -{ - "type": "string" -} - added
Output schema / properties / namespaceAdded value: +{ + "type": "string" +} - added
Output schema / properties / okAdded value: +{ + "type": "boolean" +} - removed
Output schema / properties / reasonRemoved value: -{ - "type": "string" -} - added
Output schema / properties / receipt_digestAdded value: +{ + "type": "string" +} - removed
Output schema / properties / scopeRemoved value: -{ - "type": "string" -} - added
Output schema / properties / standardAdded value: +{ + "type": "string" +} - removed
Output schema / properties / toolRemoved value: -{ - "type": "string" -} - added
Output schema / properties / tx_countAdded value: +{ + "type": "number" +} - changed
Output schema / requiredPrevious value: -[ - "valid" -]New value: +[ + "ok", + "standard", + "valid" +]
- Added
iso4217_currency_check - Changed
japan_corp_check4 fields changed- changed
Input schema / examplesPrevious value: -[ - { - "corporate_number": "1010001008844" - } -]New value: +[ + { + "number": "1180301018771" + } +] - removed
Input schema / properties / corporate_numberRemoved value: -{ - "description": "13-digit Japanese Corporate Number.", - "type": "string" -} - added
Input schema / properties / numberAdded value: +{ + "description": "13-digit Japanese Corporate Number (e.g. 1180301018771).", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "corporate_number" -]New value: +[ + "number" +]
- Changed
kra_pin_check4 fields changed- changed
Input schema / examplesPrevious value: -[ - { - "kra_pin": "P051123456Z" - } -]New value: +[ + { + "pin": "P051112223Z" + } +] - removed
Input schema / properties / kra_pinRemoved value: -{ - "description": "11-character Kenyan KRA PIN.", - "type": "string" -} - added
Input schema / properties / pinAdded value: +{ + "description": "11-character KRA PIN (e.g. P051112223Z).", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "kra_pin" -]New value: +[ + "pin" +]
- Added
list_approved_insurers - Added
ofac_sdn_check - Added
pan_format_check - Added
pod_verify_delivery - Added
pre_disbursement_guard - Added
quote_3rd_party_insurance - Added
quote_compute_slice - Changed
rfc_check2 fields changed- changed
Input schema / examplesPrevious value: -[ - { - "rfc": "ABC680524P76" - } -]New value: +[ + { + "rfc": "BBA830831LJ2" + } +] - changed
Input schema / properties / rfc / descriptionPrevious value: -"12 or 13 character Mexican RFC."New value: +"12 or 13 character Mexican RFC (e.g. BBA830831LJ2)."
- Added
semantic_service_matchmaker - Added
simulate_spend_sentinel - Added
uae_trn_check - Added
upi_vpa_check - Changed
uscc_check2 fields changed- changed
Input schema / examplesPrevious value: -[ - { - "uscc": "91310000775785552W" - } -]New value: +[ + { + "uscc": "91330100799655058B" + } +] - changed
Input schema / properties / uscc / descriptionPrevious value: -"18-character Chinese USCC code."New value: +"18-character Chinese Unified Social Credit Code (e.g. 91330100799655058B)."
7 tool updates
- Added
cnpj_check - Added
iso20022_to_x402_intent - Added
iso20022_validate - Added
japan_corp_check - Added
kra_pin_check - Added
rfc_check - Added
uscc_check
39 tool updates
- Changed
aba_routing_check2 fields changed- removed
Input schema / properties / routingRemoved value: -{ - "description": "9-digit US bank routing number (alias).", - "type": "string" -} - added
Input schema / requiredAdded value: +[ + "aba_routing" +]
- Removed
aci_trust_lookup - Removed
autonomous_commercial_pipeline - Removed
bind_insurance_policy - Removed
browse_compute_clusters - Removed
browse_technical_studios - Removed
browse_top_guilds - Removed
calculate_fx_savings - Removed
clean_markdown_scraper - Removed
cnpj_check - Removed
create_ap2_pilot - Removed
create_b2b_invoice - Removed
csp_commitment_create - Removed
dip_file_dispute - Removed
engine_benchmark - Changed
erc20_balance1 field changed- changed
Input schema / properties / decimals / descriptionPrevious value: -"Token decimals override (optional)."New value: +"Token decimals override (optional; default: on-chain decimals(), else common list, else 18)."
- Removed
fx_spot_price_oracle - Removed
get_b2b_invoice - Removed
get_guild_profile - Removed
get_studio_profile - Removed
instant_json_schema_verifier - Removed
iso20022_to_x402_intent - Removed
iso20022_validate - Removed
iso4217_currency_check - Removed
japan_corp_check - Removed
kra_pin_check - Removed
list_approved_insurers - Removed
ofac_sdn_check - Removed
pan_format_check - Removed
pod_verify_delivery - Removed
pre_disbursement_guard - Removed
quote_3rd_party_insurance - Removed
quote_compute_slice - Removed
rfc_check - Removed
semantic_service_matchmaker - Removed
simulate_spend_sentinel - Removed
uae_trn_check - Removed
upi_vpa_check - Removed
uscc_check
4 tool updates
- Added
ofac_sdn_check - Added
pan_format_check - Added
uae_trn_check - Added
upi_vpa_check
6 tool updates
- Added
cnpj_check - Added
iso4217_currency_check - Added
japan_corp_check - Added
kra_pin_check - Added
rfc_check - Added
uscc_check
3 tool updates
- Added
bind_insurance_policy - Added
list_approved_insurers - Added
quote_3rd_party_insurance
8 tool updates
- Changed
aba_routing_check2 fields changed- added
Input schema / properties / routingAdded value: +{ + "description": "9-digit US bank routing number (alias).", + "type": "string" +} - removed
Input schema / requiredRemoved value: -[ - "aba_routing" -]
- Added
aci_trust_lookup - Changed
calculate_fx_savings3 fields changed- added
Input schema / properties / amountAdded value: +{ + "description": "Gross invoice settlement volume in USD/USDC (alias).", + "type": "number" +} - added
Input schema / properties / amount_usdAdded value: +{ + "description": "Gross invoice settlement volume in USD/USDC (alias).", + "type": "number" +} - removed
Input schema / requiredRemoved value: -[ - "amount_usdc" -]
- Added
csp_commitment_create - Added
dip_file_dispute - Added
iso20022_to_x402_intent - Added
iso20022_validate - Added
pod_verify_delivery
1 tool update
- Added
pre_disbursement_guard
45 tool updates
- Changed
aba_routing_check2 fields changed- changed
Input schema / examplesPrevious value: -[ - { - "input": { - "aba_routing": "021000021" - }, - "output": { - "reason": "checksum valid", - "valid": true - } - } -]New value: +[ + { + "aba_routing": "021000021" + } +] - removed
Output schema / examplesRemoved value: -[ - { - "reason": "checksum valid", - "valid": true - } -]
- Changed
abn_check2 fields changed- changed
Input schema / examplesPrevious value: -[ - { - "input": { - "abn": "51 824 753 556" - }, - "output": { - "reason": "checksum valid", - "valid": true - } - } -]New value: +[ + { + "abn": "51 824 753 556" + } +] - removed
Output schema / examplesRemoved value: -[ - { - "reason": "checksum valid", - "valid": true - } -]
- Added
autonomous_commercial_pipeline - Added
balance_check - Changed
batch_validate4 fields changed- changed
Input schema / examplesPrevious value: -[ - { - "input": { - "items": [ - { - "tool": "iban-check", - "value": "GB82 WEST 1234 5698 7654 32" - }, - { - "tool": "lei-check", - "value": "529900T8BM49AURSDO55" - }, - { - "tool": "vat-mod97-check", - "value": "BE0417497106" - } - ] - }, - "output": { - "count": 2, - "invalid_count": 0, - "results": [], - "valid_count": 2 - } - } -]New value: +[ + { + "items": [ + { + "tool": "iban-check", + "value": "GB82 WEST 1234 5698 7654 32" + }, + { + "tool": "lei-check", + "value": "529900T8BM49AURSDO55" + }, + { + "tool": "vat-mod97-check", + "value": "BE0417497106" + } + ] + } +] - changed
Input schema / properties / items / items / properties / tool / enumPrevious value: -[ - "iban-check", - "lei-check", - "vat-mod97-check", - "company-number-format", - "swift-bic-check", - "aba-routing-check", - "ein-format-check", - "ifsc-check", - "abn-check", - "luhn-check", - "isbn-check", - "e164-check", - "sedol-check" -]New value: +[ + "iban-check", + "lei-check", + "vat-mod97-check", + "company-number-format", + "swift-bic-check", + "aba-routing-check", + "ein-format-check", + "ifsc-check", + "abn-check", + "luhn-check", + "isbn-check", + "e164-check", + "sedol-check", + "isin-check", + "ean13-check", + "gstin-check", + "context-distill" +] - changed
Input schema / properties / items / items / properties / value / descriptionPrevious value: -"the identifier to check"New value: +"the identifier (or text, for context-distill) to check" - removed
Output schema / examplesRemoved value: -[ - { - "count": 2, - "invalid_count": 0, - "results": [], - "valid_count": 2 - } -]
- Added
block_info - Added
browse_compute_clusters - Added
browse_technical_studios - Added
browse_top_guilds - Added
calculate_fx_savings - Added
clean_markdown_scraper - Changed
company_number_format2 fields changed- changed
Input schema / examplesPrevious value: -[ - { - "input": { - "company_number": "12345678" - }, - "output": { - "reason": "checksum valid", - "valid": true - } - } -]New value: +[ + { + "company_number": "12345678" + } +] - removed
Output schema / examplesRemoved value: -[ - { - "reason": "checksum valid", - "valid": true - } -]
- Added
context_distill - Added
create_ap2_pilot - Added
create_b2b_invoice - Added
crypto_ticker - Changed
e164_check2 fields changed- changed
Input schema / examplesPrevious value: -[ - { - "input": { - "phone": "+14155552671" - }, - "output": { - "reason": "checksum valid", - "valid": true - } - } -]New value: +[ + { + "phone": "+14155552671" + } +] - removed
Output schema / examplesRemoved value: -[ - { - "reason": "checksum valid", - "valid": true - } -]
- Added
ean13_check - Changed
ein_format_check2 fields changed- changed
Input schema / examplesPrevious value: -[ - { - "input": { - "ein": "12-3456789" - }, - "output": { - "reason": "checksum valid", - "valid": true - } - } -]New value: +[ + { + "ein": "12-3456789" + } +] - removed
Output schema / examplesRemoved value: -[ - { - "reason": "checksum valid", - "valid": true - } -]
- Added
engine_benchmark - Added
erc20_balance - Added
fx_spot_price_oracle - Added
get_b2b_invoice - Added
get_guild_profile - Added
get_studio_profile - Added
gstin_check - Changed
iban_check2 fields changed- changed
Input schema / examplesPrevious value: -[ - { - "input": { - "iban": "GB82 WEST 1234 5698 7654 32" - }, - "output": { - "reason": "checksum valid", - "valid": true - } - } -]New value: +[ + { + "iban": "GB82 WEST 1234 5698 7654 32" + } +] - removed
Output schema / examplesRemoved value: -[ - { - "reason": "checksum valid", - "valid": true - } -]
- Changed
ifsc_check2 fields changed- changed
Input schema / examplesPrevious value: -[ - { - "input": { - "ifsc": "HDFC0000123" - }, - "output": { - "reason": "checksum valid", - "valid": true - } - } -]New value: +[ + { + "ifsc": "HDFC0000123" + } +] - removed
Output schema / examplesRemoved value: -[ - { - "reason": "checksum valid", - "valid": true - } -]
- Added
instant_json_schema_verifier - Changed
isbn_check2 fields changed- changed
Input schema / examplesPrevious value: -[ - { - "input": { - "isbn": "978-0-306-40615-7" - }, - "output": { - "reason": "checksum valid", - "valid": true - } - } -]New value: +[ + { + "isbn": "978-0-306-40615-7" + } +] - removed
Output schema / examplesRemoved value: -[ - { - "reason": "checksum valid", - "valid": true - } -]
- Added
isin_check - Changed
lei_check2 fields changed- changed
Input schema / examplesPrevious value: -[ - { - "input": { - "lei": "529900T8BM49AURSDO55" - }, - "output": { - "reason": "checksum valid", - "valid": true - } - } -]New value: +[ + { + "lei": "529900T8BM49AURSDO55" + } +] - removed
Output schema / examplesRemoved value: -[ - { - "reason": "checksum valid", - "valid": true - } -]
- Changed
luhn_check2 fields changed- changed
Input schema / examplesPrevious value: -[ - { - "input": { - "number": "4111111111111111" - }, - "output": { - "reason": "checksum valid", - "valid": true - } - } -]New value: +[ + { + "number": "4111111111111111" + } +] - removed
Output schema / examplesRemoved value: -[ - { - "reason": "checksum valid", - "valid": true - } -]
- Added
quote_compute_slice - Changed
rent_deposit_guard2 fields changed- changed
Input schema / examplesPrevious value: -[ - { - "input": { - "deposit_before_viewing": true, - "deposit_iban": "GB82WEST12345698765432", - "property_country": "DE" - }, - "output": { - "band": "low", - "risk_score": 0 - } - } -]New value: +[ + { + "deposit_before_viewing": true, + "deposit_iban": "GB82WEST12345698765432", + "property_country": "DE" + } +] - removed
Output schema / examplesRemoved value: -[ - { - "band": "low", - "risk_score": 0 - } -]
- Changed
rental_listing_risk2 fields changed- changed
Input schema / examplesPrevious value: -[ - { - "input": { - "no_in_person_viewing": true, - "payment_irreversible": true, - "price_below_market_pct": 45 - }, - "output": { - "band": "low", - "risk_score": 0 - } - } -]New value: +[ + { + "no_in_person_viewing": true, + "payment_irreversible": true, + "price_below_market_pct": 45 + } +] - removed
Output schema / examplesRemoved value: -[ - { - "band": "low", - "risk_score": 0 - } -]
- Changed
rental_verdict2 fields changed- changed
Input schema / examplesPrevious value: -[ - { - "input": { - "deposit_before_viewing": true, - "deposit_iban": "GB82WEST12345698765432", - "landlord_lei": "529900T8BM49AURSDO55", - "property_country": "DE" - }, - "output": { - "band": "low", - "risk_score": 0, - "verdict": "clear" - } - } -]New value: +[ + { + "deposit_before_viewing": true, + "deposit_iban": "GB82WEST12345698765432", + "landlord_lei": "529900T8BM49AURSDO55", + "property_country": "DE" + } +] - removed
Output schema / examplesRemoved value: -[ - { - "band": "low", - "risk_score": 0, - "verdict": "clear" - } -]
- Changed
sedol_check2 fields changed- changed
Input schema / examplesPrevious value: -[ - { - "input": { - "sedol": "B0YBKJ7" - }, - "output": { - "reason": "checksum valid", - "valid": true - } - } -]New value: +[ + { + "sedol": "B0YBKJ7" + } +] - removed
Output schema / examplesRemoved value: -[ - { - "reason": "checksum valid", - "valid": true - } -]
- Added
semantic_service_matchmaker - Changed
settlement_history_check2 fields changed- changed
Input schema / examplesPrevious value: -[ - { - "input": { - "address": "0xc59c85e661d34084a7769f955d17fd38254a6235" - }, - "output": { - "address": "0x0000000000000000000000000000000000000000", - "usdc_received": { - "count": 1, - "volume_usdc": 1 - }, - "usdc_sent": { - "count": 0, - "volume_usdc": 0 - }, - "valid": true - } - } -]New value: +[ + { + "address": "0xc59c85e661d34084a7769f955d17fd38254a6235" + } +] - removed
Output schema / examplesRemoved value: -[ - { - "address": "0x0000000000000000000000000000000000000000", - "usdc_received": { - "count": 1, - "volume_usdc": 1 - }, - "usdc_sent": { - "count": 0, - "volume_usdc": 0 - }, - "valid": true - } -]
- Added
simulate_spend_sentinel - Changed
swift_bic_check2 fields changed- changed
Input schema / examplesPrevious value: -[ - { - "input": { - "bic": "DEUTDEFF500" - }, - "output": { - "reason": "checksum valid", - "valid": true - } - } -]New value: +[ + { + "bic": "DEUTDEFF500" + } +] - removed
Output schema / examplesRemoved value: -[ - { - "reason": "checksum valid", - "valid": true - } -]
- Added
tx_activity - Changed
vat_mod97_check2 fields changed- changed
Input schema / examplesPrevious value: -[ - { - "input": { - "vat_number": "BE0417497106" - }, - "output": { - "reason": "checksum valid", - "valid": true - } - } -]New value: +[ + { + "vat_number": "BE0417497106" + } +] - removed
Output schema / examplesRemoved value: -[ - { - "reason": "checksum valid", - "valid": true - } -]
- Changed
vendor_onboarding_pack2 fields changed- changed
Input schema / examplesPrevious value: -[ - { - "input": { - "company_number": "12345678", - "iban": "GB82 WEST 1234 5698 7654 32", - "lei": "529900T8BM49AURSDO55", - "vat_number": "BE0417497106" - }, - "output": { - "all_valid": true, - "checked_count": 4, - "results": [] - } - } -]New value: +[ + { + "company_number": "12345678", + "iban": "GB82 WEST 1234 5698 7654 32", + "lei": "529900T8BM49AURSDO55", + "vat_number": "BE0417497106" + } +] - removed
Output schema / examplesRemoved value: -[ - { - "all_valid": true, - "checked_count": 4, - "results": [] - } -]
23 tool updates
- Changed
aba_routing_check2 fields changed- changed
Input schema / examplesPrevious value: -[ - { - "aba_routing": "021000021" - } -]New value: +[ + { + "input": { + "aba_routing": "021000021" + }, + "output": { + "reason": "checksum valid", + "valid": true + } + } +] - added
Output schema / examplesAdded value: +[ + { + "reason": "checksum valid", + "valid": true + } +]
- Changed
abn_check2 fields changed- changed
Input schema / examplesPrevious value: -[ - { - "abn": "51 824 753 556" - } -]New value: +[ + { + "input": { + "abn": "51 824 753 556" + }, + "output": { + "reason": "checksum valid", + "valid": true + } + } +] - added
Output schema / examplesAdded value: +[ + { + "reason": "checksum valid", + "valid": true + } +]
- Removed
balance_check - Changed
batch_validate2 fields changed- changed
Input schema / examplesPrevious value: -[ - { - "items": [ - { - "tool": "iban-check", - "value": "GB82 WEST 1234 5698 7654 32" - }, - { - "tool": "lei-check", - "value": "529900T8BM49AURSDO55" - }, - { - "tool": "vat-mod97-check", - "value": "BE0417497106" - } - ] - } -]New value: +[ + { + "input": { + "items": [ + { + "tool": "iban-check", + "value": "GB82 WEST 1234 5698 7654 32" + }, + { + "tool": "lei-check", + "value": "529900T8BM49AURSDO55" + }, + { + "tool": "vat-mod97-check", + "value": "BE0417497106" + } + ] + }, + "output": { + "count": 2, + "invalid_count": 0, + "results": [], + "valid_count": 2 + } + } +] - added
Output schema / examplesAdded value: +[ + { + "count": 2, + "invalid_count": 0, + "results": [], + "valid_count": 2 + } +]
- Removed
block_info - Changed
company_number_format2 fields changed- changed
Input schema / examplesPrevious value: -[ - { - "company_number": "12345678" - } -]New value: +[ + { + "input": { + "company_number": "12345678" + }, + "output": { + "reason": "checksum valid", + "valid": true + } + } +] - added
Output schema / examplesAdded value: +[ + { + "reason": "checksum valid", + "valid": true + } +]
- Changed
e164_check2 fields changed- changed
Input schema / examplesPrevious value: -[ - { - "phone": "+14155552671" - } -]New value: +[ + { + "input": { + "phone": "+14155552671" + }, + "output": { + "reason": "checksum valid", + "valid": true + } + } +] - added
Output schema / examplesAdded value: +[ + { + "reason": "checksum valid", + "valid": true + } +]
- Changed
ein_format_check2 fields changed- changed
Input schema / examplesPrevious value: -[ - { - "ein": "12-3456789" - } -]New value: +[ + { + "input": { + "ein": "12-3456789" + }, + "output": { + "reason": "checksum valid", + "valid": true + } + } +] - added
Output schema / examplesAdded value: +[ + { + "reason": "checksum valid", + "valid": true + } +]
- Removed
erc20_balance - Changed
iban_check2 fields changed- changed
Input schema / examplesPrevious value: -[ - { - "iban": "GB82 WEST 1234 5698 7654 32" - } -]New value: +[ + { + "input": { + "iban": "GB82 WEST 1234 5698 7654 32" + }, + "output": { + "reason": "checksum valid", + "valid": true + } + } +] - added
Output schema / examplesAdded value: +[ + { + "reason": "checksum valid", + "valid": true + } +]
- Changed
ifsc_check2 fields changed- changed
Input schema / examplesPrevious value: -[ - { - "ifsc": "HDFC0000123" - } -]New value: +[ + { + "input": { + "ifsc": "HDFC0000123" + }, + "output": { + "reason": "checksum valid", + "valid": true + } + } +] - added
Output schema / examplesAdded value: +[ + { + "reason": "checksum valid", + "valid": true + } +]
- Changed
isbn_check2 fields changed- changed
Input schema / examplesPrevious value: -[ - { - "isbn": "978-0-306-40615-7" - } -]New value: +[ + { + "input": { + "isbn": "978-0-306-40615-7" + }, + "output": { + "reason": "checksum valid", + "valid": true + } + } +] - added
Output schema / examplesAdded value: +[ + { + "reason": "checksum valid", + "valid": true + } +]
- Changed
lei_check2 fields changed- changed
Input schema / examplesPrevious value: -[ - { - "lei": "529900T8BM49AURSDO55" - } -]New value: +[ + { + "input": { + "lei": "529900T8BM49AURSDO55" + }, + "output": { + "reason": "checksum valid", + "valid": true + } + } +] - added
Output schema / examplesAdded value: +[ + { + "reason": "checksum valid", + "valid": true + } +]
- Changed
luhn_check2 fields changed- changed
Input schema / examplesPrevious value: -[ - { - "number": "4111111111111111" - } -]New value: +[ + { + "input": { + "number": "4111111111111111" + }, + "output": { + "reason": "checksum valid", + "valid": true + } + } +] - added
Output schema / examplesAdded value: +[ + { + "reason": "checksum valid", + "valid": true + } +]
- Changed
rent_deposit_guard2 fields changed- changed
Input schema / examplesPrevious value: -[ - { - "deposit_before_viewing": true, - "deposit_iban": "GB82WEST12345698765432", - "property_country": "DE" - } -]New value: +[ + { + "input": { + "deposit_before_viewing": true, + "deposit_iban": "GB82WEST12345698765432", + "property_country": "DE" + }, + "output": { + "band": "low", + "risk_score": 0 + } + } +] - added
Output schema / examplesAdded value: +[ + { + "band": "low", + "risk_score": 0 + } +]
- Changed
rental_listing_risk2 fields changed- changed
Input schema / examplesPrevious value: -[ - { - "no_in_person_viewing": true, - "payment_irreversible": true, - "price_below_market_pct": 45 - } -]New value: +[ + { + "input": { + "no_in_person_viewing": true, + "payment_irreversible": true, + "price_below_market_pct": 45 + }, + "output": { + "band": "low", + "risk_score": 0 + } + } +] - added
Output schema / examplesAdded value: +[ + { + "band": "low", + "risk_score": 0 + } +]
- Changed
rental_verdict2 fields changed- changed
Input schema / examplesPrevious value: -[ - { - "deposit_before_viewing": true, - "deposit_iban": "GB82WEST12345698765432", - "landlord_lei": "529900T8BM49AURSDO55", - "property_country": "DE" - } -]New value: +[ + { + "input": { + "deposit_before_viewing": true, + "deposit_iban": "GB82WEST12345698765432", + "landlord_lei": "529900T8BM49AURSDO55", + "property_country": "DE" + }, + "output": { + "band": "low", + "risk_score": 0, + "verdict": "clear" + } + } +] - added
Output schema / examplesAdded value: +[ + { + "band": "low", + "risk_score": 0, + "verdict": "clear" + } +]
- Changed
sedol_check2 fields changed- changed
Input schema / examplesPrevious value: -[ - { - "sedol": "B0YBKJ7" - } -]New value: +[ + { + "input": { + "sedol": "B0YBKJ7" + }, + "output": { + "reason": "checksum valid", + "valid": true + } + } +] - added
Output schema / examplesAdded value: +[ + { + "reason": "checksum valid", + "valid": true + } +]
- Changed
settlement_history_check2 fields changed- changed
Input schema / examplesPrevious value: -[ - { - "address": "0xc59c85e661d34084a7769f955d17fd38254a6235" - } -]New value: +[ + { + "input": { + "address": "0xc59c85e661d34084a7769f955d17fd38254a6235" + }, + "output": { + "address": "0x0000000000000000000000000000000000000000", + "usdc_received": { + "count": 1, + "volume_usdc": 1 + }, + "usdc_sent": { + "count": 0, + "volume_usdc": 0 + }, + "valid": true + } + } +] - added
Output schema / examplesAdded value: +[ + { + "address": "0x0000000000000000000000000000000000000000", + "usdc_received": { + "count": 1, + "volume_usdc": 1 + }, + "usdc_sent": { + "count": 0, + "volume_usdc": 0 + }, + "valid": true + } +]
- Changed
swift_bic_check2 fields changed- changed
Input schema / examplesPrevious value: -[ - { - "bic": "DEUTDEFF500" - } -]New value: +[ + { + "input": { + "bic": "DEUTDEFF500" + }, + "output": { + "reason": "checksum valid", + "valid": true + } + } +] - added
Output schema / examplesAdded value: +[ + { + "reason": "checksum valid", + "valid": true + } +]
- Removed
tx_activity - Changed
vat_mod97_check2 fields changed- changed
Input schema / examplesPrevious value: -[ - { - "vat_number": "BE0417497106" - } -]New value: +[ + { + "input": { + "vat_number": "BE0417497106" + }, + "output": { + "reason": "checksum valid", + "valid": true + } + } +] - added
Output schema / examplesAdded value: +[ + { + "reason": "checksum valid", + "valid": true + } +]
- Changed
vendor_onboarding_pack2 fields changed- changed
Input schema / examplesPrevious value: -[ - { - "company_number": "12345678", - "iban": "GB82 WEST 1234 5698 7654 32", - "lei": "529900T8BM49AURSDO55", - "vat_number": "BE0417497106" - } -]New value: +[ + { + "input": { + "company_number": "12345678", + "iban": "GB82 WEST 1234 5698 7654 32", + "lei": "529900T8BM49AURSDO55", + "vat_number": "BE0417497106" + }, + "output": { + "all_valid": true, + "checked_count": 4, + "results": [] + } + } +] - added
Output schema / examplesAdded value: +[ + { + "all_valid": true, + "checked_count": 4, + "results": [] + } +]
6 tool updates
- Changed
batch_validate2 fields changed- changed
Input schema / properties / items / items / properties / tool / enumPrevious value: -[ - "iban-check", - "lei-check", - "vat-mod97-check", - "company-number-format", - "swift-bic-check", - "aba-routing-check", - "ein-format-check", - "ifsc-check", - "abn-check", - "luhn-check", - "isbn-check", - "e164-check", - "sedol-check", - "isin-check", - "ean13-check", - "gstin-check", - "context-distill" -]New value: +[ + "iban-check", + "lei-check", + "vat-mod97-check", + "company-number-format", + "swift-bic-check", + "aba-routing-check", + "ein-format-check", + "ifsc-check", + "abn-check", + "luhn-check", + "isbn-check", + "e164-check", + "sedol-check" +] - changed
Input schema / properties / items / items / properties / value / descriptionPrevious value: -"the identifier (or text, for context-distill) to check"New value: +"the identifier to check"
- Removed
context_distill - Removed
crypto_ticker - Removed
ean13_check - Removed
gstin_check - Removed
isin_check
28 tool updates
- First observed
aba_routing_check - First observed
abn_check - First observed
balance_check - First observed
batch_validate - First observed
block_info - First observed
company_number_format - First observed
context_distill - First observed
crypto_ticker - First observed
e164_check - First observed
ean13_check - First observed
ein_format_check - First observed
erc20_balance - First observed
gstin_check - First observed
iban_check - First observed
ifsc_check - First observed
isbn_check - First observed
isin_check - First observed
lei_check - First observed
luhn_check - First observed
rent_deposit_guard - First observed
rental_listing_risk - First observed
rental_verdict - First observed
sedol_check - First observed
settlement_history_check - First observed
swift_bic_check - First observed
tx_activity - First observed
vat_mod97_check - First observed
vendor_onboarding_pack
Related MCP Servers
- AlicenseAqualityCmaintenanceEnables brand visibility monitoring across major AI platforms like ChatGPT, Claude, Gemini, and Perplexity. It allows users to track visibility scores, analyze competitor data, and receive actionable insights to improve AI-generated brand recommendations.167 npm1MIT
- AlicenseCqualityAmaintenanceCompetitor Monitor AI - MCP server providing AI-powered tools and automation by MEOK AI Labs119 npm49 PyPIMIT
- AlicenseNot gradedqualityBmaintenanceEnables tracking competitor websites, changelogs, blog feeds, and pricing pages with meaningful diffs, classification, and Markdown digests via MCP tools for listing, adding, removing competitors, running checks, and retrieving digests or changes.MIT

industrylens-mcpofficial
AlicenseNot gradedqualityBmaintenanceBrowse IndustryLens's published competitive-intelligence reports and head-to-head competitor comparisons from any AI agent — real, source-backed data.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.