WhiteIntel — Ownership Intelligence
Server Details
UBO, sanctions & ownership graph. 23 tools, 130.7M entities, 31 registries.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- Hei33enberg/WhiteIntel-OS
- GitHub Stars
- 1
- Server Listing
- WhiteIntel MCP Server
Available Tools
24 toolsbuy_dossierAInspect
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: full UBO chain + financial history · 'premium' €99: additionally itemised assets) and optionally a bulk pack ('5'/'25'), plus the entity_id the report is for. Returns checkout_url + next_steps: open the URL to pay, then feed the session_id to claim_dossier. See get_pricing for the full list.
| Name | Required | Description | Default |
|---|---|---|---|
| pack | No | ||
| tier | Yes | ||
| entity_id | No | ||
| entity_name | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate it's not read-only, may have side effects (openWorldHint true) and is not idempotent. The description adds key context: it starts a one-off purchase via guest Stripe Checkout, no account needed, and that Stripe collects an email. It also says it returns checkout_url + next_steps reflecting a multi-step flow. It doesn't mention idempotency or repeated calls, but given openWorldHint, it's implied. This is a good addition beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured, front-loaded with the core purpose, then details and follow-up instructions. It's concise despite length, covering all essential aspects without fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of a purchase flow with Stripe and tiers, the description covers the purpose, parameters, next steps, and cross-reference to pricing and claim_dossier. It's complete for selecting and invoking correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must explain parameters. It explains 'tier' with options and prices, 'pack' with values, and 'entity_id' as the target. It does not explain 'entity_name', which remains ambiguous. Since it's not required, maybe acceptable. But given the lack of schema description, it covers most, so 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (start a one-off dossier purchase), the mechanism (guest Stripe Checkout), and the target resource (dossiers). It explicitly distinguishes from siblings like get_pricing (pricing list) and claim_dossier (post-payment claim step), making its purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explains when to use this tool (to start a purchase) and notes that no WhiteIntel account is needed (a key differentiator). It also mentions the follow-up step (feed session_id to claim_dossier) and references get_pricing for the full list, which helps guide selection. However, it doesn't explicitly say when NOT to use this tool vs other tools like get_dossier or get_payment_link, though the purpose is distinct enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_offshore_exposureBRead-onlyIdempotentInspect
Walk the ownership chain and flag sanctioned + secrecy-jurisdiction hops — the offshore-layering lead.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| max_depth | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the description's safety profile is covered. The description adds useful behavioral context about traversing an ownership chain and flagging specific hop types, but it does not disclose output behavior, depth boundary effects, or data-source limitations. This is acceptable but not rich given the available annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no wasted words. The em-dash phrase adds a clear investigative framing. It could be slightly more informative, but it is concise and readable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that there is no output schema, no parameter descriptions, and the tool performs a potentially complex graph walk with sanctions and jurisdiction flagging, the description is incomplete. It does not explain what the returned result contains, how max_depth affects traversal, whether cycles are handled, or how it relates to get_sanctions and trace_ownership_path.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description does not explain the required 'id' parameter or the optional 'max_depth' parameter. The phrase 'Walk the ownership chain' implies that 'id' is the starting point, but 'max_depth' is completely unmentioned and no formats, defaults, or limits are given. The description fails to compensate for the absent schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb phrase, 'Walk the ownership chain and flag sanctioned + secrecy-jurisdiction hops,' which clearly identifies the tool's core function. It also orients the user with the outcome label 'offshore-layering lead,' distinguishing it from sibling tools like trace_ownership_path or get_sanctions, though it does not explicitly name these alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for offshore-layering investigation by mentioning 'sanctioned + secrecy-jurisdiction hops,' but it does not explicitly state when to use this tool versus sibling tools such as trace_ownership_path or get_sanctions. No when-not-to-use guidance or alternative tool references are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
claim_dossierAIdempotentInspect
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, entity_id, tier } — pass the token to get_dossier as its token input. Idempotent; fails with 402 not_paid until payment completes, so wait for the human to finish Checkout then call again.
| Name | Required | Description | Default |
|---|---|---|---|
| session_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Even though annotations already declare idempotentHint and destructiveHint, the description adds meaningful behavioral detail: it is idempotent, returns a specific shape, fails with a specific error code before payment, and should be retried later. There is no contradiction with the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences long, front-loads the core purpose, and every sentence adds essential information: what to do, where to get the session_id, what it returns, and important failure/retry behavior. No filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter tool with no output schema, this description is complete. It explains the input source, the output shape, the retry semantics, and how the output feeds into get_dossier, covering all likely failure points and the expected flow.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With schema description coverage at 0%, the description fully compensates by explaining that session_id is the Stripe Checkout session ID from the post-payment redirect, including the cs_ prefix format and where to obtain it. This adds real semantic value beyond the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific action ('Redeem a paid Stripe Checkout session for a dossier access token') and connects it to the buy_dossier and get_dossier flow, making it distinct from siblings. It names the exact resource type and product.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly tells when to call it: after the post-payment redirect following buy_dossier. It also states what to do next with the token (pass to get_dossier) and that it will fail with 402 not_paid until payment completes, guiding wait-and-retry behavior.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_similarARead-onlyIdempotentInspect
Entities most similar to a given one — the nearest corpus dossier cards ('more like this') for peer discovery. Pass an entity id from search_entities / semantic_search. COVERAGE IS PARTIAL — 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.
| Name | Required | Description | Default |
|---|---|---|---|
| k | No | ||
| entity_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover readOnly/idempotent/non-destructive, so the description's added value is the partial-coverage caveat and the empty-not-error behavior. These are important behavioral details beyond the structured annotations, though no additional details like response format are provided.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with purpose, then adds a key edge case warning. Every part earns its place; no filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple 2-parameter tool with no output schema, the description covers purpose, input source, coverage limitations, and empty-result behavior. It stops short of fully specifying the return shape and the exact effect of k on results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 0% description coverage, so the description must compensate. It explains entity_id well by saying to use an id from search_entities or semantic_search, but it does not explain what k controls, leaving an otherwise meaningful 'top-k' parameter ambiguous.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool finds entities most similar to a given one, explicitly calling it 'more like this' for peer discovery. It also distinguishes itself by requiring an entity id rather than a query, which separates it from search tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives concrete usage context: pass an entity id from search_entities or semantic_search, and it explicitly warns that entities outside the embedded subset return empty. It does not explicitly name alternatives or when-not-to-use, but the context is strong enough to guide selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_company_detailsBRead-onlyIdempotentInspect
Registered profile for a company: address, status, SIC, incorporation, plus filing/compliance (overdue, charges, former names).
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and destructiveHint=false, so the safety profile is covered. The description adds content categories but does not disclose additional behavioral traits such as data source, UK-specific scope, or behavior for missing IDs. No contradiction with annotations exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that efficiently enumerates the key content areas without filler. Every phrase contributes meaningful information about what the tool returns.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple single-ID read tool with rich safety annotations, the description adequately covers the main return categories. It lacks explicit mention of UK scope (present in the annotation title) and not-found behavior, but the low complexity and available annotations make this sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has one required string parameter 'id' with 0% schema description coverage, and the description does not explain what 'id' refers to or how to obtain it. The tool name and phrase 'for a company' imply it is a company identifier, but the description adds no real parameter-level semantics beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource as a company's registered profile and lists concrete content areas: address, status, SIC, incorporation, and filing/compliance details. It does not explicitly contrast with sibling tools like get_dossier or get_entity, so it stops short of full differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool versus alternatives such as get_dossier, get_entity, or lookup_company. It implies a use case through the phrase 'Registered profile for a company,' but provides no explicit when-to-use or when-not-to-use context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_dossierARead-onlyIdempotentInspect
Structured, fully-cited dossier for one entity: cross-source identity, ownership/UBO chain, risk signals, filed financials, provenance. Pass the token from claim_dossier to unlock the full paid depth you purchased for this entity.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| token | No | Optional dossier access token from claim_dossier — unlocks the full paid depth (UBO chain, assets, financial history) for this entity. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations (readOnlyHint, idempotentHint, openWorldHint) already establish safety, and the description adds meaningful behavioral context: the dossier is 'fully-cited' and the token unlocks purchased depth. This goes beyond the annotations by explaining why a token is needed and what it unlocks, improving transparency without contradicting any annotation. No contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences deliver a clear definition and a critical usage note. Every phrase ('cross-source identity', 'fully-cited', 'unlock the full paid depth') carries weight. No fluff, direct, and well-structured for scanning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the tool's core function, its contents, and the token workflow, which is sufficient for a read-only retrieval tool. It does not describe return format or error cases, but given the lack of an output schema and the presence of sibling tools, the description provides adequate context. A minor gap is not mentioning how this differs from similar 'get_*' tools, but overall it is complete enough for an agent to use correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50% (only token has a description). The description enriches the token parameter by explaining its origin ('from claim_dossier') and effect ('unlock the full paid depth'), which is helpful. However, the primary required parameter 'id' receives no explanation in the description, leaving the purpose of that parameter undocumented. The description partially compensates for the schema gap but does not fully cover it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns a 'Structured, fully-cited dossier for one entity' and enumerates contents (identity, ownership/UBO, risk signals, financials, provenance). While it does not explicitly contrast with sibling tools like get_entity or get_financials, the term 'dossier' and the listed contents make the purpose specific and recognizable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies a workflow: pass the token from claim_dossier to unlock full paid depth. This hints at when to use the tool (after claiming) but does not explicitly address when NOT to use it or mention alternatives. The guidance is useful but not comprehensive, so a 3 (implied usage) fits.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_entityARead-onlyIdempotentInspect
Full record for one entity id + its direct relationships, with provenance.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark the tool as read-only, idempotent, and non-destructive. The description adds output behavior not in annotations: it returns the full record, direct relationships, and provenance, giving a clearer picture of the return payload. It does not mention error behavior or pagination, but annotations cover safety traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A 10-word fragment that front-loads the key behavior and return structure. No filler, and it keeps the definition focused.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter read-only tool, the description covers the core return value but lacks usage differentiation from similar getters and id semantics. Provenance and direct relationships are mentioned but not elaborated, so an agent may still be uncertain about what 'direct relationships' includes.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverage, so the description must explain the 'id' parameter. It only says 'entity id,' without specifying the id format, namespace, or how it differs from identifiers used by lookup_by_identifier or get_company_details. This is thin compensation for an undocumented parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description states it retrieves the full record for one entity id, including direct relationships and provenance. This is a specific resource (entity by id) and distinguishes from siblings like get_company_details and graph_neighbourhood, which target different resource shapes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'Full record' implies use when complete entity data and relationships are needed, but there is no explicit when-to-use or when-not-to-use guidance. Alternatives among siblings are not named, so the agent has to infer from tool names.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_financialsARead-onlyIdempotentInspect
Filed financials year-over-year: turnover, profit, net assets, cash, employees (Companies House iXBRL).
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, and idempotentHint, covering the safety and repeatability profile. The description adds value by specifying that these are 'filed' year-over-year figures from Companies House iXBRL, indicating the data source and historical nature. It does not describe edge cases like missing years or coverage gaps, but it is not required given the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, compact sentence that front-loads the core content: what is returned, which fields, and the data source. There is no filler, redundant wording, or repetition of information already present in annotations or schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter read-only tool with no output schema, the description adequately conveys the return content and source. It could add a sentence clarifying the required ID parameter, but the tool's low complexity and the annotation coverage mean the description is nearly complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has a single required string 'id' with no description, and schema description coverage is 0%. The description also does not explain what the 'id' parameter refers to (presumably the company ID), the id format, or how to find it. Since the description provides zero compensation for the undocumented parameter, the semantics remain vague.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Filed financials year-over-year: turnover, profit, net assets, cash, employees' clearly identifies the resource (filed financials) and the specific data fields returned, and the source (Companies House iXBRL) further distinguishes it from sibling tools. It lacks an explicit verb, but the tool name 'get_financials' supplies that, so the basic purpose is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies that this tool should be used when historical filed financial figures are needed, and the field list suggests typical use cases. However, there is no explicit guidance about when NOT to use it or how it compares with alternatives like get_company_details or get_pulse, so usage context is only implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_payment_linkARead-onlyIdempotentInspect
PERMANENT, shareable Stripe payment links for the one-off dossiers — use this instead of buy_dossier when you need something you can HAND TO A HUMAN. buy_dossier mints a cs_live_ Checkout Session that is single-use and expires in 24h, so it is useless in a report or a message the human reads tomorrow; these links never expire and can be reused. Append ?client_reference_id= to bind the purchase to one company — without it the buyer gets a dossier credit, spendable on any entity later. No API key needed, no WhiteIntel account needed.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the safe-read annotations, the description discloses non-obvious behavior: links never expire, are reusable, require no API key or WhiteIntel account, and the default unbound purchase yields a dossier credit. This adds meaningful behavioral context not present in annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, all high-signal: purpose, comparison with alternative, usage detail, and auth requirements. No filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter tool with rich annotations and clear sibling distinction, the description fully covers the relevant context: link properties, when to use, optional binding behavior, and access requirements. No output schema is needed given the obvious return is the link.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With zero schema parameters, the baseline is 4, and the description adds extra value by documenting an optional query parameter ?client_reference_id=<entity uuid> and explaining its consequence. This exceeds baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description opens with 'PERMANENT, shareable Stripe payment links for the one-off dossiers', clearly identifying what the tool provides. It differentiates from the sibling buy_dossier by contrasting single-use 24h Checkout Sessions with never-expiring reusable links.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly directs agents to use this instead of buy_dossier when handing a link to a human, and explains why buy_dossier is unsuitable. It also documents the optional client_reference_id parameter for binding to a specific company, providing clear decision context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_pricingARead-onlyIdempotentInspect
WhiteIntel's price list + the exact machine flow for buying access: one verified dossier (€29, one price, everything), subscriptions (Pro €99/mo, Scale €499/mo) and the metered API. Returns how_an_agent_buys — buy_dossier opens a Stripe Checkout, claim_dossier mints the token, get_dossier with that token returns the unlocked report. Static, no network — check it before recommending a purchase.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, and non-destructive behavior. The description adds useful context: 'Static, no network' and explicitly states what it returns, including the machine flow. This goes beyond the annotations without contradicting them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the core purpose and immediately followed by concrete pricing and flow details. Every word earns its place; no fluff or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given zero parameters, no output schema, and a simple informational purpose, the description is complete. It covers what is returned, the pricing details, the step-by-step buying flow, and the static nature—all an agent needs to decide when and how to use this tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist, so the description carries no parameter burden. It does describe the return value's shape (how_an_agent_buys), which is more than necessary for a zero-parameter tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Describes exactly what the tool does: provides WhiteIntel's price list and the buying flow. Includes concrete details (prices, subscription tiers) and names the return field how_an_agent_buys. Clearly distinct from sibling purchase/dossier tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states 'check it before recommending a purchase', giving a clear when-to-use directive. It also outlines the flow involving siblings (buy_dossier, claim_dossier, get_dossier), placing the tool in context. Does not explicitly exclude alternative price-related tools like get_payment_link, but the static informational nature is evident.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_pulseARead-onlyIdempotentInspect
The corpus activity feed — recent ownership-change and filed-accounts events, cited. Pass since= to stream only new events. The default (unfiltered) feed returns only events that carry a source URL. watchlist (OpenSanctions PEP listings) is opt-in via kind=watchlist and is currently uncited (source-url NULL for every row).
| Name | Required | Description | Default |
|---|---|---|---|
| kind | No | ||
| limit | No | ||
| since | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds valuable behavioral context beyond that: the default feed only returns events with a source URL, and watchlist events are uncited (source-url NULL). This explains filtering behavior and data provenance, which is not present in the annotations. No contradictions found.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact, with the core purpose front-loaded in the first sentence. It covers essential points (default filter, watchlist caveat, streaming usage) without excess. The structure is logical: purpose → usage hint → behavioral nuance. No redundant or filler content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is a feed with 3 parameters and no output schema. The description explains the feed's content (ownership-change and filed-accounts events), default filtering behavior, watchlist specifics, and the streaming mechanism. While it does not describe return fields or pagination details explicitly, the 'since' usage implies a cursor pattern. Given the tool's moderate complexity and the presence of helpful annotations, the description is fairly complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It explains 'since' (stream new events) and 'kind' (opt-in watchlist, implying default kinds ownership/filing), but does not explain the 'limit' parameter at all. The description adds meaning for two of three parameters, but the missing 'limit' documentation leaves a gap. Given the low coverage, this is partial compensation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'The corpus activity feed — recent ownership-change and filed-accounts events, cited.' This provides a specific verb (feed) and resource (corpus activity), and the mention of 'cited' adds a distinguishing feature. However, it does not explicitly contrast with sibling tools like search or entity lookups, so it lacks explicit sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives usage instructions for the 'since' parameter ('Pass since=<next_since> to stream only new events') and notes that 'watchlist' is opt-in via 'kind=watchlist'. This implies when to use the tool (to stream new events or request watchlist data) but does not provide explicit guidance on when NOT to use it or how it compares to alternatives like search_entities or get_entity. The guidance is contextual but not comprehensive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_sanctionsARead-onlyIdempotentInspect
An entity's sanctions exposure (OFAC/EU/UN/UK) for it and its resolved cluster siblings, each cited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint=false, covering the safety profile. The description adds context by specifying the sanction lists (OFAC/EU/UN/UK) and the 'resolved cluster siblings' scope, which is not visible in structured fields. It does not contradict annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with zero redundant words. It conveys the essential information about scope (OFAC/EU/UN/UK) and output (citations) without fluff, making it highly efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with one parameter and no output schema, the description gives a basic understanding of the result (sanctions exposure with citations). However, it omits details on the return format, what 'exposure' entails (e.g., risk scores, match types), and how the cluster siblings are derived. Given the low complexity, it is adequate but not fully precise.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and the description does not explicitly explain the 'id' parameter. It refers to 'an entity' implying the id identifies an entity, but it does not clarify the type (company, person, etc.) or how to obtain it. The description provides minimal semantic value beyond what the schema already shows.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves an entity's sanctions exposure from specific lists (OFAC/EU/UN/UK) and includes resolved cluster siblings with citations. This distinguishes it from siblings like check_offshore_exposure and search_entities, which focus on different data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternatives such as check_offshore_exposure or find_similar. The description implies a sanctions-specific use case but does not explicitly state exclusions or suggest alternative tools for different risk signals.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
graph_neighbourhoodARead-onlyIdempotentInspect
Every ownership/control edge within a bounded number of hops of one entity, in BOTH directions — who it controls, who controls it, and their neighbours. Hard-capped in the database: depth 3, 300 edges, and at most 25 edges followed per entity per direction per hop. When the edge budget runs out the response sets truncated: true and says so — the corpus contains single entities with more than 22,000 edges, so a truncated view is normal for hubs, not an error.
| Name | Required | Description | Default |
|---|---|---|---|
| root | Yes | Entity uuid from search_entities / resolve. | |
| depth | No | Hops, 1–3 (default 2). Also capped by the caller's plan. | |
| edges | No | Edge budget, 10–300 (default 120). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint=false, but the description goes further by disclosing the hard caps (depth 3, 300 edges, 25 per entity per direction) and the truncation behavior with `truncated: true`, plus the possibility of normal truncation for hubs. This is valuable beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, tightly packed with essential information: what it returns, the caps, and the truncation behavior. No filler or redundancy; every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is moderately complex with 3 parameters, but the schema covers them well, annotations cover the safety profile, and the output schema is absent. The description explains the output shape (edges, truncation flag) and the expected scale, making it complete for effective use. No gaps identified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (all three parameters have detailed descriptions). The tool description adds context about the edge budget and truncation but does not add semantics beyond what the schema already provides (e.g., formats or constraints). Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: retrieving ownership/control edges within a bounded number of hops, in both directions, from a given entity. It explicitly contrasts with siblings like graph_path and trace_ownership_path by highlighting the bidirectional neighbourhood walk and the hard-capped nature.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for exploring the ownership neighbourhood around an entity, mentioning the direction (both) and the bounded scope. It does not explicitly name alternatives or state when not to use it, but the context signals make it clear for a graph traversal tool, especially given the sibling names.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
graph_pathARead-onlyIdempotentInspect
How two entities are connected: the ordered hops of a bounded breadth-first search over ownership and control edges in both directions. ⚠️ BOUNDED, NOT EXHAUSTIVE — at most 15 edges are followed per entity, per direction, per hop, so found: false means NO PATH WAS FOUND WITHIN THOSE BOUNDS and is NOT evidence that the two entities are unconnected. The response always carries exhaustive: false; never report a negative result as a clean bill of health.
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | Entity uuid. | |
| from | Yes | Entity uuid. | |
| max_depth | No | Hops, 1–4 (default 3). Depth 4 is measurably slower on densely connected entities — ask for it deliberately. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only and open-world hints, but the description adds crucial behavioral specifics: the BFS is bounded to 15 edges per entity per direction per hop, the response always carries exhaustive: false, and negative results must not be treated as conclusive. This goes beyond the annotations and is highly informative.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise yet comprehensive, starting with the core purpose, then highlighting the critical bounded limitation with a warning. Uses formatting (bold, emoji) to emphasize key points. Every sentence adds value, with no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no output schema, the description covers the algorithm, limits, response flag, and usage caveats. It also notes max_depth performance trade-offs. Given the annotations and schema coverage, the description is fully sufficient for an agent to use the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides full descriptions for all parameters, including max_depth constraints and performance guidance. The description adds little beyond the schema—it mentions the bounded nature but does not clarify parameter syntax or formats further. Baseline 3 is appropriate given complete schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: it finds how two entities are connected via a bounded breadth-first search over ownership and control edges in both directions. It distinguishes itself from siblings by specifying the graph traversal algorithm and the bounded nature, which differentiates it from graph_neighbourhood and trace_ownership_path.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides clear context on when to use it (to find connection paths) and warns about the bounded nature, implying it should not be used for exhaustive connectivity checks. However, it does not explicitly name alternative tools for exhaustive search or when to prefer them.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_asset_coverageARead-onlyIdempotentInspect
The WhiteIntel ASSET-ownership coverage map — who owns the plane / yacht / property, and HOW we hold that link. The companion to list_jurisdictions for physical assets. Each row is one asset class × area with a tier: deep = we ingest a bulk source that ties the asset to an OWNER (e.g. FAA US aircraft, HM Land Registry UK property) · indexed = held only via leaks/sanctions (e.g. a yacht reached through an offshore SPV in the ICIJ leaks) · on_demand = the source is closed/paid, so the record is procured from source on a paid request · community = SnitchBoard crowd tips. Also links_to_owner — CRITICAL, because many asset registries publish only the registration mark and NOT the owner: an offshore aircraft register (Isle of Man, Bermuda) names the SPV/owner-trust, not the human behind it, so deep there is still the SPV layer, and piercing to the beneficial owner is an on_demand bizjet-ownership buy. Read this before claiming we do or do not hold ownership for an aircraft/vessel/real-estate entity. No vendor or price is exposed. Returns { assets, count, classes, tiers, note }.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnly, openWorld, idempotent, and non-destructive behavior. The description adds context about the meaning of tiers and a cautionary note to read before claiming ownership, but it does not introduce new behavioral details beyond what annotations already cover.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is detailed but well-structured, using separators to break down tier definitions. It is somewhat long but remains focused and informative, avoiding unnecessary fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no parameters and no output schema, the description explains the meaning of each tier and the distinction between deep and indexed links, which is sufficient context for understanding the tool's output. It does not need to explain return values further.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has no parameters, so the baseline is 4. The description does not need to explain parameters, and none are missing.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool provides an asset-ownership coverage map, specifying asset types (plane, yacht, property) and how ownership links are held. It distinguishes itself from list_jurisdictions by targeting physical assets, making its purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly mentions it is a companion to list_jurisdictions for physical assets, implying when to use it. It also explains the tier meanings (deep, indexed, on_demand, community) to guide users in interpreting the coverage, though it does not explicitly contrast with other tools beyond list_jurisdictions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_jurisdictionsARead-onlyIdempotentInspect
The WhiteIntel coverage map — every jurisdiction we hold and HOW we hold it. Read this before telling anyone a country is or is not covered, because 'covered' means three different things. Each row carries tier: deep = we loaded the country's WHOLE national registry, so a name/number search resolves ANY company registered there; indexed = we hold only the leak / sanctions / GLEIF subset, so the entities that surfaced in a leak or on a sanctions list are searchable but the rest of that country's companies are NOT in the corpus; on_demand = the registry is closed or paid, so the specific record is procured from source when a dossier is purchased. Also scope (full = whole registry · subset = fragment), depth (ownership = owners/beneficial owners on the record · officers = directors · identity = name/number/address/status, owners procured on request) and registry (our loader, for deep tiers). So a deep+full+ownership row (e.g. gb, lv, ua, br) means you can trace owners for any company there; a subset row (e.g. cn, kr, most secrecy havens) means an empty search is 'not in the held subset', NOT 'does not exist' — the full record is bought on request. No per-record price or vendor is exposed. Returns { jurisdictions, count, tiers, note }.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds substantial behavioral context beyond the readOnly/openWorld/idempotent annotations: tier semantics, the meaning of empty results for subset rows, and the 'procured from source' behavior for on_demand jurisdictions. This prevents misinterpretation of absence as non-existence.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is longer than average, but it is front-loaded with the purpose and organized with backtick-delimited field definitions and concrete examples. It is dense rather than padded, though it could be tightened without losing meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description must explain the return shape, and it does: '{ jurisdictions, count, tiers, note }' plus every row's tier/scope/depth/registry semantics. The nuanced coverage concepts are fully explained with examples, making the tool self-contained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters and the schema is empty, so the baseline is 4; no parameter documentation is needed. The description instead documents the returned row fields and semantics, which is useful context beyond the empty schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens by defining the tool as 'The WhiteIntel coverage map — every jurisdiction we hold and HOW we hold it,' with a clear scope of returning jurisdictions and their tier/scope/depth. This is a specific, resource-oriented definition that distinguishes it from query/search siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly instructs 'Read this before telling anyone a country is or is not covered' and then explains the three coverage meanings to prevent misuse. It also clarifies that per-record price/vendor is not exposed, setting boundaries for what this tool should not be used for.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lookup_by_identifierARead-onlyIdempotentInspect
Resolve a corpus entity by a strong identifier — lei | ofac | eu | un | uk | uen | sec | krs | gb-coh | siren | br-cnpj (Brazil RFB CNPJ, 8-digit root or full 14-digit).
| Name | Required | Description | Default |
|---|---|---|---|
| value | Yes | ||
| scheme | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
readOnlyHint, openWorldHint, idempotentHint, and destructiveHint already cover the safety profile. The description adds modest extra context by noting the br-cnpj scheme accepts an 8-digit root or full 14-digit value. However, it does not disclose not-found behavior, whether the resolved entity is returned in full or just an entity ID, or any other runtime behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single dense sentence that leads with the primary verb, then delivers the essential scoping (registries and one value nuance). There is no filler or repetition of schema properties; every token contributes meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple lookup tool with 2 parameters and full annotations, the description is mostly complete. The main gap is the lack of an output schema or any statement about what 'resolve' actually returns (entity metadata, ID, or dossier), and no explicit fallback guidance when the identifier is not found. Given the sibling contract, a little more detail would be warranted.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description has some burden to explain parameters. It duplicates the scheme enum and only adds meaning to the value parameter for br-cnpj. It does not explain format expectations for other schemes, but because the enum is explicit and value is a natural string identifier, the parameter guidance is minimally adequate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb ('Resolve') and resource ('a corpus entity'), then tightly scopes the operation by enumerating the accepted identifier schemes. This clearly differentiates it from sibling search/get tools and makes the tool's single job unmistakable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'strong identifier' plus the full list of accepted registries gives clear context: this tool should be used when the caller already holds a known registry identifier. It does not explicitly mention when not to use it or point to alternatives like resolve or search_entities, but the intent is strongly inferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lookup_companyARead-onlyIdempotentInspect
UK company by Companies House number → record + ready-built ownership graph.
| Name | Required | Description | Default |
|---|---|---|---|
| number | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only, idempotent, and non-destructive behavior. The description adds useful context by specifying the input is a Companies House number and that output includes both a record and a ready-built ownership graph, going beyond the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that front-loads the scope ('UK company'), the key input ('Companies House number'), and the output. Every element carries meaning with no waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the single parameter, supportive annotations, and straightforward lookup nature, the description covers the core workflow adequately. It does not detail the ownership graph structure or error behavior, but for this simple tool the level is sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema only defines 'number' as a string with no description, and coverage is 0%. The description compensates by identifying it as a Companies House number, giving the agent the essential semantic needed to invoke the tool correctly.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns a UK company record and a ready-built ownership graph for a Companies House number. It distinguishes itself by the specific identifier type and the ownership graph output, though it does not explicitly name sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use when you have a UK Companies House number, which narrows the context. However, it gives no explicit guidance on when to prefer this over siblings like lookup_by_identifier or get_company_details, and does not state exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
purchase_dossierAIdempotentInspect
BUY the full dossier for one entity programmatically — no browser, no Stripe Checkout. Debits your prepaid wallet €2 and returns the complete premium dossier (full UBO chain, filed financials, itemised assets, provenance) in the SAME response. Requires a funded API key (Authorization: Bearer wi_…). Idempotent per (buyer, entity): buying the same entity again returns it with NO second charge, so a retry is safe. If the wallet balance is too low the call returns HTTP 402 with a machine-readable payment requirement + a top-up URL — hand the top-up to a human once, then retry; the agent spends from the balance thereafter with no browser in the loop. Get the id from search_entities / resolve. This is the AGENT-NATIVE purchase path; buy_dossier is the human/browser (Stripe Checkout) path.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Entity id (uuid) from search_entities / resolve. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate idempotentHint=true and readOnlyHint=false, but the description adds critical behavioral detail: it debits €2 from the wallet, is idempotent per (buyer, entity) with no second charge on retry, and returns HTTP 402 with a payment requirement and top-up URL if the balance is insufficient. It also clarifies the agent earns spending ability after a human top-up. This goes well beyond the annotation hints and fully discloses the side effects and error states.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is longer than typical but every sentence serves a purpose: purpose, payment mechanism, idempotency, error handling, and alternative tool routing. It is front-loaded with the primary goal and structured logically, making it easy to parse. No fluff; each detail is essential for correct invocation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter purchase tool with no output schema, the description covers all necessary aspects: what it does, what it returns, side effects (payment), idempotency, error handling, prerequisites, and related tools for obtaining input. The guidance on 402 handling is especially complete, telling the agent to hand top-up to a human and then retry. Nothing essential is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter 'id' is well-described in the schema ('Entity id (uuid) from search_entities / resolve.') with 100% schema coverage. The description reinforces this by repeating the source of the id, which adds helpful context about where to obtain it. While the schema already covers the semantic meaning, the description adds a pointer to the upstream tools, which is valuable for agent usage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'BUY the full dossier for one entity programmatically' with specific details on what is returned (premium dossier with UBO chain, financials, etc.). It also distinguishes itself from the sibling tool buy_dossier by labeling this the 'AGENT-NATIVE purchase path' versus the 'human/browser path'. This makes it unmistakable what the tool does and how it differs from alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit usage guidance: it explains when to use this tool (agent purchases) and the alternative (buy_dossier for human/browser), how to get the id ('from search_entities / resolve'), and error handling instructions (top-up and retry). It also sets prerequisites ('Requires a funded API key'). This leaves no ambiguity about when and how to invoke it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resolveARead-onlyIdempotentInspect
Batch-resolve a list of company names or scheme:value identifiers (lei/siren/br-cnpj/gb-coh/uen/sec/ofac/eu/un/uk/krs) to canonical WhiteIntel entity ids + confidence in ONE call. Enrich a whole supplier/counterparty list without one lookup per row. Up to 25 anon / 100 keyed.
| Name | Required | Description | Default |
|---|---|---|---|
| queries | Yes | Names or scheme:value identifiers. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, openWorldHint=true, idempotentHint=true, destructiveHint=false, and the description adds valuable context: it returns entity ids + confidence, supports up to 25/100 queries, and mentions the result is canonical. Since the description aligns with annotations and adds rate/scale constraints, it goes beyond the structured data. However, it does not explain failure behavior or partial errors, which could be a gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact yet information-dense: it opens with the core verb + resource, lists schemes, states the outcome (canonical ids + confidence), gives a motivating use case, and mentions rate limits. Every sentence serves a purpose, and it is appropriately front-loaded with the key capability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one parameter, schema covers it fully, annotations cover safety and idempotency), the description is sufficiently complete for an agent to invoke correctly. It covers purpose, schemes, batch nature, limits, and output. Missing details like error handling or response format are minor because there is no output schema, but the description gives the essential outcome ('canonical ids + confidence') to compensate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has one parameter 'queries' with 100% description coverage ('Names or scheme:value identifiers'). The description adds the list of allowed schemes and batch semantics, which is helpful but not deeply beyond the schema. The baseline of 3 applies because schema coverage is high and the description adds minimal but useful additional meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is highly specific: it states the tool batch-resolves company names or scheme:value identifiers to canonical entity IDs with confidence, and explicitly mentions supported schemes. It clearly distinguishes from siblings like lookup_by_identifier (likely single) and search_companies (likely search-oriented) by emphasizing batch and canonical resolution.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides clear when-to-use context (enrich a whole supplier/counterparty list, avoid one lookup per row) and hints at limits (25 anon / 100 keyed). It does not explicitly name alternatives for when not to use it, but sibling context and the phrase 'ONE call' imply batch vs single use. Could be more explicit about fallback to single lookup tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_companiesARead-onlyIdempotentInspect
Free-text UK Companies House company-name search → registration number.
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | ||
| limit | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=true, and destructiveHint=false. The description adds useful context beyond the annotations: the search is UK Companies House-specific, uses free-text input, and returns a registration number. It does not contradict the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, focused sentence that states the search scope, input type, and output. Every word contributes meaning, and it is front-loaded with the primary behavior.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no output schema and zero schema documentation for its parameters. While the description covers the main purpose and output, it omits limit semantics, result shape, and pagination or return-list behavior. This is adequate for a simple read-only search tool but not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It implies q is the free-text company name, but the 'limit' parameter is entirely undocumented in both the schema and description. This leaves a meaningful gap in parameter understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool: it performs a free-text UK Companies House company-name search and returns a registration number. This distinguishes it from siblings like search_entities or lookup_by_identifier by specifying the jurisdiction, scope, and output.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool—when you need to search for a UK company by name—but it does not explicitly state when not to use it or mention alternatives. With many sibling tools available, there is no direct comparison or exclusion guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_entitiesARead-onlyIdempotentInspect
Search every node in the corpus — companies AND people — by name. Returns entity ids for get_dossier / trace_ownership_path.
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | ||
| risk | No | ||
| type | No | ||
| juris | No | ||
| limit | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds meaningful extra context by stating that the search covers all node types and that the output is intended for downstream dossier/ownership tools. It does not contradict annotations. Details about ranking, match behavior, or pagination are absent, but the added purpose context goes beyond annotation defaults.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short sentences, with the main action front-loaded. Every clause earns its place: the scope and the return-value purpose are both conveyed without redundant language or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description captures the core purpose and return-value use case, which is enough for a simple search tool. However, with 5 parameters (including 2 enums), no output schema, and 0% schema description coverage, there are meaningful gaps about filtering, result limits, and formatting that an agent would need to invoke the tool correctly in edge cases.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description only mentions 'by name', which maps loosely to the q parameter. The other five parameters (risk, type, juris, limit) are completely unexplained in both the schema and description. For a tool with this many parameters and no schema descriptions, the description fails to compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Search') plus a precise resource scope ('every node in the corpus — companies AND people — by name'), clearly distinguishing it from sibling search_companies and lookup tools. It also explains the intended downstream use ('Returns entity ids for get_dossier / trace_ownership_path'), reinforcing purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies clear usage context: use this tool to find entity IDs for get_dossier/trace_ownership_path and to search across both companies and people. It does not explicitly list exclusions or compare with alternatives like search_companies or semantic_search, but the scope statement provides an implied when-to-use boundary that is useful to an agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
semantic_searchARead-onlyIdempotentInspect
Meaning-based entity search (BGE-M3 vector ANN over the resolved dossier cards). Finds companies/people whose profile is semantically closest to a natural-language query even without a keyword match. Optional kind + jurisdiction filters. COVERAGE IS PARTIAL — the risk-scored subset of the corpus is embedded so far (~1.9% and growing with the backfill); a thin or empty result is NOT proof the entity is unknown, so pair with search_entities (lexical/name) before concluding an entity does not exist.
| Name | Required | Description | Default |
|---|---|---|---|
| k | No | ||
| kind | No | ||
| query | Yes | ||
| jurisdiction | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
While annotations already include openWorldHint=true ama, the description adds critical transparency: the exact coverage level ('~1.9% and growing'), the fact that a lack of results is NOT proof of unknown entity, and the need to pair with lexical search. This goes beyond what annotations convey, providing actionable behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three concise sentences: purpose, capabilities, and critical caveat. It front-loads the core function, adds the key limitation (partial coverage), and gives actionable advice (pair with lexical search). No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity and the presence of openWorldHint in annotations, the description adds essential context about partial coverage (~1.9%) and explicitly tells users not to interpret empty results as absence. It mentions filters but doesn't detail output format; however, no output schema is providedaint necessary for a search tool. Overall, it's complete enough for confident use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must explain parameters. It mentions 'Optional kind + jurisdiction filters' but does not clarify the meaning or allowed values of 'kind' or 'jurisdiction', and completely omits the 'k' parameter. The 'query' parameter is implied but not explicitly described. This leaves the agent guessing about the parameter semantics beyond the names.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it's a 'Meaning-based entity search' using vector embeddings (BGE-3) over 'resolved dossier cards', distinguishing it from lexical searches. It specifies the resource (companies/people) and the semantic nature. It also contrasts with search_entities (lexical/name), making its unique purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when to use (when keyword match fails) and provides direct alternative guidance: 'pair with search_entities (lexical/name) before concluding an entity does not exist.' It also flags partial coverage, telling the agent not to rely solely on this tool for absence conclusions. This is exemplary usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
trace_ownership_pathBRead-onlyIdempotentInspect
Walk ownership upward from a root entity to the ultimate beneficial owner(s).
| Name | Required | Description | Default |
|---|---|---|---|
| root | Yes | ||
| max_depth | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations (readOnlyHint=true, destructiveHint=false, etc.) already establish this is a safe read operation, and the description is fully consistent with them—no contradiction exists. The description adds a modest behavioral detail by clarifying the traversal direction (upward) and the terminal concept ('ultimate beneficial owner(s)'), which goes beyond the tin name. However, it does not disclose behavior around cycles, max_depth enforcement, or how incomplete ownership stakes are handled, so it adds limited incremental context for a graph walk tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence of roughly 15 words, front-loaded with the verb, and every word earns its place by communicating direction (upward), starting point (root entity), and endpoint (beneficial owner(s)). Zero fluff or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a relatively simple 2-parameter flat tool with no nested objects and no output schema, the description covers the essential mechanism adequately, and the rubric notes the description needn't explain return values without an output schema. However, given the graph-traversal nature of the tool and the existence of similarly-shaped siblings (graph_path, graph_neighbourhood), the description misses key operational details like default depth, cycle handling, and the threshold for 'beneficial owner'—details that would materially affect agent behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description was expected to carry the full explanatory burden for the parameters, but it only loosely echoes the word 'root' from the schema without explaining what a valid root value is or what the 'max_depth' parameter does, its units, or default. A tool that includes both an unbounded 'root' and an optional numeric 'max_depth' leaves real ambiguity (e.g., direction of depth, default behavior when absent) that the description fails to resolve. The description adds almost no parameter-level meaning beyond the schema's bare type declarations.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('walk') plus a clear resource ('ownership... upward from a root entity to the ultimate beneficial owner(s)') with a directional scope (upward) and a defined terminus (beneficial owners). This is a clear statement of purpose that incidentally differentiates the tool from the sibling `graph_path` (generic pathfinding) and `get_entity` (single-entity lookup), though it doesn't name alternatives. The language is specific enough to avoid confusion with most siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use guidance, exclusions, or named alternatives are provided despite a rich sibling context (graph_path, graph_neighbourhood, find_similar) where such guidance would be valuable. The 'walk upward' phrasing weakly implies a use case (finding ultimate corporate ownership), but there is no statement about when NOT to use this tool or which sibling would be a better fit, leaving the agent to guess between this and graph_path.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
1 tool update
- Added
purchase_dossier
2 tool updates
- Added
list_asset_coverage - Added
list_jurisdictions
21 tool updates
- First observed
buy_dossier - First observed
check_offshore_exposure - First observed
claim_dossier - First observed
find_similar - First observed
get_company_details - First observed
get_dossier - First observed
get_entity - First observed
get_financials - First observed
get_payment_link - First observed
get_pricing - First observed
get_pulse - First observed
get_sanctions - First observed
graph_neighbourhood - First observed
graph_path - First observed
lookup_by_identifier - First observed
lookup_company - First observed
resolve - First observed
search_companies - First observed
search_entities - First observed
semantic_search - First observed
trace_ownership_path
Frequently Asked Questions
Claiming proves that you control a remote MCP connector. It does not move, proxy, or interrupt the server.
Open the connector listing, choose Claim ownership, and sign in to Glama.
Complete one verification method:
GitHub identity — fastest for official registry listings. For a namespace such as
io.github.alice/server, link the matching GitHub user, then choose Claim with GitHub. An organization namespace such asio.github.acme/serveralso needs that organization to have installed the Glama AI GitHub App and approved its permissions, because GitHub discloses organization membership only to apps it has installed. Use HTTP or DNS when it has not.HTTP challenge — works when you can deploy a public file. Generate a token, publish the exact JSON Glama shows at
/.well-known/glama.jsonon the same origin as the connector, then choose Check HTTP challenge.DNS challenge — works when you control DNS but cannot change the server. Generate a token, create the exact TXT record Glama shows, wait for it to propagate, then choose Check DNS challenge.
After verification, Glama sends a confirmation email and gives you access to listing details, thumbnails, health checks, and analytics. Keep the HTTP file or DNS record in place: Glama periodically checks it and ownership remains verified while the token is discoverable.
The HTTP ownership file has this structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"claim": "glama_claim_..."
}Claim tokens are opaque, stable, and bound to the signed-in Glama account. They contain no email address or other personal information. If Glama can no longer discover a verified HTTP or DNS token, it starts a seven-day grace period before removing claim-based access. Restore the same token during that period to keep ownership verified. Never publish an email address, Glama session token, GitHub token, or connector credential as ownership proof.
If verification fails, confirm that you copied the current token exactly. The HTTP file must be public, return valid JSON with a successful HTTP response, and stay on the connector's origin. DNS changes may need more time to propagate. A claim cannot transfer to a different origin or hostname: if the connector target changes, Glama starts the grace period and the new target must be claimed separately after the previous claim is released.
For a connector linked to the official MCP Registry, registry updates continue to replace its name, description, and URL by default. After claiming, open Manage connector and enable Use Glama listing details as the source of truth if edits made on Glama should be preserved. Categories and thumbnails are always managed on Glama; registry linkage and technical connection settings continue to sync.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
To improve your MCP server's ranking:
Claim ownership of the server listing
Complete the server profile with an accurate description and thumbnail
Provide a test profile so Glama can connect to and evaluate the server
Keep tool definitions clear and complete to earn a high Tool Definition Quality Score (TDQS)
Route real usage through the Glama Gateway; more recorded successful server uses also improve the ranking
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Connectors
Global B2B intelligence for AI agents: 35M+ companies, 1.6M sanctions, KYB pack. 78 tools.
Czech & EU due diligence in one call — facts, insolvency, sanctions, VAT, risk score, UBO chain.
Live data from 27 official national company registries. Unmodified. For KYB and due diligence.
Due diligence & KYC: PEP, national and international sanctions (OFAC, UN, EU, UK, FBI, INTERPOL, FIN
Related MCP Servers
- AlicenseAqualityDmaintenanceUnmodified government company data from 27 registries, live. Cross-border UBO chain walker for AI agents. 60+ tools covering GB, IE, NO, FR, DE, NL, PL, BE, CH, LI, MC, IM, IS, CY, AU, NZ, CA, TW, HK, MY, FI, CZ, ES, IT, KR, US — raw upstream fields preserved, no LLM extraction.1017Apache 2.0
- AlicenseAqualityCmaintenanceStructured business intelligence for AI agents. 5.5M verified entities across 34 countries, 40.3M BORME mercantile acts, EU VAT validation, GLEIF, healthcare registries. 20 tools.61MIT
- AlicenseNot gradedqualityBmaintenanceCompany data for Spain, France, the UK, Ireland and Poland — registry, KYB and sanctions.60MIT
- AlicenseAqualityBmaintenanceExposes 29 official business-registry actors as MCP tools for KYC/AML, beneficial-owner (UBO), credit-risk and adverse-media workflows across 11 jurisdictions (EU, US, UAE). Sourced via Apify; pay-per-result.386MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.
TDQS
Most tools have distinct purposes (search, lookup, get details, graph traversal, coverage maps, payment). Some overlap exists between lookup_company and lookup_by_identifier (both resolve identifiers, though one is UK-specific), and between get_entity vs get_company_details, but descriptions clarify distinctions. find_similar and semantic_search both find similar entities but different mechanisms.
Uses a mix of verb_noun and noun_phrases: buy_dossier, claim_dossier, check_offshore_exposure, find_similar, get_pricing, get_pulse, graph_neighbourhood, list_asset_coverage, lookup_by_identifier, search_entities, trace_ownership_path. While most use underscores and verbs like get/lookup/search/list, there are inconsistencies like 'graph_neighbourhood' (noun start) vs 'trace_ownership_path' (verb start). Overall readable but not perfectly consistent.
23 tools is at the high end but justifiable for a comprehensive intelligence server covering search, lookup, graph, coverage, payments, and entity details. 'buy_dossier' is considered one of the tools and adds bulk but not excessive. It is appropriate for the scope.
Covers a wide range: search (search_entities, search_companies, semantic_search), identifier lookup (lookup_by_identifier, lookup_company), entity details (get_entity, get_company_details, get_financials), graph (graph_neighbourhood, graph_path, trace_ownership_path), coverage maps (list_jurisdictions, list_asset_coverage), sanctions (get_sanctions, check_offshore_exposure), plus payment flow (get_pricing, buy_dossier, claim_dossier, get_payment_link). Missing perhaps a 'get_relationships' separate tool but get_entity includes direct relationships. Also no explicit 'list_entities' but search covers it. Minor gaps like no bulk operations besides resolve.