Company and domain due diligence for agents: registers, sanctions, VAT, domain. Pay per call.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Business registry lookup: company identity and legal entity enrichment as structured JSON, by registration number, name and country, VAT number, LEI or website. Registers of Czechia, Norway, the United Kingdom, France, Finland, US SEC filers and every LEI holder. Use when: you need the official identity of one company.
the register id: CZ ICO, NO organisation number, GB company number, US ticker or CIK, or a registration number for other countries
a 20-character legal entity identifier (any country; no country needed); when the entity's own register is one we read, that record is returned with the LEI and its parents
a VAT number of a country whose number contains the register id (CZ, FR, FI, NO); no country needed. Send exactly one of id, name, lei, vat or domain
a company name; several matches return a short candidate list with ids
a company website as a bare domain: the legal entity is identified from the site's legal notice, certificate and public records and its register record returned; not charged when the site cannot be tied to one company
two-letter ISO country code; required with id or name; CZ, NO, GB and US have their own official register, any other country is looked up in GLEIF
Business registry lookup: company identity and legal entity enrichment as structured JSON, by registration number, name and country, VAT number, LEI or website. Registers of Czechia, Norway, the United Kingdom, France, Finland, US SEC filers and every LEI holder. Use when: you need the official identity of one company.
| Argument | Type | Description |
|---|---|---|
| id | string | the register id: CZ ICO, NO organisation number, GB company number, US ticker or CIK, or a registration number for other countries |
| lei | string | a 20-character legal entity identifier (any country; no country needed); when the entity's own register is one we read, that record is returned with the LEI and its parents |
| vat | string | a VAT number of a country whose number contains the register id (CZ, FR, FI, NO); no country needed. Send exactly one of id, name, lei, vat or domain |
| name | string | a company name; several matches return a short candidate list with ids |
| domain | string | a company website as a bare domain: the legal entity is identified from the site's legal notice, certificate and public records and its register record returned; not charged when the site cannot be tied to one company |
| country | string | two-letter ISO country code; required with id or name; CZ, NO, GB and US have their own official register, any other country is looked up in GLEIF |
{
"type": "object",
"properties": {
"id": {
"type": "string",
"maxLength": 40,
"description": "the register id: CZ ICO, NO organisation number, GB company number, US ticker or CIK, or a registration number for other countries"
},
"lei": {
"type": "string",
"pattern": "^[A-Za-z0-9]{18}[0-9]{2}$",
"description": "a 20-character legal entity identifier (any country; no country needed); when the entity's own register is one we read, that record is returned with the LEI and its parents"
},
"vat": {
"type": "string",
"maxLength": 20,
"description": "a VAT number of a country whose number contains the register id (CZ, FR, FI, NO); no country needed. Send exactly one of id, name, lei, vat or domain"
},
"name": {
"type": "string",
"maxLength": 120,
"minLength": 2,
"description": "a company name; several matches return a short candidate list with ids"
},
"domain": {
"type": "string",
"maxLength": 253,
"description": "a company website as a bare domain: the legal entity is identified from the site's legal notice, certificate and public records and its register record returned; not charged when the site cannot be tied to one company"
},
"country": {
"type": "string",
"pattern": "^[A-Za-z]{2}$",
"description": "two-letter ISO country code; required with id or name; CZ, NO, GB and US have their own official register, any other country is looked up in GLEIF"
}
},
"additionalProperties": false
}German commercial register (Handelsregister) record: register court and number, legal form, status, seat, capital, representation rules, officers and history. Slower (about a minute). Use when: the company is German. Not offered on Solana: pay on Base or Polygon.
| Argument | Type | Description |
|---|---|---|
| city | string | seat city |
| name* | string | company name words as in the register |
| limit | integer | most company records to return and pay for (1 to 5, default 1) |
| match | string | how the words of the name combine |
| legal_form | string | legal form, e.g. GmbH or AG |
| postal_code | string | seat postal code |
| register_type | string | restrict to one register |
| register_court | string | the register court, e.g. München |
| include_deleted | boolean | also return companies deleted from the register |
Domain intelligence and phishing-risk signals: domain age and expiry (RDAP/WHOIS), registrar, DNS (A, AAAA, MX, NS, TXT, CAA), SPF, DMARC and MTA-STS, DNSSEC, TLS certificate issuer and expiry, hosting network, and the company behind the site when it can be identified. Use when: deciding whether a domain, link or email sender is legitimate, or checking a domain's mail setup.
| Argument | Type | Description |
|---|---|---|
| domain* | string | a public domain name such as example.com (an internationalised name is accepted); no URL, port or IP address |
{
"type": "object",
"required": [
"domain"
],
"properties": {
"domain": {
"type": "string",
"maxLength": 253,
"description": "a public domain name such as example.com (an internationalised name is accepted); no URL, port or IP address"
}
},
"additionalProperties": false
}Company due diligence in one call (KYB, vendor and supplier checks). Give a company name and country, a registry number, an EU VAT number, an LEI or a website domain. Returns the legal entity from the official register, LEI and parents, VAT validity, a sanctions screen (OFAC, EU, UK) of the company and officers, and the domain's age, mail and TLS, as signed pass/warn/fail checks with sources. Use when you must decide whether to trust an unknown company.
| Argument | Type | Description |
|---|---|---|
| id | string | a register number of the country (CZ ICO, NO organisation number, GB company number, FR SIREN or SIRET, FI business id, DE register number such as HRB 12345, US CIK or ticker); use with country |
| lei | string | a 20-character legal entity identifier |
| vat | string | an EU or Norwegian VAT number with its country prefix, such as CZ45274649 |
| name | string | a company name; use with country. Send exactly one of name, id, lei, vat or domain |
| domain | string | the company's website as a bare domain such as example.com; the legal entity is identified from the site's own legal notice, its certificate and public records, and the call is not charged when it cannot be |
| country | string | two-letter ISO country code; required with name or id; not used with lei, vat or domain |
Free. Tell the people who run this service what worked, what failed or what you miss: a bug, an idea or a thanks. A person reads it. No payment, no account; limited to a few messages an hour.
| Argument | Type | Description |
|---|---|---|
| kind | string | |
| route | string | the route the feedback is about, if any |
| contact | string | optional: how we can reach you or your operator |
| message* | string | what worked, what did not, what you miss; no secrets or private data |
{
"type": "object",
"required": [
"message"
],
"properties": {
"kind": {
"enum": [
"bug",
"idea",
"praise",
"other"
],
"type": "string",
"default": "other"
},
"route": {
"enum": [
"due-diligence",
"company",
"company-de",
"domain",
"network",
"sanctions",
"vat"
],
"type": "string",
"description": "the route the feedback is about, if any"
},
"contact": {
"type": "string",
"maxLength": 200,
"description": "optional: how we can reach you or your operator"
},
"message": {
"type": "string",
"maxLength": 2000,
"description": "what worked, what did not, what you miss; no secrets or private data"
}
},
"additionalProperties": false
}IP address or AS number lookup: holder, announced prefixes, origin AS, country, RPKI status and abuse contact. Use when: you need to know who runs an IP address or network.
| Argument | Type | Description |
|---|---|---|
| ip | string | a public IPv4 or IPv6 address |
| asn | string | an AS number such as AS3333 or 3333 |
{
"type": "object",
"properties": {
"ip": {
"type": "string",
"maxLength": 45,
"description": "a public IPv4 or IPv6 address"
},
"asn": {
"type": "string",
"maxLength": 12,
"description": "an AS number such as AS3333 or 3333"
}
},
"additionalProperties": false
}Free check before you pay: whether a request can be answered and what it would return. Up to three matching companies (name, number, country, status), whether a VAT number's format and check digit are valid, whether a domain resolves and has mail servers, and the price. Use when: you are not sure the paid call will find the right subject.
| Argument | Type | Description |
|---|---|---|
| input | object | the body you would send to that route |
| route* | string | the route to preview: due-diligence, company, company-de, domain, network, sanctions, vat |
{
"type": "object",
"required": [
"route"
],
"properties": {
"input": {
"type": "object",
"description": "the body you would send to that route"
},
"route": {
"type": "string",
"description": "the route to preview: due-diligence, company, company-de, domain, network, sanctions, vat"
}
},
"additionalProperties": false
}Sanctions screening against the official OFAC SDN, EU consolidated and UK lists with fuzzy name matching, a score per hit, the programme and each list's publication date. Screen a company or person name (optionally with country or birth date) or a crypto wallet address. Use when: screening a counterparty, supplier, customer or wallet before a payment or onboarding. A screening aid, not a compliance determination.
| Argument | Type | Description |
|---|---|---|
| kind | string | restrict matches to organisations (and vessels, aircraft) or to persons |
| name | string | the company or person name to screen; send either name or wallet |
| lists | array | the lists to screen (default: all four) |
| wallet | string | a crypto wallet address; an exact match against the digital-currency addresses listed on the OFAC SDN list (EVM addresses are case-insensitive) |
| country | string | the subject's country (ISO code or English name); reported as corroboration of each hit, it does not change the score |
| threshold | number | the lowest match score reported; 1.00 is an exact name or alias, 0.98 the same words in another order, lower scores are fuzzy matches |
| birth_date | string |
EU VAT number validation against the official VIES service: valid or invalid, registered name and address, an optional check of the name you expect and, if you give your own VAT number, a VIES consultation number to keep as audit evidence. Norwegian numbers are checked against the Norwegian VAT register. Use when: onboarding an EU supplier or customer, or before paying an invoice.
| Argument | Type | Description |
|---|---|---|
| vat* | string | the VAT number to check, with its country prefix (an EU member state, or NO for Norway), e.g. CZ45274649 |
| expect_name | string | the company name you expect; the answer says whether it matches the registered name (match, partial, mismatch or not_checked) |
| requester_vat | string | your own EU VAT number: VIES then issues a consultation number, proof of the check to keep as audit evidence (not for Norwegian numbers) |
{
"type": "object",
"required": [
"vat"
],
"properties": {
"vat": {
"type": "string",
"maxLength": 20,
"description": "the VAT number to check, with its country prefix (an EU member state, or NO for Norway), e.g. CZ45274649"
},
"expect_name": {
"type": "string",
"maxLength": 200,
"description": "the company name you expect; the answer says whether it matches the registered name (match, partial, mismatch or not_checked)"
},
"requester_vat": {
"type": "string",
"maxLength": 20,
"description": "your own EU VAT number: VIES then issues a consultation number, proof of the check to keep as audit evidence (not for Norwegian numbers)"
}
},
"additionalProperties": false
}Free: verify the signature and content hash of an agosint answer.
| Argument | Type | Description |
|---|---|---|
| record* | object | one record exactly as delivered, receipt included |
{
"type": "object",
"required": [
"record"
],
"properties": {
"record": {
"type": "object",
"description": "one record exactly as delivered, receipt included"
}
},
"additionalProperties": false
}| register_number | string | exact register number |
{
"type": "object",
"required": [
"name"
],
"properties": {
"city": {
"type": "string",
"maxLength": 80,
"description": "seat city"
},
"name": {
"type": "string",
"maxLength": 120,
"minLength": 2,
"description": "company name words as in the register"
},
"limit": {
"type": "integer",
"default": 1,
"maximum": 5,
"minimum": 1,
"description": "most company records to return and pay for (1 to 5, default 1)"
},
"match": {
"enum": [
"all",
"any",
"exact"
],
"type": "string",
"default": "all",
"description": "how the words of the name combine"
},
"legal_form": {
"type": "string",
"maxLength": 80,
"description": "legal form, e.g. GmbH or AG"
},
"postal_code": {
"type": "string",
"maxLength": 10,
"description": "seat postal code"
},
"register_type": {
"enum": [
"HRA",
"HRB",
"GnR",
"PR",
"VR",
"GsR"
],
"type": "string",
"description": "restrict to one register"
},
"register_court": {
"type": "string",
"maxLength": 80,
"description": "the register court, e.g. München"
},
"include_deleted": {
"type": "boolean",
"default": false,
"description": "also return companies deleted from the register"
},
"register_number": {
"type": "string",
"maxLength": 40,
"description": "exact register number"
}
},
"additionalProperties": false
}| include |
| array |
| the sections wanted; default all five |
{
"type": "object",
"properties": {
"id": {
"type": "string",
"maxLength": 40,
"description": "a register number of the country (CZ ICO, NO organisation number, GB company number, FR SIREN or SIRET, FI business id, DE register number such as HRB 12345, US CIK or ticker); use with country"
},
"lei": {
"type": "string",
"pattern": "^[A-Za-z0-9]{18}[0-9]{2}$",
"description": "a 20-character legal entity identifier"
},
"vat": {
"type": "string",
"maxLength": 20,
"description": "an EU or Norwegian VAT number with its country prefix, such as CZ45274649"
},
"name": {
"type": "string",
"maxLength": 120,
"minLength": 2,
"description": "a company name; use with country. Send exactly one of name, id, lei, vat or domain"
},
"domain": {
"type": "string",
"maxLength": 253,
"description": "the company's website as a bare domain such as example.com; the legal entity is identified from the site's own legal notice, its certificate and public records, and the call is not charged when it cannot be"
},
"country": {
"type": "string",
"pattern": "^[A-Za-z]{2}$",
"description": "two-letter ISO country code; required with name or id; not used with lei, vat or domain"
},
"include": {
"type": "array",
"items": {
"enum": [
"registry",
"lei",
"vat",
"sanctions",
"domain"
],
"type": "string"
},
"maxItems": 5,
"description": "the sections wanted; default all five"
}
},
"additionalProperties": false
}| a person's birth date, YYYY or YYYY-MM-DD; reported as corroboration of each hit |
{
"type": "object",
"properties": {
"kind": {
"enum": [
"entity",
"person",
"any"
],
"type": "string",
"default": "any",
"description": "restrict matches to organisations (and vessels, aircraft) or to persons"
},
"name": {
"type": "string",
"maxLength": 200,
"minLength": 2,
"description": "the company or person name to screen; send either name or wallet"
},
"lists": {
"type": "array",
"items": {
"enum": [
"ofac-sdn",
"eu-fsf",
"uk-sl",
"un-sc"
],
"type": "string"
},
"description": "the lists to screen (default: all four)"
},
"wallet": {
"type": "string",
"maxLength": 120,
"description": "a crypto wallet address; an exact match against the digital-currency addresses listed on the OFAC SDN list (EVM addresses are case-insensitive)"
},
"country": {
"type": "string",
"maxLength": 60,
"description": "the subject's country (ISO code or English name); reported as corroboration of each hit, it does not change the score"
},
"threshold": {
"type": "number",
"default": 0.85,
"maximum": 1,
"minimum": 0.7,
"description": "the lowest match score reported; 1.00 is an exact name or alias, 0.98 the same words in another order, lower scores are fuzzy matches"
},
"birth_date": {
"type": "string",
"pattern": "^\\d{4}(-\\d{2}-\\d{2})?$",
"description": "a person's birth date, YYYY or YYYY-MM-DD; reported as corroboration of each hit"
}
},
"additionalProperties": false
}