Factline
by snefhew · remote · no sign-in to list tools · v0.9.0 · published by GitHub user snefhew
EU company dossiers, sanctions and PEP checks, x402 pay guard; Dutch homes and cars.
53 tools: 1 do something that can't be undone, 44 change things and 8 only read.
Scanned Oct 21, 2026
- Deletes or cancels0Claude Code: deny
- Can't be undone1Claude Code: ask: see these tools
- Changes things44Claude Code: ask: see these tools
- Only reads8Claude Code: allow: see these tools
9 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http factline https://factline.dev/mcpFindings
Matches of fixed checks, with the text they matched.
- Warnx402_pay_guard
The server marks "x402_pay_guard" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The name "x402_pay_guard" says "pay": a word that usually means money moves, which cannot be taken back.
- Warnget_trial_key
The server marks "get_trial_key" as not read-only (readOnlyHint: false), and its words say it reads.
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The name "get_trial_key" says "get": a word for reading.
The server marks "nl_neighbourhood_summary" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The input takes a statement or command to run (input.code), which can change anything it can reach.
The server marks "buy_full_address_report" as not read-only (readOnlyHint: false), and its words say it reads.
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The description's first verb is "return": a word for reading.
The server marks "buy_full_vehicle_report" as not read-only (readOnlyHint: false), and its words say it reads.
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The description's first verb is "return": a word for reading.
- Warnnl_neighbourhood
The server marks "nl_neighbourhood" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The input takes a statement or command to run (input.code), which can change anything it can reach.
Show 3 more findingsShow fewer
- Warnnl_energy_label
The server marks "nl_energy_label" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The name "nl_energy_label" says "label": a word for a change.
- Warnnl_crime
The server marks "nl_crime" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The input takes a statement or command to run (input.code), which can change anything it can reach.
- Warnnl_house_prices
The server marks "nl_house_prices" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The input takes a statement or command to run (input.code), which can change anything it can reach.
Tools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
53 tools
Can't be undone 1Claude Code: ask
x402_pay_guardFree.1 finding
Why it is in this group
- The name "x402_pay_guard" says "pay": a word that usually means money moves, which cannot be taken back.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "x402_pay_guard" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The name "x402_pay_guard" says "pay": a word that usually means money moves, which cannot be taken back.
Description, as the server wrote it 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).
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
- idempotentHint: true
- title: Check an x402 payment before paying (free)
Changes things 44Claude Code: ask
buy_full_address_reportReturns a secure payment link (iDEAL or card, via Dodo Payments, EUR 2.95 incl.1 finding
Why it is in this group
- The description's first verb is "return": a word for reading.
- The server marks it as not read-only (readOnlyHint: false).
Findings
- Warn
The server marks "buy_full_address_report" as not read-only (readOnlyHint: false), and its words say it reads.
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The description's first verb is "return": a word for reading.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- openWorldHint: true
- idempotentHint: false
- title: Buy the full address report
buy_full_vehicle_reportReturns a secure payment link (iDEAL or card, via Dodo Payments, EUR 1.95 incl.1 finding
Why it is in this group
- The description's first verb is "return": a word for reading.
- The server marks it as not read-only (readOnlyHint: false).
Findings
- Warn
The server marks "buy_full_vehicle_report" as not read-only (readOnlyHint: false), and its words say it reads.
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The description's first verb is "return": a word for reading.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- openWorldHint: true
- idempotentHint: false
- title: Buy the full vehicle report
china_supplier_checkUse before paying or importing from a Chinese supplier: checks the 18-character Unified Social Credit Code (checksum, registration authority, entity type, province; Xinjiang is fla…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Use before paying or importing from a Chinese supplier: checks the 18-character Unified Social Credit Code (checksum, registration authority, entity type, province; Xinjiang is flagged), and screens the company against EU, UN, UK and US OFAC sanctions, the BIS Entity List, Military End User list and the DHS UFLPA Entity 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.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
- idempotentHint: true
- title: Check a Chinese supplier: USCC, sanctions, Entity List, UFLPA (paid)
company_dossierUse for due diligence before a deal, contract or large payment: the full European company check (national registers in 10 countries plus GLEIF, directors, owners and parents screen…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Use for due diligence before a deal, contract or large payment: the full European company check (national 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 and result where published, 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.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
- idempotentHint: true
- title: Company dossier: due diligence on a European company (paid)
company_healthUse 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 inso…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
- idempotentHint: true
- title: Company financial health signals (paid)
domain_checkUse 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), …No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
- idempotentHint: true
- title: Check a website or domain (paid)
email_verifyUse 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, fre…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
- idempotentHint: true
- title: Verify an email address (paid)
eu_company_checkUse 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 an…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
- idempotentHint: true
- title: One-call European company check (paid)
eu_eori_checkUse 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 whe…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
- idempotentHint: true
- title: Check an EU EORI customs number (paid)
eu_exchange_ratesFree.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
- idempotentHint: true
- title: ECB exchange rates (free)
eu_sanctions_batchUse 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.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
- idempotentHint: true
- title: Screen up to 25 names against EU, UN, UK and US sanctions (paid)
eu_sanctions_screenUse 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 alias…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
- idempotentHint: true
- title: Screen a name against EU, UN, UK and US sanctions (paid)
eu_sanctions_walletUse 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…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
- idempotentHint: true
- title: Screen a crypto wallet against OFAC sanctions (paid)
eu_vat_checkUse 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, w…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
- idempotentHint: true
- title: Validate an EU VAT number (paid)
get_trial_keyFree.1 finding
Why it is in this group
- The name "get_trial_key" says "get": a word for reading.
- The server marks it as not read-only (readOnlyHint: false).
Findings
- Warn
The server marks "get_trial_key" as not read-only (readOnlyHint: false), and its words say it reads.
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The name "get_trial_key" says "get": a word for reading.
Description, as the server wrote it Free. Use when the user wants to use Factline's paid checks without a crypto wallet: issues a trial API key (2,000 credits a month) to the user's work email. Ask the user for their email first; never invent one. One key per email.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- openWorldHint: true
- idempotentHint: false
- title: Get a free Factline trial key
iban_checkUse 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, Ra…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
- idempotentHint: true
- title: Validate an IBAN (paid)
kyc_checkUse when onboarding a customer, seller or business and you want one answer: screens the name against EU, UN, UK and US sanctions and the PEP list, verifies email and phone, and che…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Use when onboarding a customer, seller or business and you want one answer: 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.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
- idempotentHint: true
- title: One-call KYC onboarding check (paid)
nl_address_batchUse 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…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
- idempotentHint: true
- title: Enrich up to 10 Dutch addresses (paid)
nl_address_reverseUse 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…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
- idempotentHint: true
- title: Reverse geocode Dutch coordinates (paid)
nl_apk_alertUse 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 ins…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
- idempotentHint: true
- title: APK expiry of a Dutch vehicle (paid)
nl_car_modelFree.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
- idempotentHint: true
- title: Dutch car model reliability (free)
nl_crimeUse 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, vehi…1 finding
Why it is in this group
- The input takes a statement or command to run (input.code), which can change anything it can reach.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "nl_crime" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The input takes a statement or command to run (input.code), which can change anything it can reach.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
- idempotentHint: true
- title: Crime in a Dutch neighbourhood (paid)
nl_energy_labelUse 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 …1 finding
Why it is in this group
- The name "nl_energy_label" says "label": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "nl_energy_label" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The name "nl_energy_label" says "label": a word for a change.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
- idempotentHint: true
- title: Energy label of a Dutch home (paid)
nl_flood_riskUse 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-…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
- idempotentHint: true
- title: Flood risk for a Dutch address (paid)
nl_home_basicFree.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
- idempotentHint: true
- title: Dutch address facts (free)
nl_home_reportUse 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 rat…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
- idempotentHint: true
- title: Dutch address report (paid)
nl_house_pricesUse 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 v…1 finding
Why it is in this group
- The input takes a statement or command to run (input.code), which can change anything it can reach.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "nl_house_prices" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The input takes a statement or command to run (input.code), which can change anything it can reach.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
- idempotentHint: true
- title: Dutch house prices for a postcode (paid)
nl_insolvency_checkUse 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, cou…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
- idempotentHint: true
- title: Check if a Dutch company is bankrupt (paid)
nl_neighbourhoodUse 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,…1 finding
Why it is in this group
- The input takes a statement or command to run (input.code), which can change anything it can reach.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "nl_neighbourhood" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The input takes a statement or command to run (input.code), which can change anything it can reach.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
- idempotentHint: true
- title: Dutch neighbourhood profile (paid)
nl_neighbourhood_summaryFree.1 finding
Why it is in this group
- The input takes a statement or command to run (input.code), which can change anything it can reach.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "nl_neighbourhood_summary" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The input takes a statement or command to run (input.code), which can change anything it can reach.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
- idempotentHint: true
- title: Dutch neighbourhood summary (free)
nl_postcode_addressesUse when you need every address in a Dutch postcode: street, house number, letter and addition, BAG id and coordinates, sorted.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
- idempotentHint: true
- title: All addresses in a Dutch postcode (paid)
nl_rent_checkUse 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 segm…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
- idempotentHint: true
- title: Rent points estimate for a Dutch home (paid)
nl_schools_nearFree.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
- idempotentHint: true
- title: Dutch schools near a postcode (free)
nl_vehicle_basicFree.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
- idempotentHint: true
- title: Dutch licence plate check (free)
nl_vehicle_reportUse 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, …No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
- idempotentHint: true
- title: Dutch vehicle report (paid)
pep_batchUse 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.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
- idempotentHint: true
- title: Screen up to 25 names for PEP status (paid)
pep_screenUse 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 …No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
- idempotentHint: true
- title: Screen a person for PEP status (paid)
phone_verifyUse 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, …No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
- idempotentHint: true
- title: Validate a phone number (paid)
self_hosted_wallet_evidenceUse 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…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
- idempotentHint: true
- title: Self-hosted wallet evidence record (paid)
supplier_invoice_checkUse 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,…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
- idempotentHint: true
- title: Check a supplier invoice before paying, incl. changed bank details (paid)
us_trade_screenUse 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 Tr…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
- idempotentHint: true
- title: Screen against US export-control lists and the UFLPA Entity List (paid)
watch_30_daysUse when the user wants to be told later: watches one item for 30 days, paid once, no account.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Use when the user wants to be told later: watches one item for 30 days, paid once, no account. kind=sanctions (a name, re-screened when the EU, UN, UK or US lists change), company (COUNTRY:name or number, register checked daily) or apk (Dutch plate, daily). Alerts go to webhook and to /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.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
- idempotentHint: true
- title: Watch a name, company or plate for 30 days (paid)
x402_payee_checkUse 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, se…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
- idempotentHint: true
- title: Should I pay this x402 seller? (paid)
x402_sellersFree.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it 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).
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
- idempotentHint: true
- title: x402 sellers with uptime (free)
Only reads 8Claude Code: allow
company_lookupUse when you need to verify that a company exists and is active: official registers GLEIF (worldwide, incl.No findings
Why it is in this group
- The name "company_lookup" says "lookup": a word for reading.
Description, as the server wrote it Use when you need to verify that a company exists and is active: official registers GLEIF (worldwide, incl. Dutch LEI holders), 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.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
- idempotentHint: true
- title: Verify a company in official registers (paid)
eu_law_lookupFree.No findings
Why it is in this group
- The name "eu_law_lookup" says "lookup": a word for reading.
Description, as the server wrote it 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).
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
- idempotentHint: true
- title: EU law lookup (free)
eu_tenders_searchUse 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 t…No findings
Why it is in this group
- The name "eu_tenders_search" says "search": a word for reading.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
- idempotentHint: true
- title: Search open public tenders in the EU (paid)
nl_address_lookupUse 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…No findings
Why it is in this group
- The name "nl_address_lookup" says "lookup": a word for reading.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
- idempotentHint: true
- title: Validate and geocode a Dutch address (paid)
nl_home_compareUse 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 …No findings
Why it is in this group
- The name "nl_home_compare" says "compare": a word for reading.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
- idempotentHint: true
- title: Compare Dutch addresses (paid)
nl_vehicle_compareUse 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 histo…No findings
Why it is in this group
- The name "nl_vehicle_compare" says "compare": a word for reading.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
- idempotentHint: true
- title: Compare 2-3 Dutch vehicles (paid)
peppol_lookupUse 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,…No findings
Why it is in this group
- The name "peppol_lookup" says "lookup": a word for reading.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
- idempotentHint: true
- title: Check if a company is on Peppol e-invoicing (paid)
us_company_lookupUse 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 inco…No findings
Why it is in this group
- The name "us_company_lookup" says "lookup": a word for reading.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
- idempotentHint: true
- title: Look up a US public company in SEC EDGAR (paid)
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 0.9.0. Values in angle brackets are yours to fill in.
claude mcp add --transport http factline https://factline.dev/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__factline__eu_law_lookup",
"mcp__factline__nl_home_compare",
"mcp__factline__nl_address_lookup",
"mcp__factline__us_company_lookup",
"mcp__factline__company_lookup",
"mcp__factline__nl_vehicle_compare",
"mcp__factline__eu_tenders_search",
"mcp__factline__peppol_lookup"
],
"ask": [
"mcp__factline__nl_home_basic",
"mcp__factline__x402_pay_guard",
"mcp__factline__x402_sellers",
"mcp__factline__get_trial_key",
"mcp__factline__eu_exchange_rates",
"mcp__factline__nl_vehicle_basic",
"mcp__factline__nl_neighbourhood_summary",
"mcp__factline__nl_car_model",
"mcp__factline__nl_schools_near",
"mcp__factline__buy_full_address_report",
"mcp__factline__buy_full_vehicle_report",
"mcp__factline__nl_home_report",
"mcp__factline__nl_neighbourhood",
"mcp__factline__nl_vehicle_report",
"mcp__factline__nl_address_reverse",
"mcp__factline__nl_energy_label",
"mcp__factline__nl_crime",
"mcp__factline__eu_vat_check",
"mcp__factline__eu_sanctions_screen",
"mcp__factline__eu_sanctions_batch",
"mcp__factline__us_trade_screen",
"mcp__factline__china_supplier_check",
"mcp__factline__nl_apk_alert",
"mcp__factline__nl_postcode_addresses",
"mcp__factline__eu_sanctions_wallet",
"mcp__factline__nl_insolvency_check",
"mcp__factline__pep_screen",
"mcp__factline__pep_batch",
"mcp__factline__domain_check",
"mcp__factline__iban_check",
"mcp__factline__supplier_invoice_check",
"mcp__factline__eu_eori_check",
"mcp__factline__email_verify",
"mcp__factline__phone_verify",
"mcp__factline__self_hosted_wallet_evidence",
"mcp__factline__watch_30_days",
"mcp__factline__x402_payee_check",
"mcp__factline__company_dossier",
"mcp__factline__company_health",
"mcp__factline__eu_company_check",
"mcp__factline__kyc_check",
"mcp__factline__nl_address_batch",
"mcp__factline__nl_rent_check",
"mcp__factline__nl_flood_risk",
"mcp__factline__nl_house_prices"
],
"deny": []
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as factline. Review it before you use it.
