addrbookFor publishers
← The evidence ledger

Evidence row 1300354

Observed , by probe.mcp/1.

Kind
mcp.tools
About
endpoint 0d6669d1-3cfe-43ef-a0bd-70ae83129a85
Recorded
Previous row
#991194
Body SHA-256
bcd13803a838659383556ff05c25ebc994b16d670a33127aca2801dc4e8c1d38
Leaf
0x4bc0214d8a7f67c0029b66abce1948ab9584cb3f5434fdab3393ab1ca045f6b1

What was observed

{
  "count": 54,
  "tools": [
    {
      "description": "Returns a secure payment link (iDEAL or card, via Dodo Payments, EUR 2.95 incl. VAT) for the full English report on a Dutch address: crime vs national rate, noise and air quality, flood probability, ground height, monuments, permits, amenities, liveability breakdown and home-value trend. The report opens right after payment. Only use when the user wants the full report or asks to buy it.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "addition": {
            "description": "Optional house number addition",
            "type": "string"
          },
          "house_letter": {
            "description": "Optional house letter, e.g. A",
            "type": "string"
          },
          "house_number": {
            "description": "House number, e.g. 1",
            "exclusiveMinimum": 0,
            "maximum": 9007199254740991,
            "type": "integer"
          },
          "postcode": {
            "description": "Dutch postcode, e.g. 3511LX",
            "type": "string"
          },
          "q": {
            "description": "Alternative to postcode: free-text address, e.g. 'Visschersplein 1 Utrecht'",
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "buy_full_address_report"
    },
    {
      "description": "Returns a secure payment link (iDEAL or card, via Dodo Payments, EUR 1.95 incl. VAT) for the full English vehicle report: APK inspection history with defects, recall details, import/taxi/export history, specs and catalogue price. Only use when the user wants the full report or asks to buy it.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "licence_plate": {
            "description": "Dutch licence plate, e.g. GT-722-F",
            "type": "string"
          }
        },
        "required": [
          "licence_plate"
        ],
        "type": "object"
      },
      "name": "buy_full_vehicle_report"
    },
    {
      "description": "Use this when the counterparty is a Chinese supplier you are about to pay or import from: checks the 18-character Unified Social Credit Code (checksum, authority, entity type, province; Xinjiang flagged) and screens the company against EU, UN, UK and US OFAC sanctions, BIS Entity List, Military End User list and DHS UFLPA list. Verdict pass, review or block_review with reasons. Does not query the Chinese register (GSXT). Input: name, uscc. Costs 0.03 USDC via x402, or 15 credits of a Factline API key. The first 5 paid-tool calls a day are free, no payment or key needed.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "api_key": {
            "description": "Factline API key (fl_live_...) from get_trial_key: pass it here right after you get one, no reconnect needed",
            "type": "string"
          },
          "name": {
            "description": "Supplier name in Latin letters, as on the invoice",
            "type": "string"
          },
          "uscc": {
            "description": "18-character Unified Social Credit Code from the business licence",
            "type": "string"
          }
        },
        "required": [
          "name"
        ],
        "type": "object"
      },
      "name": "china_supplier_check"
    },
    {
      "description": "Use this when you need full due diligence on a European company before a deal or large payment, beyond an existence check: registers in 10 countries plus GLEIF, directors, owners and parents screened for sanctions and PEP, VAT, Peppol, website, plus financial health (accounts on time, size, turnover, insolvency in GB, FR, NO, FI, NL). One verdict and a cite_as line. Input: name or id, best with country. Costs 0.15 USDC via x402, or 75 credits of a Factline API key. The first 5 paid-tool calls a day are free, no payment or key needed.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "api_key": {
            "description": "Factline API key (fl_live_...) from get_trial_key: pass it here right after you get one, no reconnect needed",
            "type": "string"
          },
          "country": {
            "description": "ISO country, e.g. NO, GB, FR, NL",
            "type": "string"
          },
          "domain": {
            "description": "Company website",
            "type": "string"
          },
          "id": {
            "description": "Or a company number: LEI, UK company number, SIREN, Norwegian org number, etc.",
            "type": "string"
          },
          "kvk": {
            "description": "Dutch KvK number: adds a bankruptcy check",
            "type": "string"
          },
          "name": {
            "description": "Company name, e.g. Equinor",
            "type": "string"
          },
          "vat": {
            "description": "EU VAT number",
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "company_dossier"
    },
    {
      "description": "Use to check if a European company is healthy before you deal with it: UK accounts overdue, size band and insolvency history; French headcount, turnover, net result and BODACC insolvency; Norwegian employees, bankruptcy, winding-up and filed accounts; Finnish bankruptcy and restructuring; Dutch insolvency with a KvK number. Verdict healthy, watch, distressed or limited_data. Costs 0.02 USDC via x402, or 10 credits of a Factline API key. The first 5 paid-tool calls a day are free, no payment or key needed.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "api_key": {
            "description": "Factline API key (fl_live_...) from get_trial_key: pass it here right after you get one, no reconnect needed",
            "type": "string"
          },
          "country": {
            "description": "ISO country: GB, FR, NO and FI have full signals; NL with kvk",
            "type": "string"
          },
          "id": {
            "description": "Or a company number, e.g. SIREN 552032534",
            "type": "string"
          },
          "kvk": {
            "description": "Dutch KvK number: adds the insolvency register",
            "type": "string"
          },
          "name": {
            "description": "Company name, e.g. Danone",
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "company_health"
    },
    {
      "description": "Use this when you only need to confirm a company exists and is active (the cheap first step before a dossier): registers GLEIF (worldwide), UK Companies House, Ireland CRO, Estonia, Belgium KBO, France SIRENE, Norway, Finland, Czechia, Slovakia and Poland (with bank accounts). Returns legal name, status, registry id, legal form, address, founding date and parent companies (GLEIF). Search by name or id. Costs 0.008 USDC via x402, or 4 credits of a Factline API key. The first 5 paid-tool calls a day are free, no payment or key needed.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "api_key": {
            "description": "Factline API key (fl_live_...) from get_trial_key: pass it here right after you get one, no reconnect needed",
            "type": "string"
          },
          "country": {
            "description": "ISO country, e.g. GB, IE, EE, FR, NO, NL",
            "type": "string"
          },
          "id": {
            "description": "LEI, SIREN, Norwegian organisation number, UK company number, Irish CRO number or Estonian registry code",
            "type": "string"
          },
          "name": {
            "description": "Company name, e.g. ASML Holding",
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "company_lookup"
    },
    {
      "description": "Use when you need to judge whether a website or email domain is trustworthy: registration date and domain age (RDAP), expiry, registrar, nameservers, email setup (MX, SPF, DMARC), disposable-email domains, and a low/medium/high risk with flags such as 'registered 4 days ago', a common sign of scam shops. Accepts a domain, URL or email. Costs 0.003 USDC via x402, or 2 credits of a Factline API key. The first 5 paid-tool calls a day are free, no payment or key needed.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "api_key": {
            "description": "Factline API key (fl_live_...) from get_trial_key: pass it here right after you get one, no reconnect needed",
            "type": "string"
          },
          "domain": {
            "description": "Domain, URL or email address, e.g. example.nl",
            "type": "string"
          }
        },
        "required": [
          "domain"
        ],
        "type": "object"
      },
      "name": "domain_check"
    },
    {
      "description": "Use when you need to know if an email address is real and deliverable before signup, outreach or onboarding: syntax, live MX routing, 9,000+ disposable domains, role addresses, free providers, typo suggestions (gmial.com to gmail.com) and SPF/DMARC. One verdict: deliverable, risky or undeliverable. Costs 0.002 USDC via x402, or 1 credit of a Factline API key. The first 5 paid-tool calls a day are free, no payment or key needed.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "api_key": {
            "description": "Factline API key (fl_live_...) from get_trial_key: pass it here right after you get one, no reconnect needed",
            "type": "string"
          },
          "email": {
            "description": "Email address, e.g. jan@example.nl",
            "type": "string"
          }
        },
        "required": [
          "email"
        ],
        "type": "object"
      },
      "name": "email_verify"
    },
    {
      "description": "Use before onboarding, paying or contracting a European company: finds it in 10 official registers (GLEIF, UK, IE, FR, NO, FI, CZ, SK, EE, PL), screens it, its directors, owners and parent companies against EU, UN, UK and US sanctions and PEP, checks VAT and Peppol, flags new websites and Dutch bankruptcies. One verdict: pass, review, block_review or incomplete. Input: name or id, best with country; optional vat, domain, kvk. Costs 0.05 USDC via x402, or 25 credits of a Factline API key. The first 5 paid-tool calls a day are free, no payment or key needed.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "api_key": {
            "description": "Factline API key (fl_live_...) from get_trial_key: pass it here right after you get one, no reconnect needed",
            "type": "string"
          },
          "country": {
            "description": "ISO country, e.g. NL, GB, IE, FR",
            "type": "string"
          },
          "domain": {
            "description": "Company website or email domain",
            "type": "string"
          },
          "id": {
            "description": "Or a company number: LEI, UK company number, Irish CRO, SIREN, etc.",
            "type": "string"
          },
          "kvk": {
            "description": "Dutch KvK number: adds a bankruptcy check",
            "type": "string"
          },
          "name": {
            "description": "Company name, e.g. ASML Holding",
            "type": "string"
          },
          "vat": {
            "description": "EU VAT number: checked in VIES and matched to the registered name",
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "eu_company_check"
    },
    {
      "description": "Use when you need to check an EU EORI customs number: live validation in the European Commission's EORI service, registered and valid or not, with the trader's name and address when published. All EU member states; GB numbers are not covered. Costs 0.003 USDC via x402, or 2 credits of a Factline API key. The first 5 paid-tool calls a day are free, no payment or key needed.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "api_key": {
            "description": "Factline API key (fl_live_...) from get_trial_key: pass it here right after you get one, no reconnect needed",
            "type": "string"
          },
          "eori": {
            "description": "EORI number, e.g. IE6388047V",
            "type": "string"
          }
        },
        "required": [
          "eori"
        ],
        "type": "object"
      },
      "name": "eu_eori_check"
    },
    {
      "description": "Free. Use when the user needs an official euro exchange rate or a conversion for an invoice, contract or report: ECB euro reference rates (about 30 currencies), today or any working day in the last 90 days, with cross rates. Input: base (default EUR), symbols (e.g. USD,GBP), optional date YYYY-MM-DD and amount.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "amount": {
            "type": "string"
          },
          "base": {
            "type": "string"
          },
          "date": {
            "type": "string"
          },
          "symbols": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "eu_exchange_rates"
    },
    {
      "description": "Free. Use when the user cites an EU regulation, directive or decision and you need its official title, date, whether it is still in force, and the EUR-Lex link to cite: by CELEX number (e.g. 32016R0679) or citation (e.g. Regulation (EU) 2016/679, Directive 2015/849).",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "celex": {
            "description": "CELEX number or a citation like 'Regulation (EU) 2016/679'",
            "type": "string"
          }
        },
        "required": [
          "celex"
        ],
        "type": "object"
      },
      "name": "eu_law_lookup"
    },
    {
      "description": "Use when screening a list of people or companies at once (up to 25 per call, 0.0012 USDC per name) against the EU, UN, UK and US OFAC sanctions lists. Fuzzy matching; per name a possible-match flag, top score and up to 3 scored matches with their lists. For customer bases, payouts and vendor lists. Costs 0.03 USDC via x402, or 15 credits of a Factline API key. The first 5 paid-tool calls a day are free, no payment or key needed.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "api_key": {
            "description": "Factline API key (fl_live_...) from get_trial_key: pass it here right after you get one, no reconnect needed",
            "type": "string"
          },
          "names": {
            "description": "1 to 25 names separated by ';', e.g. 'Vladimir Putin; Factline'",
            "type": "string"
          },
          "type": {
            "enum": [
              "person",
              "entity"
            ],
            "type": "string"
          }
        },
        "required": [
          "names"
        ],
        "type": "object"
      },
      "name": "eu_sanctions_batch"
    },
    {
      "description": "Use when you must check whether a person or company is under sanctions: screens the name against the EU, UN, UK and US OFAC lists (25,000+ persons, companies and vessels with aliases, refreshed weekly). Fuzzy matching handles spelling, transliteration and word order; returns scored possible matches with lists, references and birth dates. Costs 0.005 USDC via x402, or 3 credits of a Factline API key. The first 5 paid-tool calls a day are free, no payment or key needed.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "api_key": {
            "description": "Factline API key (fl_live_...) from get_trial_key: pass it here right after you get one, no reconnect needed",
            "type": "string"
          },
          "birth_year": {
            "description": "4-digit birth year",
            "type": "string"
          },
          "name": {
            "description": "Person or organisation name, e.g. 'Vladimir Putin'",
            "type": "string"
          },
          "type": {
            "enum": [
              "person",
              "entity"
            ],
            "type": "string"
          }
        },
        "required": [
          "name"
        ],
        "type": "object"
      },
      "name": "eu_sanctions_screen"
    },
    {
      "description": "Use before sending crypto to an address, or when asked if a wallet is sanctioned: checks Bitcoin, Ethereum/EVM, Tron, USDT, Litecoin, Monero and other addresses against the wallets on the US OFAC SDN list, refreshed weekly. Returns sanctioned true/false, currency, listed entity and programme. Costs 0.003 USDC via x402, or 2 credits of a Factline API key. The first 5 paid-tool calls a day are free, no payment or key needed.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "address": {
            "description": "Crypto wallet address, e.g. 0x0330070fd38ec3bb94f58fa55d40368271e9e54a",
            "type": "string"
          },
          "api_key": {
            "description": "Factline API key (fl_live_...) from get_trial_key: pass it here right after you get one, no reconnect needed",
            "type": "string"
          }
        },
        "required": [
          "address"
        ],
        "type": "object"
      },
      "name": "eu_sanctions_wallet"
    },
    {
      "description": "Use when the user looks for public contracts to bid on: open tenders from TED, the EU's official journal, by country, CPV code, keywords, deadline and minimum value, with English titles, buyer, deadline and value. For the Netherlands it adds national below-threshold tenders from TenderNed, which TED does not have. Costs 0.005 USDC via x402, or 3 credits of a Factline API key. The first 5 paid-tool calls a day are free, no payment or key needed.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "api_key": {
            "description": "Factline API key (fl_live_...) from get_trial_key: pass it here right after you get one, no reconnect needed",
            "type": "string"
          },
          "country": {
            "description": "Country code, e.g. NL, DE, or EU",
            "type": "string"
          },
          "cpv": {
            "description": "CPV codes, e.g. 72",
            "type": "string"
          },
          "deadline_within": {
            "type": "string"
          },
          "limit": {
            "type": "string"
          },
          "min_value": {
            "type": "string"
          },
          "q": {
            "description": "Keywords",
            "type": "string"
          }
        },
        "required": [
          "country"
        ],
        "type": "object"
      },
      "name": "eu_tenders_search"
    },
    {
      "description": "Use when the user gives an EU VAT number and you need to know if it is valid: live check in the European Commission's VIES service for all 27 member states plus Northern Ireland, with the registered company name and address where shared. Input: VAT number with country prefix, e.g. IE6388047V. Costs 0.003 USDC via x402, or 2 credits of a Factline API key. The first 5 paid-tool calls a day are free, no payment or key needed.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "api_key": {
            "description": "Factline API key (fl_live_...) from get_trial_key: pass it here right after you get one, no reconnect needed",
            "type": "string"
          },
          "vat": {
            "description": "EU VAT number with country prefix, e.g. IE6388047V",
            "type": "string"
          }
        },
        "required": [
          "vat"
        ],
        "type": "object"
      },
      "name": "eu_vat_check"
    },
    {
      "description": "Free. Use when Factline's free calls for today are used up or the user wants more paid checks without a crypto wallet. Without an email it returns a starter key at once (100 credits, 14 days, no human step). With the user's work email it returns a trial key (2,000 credits a month, one per email); send email plus api_key to upgrade a starter key. Ask the user for the email; never invent one.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "api_key": {
            "description": "A starter key to upgrade: send it with the email",
            "type": "string"
          },
          "email": {
            "description": "The user's work email (ask them; never invent one). Leave out for a starter key",
            "type": "string"
          },
          "name": {
            "description": "Person or company name",
            "type": "string"
          },
          "use_case": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "get_trial_key"
    },
    {
      "description": "Use when you need to check an IBAN before a payout or invoice: length per country, mod-97 checksum (catches typos), SEPA membership, and for Dutch IBANs the bank (ING, ABN AMRO, Rabobank, bunq...). Does not confirm the account holder. Costs 0.001 USDC via x402, or 1 credit of a Factline API key. The first 5 paid-tool calls a day are free, no payment or key needed.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "api_key": {
            "description": "Factline API key (fl_live_...) from get_trial_key: pass it here right after you get one, no reconnect needed",
            "type": "string"
          },
          "iban": {
            "description": "IBAN, e.g. NL91ABNA0417164300",
            "type": "string"
          }
        },
        "required": [
          "iban"
        ],
        "type": "object"
      },
      "name": "iban_check"
    },
    {
      "description": "Use this when onboarding a new customer, seller or business and you want one pass/review answer on the name plus their email, phone and VAT, not a company deep-dive: screens the name against EU, UN, UK and US sanctions and the PEP list, verifies email and phone, and checks an EU VAT number in VIES, all in parallel, with one verdict: pass, review, block_review or incomplete. Send any of name, email, phone, vat. Costs 0.01 USDC via x402, or 5 credits of a Factline API key. The first 5 paid-tool calls a day are free, no payment or key needed.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "api_key": {
            "description": "Factline API key (fl_live_...) from get_trial_key: pass it here right after you get one, no reconnect needed",
            "type": "string"
          },
          "birth_year": {
            "type": "string"
          },
          "company": {
            "description": "Company name to verify",
            "type": "string"
          },
          "company_country": {
            "type": "string"
          },
          "country": {
            "type": "string"
          },
          "email": {
            "type": "string"
          },
          "kvk": {
            "description": "Dutch KvK number: adds a bankruptcy check",
            "type": "string"
          },
          "name": {
            "description": "Person or company name",
            "type": "string"
          },
          "pep": {
            "description": "PEP check of a person name, default true",
            "enum": [
              "true",
              "false"
            ],
            "type": "string"
          },
          "phone": {
            "type": "string"
          },
          "type": {
            "enum": [
              "person",
              "entity"
            ],
            "type": "string"
          },
          "vat": {
            "description": "EU VAT number",
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "kyc_check"
    },
    {
      "description": "Use when enriching a list of Dutch addresses (up to 10 per call, 0.0015 USDC each): official BAG address and coordinates, CBS neighbourhood, liveability percentile, crime per 1,000 residents vs national, average home value and optionally the energy label. Unfound addresses are flagged, not charged extra. Costs 0.015 USDC via x402, or 8 credits of a Factline API key. The first 5 paid-tool calls a day are free, no payment or key needed.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "addresses": {
            "description": "1 to 10 addresses separated by ';', e.g. '3511LX 1; 2517AS 100'",
            "type": "string"
          },
          "api_key": {
            "description": "Factline API key (fl_live_...) from get_trial_key: pass it here right after you get one, no reconnect needed",
            "type": "string"
          },
          "include": {
            "description": "'energy_label' to add energy labels",
            "type": "string"
          }
        },
        "required": [
          "addresses"
        ],
        "type": "object"
      },
      "name": "nl_address_batch"
    },
    {
      "description": "Use when you need to check that a Dutch address exists or get its exact spelling and coordinates: official BAG address from postcode + house number or free text, latitude/longitude, BAG ids, municipality, province and CBS neighbourhood code. Cheap address validation for onboarding, delivery and CRM. Source: Kadaster BAG via PDOK. Costs 0.002 USDC via x402, or 1 credit of a Factline API key. The first 5 paid-tool calls a day are free, no payment or key needed.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "addition": {
            "description": "Optional house number addition",
            "type": "string"
          },
          "api_key": {
            "description": "Factline API key (fl_live_...) from get_trial_key: pass it here right after you get one, no reconnect needed",
            "type": "string"
          },
          "house_letter": {
            "description": "Optional house letter, e.g. A",
            "type": "string"
          },
          "house_number": {
            "description": "House number, e.g. 1",
            "exclusiveMinimum": 0,
            "maximum": 9007199254740991,
            "type": "integer"
          },
          "postcode": {
            "description": "Dutch postcode, e.g. 3511LX",
            "type": "string"
          },
          "q": {
            "description": "Alternative to postcode: free-text address, e.g. 'Visschersplein 1 Utrecht'",
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "nl_address_lookup"
    },
    {
      "description": "Use when you have coordinates in the Netherlands and need the address: nearest official BAG address with distance in metres, postcode, city, municipality, province, BAG ids and CBS buurt and wijk codes, plus other nearby addresses. Input: WGS84 latitude and longitude. Source: Kadaster BAG via PDOK. Costs 0.002 USDC via x402, or 1 credit of a Factline API key. The first 5 paid-tool calls a day are free, no payment or key needed.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "api_key": {
            "description": "Factline API key (fl_live_...) from get_trial_key: pass it here right after you get one, no reconnect needed",
            "type": "string"
          },
          "lat": {
            "description": "Latitude, e.g. 52.0836",
            "type": "string"
          },
          "lon": {
            "description": "Longitude, e.g. 4.2919",
            "type": "string"
          }
        },
        "required": [
          "lat",
          "lon"
        ],
        "type": "object"
      },
      "name": "nl_address_reverse"
    },
    {
      "description": "Use when the user asks when a Dutch car's APK (MOT) expires or whether it is still valid: expiry date, days left and a status band (expired, due within 30 or 90 days, ok), with insurance and open-recall flags. Cheap enough to run daily for a fleet. Input: Dutch licence plate. Source: RDW. Costs 0.001 USDC via x402, or 1 credit of a Factline API key. The first 5 paid-tool calls a day are free, no payment or key needed.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "api_key": {
            "description": "Factline API key (fl_live_...) from get_trial_key: pass it here right after you get one, no reconnect needed",
            "type": "string"
          },
          "licence_plate": {
            "description": "Dutch licence plate, e.g. GT-722-F",
            "type": "string"
          }
        },
        "required": [
          "licence_plate"
        ],
        "type": "object"
      },
      "name": "nl_apk_alert"
    },
    {
      "description": "Free. Use when the user asks how reliable a car model is, or which used car to buy: facts for the model in the Netherlands from RDW data: APK (MOT) defect rate vs the average of all models, the 10 most common APK defects, recalls with component and risk, share with an open recall, share with an illogical (rolled-back) odometer, cars registered. Covers ~450 common passenger-car models.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "make": {
            "description": "Car make, e.g. Volkswagen",
            "type": "string"
          },
          "model": {
            "description": "Model, e.g. Golf",
            "type": "string"
          }
        },
        "required": [
          "make",
          "model"
        ],
        "type": "object"
      },
      "name": "nl_car_model"
    },
    {
      "description": "Use when the user asks whether a Dutch neighbourhood or postcode is safe: police-registered crime per 1,000 residents vs the national rate, split into burglary, bicycle theft, vehicle crime, violence and vandalism, with counts and a ratio. Input: Dutch postcode or CBS buurt code. Source: Politie open data, CBS. Costs 0.003 USDC via x402, or 2 credits of a Factline API key. The first 5 paid-tool calls a day are free, no payment or key needed.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "api_key": {
            "description": "Factline API key (fl_live_...) from get_trial_key: pass it here right after you get one, no reconnect needed",
            "type": "string"
          },
          "code": {
            "description": "Alternative: CBS neighbourhood code, e.g. BU05182245",
            "type": "string"
          },
          "postcode": {
            "description": "Any Dutch postcode in the neighbourhood, e.g. 2517AS",
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "nl_crime"
    },
    {
      "description": "Use when the user asks for the energy label of a Dutch home: the officially registered label (A++++ to G), registration and expiry date, building type and energy index, or a clear 'none registered'. Input: postcode + house number. Source: RVO EP-Online, the Dutch national register. Costs 0.005 USDC via x402, or 3 credits of a Factline API key. The first 5 paid-tool calls a day are free, no payment or key needed.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "addition": {
            "description": "Optional house number addition",
            "type": "string"
          },
          "api_key": {
            "description": "Factline API key (fl_live_...) from get_trial_key: pass it here right after you get one, no reconnect needed",
            "type": "string"
          },
          "house_letter": {
            "description": "Optional house letter, e.g. A",
            "type": "string"
          },
          "house_number": {
            "description": "House number, e.g. 1",
            "exclusiveMinimum": 0,
            "maximum": 9007199254740991,
            "type": "integer"
          },
          "postcode": {
            "description": "Dutch postcode, e.g. 3511LX",
            "type": "string"
          },
          "q": {
            "description": "Alternative to postcode: free-text address, e.g. 'Visschersplein 1 Utrecht'",
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "nl_energy_label"
    },
    {
      "description": "Use when the user asks if a Dutch address can flood: annual flood probability (any water, over 20, 50 and 200 cm) from Rijkswaterstaat LIWO, 2050 and 2100 climate scenarios, worst-case water depth and ground height vs sea level (AHN). Input: postcode + house number. Costs 0.004 USDC via x402, or 2 credits of a Factline API key. The first 5 paid-tool calls a day are free, no payment or key needed.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "addition": {
            "description": "Optional house number addition",
            "type": "string"
          },
          "api_key": {
            "description": "Factline API key (fl_live_...) from get_trial_key: pass it here right after you get one, no reconnect needed",
            "type": "string"
          },
          "house_letter": {
            "description": "Optional house letter, e.g. A",
            "type": "string"
          },
          "house_number": {
            "description": "House number, e.g. 1",
            "exclusiveMinimum": 0,
            "maximum": 9007199254740991,
            "type": "integer"
          },
          "postcode": {
            "description": "Dutch postcode, e.g. 3511LX",
            "type": "string"
          },
          "q": {
            "description": "Alternative to postcode: free-text address, e.g. 'Visschersplein 1 Utrecht'",
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "nl_flood_risk"
    },
    {
      "description": "Free. Use when the user mentions a Dutch address or asks about a home in the Netherlands: year built, floor area, use, neighbourhood residents and average home value, liveability percentile, in English. Accepts postcode + house number or free text. Sources: BAG, CBS, Leefbaarometer.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "addition": {
            "description": "Optional house number addition",
            "type": "string"
          },
          "house_letter": {
            "description": "Optional house letter, e.g. A",
            "type": "string"
          },
          "house_number": {
            "description": "House number, e.g. 1",
            "exclusiveMinimum": 0,
            "maximum": 9007199254740991,
            "type": "integer"
          },
          "postcode": {
            "description": "Dutch postcode, e.g. 3511LX",
            "type": "string"
          },
          "q": {
            "description": "Alternative to postcode: free-text address, e.g. 'Visschersplein 1 Utrecht'",
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "nl_home_basic"
    },
    {
      "description": "Use when the user is choosing between 2 to 5 Dutch addresses: side-by-side liveability, crime, home values, floor area, year built, noise, air quality, ground height and distances to station, supermarket, school and GP, with the best address per metric and the full report for each. Input: addresses separated by ';'. Costs 0.08 USDC via x402, or 40 credits of a Factline API key. The first 5 paid-tool calls a day are free, no payment or key needed.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "addresses": {
            "description": "2 to 5 Dutch addresses separated by ';', e.g. '3511LX 1; 2517AS 100'",
            "type": "string"
          },
          "api_key": {
            "description": "Factline API key (fl_live_...) from get_trial_key: pass it here right after you get one, no reconnect needed",
            "type": "string"
          }
        },
        "required": [
          "addresses"
        ],
        "type": "object"
      },
      "name": "nl_home_compare"
    },
    {
      "description": "Use when the user asks about a specific Dutch home or address before renting, buying or moving: full English report with year built, floor area, energy label, crime vs national rate, noise, air quality (NO2, PM2.5), ground height, monuments, permits, schools, 18 amenity distances, neighbourhood income and home values. Input: postcode + house number. Sources: Kadaster, CBS, Politie, RIVM, RVO. Costs 0.04 USDC via x402, or 20 credits of a Factline API key. The first 5 paid-tool calls a day are free, no payment or key needed.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "addition": {
            "description": "Optional house number addition",
            "type": "string"
          },
          "api_key": {
            "description": "Factline API key (fl_live_...) from get_trial_key: pass it here right after you get one, no reconnect needed",
            "type": "string"
          },
          "house_letter": {
            "description": "Optional house letter, e.g. A",
            "type": "string"
          },
          "house_number": {
            "description": "House number, e.g. 1",
            "exclusiveMinimum": 0,
            "maximum": 9007199254740991,
            "type": "integer"
          },
          "postcode": {
            "description": "Dutch postcode, e.g. 3511LX",
            "type": "string"
          },
          "q": {
            "description": "Alternative to postcode: free-text address, e.g. 'Visschersplein 1 Utrecht'",
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "nl_home_report"
    },
    {
      "description": "Use when the user asks what homes cost in a Dutch area: average home value (WOZ) in the neighbourhood with its trend, plus actual average sale prices per year in the municipality vs the national average. Context for an asking price, not a valuation of one home. Input: postcode or CBS buurt code. Source: CBS, Kadaster. Costs 0.003 USDC via x402, or 2 credits of a Factline API key. The first 5 paid-tool calls a day are free, no payment or key needed.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "api_key": {
            "description": "Factline API key (fl_live_...) from get_trial_key: pass it here right after you get one, no reconnect needed",
            "type": "string"
          },
          "code": {
            "description": "Alternative: CBS neighbourhood code, e.g. BU05182245",
            "type": "string"
          },
          "postcode": {
            "description": "Any Dutch postcode in the neighbourhood, e.g. 2517AS",
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "nl_house_prices"
    },
    {
      "description": "Use when you need to know if a Dutch company is bankrupt or in suspension of payments: live check in the Centraal Insolventieregister (Rechtspraak) with active and ended cases, court, case number, dates, administrator and claims deadline. Legal entities only. Input: KvK number or company name. Costs 0.01 USDC via x402, or 5 credits of a Factline API key. The first 5 paid-tool calls a day are free, no payment or key needed.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "api_key": {
            "description": "Factline API key (fl_live_...) from get_trial_key: pass it here right after you get one, no reconnect needed",
            "type": "string"
          },
          "kvk": {
            "description": "8-digit KvK number",
            "type": "string"
          },
          "name": {
            "description": "Company name",
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "nl_insolvency_check"
    },
    {
      "description": "Use when the user asks what a Dutch neighbourhood or postcode area is like: residents and age mix, housing and home values, household income, energy use, distances to 18 amenities, police-registered crime vs national rate and liveability score, in English. Input: any postcode or CBS buurt code. Sources: CBS, Politie, Leefbaarometer. Costs 0.01 USDC via x402, or 5 credits of a Factline API key. The first 5 paid-tool calls a day are free, no payment or key needed.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "api_key": {
            "description": "Factline API key (fl_live_...) from get_trial_key: pass it here right after you get one, no reconnect needed",
            "type": "string"
          },
          "code": {
            "description": "Alternative: CBS neighbourhood code, e.g. BU05182245",
            "type": "string"
          },
          "postcode": {
            "description": "Any Dutch postcode in the neighbourhood, e.g. 2517AS",
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "nl_neighbourhood"
    },
    {
      "description": "Free. Use when the user asks what a Dutch neighbourhood or postcode area is like, or whether it is safe: headline facts for a postcode: residents, average home value (WOZ) and the municipality's average sale price, share of owner-occupied homes, liveability percentile, crime per 1,000 residents vs the national rate, and distance to supermarket, GP, primary school and train station. Sources: CBS, Politie, Leefbaarometer.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "code": {
            "description": "Alternative: CBS neighbourhood code, e.g. BU05182245",
            "type": "string"
          },
          "postcode": {
            "description": "Any Dutch postcode in the neighbourhood, e.g. 2517AS",
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "nl_neighbourhood_summary"
    },
    {
      "description": "Use when you need every address in a Dutch postcode: street, house number, letter and addition, BAG id and coordinates, sorted. For address pickers, delivery and canvassing routes and data cleaning. Source: Kadaster BAG via PDOK. Costs 0.005 USDC via x402, or 3 credits of a Factline API key. The first 5 paid-tool calls a day are free, no payment or key needed.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "api_key": {
            "description": "Factline API key (fl_live_...) from get_trial_key: pass it here right after you get one, no reconnect needed",
            "type": "string"
          },
          "postcode": {
            "description": "6-character postcode, e.g. 2517AS",
            "type": "string"
          }
        },
        "required": [
          "postcode"
        ],
        "type": "object"
      },
      "name": "nl_postcode_addresses"
    },
    {
      "description": "Use when a tenant asks if their Dutch rent is too high or what the maximum rent is: estimated rent points (WWS) from floor area, energy label and neighbourhood WOZ, the likely segment (social up to 143 points, middle 144-186, free 187+) and the approximate maximum basic rent (2026 limits). An estimate with a link to the official check. Input: postcode + house number. Costs 0.01 USDC via x402, or 5 credits of a Factline API key. The first 5 paid-tool calls a day are free, no payment or key needed.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "addition": {
            "description": "Optional house number addition",
            "type": "string"
          },
          "api_key": {
            "description": "Factline API key (fl_live_...) from get_trial_key: pass it here right after you get one, no reconnect needed",
            "type": "string"
          },
          "house_letter": {
            "description": "Optional house letter, e.g. A",
            "type": "string"
          },
          "house_number": {
            "description": "House number, e.g. 1",
            "exclusiveMinimum": 0,
            "maximum": 9007199254740991,
            "type": "integer"
          },
          "postcode": {
            "description": "Dutch postcode, e.g. 3511LX",
            "type": "string"
          },
          "q": {
            "description": "Alternative to postcode: free-text address, e.g. 'Visschersplein 1 Utrecht'",
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "nl_rent_check"
    },
    {
      "description": "Free. Use when the user asks about schools near a Dutch address or postcode, or is moving with children: the nearest primary and secondary schools, with distance, denomination, pupils, the share of pupils reaching the target reading and maths level on the end-of-primary test (vs national), and secondary exam pass rates per track (vmbo/havo/vwo). Also the nearest daycare (0 to 4) and after-school care (4 to 12) with registered places. Sources: DUO, Landelijk Register Kinderopvang.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "postcode": {
            "description": "Dutch postcode, e.g. 3511LX or 3511",
            "type": "string"
          }
        },
        "required": [
          "postcode"
        ],
        "type": "object"
      },
      "name": "nl_schools_near"
    },
    {
      "description": "Free. Use when the user gives a Dutch licence plate or asks about a specific car in the Netherlands: make, model, age, fuel, Euro class, APK (MOT) expiry, insurance, open recall, RDW odometer verdict and a risk level. Source: RDW.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "licence_plate": {
            "description": "Dutch licence plate, e.g. GT-722-F",
            "type": "string"
          }
        },
        "required": [
          "licence_plate"
        ],
        "type": "object"
      },
      "name": "nl_vehicle_basic"
    },
    {
      "description": "Use when the user is choosing between 2 or 3 Dutch used cars: plates side by side with make, model, age, APK expiry, insurance, open recall, odometer verdict, import and taxi history, catalogue price, CO2 and power, the best per metric and red flags. Input: Dutch licence plates. Source: RDW. Costs 0.004 USDC via x402, or 2 credits of a Factline API key. The first 5 paid-tool calls a day are free, no payment or key needed.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "api_key": {
            "description": "Factline API key (fl_live_...) from get_trial_key: pass it here right after you get one, no reconnect needed",
            "type": "string"
          },
          "plates": {
            "description": "2 or 3 plates separated by ';', e.g. GT722F;G941RB",
            "type": "string"
          }
        },
        "required": [
          "plates"
        ],
        "type": "object"
      },
      "name": "nl_vehicle_compare"
    },
    {
      "description": "Use when the user asks about a specific Dutch car or licence plate, for example before buying it used: make, model, APK expiry and full inspection history with defects, insurance, open recalls, RDW odometer verdict, import/taxi/export history, specs, CO2, catalogue price and risk flags, in English. Input: Dutch licence plate. Source: RDW. Costs 0.02 USDC via x402, or 10 credits of a Factline API key. The first 5 paid-tool calls a day are free, no payment or key needed.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "api_key": {
            "description": "Factline API key (fl_live_...) from get_trial_key: pass it here right after you get one, no reconnect needed",
            "type": "string"
          },
          "licence_plate": {
            "description": "Dutch licence plate, e.g. GT-722-F",
            "type": "string"
          }
        },
        "required": [
          "licence_plate"
        ],
        "type": "object"
      },
      "name": "nl_vehicle_report"
    },
    {
      "description": "Use when screening a list of up to 25 names for politically exposed persons in one call (0.0012 USDC per name): top 3 possible matches per name with positions and status. For customer-base and CRM re-screening. Costs 0.03 USDC via x402, or 15 credits of a Factline API key. The first 5 paid-tool calls a day are free, no payment or key needed.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "api_key": {
            "description": "Factline API key (fl_live_...) from get_trial_key: pass it here right after you get one, no reconnect needed",
            "type": "string"
          },
          "names": {
            "description": "Names separated by ';'",
            "type": "string"
          }
        },
        "required": [
          "names"
        ],
        "type": "object"
      },
      "name": "pep_batch"
    },
    {
      "description": "Use when you must check whether a person is a politically exposed person (PEP) for AML/KYC: heads of state and government, ministers of every country, central bank governors, MEPs and national MPs of the EU, EEA, UK, US and Switzerland, current or former (default 5 years). Fuzzy matching with positions, country and dates. Pairs with sanctions screening. Costs 0.005 USDC via x402, or 3 credits of a Factline API key. The first 5 paid-tool calls a day are free, no payment or key needed.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "api_key": {
            "description": "Factline API key (fl_live_...) from get_trial_key: pass it here right after you get one, no reconnect needed",
            "type": "string"
          },
          "birth_year": {
            "description": "Birth year, e.g. 1967",
            "type": "string"
          },
          "country": {
            "description": "ISO country, e.g. NL",
            "type": "string"
          },
          "name": {
            "description": "Full name, e.g. Mark Rutte",
            "type": "string"
          }
        },
        "required": [
          "name"
        ],
        "type": "object"
      },
      "name": "pep_screen"
    },
    {
      "description": "Use when you need to send an e-invoice or check if a company can receive one: looks the company up in the Peppol Directory by VAT number, company number (Belgian KBO, French SIREN, Dutch KvK...) or name, and returns its Peppol participant ids and accepted documents (invoice, credit note, self-billing, orders). Belgium requires Peppol B2B e-invoicing since 2026; France requires e-invoice receipt from 2026-09. Costs 0.003 USDC via x402, or 2 credits of a Factline API key. The first 5 paid-tool calls a day are free, no payment or key needed.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "api_key": {
            "description": "Factline API key (fl_live_...) from get_trial_key: pass it here right after you get one, no reconnect needed",
            "type": "string"
          },
          "country": {
            "description": "ISO country, e.g. BE, FR",
            "type": "string"
          },
          "id": {
            "description": "Or a company number (Belgian KBO, French SIREN, Dutch KvK) or Peppol id such as 0208:0400378485",
            "type": "string"
          },
          "name": {
            "description": "Or a company name (with country)",
            "type": "string"
          },
          "vat": {
            "description": "EU VAT number, e.g. BE0400378485",
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "peppol_lookup"
    },
    {
      "description": "Use when you need to check a phone number from any country: valid and possible against allocated ranges, E.164 and national format, country, and line type (mobile, landline, VoIP, toll-free, premium) with an SMS-capable hint. National numbers need a country, e.g. 0612345678 with country=NL. Costs 0.003 USDC via x402, or 2 credits of a Factline API key. The first 5 paid-tool calls a day are free, no payment or key needed.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "api_key": {
            "description": "Factline API key (fl_live_...) from get_trial_key: pass it here right after you get one, no reconnect needed",
            "type": "string"
          },
          "country": {
            "description": "ISO country for national numbers, e.g. NL",
            "type": "string"
          },
          "phone": {
            "description": "Phone number, e.g. +31612345678",
            "type": "string"
          }
        },
        "required": [
          "phone"
        ],
        "type": "object"
      },
      "name": "phone_verify"
    },
    {
      "description": "Use when a crypto service sends to or receives from a self-hosted wallet and must document its checks (EU AMLR, Travel Rule files): screens the wallet against OFAC-listed addresses, the claimed owner against EU, UN, UK and US sanctions and PEP, and checks the company register for businesses. Returns no_hits, review or block_review with list versions and a signed receipt. Input: wallet, owner, optional owner_type, birth_year, country. Costs 0.02 USDC via x402, or 10 credits of a Factline API key. The first 5 paid-tool calls a day are free, no payment or key needed.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "api_key": {
            "description": "Factline API key (fl_live_...) from get_trial_key: pass it here right after you get one, no reconnect needed",
            "type": "string"
          },
          "birth_year": {
            "type": "string"
          },
          "country": {
            "type": "string"
          },
          "owner": {
            "description": "Person or company that claims the wallet",
            "type": "string"
          },
          "owner_type": {
            "enum": [
              "person",
              "company"
            ],
            "type": "string"
          },
          "wallet": {
            "type": "string"
          }
        },
        "required": [
          "wallet",
          "owner"
        ],
        "type": "object"
      },
      "name": "self_hosted_wallet_evidence"
    },
    {
      "description": "Use before an agent pays a supplier invoice: supplier in official registers; company, directors, owners and parents screened (EU, UN, UK, US sanctions, PEP); VAT match; IBAN valid, same country, on the Polish whitelist; sender email; Dutch bankruptcy; Peppol. With known_iban, a different bank account than the one on file puts it on hold. Verdict: pass, review or hold. Costs 0.08 USDC via x402, or 40 credits of a Factline API key. The first 5 paid-tool calls a day are free, no payment or key needed.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "api_key": {
            "description": "Factline API key (fl_live_...) from get_trial_key: pass it here right after you get one, no reconnect needed",
            "type": "string"
          },
          "country": {
            "description": "Supplier's ISO country, e.g. BE, NL, GB, PL",
            "type": "string"
          },
          "domain": {
            "description": "Supplier website",
            "type": "string"
          },
          "email": {
            "description": "Email address the invoice came from",
            "type": "string"
          },
          "iban": {
            "description": "IBAN the invoice asks you to pay",
            "type": "string"
          },
          "id": {
            "description": "Or the supplier's company number",
            "type": "string"
          },
          "known_iban": {
            "description": "The supplier's IBAN in your vendor master: a different IBAN on the invoice puts it on hold (changed bank details)",
            "type": "string"
          },
          "kvk": {
            "description": "Dutch KvK number: adds a bankruptcy check",
            "type": "string"
          },
          "name": {
            "description": "Supplier company name, e.g. Colruyt Group",
            "type": "string"
          },
          "vat": {
            "description": "VAT number on the invoice",
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "supplier_invoice_check"
    },
    {
      "description": "Use to verify a US listed company or SEC registrant: finds it by name, ticker or CIK and returns its SEC record (legal name, former names, tickers and exchanges, EIN, state of incorporation, industry code, business address, latest 10-K/20-F and 10-Q dates). Private US companies are not in EDGAR. Input: name, ticker or cik. Costs 0.01 USDC via x402, or 5 credits of a Factline API key. The first 5 paid-tool calls a day are free, no payment or key needed.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "api_key": {
            "description": "Factline API key (fl_live_...) from get_trial_key: pass it here right after you get one, no reconnect needed",
            "type": "string"
          },
          "cik": {
            "description": "SEC CIK number",
            "type": "string"
          },
          "name": {
            "description": "Company name, e.g. Apple",
            "type": "string"
          },
          "ticker": {
            "description": "Ticker, e.g. AAPL",
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "us_company_lookup"
    },
    {
      "description": "Use before buying from, selling to or shipping to a company, above all a Chinese or Russian one: screens the name against the US Consolidated Screening List (Commerce, State and Treasury export-control lists, without the SDN list, which the sanctions screen covers) and the DHS UFLPA Entity List (forced-labour import ban). These restrict trade, they are not asset freezes. Input: name, optional type (entity or person), threshold. Costs 0.005 USDC via x402, or 3 credits of a Factline API key. The first 5 paid-tool calls a day are free, no payment or key needed.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "api_key": {
            "description": "Factline API key (fl_live_...) from get_trial_key: pass it here right after you get one, no reconnect needed",
            "type": "string"
          },
          "name": {
            "description": "Company or person name, e.g. 'Hoshine Silicon Industry'",
            "type": "string"
          },
          "type": {
            "enum": [
              "person",
              "entity"
            ],
            "type": "string"
          }
        },
        "required": [
          "name"
        ],
        "type": "object"
      },
      "name": "us_trade_screen"
    },
    {
      "description": "Use for ongoing monitoring: the user wants to be told later or must show screening keeps running. Watches one item for 30 days, paid once, no account. kind=sanctions (a name, re-screened when EU, UN, UK or US lists change), company (COUNTRY:name or number, register checked daily) or apk (Dutch plate, daily). Alerts go to the webhook and /v1/watch/alerts with the returned token. Input: kind, value, optional webhook, label. Costs 0.05 USDC via x402, or 25 credits of a Factline API key. The first 5 paid-tool calls a day are free, no payment or key needed.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "api_key": {
            "description": "Factline API key (fl_live_...) from get_trial_key: pass it here right after you get one, no reconnect needed",
            "type": "string"
          },
          "kind": {
            "enum": [
              "sanctions",
              "company",
              "apk"
            ],
            "type": "string"
          },
          "label": {
            "type": "string"
          },
          "value": {
            "description": "Name, COUNTRY:company (e.g. IE:Ryanair) or Dutch plate",
            "type": "string"
          },
          "webhook": {
            "description": "https URL for alerts",
            "type": "string"
          }
        },
        "required": [
          "kind",
          "value"
        ],
        "type": "object"
      },
      "name": "watch_30_days"
    },
    {
      "description": "Free. Use at the start of a session or on a schedule when the user has Factline watches (from watch_30_days or a key): lists the watches and any alerts (a new sanctions match, a company status, name or address change, APK or recall change). Input: token (wt_..., returned by watch_30_days) or api_key, optional since (YYYY-MM-DD).",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "api_key": {
            "description": "Or a Factline API key (fl_live_...)",
            "type": "string"
          },
          "since": {
            "description": "Only alerts after this date, YYYY-MM-DD",
            "type": "string"
          },
          "token": {
            "description": "Watch token wt_... from watch_30_days",
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "watch_alerts"
    },
    {
      "description": "Free. Use right before paying an x402 seller: screens the payTo wallet against the OFAC list, checks that payTo is a wallet this seller lists in the x402 Bazaar or Circle catalogue (catches a swapped or injected payTo), looks up the seller's payer history, age and uptime, and checks the amount against the seller's listed price and your budget. Returns allow, review or deny with reasons and a signed verdict. Input: url of the resource, pay_to from its 402, optional amount_usd, max_usd, network, mode (strict: deny instead of review on a wallet mismatch or missing pay_to).",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "amount_usd": {
            "description": "Amount you are about to pay in USD, e.g. 0.05",
            "type": "string"
          },
          "max_usd": {
            "description": "Your budget per call in USD",
            "type": "string"
          },
          "mode": {
            "description": "strict: deny on a payTo the seller does not list or a missing pay_to",
            "enum": [
              "standard",
              "strict"
            ],
            "type": "string"
          },
          "network": {
            "description": "Network from the 402, e.g. eip155:8453",
            "type": "string"
          },
          "pay_to": {
            "description": "payTo address from the 402 challenge",
            "type": "string"
          },
          "url": {
            "description": "The x402 resource URL you are about to pay",
            "type": "string"
          }
        },
        "required": [
          "url"
        ],
        "type": "object"
      },
      "name": "x402_pay_guard"
    },
    {
      "description": "Use before an agent pays an x402 endpoint it has not used before: reads the seller's own 402 challenge, screens every payTo wallet against the OFAC list, checks the domain (age, setup), Factline's daily uptime probes and, with company, the register record and EU/UN/UK/US sanctions. Returns allow, review or deny, plus a trust-provider block (decision, score, evidence, ttl). Input: url, optional wallet, company, country. Costs 0.01 USDC via x402, or 5 credits of a Factline API key. The first 5 paid-tool calls a day are free, no payment or key needed.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "api_key": {
            "description": "Factline API key (fl_live_...) from get_trial_key: pass it here right after you get one, no reconnect needed",
            "type": "string"
          },
          "company": {
            "description": "Company behind the seller",
            "type": "string"
          },
          "country": {
            "type": "string"
          },
          "url": {
            "description": "The x402 endpoint or origin you are about to pay",
            "type": "string"
          },
          "wallet": {
            "description": "payTo wallet to screen",
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "x402_payee_check"
    },
    {
      "description": "Free. Use when looking for an x402 API to pay for a task, or to see if a seller is used and up: sellers from the Coinbase x402 Bazaar ranked by unique payers (30 days), with Factline's daily check that their endpoints answer a valid 402, speed and networks. Filter with q (e.g. sanctions, weather, search).",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "limit": {
            "type": "string"
          },
          "network": {
            "description": "e.g. solana or eip155:8453",
            "type": "string"
          },
          "q": {
            "description": "Search text, e.g. sanctions",
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "x402_sellers"
    }
  ]
}

What the leaf hashes

{"body":"bcd13803a838659383556ff05c25ebc994b16d670a33127aca2801dc4e8c1d38","id":1300354,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793403944109433,"prev":991194,"subject":"0d6669d1-3cfe-43ef-a0bd-70ae83129a85","subject_kind":"endpoint"}

Proof

Fold these into the leaf in order, hashing each sorted pair with keccak256, to reach the root of (243099 rows).

  1. 0x4bc012de57a3279f541eb125bb0a51e3e07d86d7e5c1f9634abceb3caa778776
  2. 0x3b4c8c6a6120a0d96d1b1a9771977420b8678a8e99280e862a8618d47cede8ff
  3. 0xc5c8335ef9121dfe7695231bed100b50f792186a21e9663bf8c1049f8b5bf921
  4. 0x578527829a430b727991a99e28b60403d9bfd2ee1ab68fc4e096cd666e760d01
  5. 0xcd45e7e00fef18f30518c727013a788e1f6cbd02c531396ef2216a0f227728cf
  6. 0x0f57044516a878909134666ee5bdac93105a06a9ce630a2ff67a4221fdd0a890
  7. 0x3cf89b04a03572cb62952e5b46d2de4b53ed6b73f04371421bdec33e9072e58c
  8. 0xa3ffc810dd2f76c81df53a113a3c78d5ab3f7161bdce620c902b3d9ebddcc01e
  9. 0xb92eaea4619d4f44119cf21ba30514443d2ae03ee4e08c6e32b1469b9e760d29
  10. 0x7b48841a5443bb164c317a7e794f6f7e475f8aa8d4f07bee7a5a479e7e0e688b
  11. 0x0de9b02a84a14ebd6172f6f2393596aab3218cc576d287b66eca97a7db40b2c6
  12. 0xc1a9925f6a2afcf3cdaff51f8c62b7a434f58a65a6415c4fa6b12605d2f3d816
  13. 0xec056ea330536f437d7c8a8262b1a5055dd234070d691d0d303dd85828fa5a4e
  14. 0x9ace81ddbf101c81e3033efcaf62a4f4ad2b7dc0b97b61a7adf81117108ff2f7
  15. 0xa937fac4496d1d79e24c5f12abd33388ef710185b9d82165d4b39af6bd434545
  16. 0x910a91495535ac1a9e959d27d607e185616d2d41b45bc7071c6357f426f372d8
  17. 0xffe660edb9e5c6e3449a49454634c3e7b2f9fe703e5697f723b021735647ab7e
  18. 0x30a81d8fcef4e8f9e2877c62796cfc5612fc1b251127d531dee28f8dbd5c5147
Day root
0x0826c7ad6039e06a2360ca0a4a3a4fe7f2626c6dc19f71a37599386f78b39875
Chained
0x36b4c8a1063758f0b8765fa1bdf75fa92fb543cc183add3e261880ee2bd1f822
Published
On Arc Testnet, block 69923247: 0x8704744146c6967c8abc9e9a99de4db7283b29e840922ea83a69b6fe776e6861

How to check it · This row as JSON