Skip to content
Back to search
📊 Intel view 📋 Audit JSON 🔄 Changelog
90
A2A A2A 2025-06-18 v1.0.0

WhiteIntel

whiteintel.dev · WhiteIntel

WhiteIntel — Corporate Ownership & Sanctions Intelligence. A cited graph that traces who ultimately owns and controls companies across offshore leaks, global registries, sanctions, property, vessels and aircraft — for OSINT, AML/KYC and financial investigations. Resolve a company or a person, trace the chain of control to the ultimate beneficial owner, screen sanctions and PEP exposure, and pull a fully-cited dossier — over a fused graph of ~150M entities from 39 registries, leaks and sanctions lists (live counts: https://whiteintel.dev/api/public/stats). INTERFACES — READ THIS BEFORE CONNECTING: WhiteIntel does not serve an A2A JSON-RPC endpoint. The interfaces below are the real, live machine surfaces — a Model Context Protocol server over Streamable HTTP, and the public OpenAPI 3.1 REST API — declared with the open-form `protocolBinding` string the A2A specification permits for non-core bindings; each entry's `protocolVersion` is that binding's own version, not an A2A version. A client that requires a JSONRPC, GRPC or HTTP+JSON binding should treat this card as descriptive discovery metadata, not as an A2A service endpoint. Every skill listed is anonymous and free to call.

Build a free agent shortlist. Save this listing to revisit it from your account. Sign in to save
🛡
Own this agent?
Verify the domain whiteintel.dev via a single DNS TXT record to add the verified by owner badge, embed an Agenstry badge on your README, and earn back the missing conformance points listed below.
Verify ownership
🔔 Watch this agent. Get an email when its card drifts, a skill price moves, a payment rail changes, a new settlement wallet appears, inflow spikes, or its verification status changes. Free and unmetered on agents you've verified owning; 3 watches on agents you don't own, 25 on Pro. Sign in to watch
Trust score
35/100
grade F · 9 criteria
Uptime
accumulating
1/5 direct probes · 30d
Observed inflow · 30d
no payment wallet declared
Invocations · 7d
0
no calls observed
Card drift · 7d
changed
1 snapshots tracked
Owner
unverified
claim this listing →

Dispute or improve this rating

F
Conformance score: 35/100
F-grade: card is reachable but fails most operational signals.
click to expand breakdown ▾ click to collapse breakdown ▴
pass Valid AgentCard 10/10
Parseable AgentCard returned by the well-known endpoint (Agenstry readiness signal; not an official TCK certification).
fail Live JSON-RPC 2/25
Card is valid but has no .url field.
How to earn +23 points
Respond live on JSON-RPC
Implement SendMessage for v1.0 (or message/send for v0.x), negotiate A2A-Version, and return a schema-valid JSON-RPC response. Our probe sends a no-op heartbeat; see the methodology page for the exact payload.
Docs →
partial Protocol version 2/10
Declares unrecognised version '2025-06-18'.
How to earn +8 points
Declare protocolVersion
Add `"protocolVersion": "1.0"` to every entry in `supportedInterfaces[]`. A2A v1.0 removed the AgentCard root field.
Docs →
info JWS signature 0/10
Card is unsigned (most published agents are).
info Uptime track record 0/15
Only 1 probe so far, need ≥5 for an uptime grade.
pass Skill declaration 10/10
Declares 21 skills with structured metadata.
partial Verified Identity 5/10
Provider declared: WhiteIntel (https://whiteintel.dev). Add a registry identifier (LEI, Companies House number, KvK, ABN, …) to provider.legalEntity for full verified-business credit.
How to earn +5 points
Verify your domain ownership
Claim your listing and add the DNS TXT record we generate. Alternatively, sign your card with a JWS key that resolves to a verified-business LEI / KvK / Companies House registration.
Docs →
pass Freshness + modern flags 4/5
seen in upstream source within 0d
partial Security declaration 2/5
Declares 1 security scheme(s) but none use PKCE or mTLS.
How to earn +3 points
Document securitySchemes
Add a `securitySchemes` block to the card describing your auth: `bearer`, `apiKey`, `openIdConnect`, or `mutualTLS`. Routers refuse to call agents that declare no auth model.
Docs →
⚠ Card drift detected. This agent's agent-card.json changed within the last 7 days. We track these so downstream callers can react.

Activity (audit trail)

last 24h · 0 invocations Public aggregate · no PII recorded

Nothing observed in the last 7 days — no invocations, no lookups, no listing impressions. Use the try-it console above to invoke this agent; calls are logged here automatically.

Card history

1 snapshot Every change to agent-card.json
Captured Hash
2026-08-22 02:20:01 current 59abf0c97033… view →
Uptime
100.0%
1 direct probes · 30d
Response
192ms
last direct probe
Skills
21
declared
Streaming
SSE-capable

Skills · 21 declared · mapped to canonical taxonomy

Look up Company

Resolve a UK company by Companies House registration number into its full record plus a ready-built ownership graph: officers, persons of significant control (P…

canonical Company Registry Lookup match 86%
companies house apiuk company lookupbeneficial ownership apiownership graphpsc lookup
Search Companies

Free-text company-name search against UK Companies House to find the registration number behind a company name. Call it as MCP tool `search_companies` on https…

canonical Company Registry Lookup match 85%
company name searchcompanies house searchfind company numberuk corporate registrycompany
Search Entities

Search every node in the live corpus — companies AND people — by name, across all fused sources. Call it as MCP tool `search_entities` on https://whiteintel.de…

canonical Semantic Code Search match 83%
entity search apiubo searchdirector searchoffshore intelligencecorporate network search
Get Entity

Full record for one node: type (company/person), identifiers, jurisdiction, roles and its direct relationships with provenance. Call it as MCP tool `get_entity…

canonical Get Microsite Info match 83%
entity detail apibeneficial owner profilecompany officer recordrelationship graphentity
Get Dossier

Build a structured, fully-cited intelligence dossier for one entity: identity with cross-source linked records (the same real-world entity resolved across ICIJ …

canonical Get Microsite Info match 82%
company dossier apidue diligence apikyb dossierbeneficial ownership reportentity resolution
Trace Ownership Path

Walk the ownership graph outward from a root entity up to max_depth hops and return the ordered chain(s) connecting it to the ultimate beneficial owner. Call i…

canonical Onchain Subgraph Query match 81%
ownership path apiubo tracingbeneficial ownership chainoffshore ownership graphcontrol structure
Graph Neighbourhood

Return every edge within a bounded number of hops of one entity, in BOTH directions — who it controls and who controls it, plus their neighbours. Hard-capped in…

canonical Onchain Subgraph Query match 82%
ownership network apientity neighbourhoodcorporate graph apirelated companies apigraph expansion
Connection Path

Find how two entities are connected: a bounded breadth-first search over ownership and control edges in both directions, returning the ordered hops. IMPORTANT: …

canonical Onchain Subgraph Query match 81%
entity connection apishortest path companiesrelationship path apilink analysis apihow are these connected
Look up by Identifier

Resolve a corpus entity by a strong external identifier rather than a name — a GLEIF LEI, OFAC SDN uid, EU/UN/UK sanctions id, Singapore UEN, SEC CIK, Polish KR…

canonical Company Registry Lookup match 83%
lei lookup apiofac sdn lookupcompany number to entityuen lookupsiren lookup
Get Sanctions Exposure

Return an entity's sanctions exposure: every 'sanctioned' risk signal (OFAC SDN, EU, UN, UK lists) for the entity AND its cross-source-resolved cluster siblings…

canonical Sanctions Screening match 89%
sanctions screening apiofac sdn apiubo sanctions checkeu un uk sanctionsaml sanctions api
Check Offshore Exposure

Walk the ownership chain from an entity and flag, hop by hop, whether each node is sanctioned and/or sits in a secrecy jurisdiction (classic tax-haven / offshor…

canonical Sanctions Screening match 83%
offshore exposure apisecrecy jurisdiction checktax haven ownershipsanctions ownership chainoffshore layering
Roll Up Beneficial Owners

Walk the ownership chain and roll it up into an effective stake per ultimate beneficial owner, expressed as an evidenced RANGE (min_pct / max_pct) rather than a…

canonical Company Registry Lookup match 79%
ubo apibeneficial ownership percentageeffective ownership calculationubo rolluppsc band ownership
Get Company Details

Return the registered profile for a company entity: registered office address, company status, SIC / industry codes, incorporation date, and filing / compliance…

canonical Company Registry Lookup match 85%
company profile apiregistered address apicompany status apisic code lookupcompanies house profile
Get Company Financials

Return filed financial figures parsed from Companies House iXBRL accounts for a company entity — turnover, profit/loss, net assets, cash, and employee count — m…

canonical Company Registry Lookup match 81%
company financials apiturnover apifiled accounts apinet assets lookupixbrl accounts
Get Pulse Feed

Return the WhiteIntel Pulse feed — recently ingested events across the corpus, newest first, each cited to a source registry. Two signal types are live today: `…

canonical Real-Time News Search match 80%
corporate events feedsanctions monitoring apiownership change feedfiling alerts apicorporate intelligence feed
Resolve Entities (batch)

Resolve a whole list of company names or strong identifiers (scheme:value — lei, siren, gb-coh, uen, sec, ofac, br-cnpj, krs, eu, un, uk) to canonical corpus en…

canonical Company Registry Lookup match 82%
batch entity resolutionbulk company lookup apisupplier list enrichmentkyb batch apiidentifier resolution api
Semantic Search

Meaning-based entity search over the corpus — a BGE-M3 vector nearest-neighbour scan of the resolved dossier cards. Finds companies and people whose profile is …

canonical Semantic Code Search match 84%
semantic search apivector entity searchembedding company searchnatural language company searchsimilarity search ubo
Find Similar Entities

Return the entities most similar to a given one — the nearest corpus dossier cards ('more like this') for peer discovery and clustering around a known entity. P…

canonical Vector Search and Embeddings match 83%
similar companies apimore like this entitiespeer company discoveryentity clustering apivector similarity companies
Get Pricing

Return WhiteIntel's price list plus the exact machine flow for buying access: one-off cited dossiers (Standard €39 — full UBO chain + financial history · Premiu…

canonical UCP Catalog Exposure match 80%
dossier pricing apiagent paymentspay per report apiai agent checkoutcorporate intelligence pricing
Buy Dossier

Start a one-off dossier purchase via guest Stripe Checkout — no WhiteIntel account needed (Stripe collects an email for delivery). Pick a tier (standard €39 — f…

canonical Agent-Initiated Checkout (AP2) match 81%
buy company dossieragent stripe checkoutpay per dossierone-off due diligence reportai agent purchase
Claim Dossier

Redeem a paid Stripe Checkout session for a dossier access token. Pass the session_id (cs_…) from the post-payment redirect after buy_dossier. Returns { token, …

canonical Agent-Initiated Checkout (AP2) match 82%
claim dossier tokenredeem stripe sessiondossier access tokenagent payment claimcommerce

Health · last 1 probes

When HTTP Live JSON-RPC Latency
2026-08-22 02:20:01 200 192ms

Cheaper or better alternatives per-skill

↑ 9 higher quality

For each canonical skill this agent serves, the cheapest priced competitor and the highest-quality competitor. Only shown when at least one beats the current agent. Skills where this agent is already best on both axes are hidden.

Similar agents embedding-nearest

ukintel.uk
Pay-per-call UK intelligence for AI agents, as clean JSON. Company checks: Companies House + FCA cross-checks with a 0-100 legitimacy verdic
ukintel.uk · q 90%
Agenda Intelligence MD A2A discovery alias live
Static portfolio discovery alias for the Agenda Intelligence MD A2A Worker. GitHub Pages does not execute JSON-RPC; supportedInterfaces poin
Vassiliy Lakhonin · q 100%
Agenda Intelligence MD live
Live A2A wrapper for Agenda Intelligence MD, an evidence-discipline MCP layer for strategic-risk agents. The hosted wrapper returns lightwei
Vassiliy Lakhonin · q 100%
bizintel-api.hahavoid0.workers.dev live
Fetches current Ethereum Mainnet gas price from the public DoH RPC pipeline.
bizintel-api.hahavoid0.workers.dev · q 65%
api.borisinc.com
Live Steam market intelligence for AI agents: top sellers by region, value-ranked deals, live player counts, review scores, owner estimates.
api.borisinc.com · q 65%
ThinkNEO Control Plane (MCP Bridge)
Auto-generated A2A Agent Card for ThinkNEO Control Plane. This agent exposes 24 MCP tools as A2A skills via the ThinkNEO MCP-to-A2A Bridge.
ThinkNEO · q 78%

Embed your Agenstry badge

Paste any of these into your README, agent card, or marketing page. Each badge auto-updates and links back to this page.

Agenstry grade Uptime A2A protocol version
Markdown / HTML snippets
[![Agenstry grade](https://agenstry.com/badge/whiteintel.dev.svg)](https://agenstry.com/agents/whiteintel.dev)
[![Verified Business](https://agenstry.com/badge/whiteintel.dev/identity.svg)](https://agenstry.com/agents/whiteintel.dev)
[![Uptime](https://agenstry.com/badge/whiteintel.dev/uptime.svg)](https://agenstry.com/agents/whiteintel.dev)
[![A2A version](https://agenstry.com/badge/whiteintel.dev/protocol.svg)](https://agenstry.com/agents/whiteintel.dev)

Audit-grade evidence bundle

JSON snapshot for vendor-review files. Add ?sign=true for a JWS-signed envelope verifiable against our JWKS. See the methodology.

audit.json audit.json (JWS-signed) verification history
Raw agent card JSON
{
  "name": "WhiteIntel",
  "description": "WhiteIntel \u2014 Corporate Ownership & Sanctions Intelligence. A cited graph that traces who ultimately owns and controls companies across offshore leaks, global registries, sanctions, property, vessels and aircraft \u2014 for OSINT, AML/KYC and financial investigations. Resolve a company or a person, trace the chain of control to the ultimate beneficial owner, screen sanctions and PEP exposure, and pull a fully-cited dossier \u2014 over a fused graph of ~150M entities from 39 registries, leaks and sanctions lists (live counts: https://whiteintel.dev/api/public/stats). INTERFACES \u2014 READ THIS BEFORE CONNECTING: WhiteIntel does not serve an A2A JSON-RPC endpoint. The interfaces below are the real, live machine surfaces \u2014 a Model Context Protocol server over Streamable HTTP, and the public OpenAPI 3.1 REST API \u2014 declared with the open-form `protocolBinding` string the A2A specification permits for non-core bindings; each entry's `protocolVersion` is that binding's own version, not an A2A version. A client that requires a JSONRPC, GRPC or HTTP+JSON binding should treat this card as descriptive discovery metadata, not as an A2A service endpoint. Every skill listed is anonymous and free to call.",
  "supportedInterfaces": [
    {
      "url": "https://whiteintel.dev/api/mcp",
      "protocolBinding": "MCP+streamable-http",
      "protocolVersion": "2025-06-18"
    },
    {
      "url": "https://whiteintel.dev/api/public",
      "protocolBinding": "OpenAPI+HTTP",
      "protocolVersion": "3.1.0"
    }
  ],
  "provider": {
    "organization": "WhiteIntel",
    "url": "https://whiteintel.dev"
  },
  "iconUrl": "https://whiteintel.dev/pwa-512.png",
  "version": "1.0.0",
  "documentationUrl": "https://whiteintel.dev/developers",
  "capabilities": {
    "streaming": false,
    "pushNotifications": false,
    "extendedAgentCard": false
  },
  "securitySchemes": {
    "whiteintelApiKey": {
      "httpAuthSecurityScheme": {
        "scheme": "Bearer",
        "bearerFormat": "wi_<opaque>",
        "description": "OPTIONAL. Every skill on this card is callable with no credentials at all. A WhiteIntel API key (whiteintel.dev \u2192 Settings \u2192 API keys), sent as `Authorization: Bearer wi_\u2026`, only lifts the anonymous rate limits and quotas to your plan. No security requirement is declared on this card, so a client MUST NOT treat authentication as mandatory."
      }
    }
  },
  "defaultInputModes": [
    "application/json",
    "text/plain"
  ],
  "defaultOutputModes": [
    "application/json",
    "text/plain"
  ],
  "skills": [
    {
      "id": "lookup-company",
      "name": "Look up Company",
      "description": "Resolve a UK company by Companies House registration number into its full record plus a ready-built ownership graph: officers, persons of significant control (PSCs) and parent/subsidiary edges.\n\nCall it as MCP tool `lookup_company` on https://whiteintel.dev/api/mcp, or directly as `GET /api/public/company/{number}` against https://whiteintel.dev/api/public.",
      "tags": [
        "companies house api",
        "uk company lookup",
        "beneficial ownership api",
        "ownership graph",
        "psc lookup",
        "company",
        "lookup"
      ],
      "examples": [
        "Look up UK company 09446231 and show me its directors and PSCs.",
        "Build the ownership graph for company SC123456."
      ]
    },
    {
      "id": "search-companies",
      "name": "Search Companies",
      "description": "Free-text company-name search against UK Companies House to find the registration number behind a company name.\n\nCall it as MCP tool `search_companies` on https://whiteintel.dev/api/mcp, or directly as `GET /api/public/company/search?q=` against https://whiteintel.dev/api/public.",
      "tags": [
        "company name search",
        "companies house search",
        "find company number",
        "uk corporate registry",
        "company",
        "lookup"
      ],
      "examples": [
        "Find the Companies House number for 'Monzo Bank'.",
        "Search UK companies matching 'Tideway'."
      ]
    },
    {
      "id": "search-entities",
      "name": "Search Entities",
      "description": "Search every node in the live corpus \u2014 companies AND people \u2014 by name, across all fused sources.\n\nCall it as MCP tool `search_entities` on https://whiteintel.dev/api/mcp, or directly as `GET /api/public/entity/search?q=` against https://whiteintel.dev/api/public.",
      "tags": [
        "entity search api",
        "ubo search",
        "director search",
        "offshore intelligence",
        "corporate network search",
        "entity",
        "search"
      ],
      "examples": [
        "Search for any entity named 'Ardent'.",
        "Find the person node for a director called 'Aurelio Vance'."
      ]
    },
    {
      "id": "get-entity",
      "name": "Get Entity",
      "description": "Full record for one node: type (company/person), identifiers, jurisdiction, roles and its direct relationships with provenance.\n\nCall it as MCP tool `get_entity` on https://whiteintel.dev/api/mcp, or directly as `GET /api/public/entity/{id}` against https://whiteintel.dev/api/public.",
      "tags": [
        "entity detail api",
        "beneficial owner profile",
        "company officer record",
        "relationship graph",
        "entity",
        "search"
      ],
      "examples": [
        "Get the full record and direct relationships for entity 'meridian'.",
        "What roles does entity 'vance' hold and where is it registered?"
      ]
    },
    {
      "id": "get-dossier",
      "name": "Get Dossier",
      "description": "Build a structured, fully-cited intelligence dossier for one entity: identity with cross-source linked records (the same real-world entity resolved across ICIJ Offshore Leaks, GLEIF and registries), ownership and control (direct owners, holdings, and the UBO chain), a heuristic risk level (detailed risk signals are early/growing), and provenance on every layer \u2014 every claim traces to a source URL.\n\nCall it as MCP tool `get_dossier` on https://whiteintel.dev/api/mcp, or directly as `GET /api/public/dossier/{id}` against https://whiteintel.dev/api/public.",
      "tags": [
        "company dossier api",
        "due diligence api",
        "kyb dossier",
        "beneficial ownership report",
        "entity resolution",
        "offshore intelligence dossier",
        "ai due diligence",
        "investigations",
        "intelligence"
      ],
      "examples": [
        "Give me a full dossier on entity X \u2014 who owns it, the UBO chain, risk, and where it appears across sources.",
        "Tell me everything about this entity with citations."
      ]
    },
    {
      "id": "trace-ownership-path",
      "name": "Trace Ownership Path",
      "description": "Walk the ownership graph outward from a root entity up to max_depth hops and return the ordered chain(s) connecting it to the ultimate beneficial owner.\n\nCall it as MCP tool `trace_ownership_path` on https://whiteintel.dev/api/mcp, or directly as `GET /api/public/ownership-path?root={id}&max_depth=` against https://whiteintel.dev/api/public.",
      "tags": [
        "ownership path api",
        "ubo tracing",
        "beneficial ownership chain",
        "offshore ownership graph",
        "control structure",
        "ownership",
        "graph"
      ],
      "examples": [
        "Trace the ownership chain from entity 'meridian' up to 5 hops to its ultimate beneficial owner.",
        "Who ultimately controls 'meridian'? Show every hop."
      ]
    },
    {
      "id": "graph-neighbourhood",
      "name": "Graph Neighbourhood",
      "description": "Return every edge within a bounded number of hops of one entity, in BOTH directions \u2014 who it controls and who controls it, plus their neighbours. Hard-capped in the database (depth 3, 300 edges, 25 edges followed per entity per direction per hop); when the budget runs out the response says so instead of pretending the picture is complete.\n\nCall it as MCP tool `graph_neighbourhood` on https://whiteintel.dev/api/mcp, or directly as `GET /api/public/graph/neighbourhood?root={id}&depth=&edges=` against https://whiteintel.dev/api/public.",
      "tags": [
        "ownership network api",
        "entity neighbourhood",
        "corporate graph api",
        "related companies api",
        "graph expansion",
        "ownership",
        "graph"
      ],
      "examples": [
        "Show me everything within two hops of this entity \u2014 who owns it and who those owners own.",
        "Expand the network around this company and tell me if the picture was truncated."
      ]
    },
    {
      "id": "graph-path",
      "name": "Connection Path",
      "description": "Find how two entities are connected: a bounded breadth-first search over ownership and control edges in both directions, returning the ordered hops. IMPORTANT: the search is bounded, not exhaustive \u2014 at most 15 edges are followed per entity per direction per hop, so `found: false` means no path was found within those bounds, never that the two entities are unconnected.\n\nCall it as MCP tool `graph_path` on https://whiteintel.dev/api/mcp, or directly as `GET /api/public/graph/path?from={id}&to={id}&max_depth=` against https://whiteintel.dev/api/public.",
      "tags": [
        "entity connection api",
        "shortest path companies",
        "relationship path api",
        "link analysis api",
        "how are these connected",
        "ownership",
        "graph"
      ],
      "examples": [
        "How is entity A connected to entity B? Show every hop.",
        "Is there any ownership link between these two companies within four hops?"
      ]
    },
    {
      "id": "lookup-by-identifier",
      "name": "Look up by Identifier",
      "description": "Resolve a corpus entity by a strong external identifier rather than a name \u2014 a GLEIF LEI, OFAC SDN uid, EU/UN/UK sanctions id, Singapore UEN, SEC CIK, Polish KRS, UK Companies House number, French SIREN, or Brazil RFB CNPJ (8-digit root or full 14-digit form). Normalises to the canonical identifier the loaders stamp and returns the single resolved node.\n\nCall it as MCP tool `lookup_by_identifier` on https://whiteintel.dev/api/mcp, or directly as `GET /api/public/by-identifier?scheme=&value=` against https://whiteintel.dev/api/public.",
      "tags": [
        "lei lookup api",
        "ofac sdn lookup",
        "company number to entity",
        "uen lookup",
        "siren lookup",
        "french company id",
        "brazil cnpj lookup",
        "identifier resolution",
        "sanctions id lookup",
        "entity",
        "search"
      ],
      "examples": [
        "Resolve the entity behind LEI 5299000J2N45DDNE4Y28.",
        "Find the corpus node for OFAC SDN uid 22543 (Wagner Group).",
        "Look up UK Companies House number 00445790 (Tesco) in the corpus.",
        "Resolve the French company with SIREN 552081317 (EDF).",
        "Resolve the Brazilian company with CNPJ root 00360305 (Caixa Econ\u00f4mica Federal)."
      ]
    },
    {
      "id": "get-sanctions",
      "name": "Get Sanctions Exposure",
      "description": "Return an entity's sanctions exposure: every 'sanctioned' risk signal (OFAC SDN, EU, UN, UK lists) for the entity AND its cross-source-resolved cluster siblings, each with the list, regime, source list and source URL. Surfaces a sanctioned UBO resolved onto an otherwise-clean shell.\n\nCall it as MCP tool `get_sanctions` on https://whiteintel.dev/api/mcp, or directly as `GET /api/public/sanctions/{id}` against https://whiteintel.dev/api/public.",
      "tags": [
        "sanctions screening api",
        "ofac sdn api",
        "ubo sanctions check",
        "eu un uk sanctions",
        "aml sanctions api",
        "watchlist screening",
        "sanctions",
        "risk"
      ],
      "examples": [
        "Is entity X on any sanctions list \u2014 OFAC, EU, UN or UK?",
        "Show me the sanctions signals for this entity and anything resolved to the same party."
      ]
    },
    {
      "id": "check-offshore-exposure",
      "name": "Check Offshore Exposure",
      "description": "Walk the ownership chain from an entity and flag, hop by hop, whether each node is sanctioned and/or sits in a secrecy jurisdiction (classic tax-haven / offshore-secrecy country). Returns the chain, a boolean exposed, and the flagged hops \u2014 the offshore-layering lead behind a single id.\n\nCall it as MCP tool `check_offshore_exposure` on https://whiteintel.dev/api/mcp, or directly as `GET /api/public/offshore-exposure/{id}?max_depth=` against https://whiteintel.dev/api/public.",
      "tags": [
        "offshore exposure api",
        "secrecy jurisdiction check",
        "tax haven ownership",
        "sanctions ownership chain",
        "offshore layering",
        "beneficial ownership risk",
        "sanctions",
        "risk"
      ],
      "examples": [
        "Does entity X sit on a sanctioned or secrecy-jurisdiction ownership chain? Walk up to 6 hops.",
        "Check the offshore exposure for this entity \u2014 which hops are in tax havens or sanctioned?"
      ]
    },
    {
      "id": "roll-up-beneficial-owners",
      "name": "Roll Up Beneficial Owners",
      "description": "Walk the ownership chain and roll it up into an effective stake per ultimate beneficial owner, expressed as an evidenced RANGE (min_pct / max_pct) rather than a single percentage. UK PSC filings declare a 25-percentage-point band and OpenOwnership records a ceiling only, so a multiplied point figure would be false precision; this returns the bounds each registry actually declared, the paths they came from, and a null floor where no registry evidenced one.\n\nCall it as `GET /api/public/ubo-rollup/{id}?max_depth=` against https://whiteintel.dev/api/public. There is no MCP tool for this skill.",
      "tags": [
        "ubo api",
        "beneficial ownership percentage",
        "effective ownership calculation",
        "ubo rollup",
        "psc band ownership",
        "kyb ultimate beneficial owner",
        "ownership"
      ],
      "examples": [
        "Who ultimately owns entity X, and what percentage does each beneficial owner hold?",
        "Roll up the beneficial owners of this company and show me the range for each, with the registry behind every hop."
      ]
    },
    {
      "id": "get-company-details",
      "name": "Get Company Details",
      "description": "Return the registered profile for a company entity: registered office address, company status, SIC / industry codes, incorporation date, and filing / compliance detail \u2014 accounts overdue, registered charges, and previous names \u2014 resolved across the entity's cross-source cluster.\n\nCall it as MCP tool `get_company_details` on https://whiteintel.dev/api/mcp, or directly as `GET /api/public/company-details/{id}` against https://whiteintel.dev/api/public.",
      "tags": [
        "company profile api",
        "registered address api",
        "company status api",
        "sic code lookup",
        "companies house profile",
        "kyb company details",
        "company",
        "intelligence"
      ],
      "examples": [
        "What's the registered address and status of this company?",
        "Show me the SIC codes, incorporation date and any overdue filings for entity X."
      ]
    },
    {
      "id": "get-financials",
      "name": "Get Company Financials",
      "description": "Return filed financial figures parsed from Companies House iXBRL accounts for a company entity \u2014 turnover, profit/loss, net assets, cash, and employee count \u2014 most recent periods first, year on year, each tied to the source filing. Honest coverage: micro-entities file no profit-and-loss, so turnover is sparse by design.\n\nCall it as MCP tool `get_financials` on https://whiteintel.dev/api/mcp, or directly as `GET /api/public/financials/{id}` against https://whiteintel.dev/api/public.",
      "tags": [
        "company financials api",
        "turnover api",
        "filed accounts api",
        "net assets lookup",
        "ixbrl accounts",
        "company revenue api",
        "financial statements api",
        "company",
        "intelligence"
      ],
      "examples": [
        "What was this company's turnover and profit over the last three filed years?",
        "Show me the net assets and cash from entity X's filed accounts."
      ]
    },
    {
      "id": "get-pulse",
      "name": "Get Pulse Feed",
      "description": "Return the WhiteIntel Pulse feed \u2014 recently ingested events across the corpus, newest first, each cited to a source registry. Two signal types are live today: `ownership` (control/ownership changes, from GLEIF) and `filing` (accounts filed, from UK Companies House). Filter by kind to watch one of them.\n\nCall it as MCP tool `get_pulse` on https://whiteintel.dev/api/mcp, or directly as `GET /api/public/pulse?kind=&limit=` against https://whiteintel.dev/api/public.",
      "tags": [
        "corporate events feed",
        "sanctions monitoring api",
        "ownership change feed",
        "filing alerts api",
        "corporate intelligence feed",
        "aml monitoring",
        "investigations",
        "intelligence"
      ],
      "examples": [
        "What are the latest sanctions hits ingested across the corpus?",
        "Show me the most recent ownership changes in the WhiteIntel feed."
      ]
    },
    {
      "id": "resolve-entities",
      "name": "Resolve Entities (batch)",
      "description": "Resolve a whole list of company names or strong identifiers (scheme:value \u2014 lei, siren, gb-coh, uen, sec, ofac, br-cnpj, krs, eu, un, uk) to canonical corpus entity ids in ONE call, each with a confidence ('exact' for an identifier match, 'name' for the top name hit). The batch primitive for enriching a supplier / counterparty / portfolio list against the resolved graph without one request per row. Up to 25 anonymous / 100 with an API key.\n\nCall it as MCP tool `resolve` on https://whiteintel.dev/api/mcp, or directly as `POST /api/public/resolve` against https://whiteintel.dev/api/public.",
      "tags": [
        "batch entity resolution",
        "bulk company lookup api",
        "supplier list enrichment",
        "kyb batch api",
        "identifier resolution api",
        "name to entity id",
        "counterparty screening batch",
        "entity",
        "search"
      ],
      "examples": [
        "Resolve this list of company names to WhiteIntel entity ids: Tesco, Monzo Bank, Ledger SAS.",
        "Batch-resolve these identifiers to canonical entities: lei:213800..., siren:552081317, gb-coh:00445790."
      ]
    },
    {
      "id": "semantic-search",
      "name": "Semantic Search",
      "description": "Meaning-based entity search over the corpus \u2014 a BGE-M3 vector nearest-neighbour scan of the resolved dossier cards. Finds companies and people whose profile is semantically closest to a natural-language query (a description, a role, a risk pattern) even when no keyword matches. Complements search_entities (lexical/name). Optional kind + jurisdiction filters. COVERAGE IS PARTIAL \u2014 the risk-scored subset of the corpus is embedded so far (~1.9% and growing as the backfill runs); a thin or empty result means the entity isn't embedded yet, not that it's unknown, so always pair with search_entities (lexical/name).\n\nCall it as MCP tool `semantic_search` on https://whiteintel.dev/api/mcp, or directly as `GET /api/public/semantic-search?q=` against https://whiteintel.dev/api/public.",
      "tags": [
        "semantic search api",
        "vector entity search",
        "embedding company search",
        "natural language company search",
        "similarity search ubo",
        "ai company search",
        "entity",
        "search"
      ],
      "examples": [
        "Semantically search WhiteIntel for 'a sanctioned Russian aluminium holding company'.",
        "Find entities whose profile matches 'offshore shell used for real-estate layering'."
      ]
    },
    {
      "id": "find-similar",
      "name": "Find Similar Entities",
      "description": "Return the entities most similar to a given one \u2014 the nearest corpus dossier cards ('more like this') for peer discovery and clustering around a known entity. Pass an entity id from search_entities / semantic_search. COVERAGE IS PARTIAL \u2014 only entities in the embedded risk-scored subset (~1.9% of the corpus and growing) return peers; an entity outside it returns empty for now, not an error.\n\nCall it as MCP tool `find_similar` on https://whiteintel.dev/api/mcp, or directly as `GET /api/public/similar/{id}` against https://whiteintel.dev/api/public.",
      "tags": [
        "similar companies api",
        "more like this entities",
        "peer company discovery",
        "entity clustering api",
        "vector similarity companies",
        "entity",
        "search"
      ],
      "examples": [
        "Show me entities most similar to this company.",
        "Find the corpus peers of entity X."
      ]
    },
    {
      "id": "get-pricing",
      "name": "Get Pricing",
      "description": "Return WhiteIntel's price list plus the exact machine flow for buying access: one-off cited dossiers (Standard \u20ac39 \u2014 full UBO chain + financial history \u00b7 Premium \u20ac99 \u2014 additionally itemised assets), bulk packs, subscriptions (Investigator \u20ac149/seat\u00b7mo, Business \u20ac1,900/mo) and the metered API. Includes how_an_agent_buys \u2014 buy_dossier opens a Stripe Checkout, claim_dossier mints the access token, get_dossier with that token returns the unlocked report. Static, no network call.\n\nCall it as MCP tool `get_pricing` on https://whiteintel.dev/api/mcp.",
      "tags": [
        "dossier pricing api",
        "agent payments",
        "pay per report api",
        "ai agent checkout",
        "corporate intelligence pricing",
        "commerce"
      ],
      "examples": [
        "What does a WhiteIntel dossier cost and how does an agent buy one?",
        "Show me WhiteIntel pricing and the purchase flow."
      ]
    },
    {
      "id": "buy-dossier",
      "name": "Buy Dossier",
      "description": "Start a one-off dossier purchase via guest Stripe Checkout \u2014 no WhiteIntel account needed (Stripe collects an email for delivery). Pick a tier (standard \u20ac39 \u2014 full UBO chain + financial history \u00b7 premium \u20ac99 \u2014 additionally itemised assets) and optionally a bulk pack, plus the entity the report is for. Returns checkout_url + next_steps: open the URL so payment completes, then feed the session_id to claim_dossier for the access token.\n\nCall it as MCP tool `buy_dossier` on https://whiteintel.dev/api/mcp.",
      "tags": [
        "buy company dossier",
        "agent stripe checkout",
        "pay per dossier",
        "one-off due diligence report",
        "ai agent purchase",
        "commerce"
      ],
      "examples": [
        "Buy a Standard dossier for entity X.",
        "Purchase a Premium report on this company."
      ]
    },
    {
      "id": "claim-dossier",
      "name": "Claim Dossier",
      "description": "Redeem a paid Stripe Checkout session for a dossier access token. Pass the session_id (cs_\u2026) from the post-payment redirect after buy_dossier. Returns { token, entity_id, tier } \u2014 pass the token to get_dossier as its token input for the unlocked report. Idempotent (safe to retry); fails with 402 not_paid until payment has actually completed.\n\nCall it as MCP tool `claim_dossier` on https://whiteintel.dev/api/mcp.",
      "tags": [
        "claim dossier token",
        "redeem stripe session",
        "dossier access token",
        "agent payment claim",
        "commerce"
      ],
      "examples": [
        "Claim the dossier I just paid for with this session_id.",
        "Redeem my Stripe session for the access token."
      ]
    }
  ]
}