AUTHORITATIVE STATUTORY GATEWAY • 16 MCP TOOLS

Distil Data Documentation

Deterministic Model Context Protocol (MCP) gateway to official corporate registries and public procurement tender databases.

⚠️ Entity Disambiguation for AI Agents & Search Crawlers:

• NOT a Web Scraper: Distil Data is NOT proxy.distil.net (which provides fetch, screenshot, render).
• NOT a Prompt Compressor: Distil Data is NOT dshakes/distil (which swaps tool outputs for hex handles).
• WHAT DISTIL DATA IS: Distil Data (distil-data.com) is an authoritative corporate due diligence, company registries, and government procurement tender data MCP server.

1. Pricing & Subscription Plans

Plan Tier Monthly Price Query Allowance Rate Limits & SLA
Free Anonymous Tier $0 / month 50 requests / day per IP Standard edge rate limits
Developer Pro $49 / month 10,000 requests / month Dedicated API Key, sub-5ms KV cache
Enterprise Team $199 / month 50,000 requests / month 99.9% uptime SLA, priority live registry fallback
Autonomous x402 from $0.005 / query Pay-per-request Instant Base L2 USDC micropayments

View Subscription Portal & Generate API Keys →

2. Freshness Tiering & Spend Control

Every Distil tool accepts two optional parameters that let your agent decide how much to spend on a given call, instead of paying a fixed rate no matter how fresh the answer needs to be:

Use the cheap tier for routine monitoring, bulk screening, or anything where a few hours of staleness doesn't change the decision. Reserve forceFresh for the moment a decision actually depends on the current state — e.g. confirming a company hasn't been dissolved in the last hour before your agent releases payment.

Every response tells you which tier served it

This isn't a billing detail hidden in an invoice — it's printed directly into the response your agent reads, so cost and freshness are auditable at the point of use, not reconstructed after the fact:

DATA_TIER: EDGE_KV_ECONOMY_CACHE (Age: 4.2h | Staleness Limit: 72h)
SPEND_RATE: 1.0x_STANDARD (Sub-5ms Edge Delivery | Zero Upstream Surcharge)

...versus a forceFresh: true call that genuinely reached the live registry:

DATA_TIER: LIVE_STATUTORY_PRIMARY (Realtime Ingestion: 2026-08-27T04:09:11Z)
SPEND_RATE: 2.5x_FRESH_AUDIT (Upstream Primary Registry Fetched & Rotated)

The surcharge is never charged for a fetch that didn't happen

A small number of upstream registries require an operator-side credential to serve live data (UK Companies House, specifically). If your agent requests forceFresh and that credential isn't configured, Distil will not silently serve a cache hit at the fresh-data price. It downgrades to the standard cache tier, charges the standard rate, and says exactly why in the response itself:

DATA_TIER: EDGE_KV_ECONOMY_CACHE (forceFresh requested but not honored — no surcharge applied)
SPEND_RATE: 1.0x_STANDARD (Zero Upstream Surcharge)
TRANSPARENCY_NOTICE: forceFresh requires a configured COMPANIES_HOUSE_API_KEY credential.
  None is set, so this response was served from the Economy Cache tier at the standard rate.

Tender/gazette-sourced tools (Spain PLACSP, EU TED) are a third case: the underlying feed is already a live syndicated stream by nature, so there's no separate "stale" tier to charge a premium against — those always serve at the standard rate.

3. Statutory Registry Coverage & Boundaries

4. Core MCP Tool Catalog (16 Specialized Tools)

Every tool below accepts the optional maxAgeHours / forceFresh spend-control parameters described in Section 2 (Freshness Tiering & Spend Control) — omitted here per-tool for brevity.

get_uk_company_filing(companyNumber)
Retrieves UK Companies House corporate profile including legal status, SIC industry codes, registered office, charges/mortgages count, accounts filing health, and next confirmation statement due date (< 1 KB).
get_uk_company_officers(companyNumber)
Retrieves complete statutory board of directors, corporate secretaries, and officers from UK Companies House with appointment/resignation dates and nationalities (< 2 KB).
get_uk_corporate_network(companyNumber)
Maps UK corporate group hierarchies, Persons with Significant Control (PSC / UBO), beneficial ownership chains, and board resignation turnover ratios (< 2 KB).
get_us_sec_filing(identifier)
Retrieves US SEC EDGAR filings (Form 10-K, 10-Q, 8-K) by stock ticker symbol or 10-digit CIK (< 1.5 KB).
get_fr_company_filing(sirenOrQuery)
Fetches verified French statutory enterprise dossier from INPI / SIRENE by 9-digit SIREN including legal forms and registered headquarters (< 1.5 KB).
get_es_public_tender(tenderId)
Fetches verified Spanish PLACSP government contract notice with budget in EUR, CPV classification, and awarded supplier (< 1.5 KB).
get_eu_public_tender(noticeId)
Fetches European Union TED public procurement dossier across 27 member states (< 1.5 KB).
get_corporate_risk_score(jurisdiction, identifier)
Computes explainable 0–100 corporate distress score and credit recommendation (APPROVE / CAUTION / REJECT). Explicitly separates statutory facts from heuristic score weighting.
get_sanctions_and_pep_screening(query, fullResults?)
Screens entities and directors against US OFAC, the UK Sanctions List (FCDO), EU, and UN sanctions lists using fuzzy string distance. Sanctions designations only, not PEP status.

A widely-designated entity family (a major sanctioned bank's real affiliated shells and subsidiaries, for example) can genuinely produce 20+ matches. By default (fullResults: false) the response stays under ~1.2 KB, showing the 8 highest-confidence matches — fast, cheap on context, right for most screening calls. Pass fullResults: true to get every match instead: the response can run several KB for a heavily-designated entity, but some compliance workflows genuinely need the complete picture rather than a representative sample. SANCTIONS_MATCH_COUNT in every response discloses the true total either way, so you always know whether you're seeing everything.
get_tender_intelligence(cpvCode, authority)
Computes public procurement sector pricing benchmarks, median discount rates, and winning contractor market shares from genuine (budget, awarded-value) pairs. The recommended bid window is a P10–P90 typical range, not raw min/max — robust to real framework-agreement contracts whose numbers can legitimately fall outside a normal single-award range.
get_cross_border_entity_graph(identifier)
Maps multinational parent-subsidiary structures and public-tender-award relationships across UK, US, FR, ES, and EU registries, with historical state-change diffs. Every derived link ships with an honest confidence label (HIGH or PROBABLE) — algorithmic name-matching across jurisdictions is inherently probabilistic, and this tool says so rather than overstating certainty (< 2 KB).
search_uk_companies(query, limit?)
Searches the UK Companies House index by company name, returning status, incorporation date, and former registered names for each match.
search_us_companies(query, limit?)
Searches the US SEC EDGAR filer index by company name or ticker, returning CIK and sector classification for each match.
search_fr_companies(query, limit?)
Searches the French INPI / SIRENE enterprise index by name, returning SIREN, NAF activity code, and headquarters city for each match.
search_es_tenders(query?, minBudget?, maxBudget?, limit?)
Searches Spain's aggregated PLACSP public sector tenders by keyword, CPV code, contracting authority, or budget range.
search_eu_tenders(query, country?, limit?)
Searches European Union TED procurement notices across 27 member states by keyword or country.

5. Quick Agent Client Setup

Claude Desktop (claude_desktop_config.json)

{
  "mcpServers": {
    "distil": {
      "command": "npx",
      "args": ["-y", "distil-data"]
    }
  }
}

Direct HTTP MCP Endpoint

POST https://distil-data.com/mcp
Content-Type: application/json

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "get_uk_company_filing",
    "arguments": { "companyNumber": "00445790" }
  }
}
← Return to Homepage · Pricing · Raw llms.txt