be.co-legal/legal-lookup
Measured conclusion: Deep-tested. L2 outcome: tools_ok.
Belgian and Dutch legal & fiscal lookups (KBO, VIES, ECLI, Justel, EUR-Lex) plus scans. 14 tools.
| Author | be.co-legal |
|---|---|
| Access | remote |
| Publisher key required | No |
| Measured state | Deep-tested |
| L1 liveness | alive |
| L1 latency | 212 ms |
| Last measured | 2026-10-24 |
Add to your agent
Copy this into your MCP client config:
{
"mcpServers": {
"legal-lookup": {
"url": "https://agent.co-legal.be/mcp",
"transport": "streamable-http"
}
}
}
Measured tools (14)
kbo_lookupread-onlyLook up a Belgian company by its KBO/BCE enterprise number (10 digits, e.g. 0403.170.701). Returns the official name, status, legal form and start date from the public KBO register, with the source URL.
Parameters:
enterprise_number(required) — string — Belgian KBO/BCE number, 10 digits (dots/spaces ok).
Hints: read-only yes · destructive no · idempotent yes · open-world yes
vies_validateread-onlyValidate an EU VAT number against the official EU VIES service. Returns validity plus, where the member state exposes it, the registered trade name and address. Example: BE0403170701.
Parameters:
vat(required) — string — EU VAT number with country prefix, e.g. BE0403170701.
Hints: read-only yes · destructive no · idempotent yes · open-world yes
ecli_lookupread-onlyResolve a Belgian ECLI (European Case Law Identifier) to canonical public lookup URLs (EU e-Justice + Juportal) plus court metadata. Example: ECLI:BE:CASS:2020:ARR.20200101.1.
Parameters:
ecli(required) — string — A Belgian ECLI identifier.
Hints: read-only yes · destructive no · idempotent yes · open-world yes
eurlex_lookupread-onlyResolve an EU CELEX number to its canonical EUR-Lex landing URL plus metadata (sector, document type). Example: 32016R0679 (GDPR).
Parameters:
celex(required) — string — An EU CELEX number, e.g. 32016R0679.language— string — 2-letter EUR-Lex language code (default NL).
Hints: read-only yes · destructive no · idempotent yes · open-world yes
erfbelasting_tarievenread-onlyFlemish inheritance-tax (erfbelasting) rate brackets, parsed deterministically from the in-force Flemish Tax Code (VCF art. 2.7.4.1.1) — for ALL heir categories: direct line & partners, siblings, and others. Omit `categorie` to get all three; the rates come from the current official text.
Parameters:
categorie— Heir category: rechte_lijn_partners, broers_zussen or anderen. Omit for all three.
Hints: read-only yes · destructive no · idempotent yes · open-world yes
legal_lookupread-onlyResolve a Belgian legislation reference to its canonical Justel URL. Give the code (BW, WVV, WIB92, VCF, WBTW, WBE, Sw, Ger.W) and optionally the article number. Example: code=BW, article=4.71.
Parameters:
code(required) — string — Belgian legal code, e.g. BW, WVV, WIB92, VCF.article— string — Optional article number.
Hints: read-only yes · destructive no · idempotent yes · open-world yes
legal_searchread-onlyKeyword-search Belgian legislation on Justel and return a search URL plus relevant code hints, for when the exact reference is unknown.
Parameters:
keyword(required) — string — Search keyword(s) in Dutch/French.limit— integer — Max hints to return (default 5).
Hints: read-only yes · destructive no · idempotent yes · open-world yes
legal_readread-onlyFetch and clean the full text of an official Belgian or European legal document (HTML or PDF) from a URL on the allowlist of official sources (e.g. ejustice.just.fgov.be, eur-lex.europa.eu). Capped at 30,000 characters. Pair with legal_lookup / eurlex_lookup to get the URL first.
Parameters:
url(required) — string — Document URL on an allowed official domain.max_chars— integer — Max characters to return (default 30000).
Hints: read-only yes · destructive no · idempotent yes · open-world yes
nl_legal_lookupread-onlyResolve a Dutch statute reference to its wetten.overheid.nl URL. Give the code (BW4, Successiewet, Wet IB 2001, Wet OB 1968, BW6, Awb, Sr, Rv) and optionally an article. Example: code=BW4, article=4:63.
Parameters:
code(required) — string — Dutch statute short-form, e.g. BW4, Successiewet, Wet IB 2001.article— string — Optional article, e.g. 4:63.
Hints: read-only yes · destructive no · idempotent yes · open-world yes
nl_rechtspraak_lookupread-onlyResolve a Dutch ECLI to canonical case-law URLs (Rechtspraak.nl details, the free Open Data content API, and EU e-Justice). Example: ECLI:NL:HR:2021:1102.
Parameters:
ecli(required) — string — A Dutch ECLI, e.g. ECLI:NL:HR:2021:1102.
Hints: read-only yes · destructive no · idempotent yes · open-world yes
iban_validateread-onlyValidate an IBAN's structure (ISO 13616 check digits via MOD-97 + country length). Pure compute; confirms well-formedness, not that the account exists or is active.
Parameters:
iban(required) — string — An IBAN, with or without spaces.
Hints: read-only yes · destructive no · idempotent yes · open-world yes
ecb_ratesread-onlyReturn the official daily ECB euro reference rate 1 EUR = X currency for a given ISO 4217 code (e.g. USD, GBP, CHF).
Parameters:
currency(required) — string — Three-letter ISO 4217 code, e.g. USD, GBP, CHF.
Hints: read-only yes · destructive no · idempotent yes · open-world yes
erfkompas_flowsread-onlyOptional metadata for the single Successiekompas inheritance intake. Start directly with be.erfkompas.step and answers={}; no questionnaire selection is needed.
Hints: read-only yes · destructive no · idempotent yes · open-world yes
erfkompas_stepread-onlyStart or continue the Successiekompas inheritance intake with answers the user confirmed and agreed to share with Successiekompas; follow the returned question and answerContract for structured fields. Returns the next question, a deterministic scan result or a secure handoff. For a possible saving before sign-in, follow estimateInput and pass estimate with explicit user confirmation and permission. The kernel supplies a numeric indication; the concrete approach is paid advice. When authenticated_continuation is returned, connect that separate OAuth profile. At intake completion, let the user review the returned intake object; then save it using successiekompas_intake with confirmed=true and continue the dossier conversation.
Parameters:
answers(required) — object — User-confirmed answers from previous questions; {} starts the intake. Preserve the types required by each returned question.flow— string — Optional compatibility field. Successiekompas is the only current intake.intent— ['string', 'null'] — Use the confirmed intent returned after the first step.estimate— object — Optional saving estimate before sign-in following the returned estimateInput. Requires user-confirmed facts and processing permission. Amounts come from the kernel; the concrete approach requires paid advice.
Hints: read-only yes · destructive no · idempotent yes · open-world yes
Measured by MCPYP probing. Untested fields are omitted, never estimated. Listing is always free; MCPYP never proxies calls or stores user tokens.