Skip to main content
Glama
Hei33enberg

WhiteIntel MCP Server

by Hei33enberg

check_offshore_exposure

Walk an entity's ownership chain upward, flagging sanctioned or tax-haven nodes, and get a verdict on offshore exposure with depth limits clearly reported.

Instructions

Walk the ownership chain upward 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, the flagged hops, and a structured 4-state verdict — BRANCH ON verdict, NOT on exposed. States: no_ownership_data (we hold zero ownership edges from this entity — NOT a clean verdict, exposure cannot be evaluated), flagged (a sanctioned or secrecy-jurisdiction hit sits on the walked chain), checked_to_max_depth_truncated (walk reached the depth cap with more chain above — a flagged owner may still sit higher, NOT clean), checked_full_clean (the walk ran out of chain before the cap, no flag). Also returns depth_walked (how deep the walk actually reached) and depth_capped. READ depth_capped EVEN WHEN THE VERDICT IS checked_full_clean, because the two co-occur. Measured 2026-08-11 anonymously with max_depth=6: verdict: 'checked_full_clean', depth_walked: 1, depth_capped: true, plan: 'free'. depth_capped: true means A CAP WAS IN FORCE, not that the cap necessarily bit — here the chain genuinely ended after one hop, below the free plan's 2-hop ceiling. The honest report of that response is 'clean over the one hop of ownership we hold, on a walk a free key limits to two', which is what the payload's own note says in prose. Never promote checked_full_clean to 'no offshore exposure' without quoting depth_walked. Anonymous callers walk at most 2 hops however high you set max_depth. Legacy exposed boolean is retained but is only meaningful when verdict='flagged'. Get the id from search_entities or lookup_by_identifier.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idYesEntity id to assess.
max_depthNoMax ownership hops to request (default 6). Anonymous callers are capped at 2 — read `depth_walked` in the response.
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full behavioral disclosure. It details depth caps, the meaning of depth_capped, the legacy exposed field's limited usefulness, and a concrete anonymous-caller example, giving the agent excellent expectations for edge cases.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is long and dense, but the complexity of the verdict semantics justifies much of the length. It is front-loaded with the core purpose and then walks through states and caveats; however, the measured example and repeated warnings could be tightened without losing value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given there is no output schema, the description thoroughly explains return values: the chain, flagged hops, verdict states, depth_walked, depth_capped, and legacy exposed. It also covers cap behavior and id sourcing, making the tool usable without additional external documentation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Even though the schema covers both parameters, the description adds meaningful semantic value: it tells the caller to obtain id via search_entities or lookup_by_identifier, and explains that anonymous callers are capped at 2 hops regardless of max_depth. This goes beyond the schema's basic field descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource: 'Walk the ownership chain upward from an entity and flag...', which clearly identifies what the tool does. It also distinguishes this tool from siblings like trace_ownership_path or get_sanctions by emphasizing the offshore/sanctions-secrecy verdict semantics.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides strong interpretive guidance, such as 'BRANCH ON verdict, NOT on exposed', and warns against promoting checked_full_clean to 'no offshore exposure' without quoting depth_walked. It does not explicitly name alternatives or exclusions, but the context for appropriate use is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Hei33enberg/WhiteIntel-OS'

If you have feedback or need assistance with the MCP directory API, please join our Discord server