Data source: ICIJ Offshore Leaks Database (Reconciliation API)
https://context.gnist.ai/mcp/offshore-leaks/
AuthenticationAll requests require a Gnist-API-Key header (or api_key query parameter).
Free tier: 100 calls/day. Get your API key.
Tools (3)
search_offshore_leaksSearch the ICIJ Offshore Leaks Database for entities, officers, and intermediaries.
Covers data from Panama Papers, Paradise Papers, Pandora Papers, Offshore Leaks,
and Bahamas Leaks — over 800,000 offshore entities, their officers, and intermediaries.
Use this to investigate offshore company structures, identify connected parties,
or verify entities appearing in leaked financial documents.
Examples:
search_offshore_leaks("Mossack Fonseca") → Entities matching the law firm
search_offshore_leaks("Smith", node_type="Officer", country="GB") → UK-linked officers
search_offshore_leaks("trust", source="pandora-papers") → Trusts in Pandora Papers
Returns:
List of matches with node_id, name, type, description, and match score.
| Parameter | Type | Required | Description |
|---|---|---|---|
query | string | required | Search query — name of entity, person, or intermediary. Example: 'Mossack Fonseca'. |
node_type | string | optional | Node type to search: Entity (companies/trusts), Officer (directors/shareholders), Address, Intermediary (law firms/agents), Other, Node (all). (default: "Entity") |
country | any | optional | ISO country code filter. Example: 'PA' for Panama, 'VGB' for British Virgin Islands. |
source | string | optional | Investigation to search: all, panama-papers, paradise-papers, pandora-papers, offshore-leaks, bahamas-leaks. (default: "all") |
limit | integer | optional | Max results (1-25). (default: 10) |
{
"jsonrpc": "2.0",
"method": "tools/call",
"id": 1,
"params": {
"name": "search_offshore_leaks",
"arguments": {
"query": "example"
}
}
}get_offshore_entityGet detailed properties for an offshore leaks node by ID.
Returns structured data including name, country, jurisdiction, status,
incorporation/dissolution dates, data source, and related notes.
Entity nodes include additional fields like IBC/RUC numbers.
Use node_ids from search_offshore_leaks results.
Returns:
Detailed node properties including data source investigation name.
| Parameter | Type | Required | Description |
|---|---|---|---|
node_id | string | required | Node ID from a search result. Example: '10022201'. |
node_type | string | optional | Node type: Entity, Officer, Address, Intermediary, Other. (default: "Entity") |
{
"jsonrpc": "2.0",
"method": "tools/call",
"id": 1,
"params": {
"name": "get_offshore_entity",
"arguments": {
"node_id": "example"
}
}
}report_feedbackReport a bug, feature request, or general feedback for this data source.
Use this when something doesn't work as expected, when you'd like
a new feature, or when you have suggestions for improvement.
Args:
feedback: Describe the issue or suggestion.
feedback_type: One of 'bug', 'feature_request', or 'general'.
| Parameter | Type | Required | Description |
|---|---|---|---|
feedback | string | required | |
feedback_type | string | optional | (default: "general") |
{
"jsonrpc": "2.0",
"method": "tools/call",
"id": 1,
"params": {
"name": "report_feedback",
"arguments": {
"feedback": "example"
}
}
}Quick Start
curl -X POST "https://context.gnist.ai/mcp/offshore-leaks/" \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-H "Gnist-API-Key: YOUR_API_KEY" \
-d '{"jsonrpc": "2.0", "method": "tools/call", "id": 1, "params": {"name": "search_offshore_leaks", "arguments": {"query": "example"}}}'
import httpx
resp = httpx.post(
"https://context.gnist.ai/mcp/offshore-leaks/",
headers={"Gnist-API-Key": "YOUR_API_KEY", "Content-Type": "application/json"},
json={
"jsonrpc": "2.0",
"method": "tools/call",
"id": 1,
"params": {
"name": "search_offshore_leaks",
"arguments": {
"query": "example"
}
}
},
)
print(resp.json())