Skip to main content
Glama

Tolca: business verification (KYB)

sanctions-check

sanctions_check
Read-onlyIdempotent

Sanctions screening of a company name (OFAC, US, UK, EU, Canada), cheapest tier: is this company sanctioned? One call checks the US Consolidated Screening List (incl. OFAC SDN), the UK Sanctions List, the EU consolidated financial sanctions list and Canada's autonomous sanctions list, refreshed daily. Returns allow / review / block, a 0-100 risk score, matches with official references and dates, and an Ed25519-signed receipt. Companies only. Input: name, optional country. Costs $0.005 USDC per call (x402 v2, Base or Solana). Send the HTTP header PAYMENT-SIGNATURE with your x402 payment, or call POST https://tolca.tonbot.ca/v1/sanctions-check with an x402 client.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "name": "<name>"
    },
    "name": "sanctions_check"
  }
}

Input Schema

NameRequiredDescriptionDefault
nameYesCompany name to screen (companies only, not individuals)
countryNoOptional ISO-2 country code

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / name / description
      Previous value: -"Person or company name to screen"New value: +"Company name to screen (companies only, not individuals)"
  2. Added

TDQS

A4/5.0
Behavior3/5

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 genuinely useful behavior beyond that: daily refresh cadence of the underlying lists, the allow/review/block outcome space, a 0-100 risk score, and an Ed25519-signed receipt. However, it omits match-threshold behavior, pagination/result limits, and error or no-match handling, so it is informative rather than complete.

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

Conciseness4/5

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

The most decision-relevant facts (what it checks, coverage, cost tier) are front-loaded in the first sentence, with outcomes and payment mechanics following. It is dense but nearly every clause carries operational value; the full endpoint URL and header name make it slightly heavier than a pure capability statement, though they are practically necessary for a paid x402 tool.

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?

There is no output schema, but the description compensates by describing the return shape (allow/review/block, 0-100 risk score, matches with references and dates, signed receipt). It also discloses the payment requirement, price, networks, header, and endpoint — everything an agent needs to invoke a metered API correctly. Given a two-parameter schema, nothing material is missing.

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

Parameters3/5

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

Schema description coverage is 100%, so both parameters (name, country) are already documented in the schema, including the ISO-2 constraint and the companies-only restriction. The description's 'Input: name, optional country' simply restates the schema and adds no format, normalization, or edge-case detail (e.g. legal-suffix handling, transliteration). Baseline 3 applies.

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

Purpose5/5

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

The description opens with a specific verb and resource ('Sanctions screening of a company name') and enumerates the exact list coverage (OFAC, US, UK, EU, Canada), then frames the question it answers: 'is this company sanctioned?'. It also scopes the subject explicitly ('Companies only'), which separates it from enrichment or verification siblings like company_enrich or verify_business.

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

Usage Guidelines4/5

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

It clearly signals when to use it ('is this company sanctioned?') and positions itself as the 'cheapest tier', implying deeper/paid alternatives exist, plus an explicit exclusion ('Companies only', not individuals). What it lacks is a named alternative or the condition that would send an agent elsewhere, so it stops short of full routing guidance.

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.