Factline KYC, KYB and agent payments
EU company check, sanctions, PEP, bulk screening, watches, x402 payee check, wallet evidence.
使うべきか
品質と安全性
検出事項(1)
- LOWeu_law_lookup 内
ツール定義とプロトコルへの準拠に関する自動分析に基づいています。
コンテキストコスト
これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。
インストール
ワンクリックインストール
これを `claude_desktop_config.json` ファイルに追加してください:
{
"mcpServers": {
"factline-kyc": {
"url": "https://factline.dev/mcp/kyc"
}
}
}リモートエンドポイント
https://factline.dev/mcp/kycstreamable-httpできること
ツール一覧
ツール(25)
🟢x402_sellers(q, network, limit)
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).
入力スキーマ
{
"type": "object",
"properties": {
"q": {
"description": "Search text, e.g. sanctions",
"type": "string"
},
"network": {
"description": "e.g. solana or eip155:8453",
"type": "string"
},
"limit": {
"type": "string"
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_trial_key(email, name, use_case)
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.
入力スキーマ
{
"type": "object",
"properties": {
"email": {
"type": "string",
"description": "The user's work email (ask them)"
},
"name": {
"description": "Person or company name",
"type": "string"
},
"use_case": {
"type": "string"
}
},
"required": [
"email"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢eu_exchange_rates(base, symbols, date, amount)
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.
入力スキーマ
{
"type": "object",
"properties": {
"base": {
"type": "string"
},
"symbols": {
"type": "string"
},
"date": {
"type": "string"
},
"amount": {
"type": "string"
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢eu_law_lookup(celex)
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).
入力スキーマ
{
"type": "object",
"properties": {
"celex": {
"type": "string",
"description": "CELEX number or a citation like 'Regulation (EU) 2016/679'"
}
},
"required": [
"celex"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢eu_vat_check(vat)
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.
入力スキーマ
{
"type": "object",
"properties": {
"vat": {
"type": "string",
"description": "EU VAT number with country prefix, e.g. IE6388047V"
}
},
"required": [
"vat"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢eu_sanctions_screen(name, type, birth_year)
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.
入力スキーマ
{
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Person or organisation name, e.g. 'Vladimir Putin'"
},
"type": {
"type": "string",
"enum": [
"person",
"entity"
]
},
"birth_year": {
"description": "4-digit birth year",
"type": "string"
}
},
"required": [
"name"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢eu_sanctions_batch(names, type)
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.
入力スキーマ
{
"type": "object",
"properties": {
"names": {
"type": "string",
"description": "1 to 25 names separated by ';', e.g. 'Vladimir Putin; Factline'"
},
"type": {
"type": "string",
"enum": [
"person",
"entity"
]
}
},
"required": [
"names"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢company_lookup(name, id, country)
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, 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.
入力スキーマ
{
"type": "object",
"properties": {
"name": {
"description": "Company name, e.g. ASML Holding",
"type": "string"
},
"id": {
"description": "LEI, SIREN, Norwegian organisation number, UK company number, Irish CRO number or Estonian registry code",
"type": "string"
},
"country": {
"description": "ISO country, e.g. GB, IE, EE, FR, NO, NL",
"type": "string"
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢eu_sanctions_wallet(address)
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.
入力スキーマ
{
"type": "object",
"properties": {
"address": {
"type": "string",
"description": "Crypto wallet address, e.g. 0x0330070fd38ec3bb94f58fa55d40368271e9e54a"
}
},
"required": [
"address"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢eu_tenders_search(country, cpv, q, deadline_within, min_value, ...)
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.
入力スキーマ
{
"type": "object",
"properties": {
"country": {
"type": "string",
"description": "Country code, e.g. NL, DE, or EU"
},
"cpv": {
"description": "CPV codes, e.g. 72",
"type": "string"
},
"q": {
"description": "Keywords",
"type": "string"
},
"deadline_within": {
"type": "string"
},
"min_value": {
"type": "string"
},
"limit": {
"type": "string"
}
},
"required": [
"country"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢nl_insolvency_check(kvk, name)
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.
入力スキーマ
{
"type": "object",
"properties": {
"kvk": {
"description": "8-digit KvK number",
"type": "string"
},
"name": {
"description": "Company name",
"type": "string"
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢pep_screen(name, birth_year, country)
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.
入力スキーマ
{
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Full name, e.g. Mark Rutte"
},
"birth_year": {
"description": "Birth year, e.g. 1967",
"type": "string"
},
"country": {
"description": "ISO country, e.g. NL",
"type": "string"
}
},
"required": [
"name"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢pep_batch(names)
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.
入力スキーマ
{
"type": "object",
"properties": {
"names": {
"type": "string",
"description": "Names separated by ';'"
}
},
"required": [
"names"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢domain_check(domain)
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.
入力スキーマ
{
"type": "object",
"properties": {
"domain": {
"type": "string",
"description": "Domain, URL or email address, e.g. example.nl"
}
},
"required": [
"domain"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢iban_check(iban)
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.
入力スキーマ
{
"type": "object",
"properties": {
"iban": {
"type": "string",
"description": "IBAN, e.g. NL91ABNA0417164300"
}
},
"required": [
"iban"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢peppol_lookup(vat, id, name, country)
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.
入力スキーマ
{
"type": "object",
"properties": {
"vat": {
"description": "EU VAT number, e.g. BE0400378485",
"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"
},
"country": {
"description": "ISO country, e.g. BE, FR",
"type": "string"
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢supplier_invoice_check(name, id, country, vat, iban, ...)
Use before an agent pays a supplier invoice: checks the supplier in official registers, screens it, its directors, owners and parent companies against EU, UN, UK and US sanctions and PEP, matches the VAT number, checks the IBAN (valid, same country as the company, registered on the Polish VAT whitelist), the sender's email domain and Dutch bankruptcy, and whether the supplier is on Peppol. One verdict: pass, review or hold. Costs 0.08 USDC via x402, or 40 credits of a Factline API key.
入力スキーマ
{
"type": "object",
"properties": {
"name": {
"description": "Supplier company name, e.g. Colruyt Group",
"type": "string"
},
"id": {
"description": "Or the supplier's company number",
"type": "string"
},
"country": {
"description": "Supplier's ISO country, e.g. BE, NL, GB, PL",
"type": "string"
},
"vat": {
"description": "VAT number on the invoice",
"type": "string"
},
"iban": {
"description": "IBAN the invoice asks you to pay",
"type": "string"
},
"email": {
"description": "Email address the invoice came from",
"type": "string"
},
"domain": {
"description": "Supplier website",
"type": "string"
},
"kvk": {
"description": "Dutch KvK number: adds a bankruptcy check",
"type": "string"
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢eu_eori_check(eori)
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.
入力スキーマ
{
"type": "object",
"properties": {
"eori": {
"type": "string",
"description": "EORI number, e.g. IE6388047V"
}
},
"required": [
"eori"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢email_verify(email)
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.
入力スキーマ
{
"type": "object",
"properties": {
"email": {
"type": "string",
"description": "Email address, e.g. [email protected]"
}
},
"required": [
"email"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢phone_verify(phone, country)
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.
入力スキーマ
{
"type": "object",
"properties": {
"phone": {
"type": "string",
"description": "Phone number, e.g. +31612345678"
},
"country": {
"description": "ISO country for national numbers, e.g. NL",
"type": "string"
}
},
"required": [
"phone"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢self_hosted_wallet_evidence(wallet, owner, owner_type, birth_year, country)
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.
入力スキーマ
{
"type": "object",
"properties": {
"wallet": {
"type": "string"
},
"owner": {
"type": "string",
"description": "Person or company that claims the wallet"
},
"owner_type": {
"type": "string",
"enum": [
"person",
"company"
]
},
"birth_year": {
"type": "string"
},
"country": {
"type": "string"
}
},
"required": [
"wallet",
"owner"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢watch_30_days(kind, value, webhook, label)
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.
入力スキーマ
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"sanctions",
"company",
"apk"
]
},
"value": {
"type": "string",
"description": "Name, COUNTRY:company (e.g. IE:Ryanair) or Dutch plate"
},
"webhook": {
"description": "https URL for alerts",
"type": "string"
},
"label": {
"type": "string"
}
},
"required": [
"kind",
"value"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢x402_payee_check(url, wallet, company, country)
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.
入力スキーマ
{
"type": "object",
"properties": {
"url": {
"description": "The x402 endpoint or origin you are about to pay",
"type": "string"
},
"wallet": {
"description": "payTo wallet to screen",
"type": "string"
},
"company": {
"description": "Company behind the seller",
"type": "string"
},
"country": {
"type": "string"
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢eu_company_check(name, id, country, vat, domain, ...)
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.
入力スキーマ
{
"type": "object",
"properties": {
"name": {
"description": "Company name, e.g. ASML Holding",
"type": "string"
},
"id": {
"description": "Or a company number: LEI, UK company number, Irish CRO, SIREN, etc.",
"type": "string"
},
"country": {
"description": "ISO country, e.g. NL, GB, IE, FR",
"type": "string"
},
"vat": {
"description": "EU VAT number: checked in VIES and matched to the registered name",
"type": "string"
},
"domain": {
"description": "Company website or email domain",
"type": "string"
},
"kvk": {
"description": "Dutch KvK number: adds a bankruptcy check",
"type": "string"
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢kyc_check(name, email, phone, country, vat, ...)
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.
入力スキーマ
{
"type": "object",
"properties": {
"name": {
"description": "Person or company name",
"type": "string"
},
"email": {
"type": "string"
},
"phone": {
"type": "string"
},
"country": {
"type": "string"
},
"vat": {
"description": "EU VAT number",
"type": "string"
},
"company": {
"description": "Company name to verify",
"type": "string"
},
"company_country": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"person",
"entity"
]
},
"birth_year": {
"type": "string"
},
"pep": {
"description": "PEP check of a person name, default true",
"type": "string",
"enum": [
"true",
"false"
]
},
"kvk": {
"description": "Dutch KvK number: adds a bankruptcy check",
"type": "string"
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}コミュニティ
エビデンス