Skip to main content
Glama

WhiteIntel — Ownership Intelligence

claim_dossier

Idempotent

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.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
session_idYes

TDQS

A5/5.0
Behavior5/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters5/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A3.7/5.0
Disambiguation4/5

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.

Naming Consistency3/5

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.

Tool Count4/5

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.

Completeness4/5

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.