MCP 服务器

AstraNL Dutch counterparty check

com.astranl/counterparty-nl
商业与运营 法律与合规 公开且可连接 MCP 2025-11-25

此 MCP 可以做什么

Checks Dutch and EU counterparties against company registration, VAT, name matching, and sanctions sources, with verifiable receipts.

check_counterparty_nl
Check a Dutch or EU counterparty against official sources before your own next step, such as onboarding a supplier, paying an invoice or signing an order. Give the KvK number, the company name and the EU VAT number as your document states them. Returns verdicts, not register data: whether the KvK number has an active registration, whether the name matches a registered name, whether the VAT number is valid in VIES and whether its VIES name matches the register, EU sanctions list candidates, open questions and a check_id. Read-only, no key, no cost. AstraNL does not search the Dutch register by name; look a number up at kvk.nl. When a colleague or auditor must verify it later, call record_counterparty_check with the check_id. It does not prove who may sign for the company, who owns a bank account, solvency or reliability.
只读 可访问外部资源 幂等
输入模式
{'type': 'object', 'properties': {'city': {'type': 'string', 'maxLength': 80, 'description': 'not used; kept for compatibility, AstraNL does not search the register by name'}, 'purpose': {'type': 'string', 'maxLength': 200, 'description': 'optional: the next action you are about to take, for example approve supplier or pay invoice'}, 'kvk_number': {'type': 'string', 'maxLength': 12, 'description': 'Dutch KvK number, 8 digits, as printed on the invoice, quote or website'}, 'vat_number': {'type': 'string', 'maxLength': 20, 'description': 'EU VAT number with country prefix, for example NL810433941B01'}, 'company_name': {'type': 'string', 'maxLength': 200, 'description': 'the company name exactly as your document or contact states it'}}, 'minProperties': 1, 'additionalProperties': False}
record_counterparty_check
Make a result of check_counterparty_nl verifiable by others: records its digest in the AstraNL signed public log and returns a reference that a colleague, approver or auditor can check later with verify_astranl, without trusting AstraNL. Works only for a check AstraNL produced in the last 48 hours. The public record holds no name, number or address of the checked party. Calling it again returns the same reference.
幂等
输入模式
{'type': 'object', 'required': ['check_id'], 'properties': {'check_id': {'type': 'string', 'maxLength': 40, 'description': 'the check_id returned by check_counterparty_nl, ASTRA-K- and 16 characters'}}, 'additionalProperties': False}
verify_astranl
Verify any AstraNL reference without a key. Returns two separate layers: integrity (payload hash, Ed25519 signature, Merkle inclusion, recomputed live) and claim (what exactly is attested, by whom, from which source, when, under which method, with which validity limits and current status VALID/EXPIRED/REVOKED/UNKNOWN). Integrity never implies the claim is true for your purpose; you apply your own acceptance rules. Tells you when to re-verify and how to consume a VALID receipt for a next action. Read-only, deterministic, no model in the path.
只读 幂等
输入模式
{'type': 'object', 'required': ['ref'], 'properties': {'ref': {'type': 'string', 'maxLength': 64, 'minLength': 4, 'description': 'Any AstraNL reference: action receipt ASTRA-A-..., policy receipt ASTRA-R-..., consumption ASTRA-C-..., log event alk_..., attestation att_/atr_..., ingress receipt RCPT-n'}}, 'additionalProperties': False}
已添加
verify_astranl
2026年10月1日 02:40
已添加
record_counterparty_check
2026年10月1日 02:40
已添加
check_counterparty_nl
2026年10月1日 02:40