{"serverId":"mcp-registry/io.github.darthsander/agentdata-nl","tools":[{"name":"attest_settlement","fixed":{"name":"attest_settlement","description":"For a seller receiving an agent payment: verify the settlement on-chain (tx confirmed, correct recipient and amount), report the payer wallet's on-chain history, screen the provided counterparty name against the EU and UN sanctions lists, and return an Ed25519-signed attestation you keep as your audit record (verifiable offline via /.well-known/attest-keys.json). Facts and proof, never a guarantee, custody or compliance verdict. Name appears only as SHA-256.","inputSchema":{"type":"object","required":["payment","expected"],"properties":{"payer":{"type":"object","properties":{"wallet":{"type":"string","description":"the paying 0x-wallet, for on-chain history"}}},"payment":{"type":"object","required":["tx_hash"],"properties":{"network":{"type":"string","description":"CAIP-2; defaults to eip155:8453 (Base)"},"tx_hash":{"type":"string","description":"0x-prefixed 64-hex settlement tx hash from the PAYMENT-RESPONSE"}}},"purpose":{"type":"string","description":"optional non-identifying label"},"expected":{"type":"object","required":["pay_to"],"properties":{"amount":{"type":"string","description":"expected amount in atomic USDC (6 decimals); optional"},"pay_to":{"type":"string","description":"0x-address that should have received the payment (yours)"}}},"counterparty_name":{"type":"string","description":"name you know for the payer; screened against EU/UN sanctions, stored only as SHA-256"}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: true (inferred from the name).","verify":true}],"tokensBefore":403,"tokensAfter":403},{"name":"check_ch_company","fixed":{"name":"check_ch_company","description":"Official Swiss company check from the Zefix register (Central Business Name Index, federal). Look up by UID (exact, e.g. CHE-105.909.036) or search by name (up to 5 candidates). Returns official name with translations, legal form, register status (active / in liquidation / deleted) with deletion date, legal seat, purpose, address and last SHAB publication date, with a direct link to the cantonal register excerpt. Companies only.","inputSchema":{"type":"object","properties":{"uid":{"type":"string","description":"Swiss UID (exact), e.g. CHE-105.909.036; provide this or 'name'"},"name":{"type":"string","description":"Company name to search (up to 5 candidates)"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":198,"tokensAfter":198},{"name":"check_crypto_firm","fixed":{"name":"check_crypto_firm","description":"Is this crypto firm authorised in the EU? One call checks the official ESMA interim MiCA register of authorised crypto-asset service providers (CASPs) AND the EU non-compliant entities warning list. Search by firm name, platform website/domain, or LEI. Returns authorisation details (member state, competent authority, authorised services, LEI) and any warning-list entries, each with an official source reference. Firms only. Counterparty/scam check before sending funds to a platform.","inputSchema":{"type":"object","properties":{"lei":{"type":"string","description":"20-character LEI code (ISO 17442)"},"name":{"type":"string","description":"Crypto firm name; provide this, 'website' or 'lei'"},"website":{"type":"string","description":"Platform website or domain (strongest match)"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":232,"tokensAfter":232},{"name":"check_crypto_signal","fixed":{"name":"check_crypto_signal","description":"Cheap polling for a crypto opportunity you already retrieved: send signal_id plus the known_version you hold and receive whether it changed, the current version, live status (ACTIVE/STALE/INVALIDATED), which change types occurred (score, classification, entry zone, economics, execution blockers, status) and next_check_after — no full signal payload. Built for monitoring an active opportunity over time. Market intelligence only: no execution, no custody, no position sizing. Paid per request.","inputSchema":{"type":"object","required":["signal_id"],"properties":{"signal_id":{"type":"string","pattern":"^sig_[0-9a-f]{12}$","description":"Signal id you are monitoring, e.g. 'sig_a1b2c3d4e5f6'"},"known_version":{"type":"integer","minimum":1,"description":"Version you already hold, e.g. 4; omit it and the answer is always changed=true (no baseline). Poll no earlier than the next_check_after you received."}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":275,"tokensAfter":275},{"name":"check_cz_company","fixed":{"name":"check_cz_company","description":"Official Czech company check from the ARES register (Ministry of Finance, open data). Look up by ICO (exact) or search by name (up to 5 candidates). Returns official name, legal form code, VAT number (DIC), establishment and termination dates, registered address and NACE activity codes, with a direct ARES link. Companies only.","inputSchema":{"type":"object","properties":{"ico":{"type":"string","description":"8-digit Czech ICO (exact), e.g. 45274649; provide this or 'name'"},"name":{"type":"string","description":"Company name to search (up to 5 candidates)"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":170,"tokensAfter":170},{"name":"check_dutch_insolvency","fixed":{"name":"check_dutch_insolvency","description":"Dutch bankruptcy and insolvency check against the official Central Insolvency Register of the Dutch judiciary (rechtspraak.nl). Detects published bankruptcy (faillissement), suspension of payments (surseance) and debt restructuring procedures. Best results with a KVK number. Returns procedure type, status, dates, court and a source reference per match, with explicit match-basis and coverage notes. A no_match means no publication in the currently searchable register. Companies only.","inputSchema":{"type":"object","required":["name"],"properties":{"city":{"type":"string"},"name":{"type":"string","description":"Company name"},"kvk_number":{"type":"string","description":"8-digit KVK number (strongly recommended; exact match)"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":218,"tokensAfter":218},{"name":"check_fi_company","fixed":{"name":"check_fi_company","description":"Official Finnish company check from the YTJ register (PRH open data). Look up by Business ID (exact) or search by name (up to 5 candidates). Returns the current official name, company form, main business line, registration/end dates, address, raw YTJ status codes and registered company situations such as bankruptcy or liquidation, with a direct YTJ link. Companies only.","inputSchema":{"type":"object","properties":{"name":{"type":"string","description":"Company name to search (up to 5 candidates)"},"business_id":{"type":"string","description":"Finnish Business ID (exact), e.g. 0112038-9; provide this or 'name'"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":185,"tokensAfter":185},{"name":"check_fr_company","fixed":{"name":"check_fr_company","description":"Official French company check from the INSEE Sirene register (French government open data). Look up by SIREN (exact) or search by name (up to 5 candidates). Returns official legal name, administrative status (active/ceased), legal form and NAF activity codes, company size category, creation/cessation dates, head-office address and SIRET, with a direct link to the official Annuaire des Entreprises. Companies only; no director or officer data.","inputSchema":{"type":"object","properties":{"name":{"type":"string","description":"Company name to search (up to 5 candidates)"},"siren":{"type":"string","description":"9-digit SIREN (exact), e.g. 552081317; provide this or 'name'"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":202,"tokensAfter":202},{"name":"check_fr_insolvency","fixed":{"name":"check_fr_insolvency","description":"French insolvency check against BODACC, the official bulletin of civil and commercial announcements (DILA open data). Searches collective procedures (sauvegarde, redressement, liquidation judiciaire), conciliation and professional recovery announcements by SIREN. Returns judgment nature and date, court, publication date and a direct BODACC link per announcement. A no_match means no publication in the searchable set (since 2008) — no historical clearance. Companies only.","inputSchema":{"type":"object","required":["siren"],"properties":{"siren":{"type":"string","description":"9-digit SIREN (exact match; resolve a name via check_fr_company first)"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":195,"tokensAfter":195},{"name":"check_no_company","fixed":{"name":"check_no_company","description":"Official Norwegian company check from the Enhetsregisteret (Brønnøysund Register Centre, open data). Look up by organisation number (exact) or search by name (up to 5 candidates). Returns official name, organisation form, industry code, employee count, registration date, business address and — directly from the register — bankruptcy and liquidation flags, with a direct register link. Companies only.","inputSchema":{"type":"object","properties":{"name":{"type":"string","description":"Company name to search (up to 5 candidates)"},"organisation_number":{"type":"string","description":"9-digit Norwegian organisation number (exact), e.g. 923609016; provide this or 'name'"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":200,"tokensAfter":200},{"name":"check_pl_company","fixed":{"name":"check_pl_company","description":"Polish VAT whitelist check (official Ministry of Finance register). Verifies a company's VAT status by NIP and — uniquely — whether a given bank account number (NRB) is registered to that company in the tax register: the standard Polish invoice-fraud check before paying a supplier. Returns VAT status, REGON/KRS, address, registered-account count and the official consultation confirmation id (request_id). Companies only.","inputSchema":{"type":"object","required":["nip"],"properties":{"nip":{"type":"string","description":"10-digit Polish NIP (tax id)"},"bank_account":{"type":"string","description":"Optional 26-digit account number (NRB) to verify against the tax register"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":202,"tokensAfter":202},{"name":"check_token_registry","fixed":{"name":"check_token_registry","description":"Is this crypto-asset or its issuer MiCA-notified in the EU? Searches the official ESMA interim MiCA register token lists — e-money token (EMT) issuers, asset-referenced token (ART) issuers, and notified crypto-asset white papers — by issuer name, LEI, or Digital Token Identifier (DTI). Returns issuer, home member state, competent authority, DTIs and the official white-paper URL per match. Useful before trusting a stablecoin or token sold as EU-regulated.","inputSchema":{"type":"object","properties":{"dti":{"type":"string","description":"Digital Token Identifier (ISO 24165)"},"lei":{"type":"string","description":"20-character LEI of the issuer"},"issuer":{"type":"string","description":"Token issuer name; provide this, 'lei' or 'dti'"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":220,"tokensAfter":220},{"name":"check_uk_company","fixed":{"name":"check_uk_company","description":"Official UK company check from the Companies House register. Look up by company number (exact) or search by name (up to 5 candidates). Returns official name, status (active/dissolved/liquidation), type, incorporation and cessation dates, registered office, SIC codes, and the register's insolvency-history and charges flags, with a direct Companies House link. Companies only.","inputSchema":{"type":"object","properties":{"name":{"type":"string","description":"Company name to search (up to 5 candidates)"},"company_number":{"type":"string","description":"UK company number (exact), e.g. 08804411; provide this or 'name'"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":186,"tokensAfter":186},{"name":"check_x402_counterparty","fixed":{"name":"check_x402_counterparty","description":"Trust check before paying an unfamiliar x402 service, by pay_to address and/or service URL. Combines our own availability monitoring of the service's x402 endpoint (30-day uptime, last check, observed payTo/price and drift between our measurements), on-chain USDC payment history to the address on Base (2-day window), and EU regulatory status of the domain (MiCA-authorised or ESMA warning list). Factual only — no scores; not being monitored is not negative, presence is no endorsement.","inputSchema":{"type":"object","properties":{"pay_to":{"type":"string","description":"0x-address that receives the payment; provide this and/or 'resource'"},"resource":{"type":"string","description":"URL of the x402 service to check"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":216,"tokensAfter":216},{"name":"get_crypto_evidence","fixed":{"name":"get_crypto_evidence","description":"Historical evidence behind a crypto opportunity: for its strategy (and coin where enough samples exist) the measured populations — detected, blocked, published, expired without entry, completed, wins, losses, time exits — plus win rate over completed outcomes only with a Wilson interval, average/median/total net return, distinct days and coins, ML model evidence status and the measurement window. Real measurements, never fabricated; short windows have wide error bars. Paid per request.","inputSchema":{"type":"object","required":["signal_id"],"properties":{"signal_id":{"type":"string","pattern":"^sig_[0-9a-f]{12}$","description":"Signal id, e.g. 'sig_a1b2c3d4e5f6'; returns the measured track record of its strategy (win rate over completed outcomes only, with Wilson interval)."}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":240,"tokensAfter":240},{"name":"get_crypto_signal","fixed":{"name":"get_crypto_signal","description":"One complete crypto opportunity by signal_id (from /crypto/scan): classification, opportunity_score (0-100 heuristic, not a win probability), entry zone, stop-loss, take-profit, reward:risk, positive and negative factors, conditions and invalidation conditions, execution economics (net maker/taker), ML horizon scores with evidence status, entry validity versus expected hold, and upstream execution metadata. Market intelligence only: no execution, no custody, no position sizing. Paid per request.","inputSchema":{"type":"object","required":["signal_id"],"properties":{"signal_id":{"type":"string","pattern":"^sig_[0-9a-f]{12}$","description":"Signal id from scan_crypto_market, e.g. 'sig_a1b2c3d4e5f6'. Stable across versions of the same opportunity; an unknown id returns 400 and is not charged."}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":244,"tokensAfter":244},{"name":"lookup_lei","fixed":{"name":"lookup_lei","description":"LEI lookup (Legal Entity Identifier) from the official GLEIF register. Look up by LEI code or search by legal name (optional jurisdiction filter). Returns the official legal name, entity status, registration status (ISSUED/LAPSED), jurisdiction, legal form and registered address, with a direct GLEIF source link per record. Legal entities only. Ideal cheap first check before deeper company screening.","inputSchema":{"type":"object","properties":{"lei":{"type":"string","description":"20-character LEI code (ISO 17442); provide this or 'name'"},"name":{"type":"string","description":"Legal entity name to search for"},"jurisdiction":{"type":"string","description":"Optional 2-letter country filter, e.g. NL"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":209,"tokensAfter":209},{"name":"news_search","fixed":{"name":"news_search","description":"Google News search for AI agents at $0.010 per call, from the same Serper.dev source as /web/search. Send a query, get back compact JSON: top news results with position, title, url, snippet, publish date and source. Tune with num (1-10 results), country and language (2-letter codes). Zero results is a valid, honest answer. Pay per call in USDC on Base, no account, no API key.","inputSchema":{"type":"object","required":["query"],"properties":{"num":{"type":"integer","default":5,"maximum":10,"minimum":1,"description":"Number of results to return (1-10, default 5)"},"lang":{"type":"string","pattern":"^[A-Za-z]{2}$","description":"Optional 2-letter language code for the results, e.g. 'en', 'nl'"},"query":{"type":"string","maxLength":400,"minLength":1,"description":"The search query, plain text, max 400 characters"},"country":{"type":"string","pattern":"^[A-Za-z]{2}$","description":"Optional 2-letter country code to localise results, e.g. 'us', 'nl'"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":278,"tokensAfter":278},{"name":"relay_reddit_search","fixed":{"name":"relay_reddit_search","description":"Keyword-search all of Reddit (or one subreddit) for $0.05 per call — social listening for AI agents without login or API key. Returns matching posts with title, author, subreddit, score, comment count, permalink and timestamp, sorted by relevance, top, new, hot or comments, with an optional time window. Track brand mentions, monitor topics, surface community sentiment. Relayed live from a proven upstream source; if the source is down you get a 503 and pay nothing. Pay per call in USDC on Base.","inputSchema":{"type":"object","required":["q"],"properties":{"q":{"type":"string","maxLength":400,"description":"Keyword or phrase to search; wrap a multi-word phrase in double quotes for exact match"},"sort":{"enum":["relevance","top","new","hot","comments"],"type":"string","description":"Result ranking (default relevance)"},"time":{"enum":["hour","day","week","month","year","all"],"type":"string","description":"Time window — applies to sort=top"},"limit":{"type":"integer","maximum":100,"minimum":1,"description":"Maximum posts to return (1-100)"},"subreddit":{"type":"string","description":"Optional — scope the search to this subreddit (r/ prefix optional); omit for a sitewide search"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":346,"tokensAfter":346},{"name":"validate_crypto_signal","fixed":{"name":"validate_crypto_signal","description":"Is this crypto opportunity still valid right now? Give a signal_id and receive its live status (ACTIVE/STALE/INVALIDATED), remaining entry window in seconds, current price versus the entry zone, spread, data quality, maker/taker economics recomputed at the current price, whether the upstream execution blockers changed, and any invalidation reasons. Freshness first: an expired entry is reported as expired. Advice only: no execution, no custody, no position sizing. Paid per request.","inputSchema":{"type":"object","required":["signal_id"],"properties":{"signal_id":{"type":"string","pattern":"^sig_[0-9a-f]{12}$","description":"Signal id to re-check right now, e.g. 'sig_a1b2c3d4e5f6'. Returns status ACTIVE|STALE|INVALIDATED, remaining entry window and economics at the current price."}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":242,"tokensAfter":242},{"name":"web_search","fixed":{"name":"web_search","description":"Google-quality web search for AI agents at $0.010 per search. Send a query, get back compact JSON built for LLM consumption: top organic results (position, title, url, snippet), the direct answer when one exists, a trimmed knowledge graph and related searches. Tune with num (1-10 results), country and language (2-letter codes). Zero results is a valid, honest answer. Pay per call in USDC, no account, no API key.","inputSchema":{"type":"object","required":["query"],"properties":{"num":{"type":"integer","default":5,"maximum":10,"minimum":1,"description":"Number of results to return (1-10, default 5)"},"lang":{"type":"string","pattern":"^[A-Za-z]{2}$","description":"Optional 2-letter language code for the results, e.g. 'en', 'nl'"},"query":{"type":"string","maxLength":400,"minLength":1,"description":"The search query, plain text, max 400 characters"},"country":{"type":"string","pattern":"^[A-Za-z]{2}$","description":"Optional 2-letter country code to localise results, e.g. 'us', 'nl'"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":288,"tokensAfter":288},{"name":"web_search_read","fixed":{"name":"web_search_read","description":"Search and read in one call: a web search plus the full page text of the top results, for $0.030 — cheaper than a separate search and reads. Send a query, get back results (position, title, url, snippet) enriched with the page's readable content as markdown or text. You get the number of pages you asked for: a paywalled result is replaced by the next readable hit, and anything still missing falls back to the snippet, labelled content_source. USDC on Base, no account.","inputSchema":{"type":"object","required":["query"],"properties":{"num":{"type":"integer","default":3,"maximum":5,"minimum":1,"description":"Number of results to search and read (1-5, default 3)"},"lang":{"type":"string","pattern":"^[A-Za-z]{2}$","description":"Optional 2-letter language code for the results, e.g. 'en', 'nl'"},"query":{"type":"string","maxLength":400,"minLength":1,"description":"The search query, plain text, max 400 characters"},"format":{"enum":["markdown","text"],"type":"string","default":"markdown","description":"markdown (default) keeps #-headings, [text](url) links and - lists; text is flat plain text"},"country":{"type":"string","pattern":"^[A-Za-z]{2}$","description":"Optional 2-letter country code to localise results, e.g. 'us', 'nl'"},"max_chars_per_page":{"type":"integer","default":8000,"maximum":20000,"minimum":1000,"description":"Maximum content length per read page in characters (1000-20000, default 8000)"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":408,"tokensAfter":408},{"name":"x402_network_feed_check","fixed":{"name":"x402_network_feed_check","description":"Free with a feed_handle: send up to 50 hosts you are about to pay and get their last observed status, payTo and price, plus anything that changed since your cursor. One call before a batch of payments.","inputSchema":{"type":"object","required":["feed_handle","hosts"],"properties":{"hosts":{"type":"array","items":{"type":"string"},"description":"Hostnames or full URLs, max 50"},"cursor":{"type":"number","description":"Sequence you last saw; omit to use your subscription start"},"feed_handle":{"type":"string","description":"Handle returned when you subscribed"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":172,"tokensAfter":172}],"toolsChanged":23,"tokensSaved":0,"todo":[{"tool":"attest_settlement","params":["payer","payment","expected"]},{"tool":"check_dutch_insolvency","params":["city"]},{"tool":"doc_to_markdown","params":["format"]},{"tool":"screen_dutch_supplier","params":["legal_name"]},{"tool":"verify_eu_vat","params":["mode"]}],"note":"Deterministic fixes. Changes marked verify need a human look before shipping (renames, inferred annotations, inferred types, removed text). Parameter descriptions in `todo` need to be written by someone who knows the API."}