Skip to main content

Screening MCP Tools

Beta

Enigma's remote MCP server is currently in beta.

Enigma's MCP server provides tools for sanctions screening and compliance workflows. These tools enable your AI to screen individuals and businesses against global sanctions lists including OFAC SDN, EU sanctions, UN sanctions, and other watchlists, as well as manage screening decisions.

For API-level documentation, see the Screening API Reference.

Screening Tools Overview

ToolPurposeKey Inputs
screen_customerScreen individuals against sanctions listsName (required), DOB, Country
screen_businessScreen organizations against sanctions listsOrganization name (required), Country, Address, BIC
screen_entity_searchLook up details for a specific sanctioned entityEntity ID (required)
find_decisionRetrieve a single screening decisionRequest ID (required)
find_decisionsQuery multiple screening decisions with filtersDate range, Status, Alert, Assignee
update_decisionUpdate a decision's status, assignee, or notesRequest ID (required), User ID (required)

screen_customer

Screen an individual against sanctions lists for compliance and due diligence.

Use this tool to check individuals against global sanctions lists including OFAC SDN, EU sanctions, UN sanctions, and other watchlists. Do not use this tool for companies or organizations—use screen_business instead.

Parameters

ParameterTypeRequiredDescription
namestringYesThe person's full name (e.g., "John Hanafin")
dobstringNoDate of birth in YYYYMMDD format (e.g., "19740710" for July 10, 1974). Recommended for more precise results.
countrystringNoCountry of affiliation, full name capitalized (e.g., "Ireland", "United States"). Recommended for more precise results.
passport_numberstringNoGovernment-issued passport number
passport_countrystringNoCountry of passport issuance
tagstringNoCustom tag to associate with this screening request
list_groupsarray/stringNoList groups to screen against. Defaults to ["pos/sdn/all", "pos/non_sdn/all"]

Available List Groups

  • pos/sdn/all - OFAC Specially Designated Nationals
  • pos/non_sdn/all - OFAC Non-SDN Lists
  • enigma/rogues - Enigma curated rogues list
  • enigma/testing - Testing list

Returns

Sanctions screening results including:

  • Match confidence scores
  • List of potential matches with details
  • Hit/alert status based on configured thresholds
  • Source list information (SDN, Non-SDN, etc.)

Example Prompts

"Screen John Hanafin, born July 10, 1974, from Ireland against OFAC sanctions lists"

"Check if Maria Garcia with passport number AB123456 from Spain appears on any sanctions lists"


screen_business

Screen a business or organization against sanctions lists for compliance.

Use this tool to check organizations against global sanctions lists including OFAC SDN, EU sanctions, UN sanctions, and other watchlists.

Parameters

ParameterTypeRequiredDescription
org_namestringYesThe organization name to screen
country_of_affiliationstringNoCountry associated with the organization
addressstringNoAddress string for the organization
bicstringNoBank Identifier Code (triggers separate search if provided)
tagstringNoCustom tag to associate with this screening request
list_groupsarray/stringNoList groups to screen against. Defaults to ["pos/sdn/all", "pos/non_sdn/all"]

Returns

Sanctions screening results including:

  • Match confidence scores
  • List of potential matches with details
  • Hit/alert status based on configured thresholds
  • Source list information (SDN, Non-SDN, etc.)

Example Prompts

"Screen Banco de Bogota from Colombia against sanctions lists"

"Check if Acme Trading LLC at 123 Main Street, Tehran is on any OFAC lists"


Look up detailed information about a specific sanctioned entity by its ID.

Use this tool when you have an entity ID from a previous screening result and want to retrieve the full entity profile with all available attributes.

Parameters

ParameterTypeRequiredDescription
entity_idstringYesThe sanctioned entity ID (e.g., "ofac/sdn/43085")
formatstringNoResponse format: raw, display, structured, or attributes. Defaults to structured.

Response Formats

  • raw - The raw API response as a JSON object
  • display - HTML-formatted display of the entity
  • structured - Structured JSON response (default)
  • attributes - Entity attributes as a JSON object

Example Prompts

"Get the full details for sanctioned entity ofac/sdn/43085"

"Show me all attributes for entity ofac/non_sdn/12345"


Enabling Decision Recording

To use the decision management tools (find_decision, find_decisions, update_decision), you must enable case management in your screening configuration. Without this, screening requests will not create decision records.

Set use_case_manager to true in the general section of your configuration:

{
"general": {
"use_case_manager": true
}
}

This can be configured in two ways:

  1. Stored configuration - Create a configuration with case management enabled using the Configuration API, then reference it with stored_config_name in your screening requests.

  2. Configuration overrides - Include "general": {"use_case_manager": true} in the configuration_overrides of each screening request.

Once enabled, every screening request will automatically create a decision record. The request_id returned in the screening response can then be used to retrieve or update the decision.


find_decision

Retrieve a single screening decision by its request ID.

Decisions are created when screening requests are processed with case management enabled (see Enabling Decision Recording above). Use this tool to look up the current status and details of a specific screening decision.

Parameters

ParameterTypeRequiredDescription
request_idstringYesThe UUID of the screening request (e.g., "32cb66d1-a86c-4f19-9c4b-70c5e12aa7fb")

Returns

Decision details including:

  • Request ID and timestamp
  • Alert status
  • Current status (e.g., pending, approved, rejected)
  • Assignee information
  • Associated tags and notes

Example Prompts

"Find the decision for screening request 32cb66d1-a86c-4f19-9c4b-70c5e12aa7fb"

"What's the status of decision fed01a4a-da7e-11ee-8600-0a58a9feac02?"


find_decisions

Query multiple screening decisions with optional filters.

Use this tool to search and paginate through screening decisions. Results are returned in database ID order, oldest to newest.

Parameters

ParameterTypeRequiredDescription
from_datestringNoStart datetime in YYYY-MM-DDTHH:MM:SS format (UTC). Defaults to 30 days ago.
to_datestringNoEnd datetime in YYYY-MM-DDTHH:MM:SS format (UTC). Defaults to end of current year.
pageintegerNoPage number (0-indexed)
amtintegerNoResults per page (default: 100)
alertbooleanNoFilter by alert status. Omit to return all results.
statusstringNoFilter by status (e.g., "pending", "approved", "rejected", "in_progress", "on_hold", "cancelled")
assignee_idstringNoFilter by assigned user ID
tagstringNoFilter by request tag

Returns

Paginated list of decisions with:

  • Request IDs and timestamps
  • Alert and status information
  • Assignee details
  • Associated tags

Example Prompts

"Show me all screening decisions from the last week that triggered alerts"

"Find all pending decisions assigned to user 8b738bc8-dac1-11f0-90ac-9af3bc73d0e6"

"Get the first 50 rejected decisions from October 2025"


update_decision

Update a screening decision's status, assignee, or add notes.

Use this tool to manage the workflow for screening decisions—assign reviewers, update statuses, and add notes as part of the review process.

Parameters

ParameterTypeRequiredDescription
request_idstringYesThe UUID of the decision to update
user_idstringYesThe database ID of the user making the update
assignee_idstringNoNew assignee's user ID
statusstringNoNew status string (e.g., "approved", "rejected", "pending", "in_progress", "on_hold")
notestringNoNote to add to the decision

Returns

Updated decision details confirming the changes.

Example Prompts

"Approve decision 32cb66d1-a86c-4f19-9c4b-70c5e12aa7fb and add a note that it was reviewed and cleared"

"Assign decision fed01a4a-da7e-11ee-8600-0a58a9feac02 to user test2 and set status to in_progress"

"Add a note to decision abc123 saying 'Pending additional documentation from customer'"


Workflow Examples

Basic Customer Screening

User: "Screen Maria Rodriguez, DOB March 15, 1985, from Mexico against OFAC lists"

AI uses: screen_customer(name="Maria Rodriguez", dob="19850315", country="Mexico")

Business Due Diligence

User: "Check if Global Trade Partners LLC in Dubai appears on any sanctions lists"

AI uses: screen_business(org_name="Global Trade Partners LLC", country_of_affiliation="United Arab Emirates", address="Dubai")

Decision Review Workflow

User: "Show me all screening alerts from last week that need review"

AI uses: find_decisions(from_date="2025-01-20T00:00:00", to_date="2025-01-27T23:59:59", alert=true, status="pending")

User: "Approve the first decision and mark it as a false positive"

AI uses: update_decision(request_id="...", user_id="...", status="approved", note="Reviewed - false positive, name similarity only")

Entity Investigation

User: "One of our screenings matched entity ofac/sdn/43085. Show me the full details."

AI uses: screen_entity_search(entity_id="ofac/sdn/43085", format="structured")