Forensic Company MCP
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Forensic Company MCPscreen Empresa A for sanctions and compare its address with Empresa B"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Forensic Company MCP
MCP server in Python for corporate OSINT / compliance research.
Tools
server_infonormalize_company_namecompare_company_namescompare_addressessearch_gleif_companyscreen_opensanctions_companyget_opensanctions_entitybuild_relationship_graph
The server deliberately labels matches and shared attributes as investigative leads rather than proof of wrongdoing.
Related MCP server: WhiteIntel MCP Server
1. Create the environment
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
cp .env.example .envPython 3.10+ is supported by MCP SDK v2.
2. Optional OpenSanctions key
Edit .env:
OPENSANCTIONS_API_KEY=YOUR_KEYDo not put this key in Expo or React Native source code.
3. Run locally
uvicorn server:app --host 127.0.0.1 --port 8000 --reloadMCP endpoint:
http://127.0.0.1:8000/mcpHealth check:
http://127.0.0.1:8000/health4. Test it
In another terminal:
source .venv/bin/activate
python client_test.pyOr use MCP Inspector:
npx -y @modelcontextprotocol/inspectorThen connect the inspector to:
http://127.0.0.1:8000/mcp5. Render
Build command:
pip install -r requirements.txtStart command:
uvicorn server:app --host 0.0.0.0 --port $PORTSet these environment variables in Render:
OPENSANCTIONS_API_KEY=...
MCP_ALLOWED_HOSTS=YOUR-SERVICE.onrender.com,YOUR-SERVICE.onrender.com:*
CORS_ORIGINS=https://YOUR-FRONTEND.exampleFor a native-only React Native client, CORS_ORIGINS is less important because CORS is a browser rule. Keep the MCP provider API keys server-side either way.
Example graph input
Call build_relationship_graph with companies_json containing:
[
{
"name": "Empresa A",
"address": "Av. Ejemplo 100, Monterrey, NL",
"officers": ["Persona Uno"]
},
{
"name": "Empresa B",
"address": "Avenida Ejemplo 100, Monterrey, NL",
"officers": ["Persona Uno", "Persona Dos"]
}
]The tool returns nodes and relationship edges such as shared_address and shared_officer.
Important
A sanctions hit, shared address, shared officer, or high name similarity is not by itself evidence of money laundering, a shell company, fraud, or any crime. Preserve the source, entity IDs, dates, and original records so findings can be independently verified.
This server cannot be deployed
Maintenance
Related MCP Connectors
Screen names against OFAC, EU, UK, UN sanctions lists; resolve entities via GLEIF. Screening aid.
Verify a company on GLEIF LEI and SEC EDGAR, screen sanctions. No key; quota-free data.
Find legal companies, retrieve registry profiles and verify company facts with source evidence.
Search company records, officers, ownership, group structures and financials with provenance.
Related MCP Servers
- AlicenseNot gradedqualityAmaintenanceScreen names against consolidated OFAC, EU, UK, and UN sanctions lists and resolve legal entities via GLEIF, with offline fuzzy matching.141 npm2Apache 2.0
- AlicenseAqualityAmaintenanceEnables AI agents to investigate corporate ownership, trace ultimate beneficial owners, screen sanctions, detect offshore exposure, and access fully cited dossiers from 130M+ entities across 31 global registries.2196 npm1MIT
- AlicenseAqualityAmaintenanceEnables LLM clients to investigate Brazilian companies by CNPJ or name, mapping corporate relationships and gathering structured, source-attributed public evidence from official registries, news, social profiles, judicial proceedings, and PEP checks.614 PyPIMIT
- AlicenseAqualityBmaintenanceEnables AI assistants to look up, resolve, verify and sanctions-screen legal entities across the UK and Europe by merging company registries, GLEIF LEIs and VIES VAT data into one profile with per-field provenance. Supports KYB and due-diligence workflows through name and identifier search, officer and ownership tracing, filings and insolvency checks, and honest reporting of gaps, stale sources or unavailable data.9Elastic 2.0