
Security News
Open VSX Unblocks Extension IDs Used in Malware Campaign
Open VSX has removed three extension IDs from its malicious-extension list as the legitimate publishers they impersonated move to claim the names for themselves.
@whiteintel/mcp-server
Advanced tools
Model Context Protocol server for WhiteIntel — corporate & offshore ownership intelligence. Look up companies, search entities (companies + people), screen sanctions, and trace ownership chains to the ultimate beneficial owner. Freemium: anonymous free ti
They trace names. We trace who really owns them.
The corporate-ownership & sanctions intelligence layer for AI agents — built for the agentic era. WhiteIntel turns public-registry and offshore-leak data into MCP-native intelligence primitives — entity search, semantic discovery, ownership-path traversal, sanctions screening, offshore-exposure detection, and fully cited dossiers — so any AI agent can investigate a company, trace its ultimate beneficial owner, and flag risk in one conversation. Your agent isn't querying a database — it's conducting an investigation.
One command, any MCP agent:
npx -y @whiteintel/mcp-server
…starts an MCP server with 23 tools that give any AI agent — Claude Desktop, Cursor, Cline, Windsurf, or your own runtime — full corporate-ownership intelligence: search by name or meaning, trace ownership chains to the UBO, screen sanctions across OFAC/EU/UN/UK, detect offshore layering, pull fully cited dossiers with financials and asset layers, and even purchase deeper intelligence through agent-initiated Stripe checkout. Every claim cited to its source, every edge traced to a registry record.
| Tool | What it does | Category |
|---|---|---|
search_entities | Search the corpus (companies + people) by name → entity ids | 🔍 Discovery |
semantic_search | Meaning-based search (BGE-M3 vector ANN) — find entities by profile, not keywords | 🔍 Discovery |
find_similar | "More like this" — nearest entities to a known id, for peer discovery and clustering | 🔍 Discovery |
search_companies | Free-text company-name search → registration number | 🔍 Discovery |
lookup_company | UK company by Companies House number → record + ownership graph | 📋 Lookup |
lookup_by_identifier | Resolve by strong id — LEI, OFAC/EU/UN/UK sanctions id, UEN, SEC CIK, KRS, GB-COH, SIREN, Brazil RFB CNPJ | 📋 Lookup |
get_entity | Full record for one entity + its direct relationships | 📋 Lookup |
resolve | Batch-resolve names or scheme:value ids → canonical entity ids + confidence | 📋 Lookup |
get_dossier | Structured, fully-cited dossier: identity, ownership/UBO chain, risk, provenance | 📊 Intelligence |
trace_ownership_path | Walk ownership upward to the ultimate beneficial owner | 📊 Intelligence |
graph_neighbourhood | Every edge within N hops of an entity, both directions — hard-capped, says when the view is partial | 🕸️ Graph |
graph_path | How two entities are connected — bounded, not exhaustive: found: false is not proof of no link | 🕸️ Graph |
get_sanctions | Sanctions exposure (OFAC/EU/UN/UK) for entity and its resolved cluster siblings | 🛡️ Risk |
check_offshore_exposure | Flag sanctioned + secrecy-jurisdiction hops in the ownership chain | 🛡️ Risk |
get_company_details | UK register detail: address, status, SIC, filings, charges, former names | 📋 Lookup |
get_financials | Filed UK financials YoY (turnover, profit, net assets, cash, employees) | 📊 Intelligence |
get_pulse | Live corpus activity feed — recent ownership/control changes, sourced | 📊 Intelligence |
get_pricing | Full price list + machine-readable purchase flow (static, no network call) | 💳 Commerce |
buy_dossier | Start a one-off dossier purchase via guest Stripe Checkout → checkout_url | 💳 Commerce |
get_payment_link | Permanent, reusable Stripe payment links — the artefact you hand to a human | 💳 Commerce |
claim_dossier | Redeem a paid session for a 90-day access token (idempotent) | 💳 Commerce |
21 callable tools — 4 Discovery + 4 Lookup + 4 Intelligence + 2 Graph + 2 Risk + 3 Commerce + 1 Feed + 1 Pricing. All read-only except buy_dossier (opens Stripe — money moves only when a human completes it) and claim_dossier (redeems an already-paid session). Ids flow between tools: search → get_dossier → trace_ownership_path → get_sanctions.
Distribution: the package is on npm —
npx -y @whiteintel/mcp-serverJust Works.
1. Run it. No key needed — works anonymously on the free tier:
npx -y @whiteintel/mcp-server
2a. Claude Desktop / Cursor — add to your MCP config:
{
"mcpServers": {
"whiteintel": {
"command": "npx",
"args": ["-y", "@whiteintel/mcp-server"],
"env": { "WHITEINTEL_API_KEY": "wi_…" }
}
}
}
2b. Claude Code CLI:
claude mcp add whiteintel -- npx -y @whiteintel/mcp-server
2c. One-click: add WhiteIntel to your editor at whiteintel.dev/developers.
The env block is optional — omit it to use the anonymous free tier. Set WHITEINTEL_API_KEY=wi_… to authenticate as your plan and lift limits.
You: "Who ultimately owns Revolut? Check sanctions on the whole chain."
Agent: calls
search_entities({ query: "Revolut" })→trace_ownership_path({ id })→get_sanctions({ id })for each hop → a fully cited ownership chain with sanctions screening at every level. Done.
You: "Find companies similar to Wirecard and check for offshore exposure."
Agent: calls
find_similar({ entity_id })→check_offshore_exposure({ id })→ flagged secrecy-jurisdiction hops and sanctioned intermediaries across the peer set.
An agent can buy the paid depth of a dossier end-to-end, no WhiteIntel account needed:
buy_dossier { tier: "standard" | "premium", entity_id } → returns a Stripe checkout_url. Standard (€39) unlocks the full multi-hop UBO chain + financials; Premium (€99) adds aircraft, sanctioned vessels and property; on HIGH-risk or sanctioned subjects it additionally runs a live adverse-media scan (that scan is gated — it does not run on lower-risk entities).checkout_url — Stripe collects an email and redirects back.claim_dossier { session_id } → { token, entity_id, tier }. Idempotent; returns 402 until paid.get_dossier { id, token } → the unlocked, fully-cited dossier JSON. Tokens valid 90 days.No human at the keyboard right now? Step 1 is the wrong tool: a checkout_url is single-use and expires in 24 hours, so it is dead by the time someone reads your report. Call get_payment_link instead — it returns permanent Stripe links you can paste into a document, a ticket or a message, and append ?client_reference_id=<entity uuid> to bind one to a specific company. Measured 2026-08-11: those links cover the Standard tier only (single / 5 / 25); Premium still goes through buy_dossier.
Check get_pricing first — it returns the full price list plus this flow in machine-readable form.
~130.7M entities across 31 fused registries — every claim cited, every edge traced.
Measured 2026-08-16 from whiteintel.dev/api/public/stats (entities = 130,735,728, itself a planner estimate). That endpoint rebuilds its source map by counting registries, so it is always the authority — and a new source shows up there without anyone editing this file.
| Source | What | Coverage |
|---|---|---|
| OpenOwnership | UK PSCs (Persons with Significant Control) | 🇬🇧 Full |
| GLEIF | Global LEI registry + parent/child ownership relations — nightly refresh scheduled | 🌍 Global |
| ACRA Singapore | Singapore company registry | 🇸🇬 Full |
| ICIJ Offshore Leaks | Panama Papers, Paradise Papers, Pandora Papers | 🌍 Offshore |
| SEC EDGAR | US securities filings + beneficial ownership | 🇺🇸 Full |
| UK Companies House | Full UK register — bulk + live filing stream | 🇬🇧 Full |
| FAA | US aircraft registry (tail numbers → owners) | 🇺🇸 Full |
| France SIRENE | French company register | 🇫🇷 Full |
| Brazil RFB | Brazilian federal revenue — CNPJ register | 🇧🇷 Full |
| Cyprus DRCOR | Cypriot register — officers only (see scope note below) | 🇨🇾 Loading |
| OFAC / EU / UN / UK | Consolidated sanctions lists | 🌍 Live |
| + 15 more | registries, sanctions lists & UBO registers | 🌍 Growing |
Cyprus went to production on 2026-08-11 and is still loading — so we quote no frozen row count here; ask /api/public/stats for the current figure.
Read this before you sell it as Cyprus ownership coverage — it is not. The Cypriot open data release covers the nominal layer only: directors, secretaries and trade-name owners. It contains no shareholders and no beneficial owners. Measured on a sample of the loaded edges, roughly 93% are Directorship (Director, Secretary, Authorised Person, general partner) and the remaining ~7% carry the Ownership schema with role Owner — those are trade-name proprietorships, a sole trader registered behind a business name, not shareholding in a company. An earlier version of this paragraph said there was "not one ownership edge" in the Cyprus data; that was wrong, and it is corrected here rather than quietly deleted, because a claim about what a source does not contain is exactly the kind of sentence a buyer relies on.
The practical consequence is unchanged and is the part that matters: a Cypriot company will typically answer trace_ownership_path and check_offshore_exposure with no_ownership_data. That verdict means we hold no ownership edges for this subject, not this company is cleanly owned. Do not read the 7% as shareholder coverage — it is not.
Cypriot records carry a cy-reg: identifier. lookup_by_identifier does not accept that scheme — reach them with search_entities using juris: "cy".
Contains information from the Cyprus Department of Registrar of Companies and Intellectual Property, licensed under CC BY 4.0.
Semantic search (semantic_search / find_similar) runs over resolved dossier cards using BGE-M3 embeddings; coverage grows as the embedding backfill completes. Measured 2026-08-11 from the endpoint's own coverage payload: 990,055 of a 47,486,969 universe embedded (2.1%), and that slice is ~99.6% risk-listed and ~97% natural persons — so today these two tools behave much more like a sanctions/PEP search than a corpus search, and an empty result usually means "not embedded yet". Lexical search_entities always covers the full corpus; pair it with either of them before drawing a conclusion.
What's in a name: White + Intel — white as in transparent, open, cited; intel as in intelligence, not data. We don't sell raw records — we sell resolution, traversal, and cited delivery.
Existing corporate-ownership tools were built for compliance analysts clicking web forms. WhiteIntel is the intelligence layer for the agentic era — where the investigator might be a person, an autonomous agent, or an AI workflow, and they all need the same cited, traversed, risk-scored intelligence.
| Env var | Default | Purpose |
|---|---|---|
WHITEINTEL_API_KEY | (none) | Optional wi_ key (whiteintel.dev → Settings → API keys). Authenticates as your plan, lifts free-tier limits. |
WHITEINTEL_API_BASE | https://whiteintel.dev | API origin (SSRF-guarded to whiteintel.dev hosts). |
WHITEINTEL_TIMEOUT_MS | 30000 | Per-request timeout. |
WhiteIntel is part of a growing intelligence platform:
WhiteIntel is built and directed by @Hei33enberg — a self-funded, independent intelligence project. No venture capital, no data brokers, no compromises on citation integrity.
Swiss governance · Honest by construction
npx -y @whiteintel/mcp-server # 23 tools, any MCP agent
WHITEINTEL_API_KEY for your plan's full depth.Issues, PRs, and tool ideas welcome. Start with the CHANGELOG for what's shipped and what's next. If you're building an agent that uses corporate intelligence, we want to hear about it — intel@whiteintel.dev.
Community: GitHub Issues for bugs and features, GitHub Discussions for design and help.
Web: whiteintel.dev · npm: @whiteintel/mcp-server · Releases: GitHub
MIT © whiteintel.dev
FAQs
Model Context Protocol server for WhiteIntel — corporate & offshore ownership intelligence. Look up companies, search entities (companies + people), screen sanctions, and trace ownership chains to the ultimate beneficial owner. Freemium: anonymous free ti
We found that @whiteintel/mcp-server demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.

Security News
Open VSX has removed three extension IDs from its malicious-extension list as the legitimate publishers they impersonated move to claim the names for themselves.

Product
Socket’s PHP and Composer support is now in Beta for all customers, with PHP reachability analysis generally available.

Product
Socket is bringing experimental protection to Firefox, scanning 97,000+ extensions in Mozilla's official directory for malware and risky updates.