screen_sanctions
Screen addresses, names, or entities against global sanctions lists (OFAC, EU, UN, UK) to identify matches with calculated risk scores.
Instructions
Screen an address, name, or entity against global sanctions lists (OFAC SDN, EU, UN, UK). Returns matching entries with match scores. Cost: $0.005 per query. Source: Consolidated sanctions lists, updated daily.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Name or alias to screen | |
| address | No | Crypto address to screen | |
| threshold | No | Minimum match score (0-1, default 0.8) |
Implementation Reference
- src/tools/sanctions.ts:56-87 (handler)The handler function for the `screen_sanctions` tool which calls the `/api/v1/sanctions/screen` endpoint.
async ({ name, address, threshold }) => { const res = await apiGet<SanctionsQueryResponse>( "/api/v1/sanctions/screen", { name, address, threshold: threshold ?? 0.8, }, ); if (!res.ok) { return { content: [ { type: "text" as const, text: `API error (${res.status}): ${JSON.stringify(res.data)}`, }, ], isError: true, }; } const { count, data } = res.data; const warn = stalenessWarning(res); const summary = `${warn}Found ${count} sanctions match(es).`; const json = JSON.stringify(data, null, 2); return { content: [{ type: "text" as const, text: `${summary}\n\n${json}` }], }; }, ); - src/tools/sanctions.ts:31-55 (registration)Registration and schema definition for the `screen_sanctions` tool.
server.registerTool( "screen_sanctions", { title: "Screen Sanctions", description: "Screen an address, name, or entity against global sanctions lists (OFAC SDN, EU, " + "UN, UK). Returns matching entries with match scores. " + "Cost: $0.005 per query. Source: Consolidated sanctions lists, updated daily.", inputSchema: { name: z .string() .optional() .describe("Name or alias to screen"), address: z .string() .optional() .describe("Crypto address to screen"), threshold: z .number() .min(0) .max(1) .optional() .describe("Minimum match score (0-1, default 0.8)"), }, },