Limitguard Lead Verification
by api.limitguard.ai · remote · no sign-in to list tools · v2.11.9 · published by ai.limitguard.api
Lead validation over MCP: KVK/KBO register, EU VAT, sanctions and email checks with sources.
10 tools: 6 change things and 4 only read.
Scanned Oct 21, 2026
- Deletes or cancels0Claude Code: deny
- Can't be undone0Claude Code: ask
- Changes things6Claude Code: ask: see these tools
- Only reads4Claude Code: allow: see these tools
1 check matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http limitguard https://api.limitguard.ai/mcp --header 'Authorization: <your-authorization>'Findings
Matches of fixed checks, with the text they matched.
The server marks "get_compliance_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 name "get_compliance_report" says "get": a word for reading.
Tools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
10 tools
Changes things 6Claude Code: ask
check_agent_walletCheck a counterparty agent's EVM wallet in one call: OFAC SDN digital-currency address list match, Base USDC and ETH balance, ERC-8004 identity registration (and, given an agent id…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 Check a counterparty agent's EVM wallet in one call: OFAC SDN digital-currency address list match, Base USDC and ETH balance, ERC-8004 identity registration (and, given an agent id, that agent's owner and payment wallet) and open ERC-8004 feedback, which is not scored. $0.005 by x402, $0.75 with an API key. Returns verdict (block, review or no_findings) with verdict_reasons, the components that ran and those that did not (with a reason), and sanctions, balance, identity, reputation, wallet_risk and domain (when a domain is given, else not_requested), each with its own status (ok, unavailable or error). Reputation and domain are descriptive only and never change the verdict. Base only; EVM addresses only. Args: wallet: EVM wallet address (0x + 40 hex characters) agent_id: Optional ERC-8004 agentId (decimal) the wallet claims domain: Optional website domain the agent gives for itself (e.g. example.com)
Annotations the server declares
- title: Check agent wallet
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
check_entityCompany check via the Limitguard API.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 Company check via the Limitguard API. Company check on a business: sanctions screening and country risk, the Dutch KVK register for an NL company, and the website domain when you send it. Returns trust_score (0-100, 100 = best), trust_level (high means low risk), cluster, recommendation, confidence, top_factors and sources_checked. Args: entity_name: Full legal name of the entity country: ISO 3166-1 alpha-2 country code (e.g., NL, BE, DE) kvk_number: Optional Dutch KVK registration number (8 digits) domain: Optional company website domain
Annotations the server declares
- title: Check entity trust
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
get_compliance_reportPer-entity report built from one real check.1 finding
Why it is in this group
- The name "get_compliance_report" says "get": a word for reading.
- The server marks it as not read-only (readOnlyHint: false).
Findings
- Warn
The server marks "get_compliance_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 name "get_compliance_report" says "get": a word for reading.
Description, as the server wrote it Per-entity report built from one real check. Registry identity, sanctions and PEP screens, domain signals, risk score with the rules that fired, correlations, every finding as a ranked action, a per-source status table (ok / unavailable / error) and a report hash. Args: entity_name: Full legal name (with country; omit when sending check_id) country: ISO 3166-1 alpha-2 country code kvk_number: Optional Dutch KVK number (8 digits) cbe_number: Optional Belgian CBE number (0XXX.XXX.XXX or 10 digits) vat_number: Optional EU VAT number domain: Optional company website domain iban: Optional IBAN (never stored raw) wallet_address: Optional crypto wallet address (format check only) wallet_chain: Optional chain for wallet_address (eth, base, btc, sol, ...) check_id: Id of a check from an earlier report, instead of identifiers
Annotations the server declares
- title: Get compliance report
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
sanctions_screenSanctions screen against the local OFAC SDN, EU and UN lists: matched entries.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 Sanctions screen against the local OFAC SDN, EU and UN lists: matched entries. Each match carries its list, entry id, entry type, programmes, countries, listing date and match score (exact normalised or word-order-insensitive name match only). A name match is not a determination. Rejected calls are not charged. Args: name: Company or person name to screen country: Optional ISO 3166-1 alpha-2 country code (orders matches, never excludes one)
Annotations the server declares
- title: Sanctions screen
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
verify_leadVerify a NL/BE sales lead against the registers in one call: real and active, VAT, mail server, IBAN, sanctions; a 0-100 lead score.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 Verify a NL/BE sales lead against the registers in one call: real and active, VAT, mail server, IBAN, sanctions; a 0-100 lead score. $0.10 by x402, $0.27 with an API key. Returns verdict (real_active, real_inactive, not_found, ambiguous, unverifiable or sanctioned), lead_score, the company as registered, and the vat, iban, sanctions and email checks, with flags and one finding per flag or mismatch, a dormant-shell score and, when a target is given, the ICP fit (information only). An input not given is not checked and never counts against the lead. The IBAN account holder is not checked. BE needs company_number. Rejected calls are not charged. Args: country: NL (KVK) or BE (KBO) company_number: 8-digit KVK number or 10-digit KBO/CBE number name: Company name as the lead gave it (NL without a number) vat_number: EU VAT number, checked with VIES email: Contact email; only its domain is checked domain: Company website domain address: {street, house_number, postcode, city} the lead gave iban: IBAN the lead gave; only country, bank, BIC and last 4 are returned phone: Phone number the lead gave; compared with the numbers the company publishes, never echoed. Rejected until website phone lookup is switched on target_industries: Ideal-customer industries: SBI/NACE code prefixes ("62") or whole words; information only target_size: Ideal-customer employee range {min, max}, both inclusive; information only
Annotations the server declares
- title: Verify a sales lead
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
verify_walletScreen a wallet: OFAC SDN address match, on-chain signals (contract check, native and USDC balance, transaction count, first seen on Base) and named risk rules with up to 3 advice …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 Screen a wallet: OFAC SDN address match, on-chain signals (contract check, native and USDC balance, transaction count, first seen on Base) and named risk rules with up to 3 advice items. On Base, also reports any ERC-8004 agent the wallet owns and its open on-chain reputation as descriptive signals, never scored. $0.005 by x402, $0.11 with an API key. Returns risk_score, risk_level, sanctions (hit, lists, as_of), signals with their source, the names of signals that could not be read (unavailable), rules_fired, advice and linked_entities (entities you checked that were linked to this wallet). On Base, also erc8004_agent_ids and erc8004_reputation (open ERC-8004 feedback, descriptive only -- never folded into risk_score or advice). Accepts EVM (0x...) and Solana (base58) addresses. The sanctions match alone is free: the wallet_sanctions_preview tool. Rejected calls are not charged. Args: wallet_address: Blockchain wallet address chain_id: CAIP-2 chain ID (default: eip155:8453 for Base); base, eth, solana, btc also accepted
Annotations the server declares
- title: Screen wallet
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
Only reads 4Claude Code: allow
get_risk_scoreQuick risk score from sanctions screening and country risk only.No findings
Why it is in this group
- The name "get_risk_score" says "get": a word for reading.
Description, as the server wrote it Quick risk score from sanctions screening and country risk only. Faster than check_entity: no register or domain lookup. Use when you only need basic risk evaluation. Returns risk_score (0-100, 100 = riskiest), risk_level (high means high risk, the reverse of check_entity's trust_level), sanctions_match and fatf_status; no recommendation or factors. Args: entity_name: Full legal name of the entity country: ISO 3166-1 alpha-2 country code
Annotations the server declares
- title: Get risk score
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
get_trust_scoreLook up your own most recent trust score for an entity you checked before, from your stored checks: score, level, when, which product, trend and how many checks are on record.No findings
Why it is in this group
- The name "get_trust_score" says "get": a word for reading.
Description, as the server wrote it Look up your own most recent trust score for an entity you checked before, from your stored checks: score, level, when, which product, trend and how many checks are on record. Runs no new check and calls no data source. Free ($0). Returns status "found" with trust_score, trust_level, checked_at, source_product, trend and checks_on_record, or status "not_found" with a next_step. Only checks made with your key (via check_entity, or REST entity/KYB checks) are read; another key's or workspace's never are (#946). Signed in with OAuth, your workspace's checks are read instead (#1062). Args: entity_id: The entity name, as you sent it to check_entity
Annotations the server declares
- title: Get stored trust score
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
sanctions_previewFree yes/no sanctions preview against the local OFAC SDN, EU and UN lists.No findings
Why it is in this group
- The name "sanctions_preview" says "preview": a word for reading.
Description, as the server wrote it Free yes/no sanctions preview against the local OFAC SDN, EU and UN lists. Returns possible_match, lists_checked, list_dates and list_note only, never an entry. 10 per caller per UTC day, shared with POST /v1/sanctions/preview, and key holders share a ceiling of 50 per IP; the matched entries are the sanctions_screen tool. Free ($0). Args: name: Company or person name to screen country: Optional ISO 3166-1 alpha-2 country code (orders matches, never excludes one)
Annotations the server declares
- title: Sanctions preview
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
wallet_sanctions_previewFree yes/no check of a wallet address against the OFAC SDN list.No findings
Why it is in this group
- The name "wallet_sanctions_preview" says "preview": a word for reading.
Description, as the server wrote it Free yes/no check of a wallet address against the OFAC SDN list. Returns wallet_address (canonical), chain_id, sanctioned, lists, as_of (the list's publication date), status (ok or stale), source and upgrade, which names the full wallet screen (the verify_wallet tool, $0.005 by x402, $0.11 with an API key: balances, wallet age and activity, contract and delegation checks, a risk score with rules and advice, linked entities, ERC-8004 identity and reputation). 10 per caller per UTC day, shared with POST /v1/sanctions/wallet and separate from the name preview; key holders share a ceiling of 50 per IP. Free ($0). Args: wallet_address: Blockchain wallet address chain_id: CAIP-2 chain ID (default: eip155:8453 for Base); base, eth, solana, btc also accepted
Annotations the server declares
- title: Wallet sanctions check
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
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 2.11.9. Values in angle brackets are yours to fill in.
claude mcp add --transport http limitguard https://api.limitguard.ai/mcp --header 'Authorization: <your-authorization>'Run in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__limitguard__get_trust_score",
"mcp__limitguard__get_risk_score",
"mcp__limitguard__sanctions_preview",
"mcp__limitguard__wallet_sanctions_preview"
],
"ask": [
"mcp__limitguard__check_entity",
"mcp__limitguard__verify_wallet",
"mcp__limitguard__get_compliance_report",
"mcp__limitguard__sanctions_screen",
"mcp__limitguard__check_agent_wallet",
"mcp__limitguard__verify_lead"
],
"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 limitguard. Review it before you use it.