Skip to main content
Glama

cis_secondary_sanctions_exposure

Triage secondary-sanctions exposure for CIS-domiciled counterparties across EU, UK, UAE, and Singapore rules; returns decision-readiness score, exposure dimensions, and evidence gaps.

Instructions

Triage secondary-sanctions exposure for a CIS-domiciled counterparty (Kazakhstan, Uzbekistan, Kyrgyzstan, Tajikistan, Turkmenistan, Georgia, Armenia, Azerbaijan, Moldova) for EU / UK / UAE / Singapore enhanced due diligence against OFAC EO 14114, the EU sanctions package, UK OFSI, and FATF / EAG typologies. Pass a structured exposure_request (counterparty, exposure_facets, jurisdiction_review_scope, dated_sources, risk_question, decision_stage) matching cis-secondary-sanctions-request.schema.json. Returns a triage recommendation, decision-readiness score, exposure dimensions, evidence gaps, and minimum sources before review. Local stdio runs on user-supplied evidence only (no live retrieval); a name match is not identity verification; human review is required.

Input Schema

NameRequiredDescriptionDefault
exposure_requestYesStructured CIS secondary-sanctions exposure request. Call get_schema('cis_secondary_sanctions_request') for the full nested contract.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv1.23.0
    • addedInput schema / properties / exposure_request / properties / shareholders
      Added value: +{
      +  "items": {
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
  2. Changed4 schema fields changedv1.5.0
    • changedInput schema / properties / exposure_request / description
      Previous value: -"Structured CIS secondary-sanctions exposure request matching cis-secondary-sanctions-request.schema.json."New value: +"Structured CIS secondary-sanctions exposure request. Call get_schema('cis_secondary_sanctions_request') for the full nested contract."
    • addedInput schema / properties / exposure_request / examples
      Added value: +[
      +  {
      +    "counterparty": {
      +      "jurisdiction": "Kazakhstan",
      +      "name": "Example Kazakhstan Trading LLP",
      +      "ownership_layers": [
      +        "Holding A (KZ)",
      +        "Holding B (UAE)"
      +      ],
      +      "sector": "trading_house"
      +    },
      +    "dated_sources": [
      +      {
      +        "date": "2026-05-20",
      +        "id": "s1",
      +        "source_type": "ofac_sdn_extract",
      +        "title": "OFAC SDN list excerpt"
      +      }
      +    ],
      +    "decision_stage": "onboarding",
      +    "exposure_facets": [
      +      "ownership_or_control",
      +      "ict_or_dual_use_goods",
      +      "transit_or_re_export"
      +    ],
      +    "jurisdiction_review_scope": [
      +      "ofac",
      +      "eu",
      +      "uk_ofsi"
      +    ],
      +    "risk_question": "Does the disclosed ownership chain create indirect exposure under OFAC EO 14114 or EU sanctions package?"
      +  }
      +]
    • addedInput schema / properties / exposure_request / properties
      Added value: +{
      +  "counterparty": {
      +    "properties": {
      +      "jurisdiction": {
      +        "minLength": 1,
      +        "type": "string"
      +      },
      +      "name": {
      +        "minLength": 1,
      +        "type": "string"
      +      },
      +      "notes": {
      +        "minLength": 1,
      +        "type": "string"
      +      },
      +      "ownership_layers": {
      +        "type": "array"
      +      },
      +      "registered_identifiers": {
      +        "type": "array"
      +      },
      +      "sector": {
      +        "enum": [
      +          "trading_house",
      +          "logistics_forwarder",
      +          "bank",
      +          "fintech",
      +          "broker_dealer",
      +          "manufacturer",
      +          "ict_or_electronics",
      +          "metals_or_mining",
      +          "energy_or_petrochem",
      +          "agribusiness_or_grain",
      +          "construction",
      +          "professional_services",
      +          "holding_or_spv",
      +          "unknown",
      +          "other"
      +        ],
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "name",
      +      "jurisdiction"
      +    ],
      +    "type": "object"
      +  },
      +  "dated_sources": {
      +    "items": {
      +      "type": "object"
      +    },
      +    "type": "array"
      +  },
      +  "decision_stage": {
      +    "enum": [
      +      "onboarding",
      +      "periodic_review",
      +      "pre_transaction",
      +      "post_alert",
      +      "committee_review",
      +      "other"
      +    ],
      +    "type": "string"
      +  },
      +  "exposure_facets": {
      +    "items": {
      +      "enum": [
      +        "ownership_or_control",
      +        "financial_flows",
      +        "ict_or_dual_use_goods",
      +        "metals_or_mining",
      +        "energy_or_petrochem",
      +        "agribusiness_or_grain",
      +        "transit_or_re_export",
      +        "correspondent_banking",
      +        "professional_enablers",
      +        "shell_or_layered_structure",
      +        "other"
      +      ],
      +      "type": "string"
      +    },
      +    "minItems": 1,
      +    "type": "array"
      +  },
      +  "jurisdiction_review_scope": {
      +    "items": {
      +      "enum": [
      +        "ofac",
      +        "eu",
      +        "uk_ofsi",
      +        "un",
      +        "fatf",
      +        "eag",
      +        "national_regulator",
      +        "other"
      +      ],
      +      "type": "string"
      +    },
      +    "type": "array"
      +  },
      +  "notes": {
      +    "minLength": 1,
      +    "type": "string"
      +  },
      +  "requested_output": {
      +    "enum": [
      +      "structured_json",
      +      "markdown_summary",
      +      "both"
      +    ],
      +    "type": "string"
      +  },
      +  "risk_question": {
      +    "minLength": 1,
      +    "type": "string"
      +  }
      +}
    • addedInput schema / properties / exposure_request / required
      Added value: +[
      +  "counterparty",
      +  "exposure_facets",
      +  "dated_sources",
      +  "risk_question",
      +  "decision_stage"
      +]
  3. Addedv1.1.0

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations, the description carries the full behavioral burden and discloses important traits: local stdio operates on user-supplied evidence only, there is no live retrieval, name matches are not identity verification, and human review is required. It does not discuss side effects or data handling, but for a triage/read-oriented tool this is still strong.

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

Conciseness4/5

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

The description is front-loaded with purpose and scope, and every sentence contributes context about inputs, outputs, or limitations. It is dense but not bloated; improved formatting could make it even easier to scan.

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

Completeness5/5

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

Given the complex nested input schema, absence of annotations, and lack of an output schema, the description is complete enough: it explains the request structure, summarizes return values, and states key limitations. An agent has enough context to invoke the tool correctly.

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 the schema already documents the single nested exposure_request parameter. The description adds field names and a schema reference, but does not explain enum semantics or nested field meanings beyond what the structured schema provides, making the baseline 3 appropriate.

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 uses a specific verb and resource: 'Triage secondary-sanctions exposure for a CIS-domiciled counterparty.' It enumerates the covered jurisdictions and regulatory regimes, making the tool's purpose highly distinct from sibling validation, schema, and analysis tools.

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

Usage Guidelines4/5

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

The description gives clear usage context: CIS-domiciled counterparties and EU/UK/UAE/Singapore enhanced due diligence against named sanctions regimes. It does not explicitly state when not to use the tool or name alternative sibling tools, so it falls short of a 5.

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