Sanctionlistcheck.com

Checks names against OFAC, UK, EU, UN and more sanctions lists; returns scored possible matches.

我該用這個嗎

品質與安全性

A
說明品質
100%
結構描述完整度
65%
命名品質
95%
汙染風險
100%
權限相符程度
100%
協定合規性
100%

根據工具定義與協定合規性的自動化分析。

上下文成本

~6,886Token(工具定義)
~20.4 KB典型回應大小
顯著的注意力影響(128k 上下文的 5.38%)

這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。

安裝

一鍵安裝

將以下內容加入你的 `claude_desktop_config.json` 檔案:

{
  "mcpServers": {
    "sanctionlistcheck": {
      "url": "https://sanctionlistcheck.com/mcp"
    }
  }
}

遠端端點

https://sanctionlistcheck.com/mcpstreamable-http

它能做什麼

工具清單

工具(4)

🟢 唯讀🟡 寫入🔴 刪除⚪ 未知
⚪screen_names(names, threshold, idempotency_key)

Audit-ready sanctions screening of 1 to 100 names against 10 official lists. The response includes a record id, the snapshot version, the data-as-of date for each source list, and the matching engine version. Each screened name costs one credit. Hits are candidates for human review and require further assessment.

輸入結構描述

{
  "type": "object",
  "properties": {
    "names": {
      "type": "array",
      "description": "A list of 1 to 100 names to be screened.",
      "minItems": 1,
      "maxItems": 100,
      "items": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "The full name of a person or an entity, as written.",
            "minLength": 1,
            "maxLength": 200
          },
          "country": {
            "type": "string",
            "description": "An optional country context to refine the screening.",
            "maxLength": 100
          },
          "dob": {
            "type": "string",
            "description": "An optional date of birth for a person, to refine the screening.",
            "maxLength": 100
          },
          "type": {
            "type": "string",
            "description": "An optional type, either 'person' or 'entity', to refine the screening.",
            "enum": [
              "person",
              "entity"
            ]
          }
        },
        "required": [
          "name"
        ],
        "additionalProperties": false
      }
    },
    "threshold": {
      "type": "number",
      "description": "An optional minimum score from 0.6 to 1; only hits at or above this score are returned.",
      "minimum": 0.6,
      "maximum": 1
    },
    "idempotency_key": {
      "type": "string",
      "description": "An optional key to prevent duplicate screenings. A retry with the same key within 24 hours returns the stored record and charges no credits.",
      "minLength": 1,
      "maxLength": 128,
      "pattern": "^[\\x21-\\x7e]+$"
    }
  },
  "required": [
    "names"
  ],
  "additionalProperties": false
}

輸出結構描述

{
  "type": "object",
  "anyOf": [
    {
      "type": "object",
      "required": [
        "record_id",
        "record_url",
        "screened_at",
        "snapshot_version",
        "engine_version",
        "sources",
        "warnings",
        "credits_charged",
        "credits_remaining",
        "results"
      ],
      "properties": {
        "record_id": {
          "type": "string",
          "description": "ULID. Fetch the record again with GET /v1/records/{id}."
        },
        "record_url": {
          "type": "string"
        },
        "screened_at": {
          "type": "string"
        },
        "snapshot_version": {
          "type": "string"
        },
        "engine_version": {
          "type": "string"
        },
        "sources": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "id",
              "name",
              "data_as_of"
            ],
            "properties": {
              "id": {
                "type": "string"
              },
              "name": {
                "type": "string"
              },
              "data_as_of": {
                "type": [
                  "string",
                  "null"
                ],
                "description": "When the source published the data in the screened snapshot. null when unknown; a warning then says so."
              },
              "attribution": {
                "type": "string",
                "description": "The licence credit of the source. Present only when the source's licence requires one (CA_SEMA, AU_DFAT)."
              }
            }
          }
        },
        "warnings": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Provenance gaps, e.g. a source whose data-as-of is unknown."
        },
        "request_hash": {
          "type": "string",
          "description": "sha256 of the canonical request (names and threshold, keys sorted)."
        },
        "threshold": {
          "type": "number"
        },
        "credits_charged": {
          "type": "integer"
        },
        "credits_remaining": {
          "type": "integer"
        },
        "payload_expires_at": {
          "type": "string",
          "description": "After this time the record keeps its metadata but no longer holds the names and hits."
        },
        "payload_status": {
          "type": "string",
          "enum": [
            "available",
            "expired",
            "missing"
          ],
          "description": "available on a fresh screen. On a replay, the same meaning as GET /v1/records/{id}: expired or missing when results is null."
        },
        "results": {
          "oneOf": [
            {
              "type": "array",
              "items": {
                "type": "object",
                "required": [
                  "input",
                  "hits"
                ],
                "properties": {
                  "input": {
                    "type": "object",
                    "required": [
                      "name"
                    ],
                    "properties": {
                      "name": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 200
                      },
                      "country": {
                        "type": "string",
                        "maxLength": 100,
                        "description": "Optional context. A country that agrees with the list entry raises reviewPriority to HIGH; it never hides a hit."
                      },
                      "dob": {
                        "type": "string",
                        "maxLength": 100,
                        "description": "Optional date of birth, ISO 8601. Same rule as country."
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "person",
                          "entity"
                        ],
                        "description": "Optional. Lowers the score of hits of the opposite type."
                      }
                    }
                  },
                  "hits": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "description": "One list entry that matched. Same fields as a row of the batch report's JSON export; the export row also has rowIndex, inputName, listDataAsOf, hitGroup, review and spreadsheetRow (the uploaded row's number as a spreadsheet app shows it, added 2026-10-05), and since 2026-10-06 contextCheck (ReportContextCheck), inputContext (ReportInputContext) and nameComparison (ReportNameComparison). In the export, reviewPriority is HIGH when the uploaded country or date of birth agrees with the list entry (since 2026-10-09, E2.4: a country that agrees does not make HIGH when contextCheck.dobGapOver2Years is true and every item of the uploaded country cell gives a country code). The CSV export has the same data in the columns name_comparison, words_that_match, country_check, country_your_file, country_list, dob_check, dob_your_file and dob_list, after spreadsheet_row. entityId, matchReasons and listEntry were added on 2026-10-03; records stored before that do not have them. Since 2026-10-07 a file whose rows hold several names (for example a student, an agent and a contact) is screened per name: the export row then has party (the name group, also the CSV column party), rowIndex is the name item (row x groups + group), and spreadsheetRow is the file row. Since 2026-10-07 each export row also has whyListed (the list's listing codes as [{code, plain, source}]: plain is the official programme name, or null when no official table names the code; source is the page that defines it, or null) and lookUp ({text, url}: where to look the list entry up). The CSV export has the same data in the columns why_listed, look_up and look_up_url. listing_reason keeps the raw code. Also since 2026-10-07, each export row has matchLabel (the report's words for the band and score, for example 'Strong name match (93%)'; band and score are unchanged) and alsoListedAs (the other names that matched the same listed person or entity in this row: only on the hit group's best match, [] on its other rows). These 2 keys are export-only: /v1 hits do not have them. Since 2026-10-09 (matcher 2.8) each export row also has mutualMismatch (true when the uploaded name and the list name each keep a word that pairs with nothing; false for matches screened before 2.8); export-only too. Since 2026-10-09 (E2.4) the batch report export differs from /v1/screen for the same match: /v1/screen hits keep the engine's band, score and reviewPriority (HIGH when the country or date of birth agrees), and the batch report export applies the date-of-birth cap and the HIGH change described here. Since 2026-10-09 (E2.4, QA PR #165) an uploaded date-of-birth or country cell where some item gives no reading and another does gives contextCheck.dobPartlyRead / countryPartlyRead = true and never 'differs': the check is then 'unreadable', the CSV check word is 'partly read: ...', and the CSV *_your_file column and the PDF print the cell as written. A cell that reads in full but with a year not written as 4 digits on their own, or a day after the report date, keeps its check (agrees / differs) and only switches the E2.4 rules off. Since 2026-10-09 (E2.4) each export row also has dobCap: null, or {nameScore, reason} when the engine gave the match the Strong band and the report shows it as Possible because the date of birth is more than 2 years off (contextCheck.dobGapOver2Years); band and score are then the report's (score at most the Strong line minus 0.01) and nameScore is the engine's name score; export-only. The CSV has the same data in its columns band_note and name_score_before_cap, after report_section. Since 2026-10-10 (matcher 2.10) each export row also has capReason: null, or one of weak_alias_copy, number_missing, letters_differ, one_word_spelling (and since matcher 2.11 common_words_only) when the engine gave a name score of the Strong line or more the Possible score 0.89 for that reason (the engine's score and band are then already Possible); and capNote, its plain sentence (null when capReason is null); capNote is export-only. Since matcher 2.11, /v1 hits also have capReason (see the property), without capNote. The CSV band_note then gives 'Shown as Possible (not Strong): ' and that sentence, and name_score_before_cap stays empty (no new CSV column). The CSV's last column, words_not_compared, holds the words on one side only that the engine leaves out of the name comparison as legal forms (nameComparison.notComparedYours / notComparedList, joined by ', '). The CSV columns match_label, your_words_not_in_list_name and list_words_not_in_your_name (nameComparison.unmatchedYours / unmatchedList, joined by ', ') and also_listed_as (at most 10 names joined by ' | ', then '(+N more)'; the JSON array has every name) are the last 4.",
                      "required": [
                        "matchedList",
                        "matchedName",
                        "score",
                        "band",
                        "reviewPriority",
                        "listVersion",
                        "matchedTokenPairs",
                        "identifiers"
                      ],
                      "properties": {
                        "matchedList": {
                          "type": "string",
                          "description": "Source list id, e.g. OFAC_SDN."
                        },
                        "matchedName": {
                          "type": "string"
                        },
                        "score": {
                          "type": "number",
                          "minimum": 0,
                          "maximum": 1
                        },
                        "band": {
                          "type": "string",
                          "enum": [
                            "high_confidence",
                            "possible_match"
                          ]
                        },
                        "reviewPriority": {
                          "type": "string",
                          "enum": [
                            "HIGH",
                            "REVIEW"
                          ]
                        },
                        "listVersion": {
                          "type": "string"
                        },
                        "matchedTokenPairs": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "required": [
                              "inputToken",
                              "candidateToken",
                              "similarity",
                              "idfWeight"
                            ],
                            "properties": {
                              "inputToken": {
                                "type": "string"
                              },
                              "candidateToken": {
                                "type": "string"
                              },
                              "similarity": {
                                "type": "number"
                              },
                              "idfWeight": {
                                "type": "number"
                              }
                            }
                          }
                        },
                        "identifiers": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "required": [
                              "type",
                              "value"
                            ],
                            "properties": {
                              "type": {
                                "type": "string"
                              },
                              "value": {
                                "type": "string"
                              }
                            }
                          }
                        },
                        "entityId": {
                          "type": "string",
                          "description": "The matched list entry, <list>:<source entry id>."
                        },
                        "matchReasons": {
                          "type": "array",
                          "items": {
                            "type": "string",
                            "enum": [
                              "exact",
                              "accent",
                              "word_order",
                              "partial",
                              "spelling",
                              "alias"
                            ]
                          },
                          "description": "Derived from the two names, for the reviewer; never a scoring input. exact: same words, same order (case, spaces, punctuation ignored). accent: same once diacritics are removed. word_order: same words, other order. partial: every word of one name is in the other. spelling: spelled differently. alias: the matched name is an alias of the entry (only when listEntry is known)."
                        },
                        "listEntry": {
                          "oneOf": [
                            {
                              "type": "object",
                              "description": "The matched entry's data as the list publishes it. A null field: the list publishes none for this entry, unless the field is in unavailableFields.",
                              "required": [
                                "primaryName",
                                "entityType",
                                "dob",
                                "country",
                                "listingReason",
                                "unavailableFields"
                              ],
                              "properties": {
                                "primaryName": {
                                  "type": "string"
                                },
                                "entityType": {
                                  "type": [
                                    "string",
                                    "null"
                                  ],
                                  "description": "individual, entity, vessel, aircraft or unknown."
                                },
                                "dob": {
                                  "type": [
                                    "string",
                                    "null"
                                  ]
                                },
                                "country": {
                                  "type": [
                                    "string",
                                    "null"
                                  ]
                                },
                                "listingReason": {
                                  "type": [
                                    "string",
                                    "null"
                                  ],
                                  "description": "The listing reason or sanctions program, as the list states it."
                                },
                                "unavailableFields": {
                                  "type": "array",
                                  "items": {
                                    "type": "string",
                                    "enum": [
                                      "entityType",
                                      "dob",
                                      "country",
                                      "listingReason"
                                    ]
                                  },
                                  "description": "Fields our data of this list does not carry at all. For these, null means unknown, not that the list publishes none."
                                },
                                "entryId": {
                                  "type": "string",
                                  "description": "Batch report export only (2026-10-06). The list's own reference for the entry: the part of entityId after the first colon, e.g. 35096, EU.7510.16, RUS0251."
                                },
                                "officialUrl": {
                                  "type": [
                                    "string",
                                    "null"
                                  ],
                                  "description": "Batch report export only (2026-10-06). The entry's page on the list owner's site. Only for OFAC_SDN entries (https://sanctionssearch.ofac.treas.gov/Details.aspx?id=<entryId>); null for every other list."
                                }
                              }
                            },
                            {
                              "type": "null"
                            }
                          ],
                          "description": "null: the entry data could not be read for this screen."
                        },
                        "capReason": {
                          "type": "string",
                          "enum": [
                            "weak_alias_copy",
                            "number_missing",
                            "letters_differ",
                            "one_word_spelling",
                            "common_words_only"
                          ],
                          "description": "Since matcher 2.11 (optional, absent when there is none): the engine gave a name score of the Strong line or more the Possible score 0.89 for this reason; score and band are already Possible. weak_alias_copy: OFAC or the UN marks this alias as weak in a linked entry. number_missing: one name has a number that the other name does not have. letters_differ: both names have single letters, and each has one the other does not have. one_word_spelling: one word on each side (legal forms and common words left out), not spelled the same. common_words_only: each matched word pair has a common business word, and one name has a word or single letter that the other does not have."
                        }
                      }
                    }
                  }
                }
              }
            },
            {
              "type": "null"
            }
          ]
        },
        "disclaimer": {
          "type": "string"
        },
        "replayed": {
          "type": "boolean",
          "description": "true when this answer is a stored record replayed without a charge."
        }
      }
    },
    {
      "type": "object",
      "required": [
        "error",
        "balance",
        "needed",
        "buy_url"
      ],
      "properties": {
        "error": {
          "type": "string",
          "const": "insufficient_credits"
        },
        "balance": {
          "type": "integer",
          "minimum": 0
        },
        "needed": {
          "type": "integer",
          "minimum": 1
        },
        "buy_url": {
          "type": "string",
          "description": "A checkout page bound to this key, valid 24 hours."
        }
      }
    },
    {
      "type": "object",
      "required": [
        "error",
        "message",
        "record_id",
        "credits_charged",
        "credits_refunded"
      ],
      "properties": {
        "error": {
          "type": "string",
          "enum": [
            "snapshot_unavailable",
            "screening_unavailable",
            "record_persist_failed"
          ]
        },
        "message": {
          "type": "string"
        },
        "record_id": {
          "type": "string"
        },
        "credits_charged": {
          "type": "integer",
          "description": "Credits still charged now. 0 when the refund succeeded."
        },
        "credits_refunded": {
          "type": "integer"
        }
      }
    },
    {
      "type": "object",
      "required": [
        "error",
        "limit_per_minute",
        "retry_after_seconds"
      ],
      "properties": {
        "error": {
          "type": "string",
          "const": "rate_limited"
        },
        "limit_per_minute": {
          "type": "integer"
        },
        "retry_after_seconds": {
          "type": "integer",
          "minimum": 1
        }
      }
    },
    {
      "type": "object",
      "required": [
        "error"
      ],
      "properties": {
        "error": {
          "type": "string",
          "description": "Machine-readable error code."
        },
        "message": {
          "type": "string"
        },
        "details": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "record_id": {
          "type": "string"
        }
      }
    }
  ]
}
🟢get_record(record_id)

Fetch a previously stored screening record by its record id. This tool is free to use.

輸入結構描述

{
  "type": "object",
  "properties": {
    "record_id": {
      "type": "string",
      "description": "The unique identifier of a screening record, returned by screen_names.",
      "pattern": "^[0-9A-HJKMNP-TV-Z]{26}$"
    }
  },
  "required": [
    "record_id"
  ],
  "additionalProperties": false
}

輸出結構描述

{
  "type": "object",
  "anyOf": [
    {
      "type": "object",
      "required": [
        "record_id",
        "status",
        "screened_at",
        "snapshot_version",
        "engine_version",
        "sources",
        "warnings",
        "credits_charged",
        "payload_status",
        "results"
      ],
      "properties": {
        "record_id": {
          "type": "string"
        },
        "record_url": {
          "type": "string"
        },
        "status": {
          "type": "string",
          "enum": [
            "pending",
            "done",
            "failed"
          ],
          "description": "failed: the screen did not complete and the credits were (or will be) refunded."
        },
        "screened_at": {
          "type": "string"
        },
        "snapshot_version": {
          "type": [
            "string",
            "null"
          ]
        },
        "engine_version": {
          "type": [
            "string",
            "null"
          ]
        },
        "sources": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "id",
              "name",
              "data_as_of"
            ],
            "properties": {
              "id": {
                "type": "string"
              },
              "name": {
                "type": "string"
              },
              "data_as_of": {
                "type": [
                  "string",
                  "null"
                ],
                "description": "When the source published the data in the screened snapshot. null when unknown; a warning then says so."
              },
              "attribution": {
                "type": "string",
                "description": "The licence credit of the source. Present only when the source's licence requires one (CA_SEMA, AU_DFAT)."
              }
            }
          }
        },
        "warnings": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "request_hash": {
          "type": "string"
        },
        "threshold": {
          "type": "number"
        },
        "names_count": {
          "type": "integer"
        },
        "credits_charged": {
          "type": "integer"
        },
        "payload_expires_at": {
          "type": "string"
        },
        "payload_status": {
          "type": "string",
          "enum": [
            "available",
            "expired",
            "missing",
            "none"
          ],
          "description": "available: results present. expired: past retention. missing: not expired but not found (an incident; contact support). none: the screen did not complete."
        },
        "results": {
          "oneOf": [
            {
              "type": "array",
              "items": {
                "type": "object",
                "required": [
                  "input",
                  "hits"
                ],
                "properties": {
                  "input": {
                    "type": "object",
                    "required": [
                      "name"
                    ],
                    "properties": {
                      "name": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 200
                      },
                      "country": {
                        "type": "string",
                        "maxLength": 100,
                        "description": "Optional context. A country that agrees with the list entry raises reviewPriority to HIGH; it never hides a hit."
                      },
                      "dob": {
                        "type": "string",
                        "maxLength": 100,
                        "description": "Optional date of birth, ISO 8601. Same rule as country."
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "person",
                          "entity"
                        ],
                        "description": "Optional. Lowers the score of hits of the opposite type."
                      }
                    }
                  },
                  "hits": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "description": "One list entry that matched. Same fields as a row of the batch report's JSON export; the export row also has rowIndex, inputName, listDataAsOf, hitGroup, review and spreadsheetRow (the uploaded row's number as a spreadsheet app shows it, added 2026-10-05), and since 2026-10-06 contextCheck (ReportContextCheck), inputContext (ReportInputContext) and nameComparison (ReportNameComparison). In the export, reviewPriority is HIGH when the uploaded country or date of birth agrees with the list entry (since 2026-10-09, E2.4: a country that agrees does not make HIGH when contextCheck.dobGapOver2Years is true and every item of the uploaded country cell gives a country code). The CSV export has the same data in the columns name_comparison, words_that_match, country_check, country_your_file, country_list, dob_check, dob_your_file and dob_list, after spreadsheet_row. entityId, matchReasons and listEntry were added on 2026-10-03; records stored before that do not have them. Since 2026-10-07 a file whose rows hold several names (for example a student, an agent and a contact) is screened per name: the export row then has party (the name group, also the CSV column party), rowIndex is the name item (row x groups + group), and spreadsheetRow is the file row. Since 2026-10-07 each export row also has whyListed (the list's listing codes as [{code, plain, source}]: plain is the official programme name, or null when no official table names the code; source is the page that defines it, or null) and lookUp ({text, url}: where to look the list entry up). The CSV export has the same data in the columns why_listed, look_up and look_up_url. listing_reason keeps the raw code. Also since 2026-10-07, each export row has matchLabel (the report's words for the band and score, for example 'Strong name match (93%)'; band and score are unchanged) and alsoListedAs (the other names that matched the same listed person or entity in this row: only on the hit group's best match, [] on its other rows). These 2 keys are export-only: /v1 hits do not have them. Since 2026-10-09 (matcher 2.8) each export row also has mutualMismatch (true when the uploaded name and the list name each keep a word that pairs with nothing; false for matches screened before 2.8); export-only too. Since 2026-10-09 (E2.4) the batch report export differs from /v1/screen for the same match: /v1/screen hits keep the engine's band, score and reviewPriority (HIGH when the country or date of birth agrees), and the batch report export applies the date-of-birth cap and the HIGH change described here. Since 2026-10-09 (E2.4, QA PR #165) an uploaded date-of-birth or country cell where some item gives no reading and another does gives contextCheck.dobPartlyRead / countryPartlyRead = true and never 'differs': the check is then 'unreadable', the CSV check word is 'partly read: ...', and the CSV *_your_file column and the PDF print the cell as written. A cell that reads in full but with a year not written as 4 digits on their own, or a day after the report date, keeps its check (agrees / differs) and only switches the E2.4 rules off. Since 2026-10-09 (E2.4) each export row also has dobCap: null, or {nameScore, reason} when the engine gave the match the Strong band and the report shows it as Possible because the date of birth is more than 2 years off (contextCheck.dobGapOver2Years); band and score are then the report's (score at most the Strong line minus 0.01) and nameScore is the engine's name score; export-only. The CSV has the same data in its columns band_note and name_score_before_cap, after report_section. Since 2026-10-10 (matcher 2.10) each export row also has capReason: null, or one of weak_alias_copy, number_missing, letters_differ, one_word_spelling (and since matcher 2.11 common_words_only) when the engine gave a name score of the Strong line or more the Possible score 0.89 for that reason (the engine's score and band are then already Possible); and capNote, its plain sentence (null when capReason is null); capNote is export-only. Since matcher 2.11, /v1 hits also have capReason (see the property), without capNote. The CSV band_note then gives 'Shown as Possible (not Strong): ' and that sentence, and name_score_before_cap stays empty (no new CSV column). The CSV's last column, words_not_compared, holds the words on one side only that the engine leaves out of the name comparison as legal forms (nameComparison.notComparedYours / notComparedList, joined by ', '). The CSV columns match_label, your_words_not_in_list_name and list_words_not_in_your_name (nameComparison.unmatchedYours / unmatchedList, joined by ', ') and also_listed_as (at most 10 names joined by ' | ', then '(+N more)'; the JSON array has every name) are the last 4.",
                      "required": [
                        "matchedList",
                        "matchedName",
                        "score",
                        "band",
                        "reviewPriority",
                        "listVersion",
                        "matchedTokenPairs",
                        "identifiers"
                      ],
                      "properties": {
                        "matchedList": {
                          "type": "string",
                          "description": "Source list id, e.g. OFAC_SDN."
                        },
                        "matchedName": {
                          "type": "string"
                        },
                        "score": {
                          "type": "number",
                          "minimum": 0,
                          "maximum": 1
                        },
                        "band": {
                          "type": "string",
                          "enum": [
                            "high_confidence",
                            "possible_match"
                          ]
                        },
                        "reviewPriority": {
                          "type": "string",
                          "enum": [
                            "HIGH",
                            "REVIEW"
                          ]
                        },
                        "listVersion": {
                          "type": "string"
                        },
                        "matchedTokenPairs": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "required": [
                              "inputToken",
                              "candidateToken",
                              "similarity",
                              "idfWeight"
                            ],
                            "properties": {
                              "inputToken": {
                                "type": "string"
                              },
                              "candidateToken": {
                                "type": "string"
                              },
                              "similarity": {
                                "type": "number"
                              },
                              "idfWeight": {
                                "type": "number"
                              }
                            }
                          }
                        },
                        "identifiers": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "required": [
                              "type",
                              "value"
                            ],
                            "properties": {
                              "type": {
                                "type": "string"
                              },
                              "value": {
                                "type": "string"
                              }
                            }
                          }
                        },
                        "entityId": {
                          "type": "string",
                          "description": "The matched list entry, <list>:<source entry id>."
                        },
                        "matchReasons": {
                          "type": "array",
                          "items": {
                            "type": "string",
                            "enum": [
                              "exact",
                              "accent",
                              "word_order",
                              "partial",
                              "spelling",
                              "alias"
                            ]
                          },
                          "description": "Derived from the two names, for the reviewer; never a scoring input. exact: same words, same order (case, spaces, punctuation ignored). accent: same once diacritics are removed. word_order: same words, other order. partial: every word of one name is in the other. spelling: spelled differently. alias: the matched name is an alias of the entry (only when listEntry is known)."
                        },
                        "listEntry": {
                          "oneOf": [
                            {
                              "type": "object",
                              "description": "The matched entry's data as the list publishes it. A null field: the list publishes none for this entry, unless the field is in unavailableFields.",
                              "required": [
                                "primaryName",
                                "entityType",
                                "dob",
                                "country",
                                "listingReason",
                                "unavailableFields"
                              ],
                              "properties": {
                                "primaryName": {
                                  "type": "string"
                                },
                                "entityType": {
                                  "type": [
                                    "string",
                                    "null"
                                  ],
                                  "description": "individual, entity, vessel, aircraft or unknown."
                                },
                                "dob": {
                                  "type": [
                                    "string",
                                    "null"
                                  ]
                                },
                                "country": {
                                  "type": [
                                    "string",
                                    "null"
                                  ]
                                },
                                "listingReason": {
                                  "type": [
                                    "string",
                                    "null"
                                  ],
                                  "description": "The listing reason or sanctions program, as the list states it."
                                },
                                "unavailableFields": {
                                  "type": "array",
                                  "items": {
                                    "type": "string",
                                    "enum": [
                                      "entityType",
                                      "dob",
                                      "country",
                                      "listingReason"
                                    ]
                                  },
                                  "description": "Fields our data of this list does not carry at all. For these, null means unknown, not that the list publishes none."
                                },
                                "entryId": {
                                  "type": "string",
                                  "description": "Batch report export only (2026-10-06). The list's own reference for the entry: the part of entityId after the first colon, e.g. 35096, EU.7510.16, RUS0251."
                                },
                                "officialUrl": {
                                  "type": [
                                    "string",
                                    "null"
                                  ],
                                  "description": "Batch report export only (2026-10-06). The entry's page on the list owner's site. Only for OFAC_SDN entries (https://sanctionssearch.ofac.treas.gov/Details.aspx?id=<entryId>); null for every other list."
                                }
                              }
                            },
                            {
                              "type": "null"
                            }
                          ],
                          "description": "null: the entry data could not be read for this screen."
                        },
                        "capReason": {
                          "type": "string",
                          "enum": [
                            "weak_alias_copy",
                            "number_missing",
                            "letters_differ",
                            "one_word_spelling",
                            "common_words_only"
                          ],
                          "description": "Since matcher 2.11 (optional, absent when there is none): the engine gave a name score of the Strong line or more the Possible score 0.89 for this reason; score and band are already Possible. weak_alias_copy: OFAC or the UN marks this alias as weak in a linked entry. number_missing: one name has a number that the other name does not have. letters_differ: both names have single letters, and each has one the other does not have. one_word_spelling: one word on each side (legal forms and common words left out), not spelled the same. common_words_only: each matched word pair has a common business word, and one name has a word or single letter that the other does not have."
                        }
                      }
                    }
                  }
                }
              }
            },
            {
              "type": "null"
            }
          ]
        },
        "disclaimer": {
          "type": "string"
        }
      }
    },
    {
      "type": "object",
      "required": [
        "error",
        "limit_per_minute",
        "retry_after_seconds"
      ],
      "properties": {
        "error": {
          "type": "string",
          "const": "rate_limited"
        },
        "limit_per_minute": {
          "type": "integer"
        },
        "retry_after_seconds": {
          "type": "integer",
          "minimum": 1
        }
      }
    },
    {
      "type": "object",
      "required": [
        "error"
      ],
      "properties": {
        "error": {
          "type": "string",
          "description": "Machine-readable error code."
        },
        "message": {
          "type": "string"
        },
        "details": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "record_id": {
          "type": "string"
        }
      }
    }
  ]
}
🟢list_sources

The list_sources tool provides the 10 official sanctions lists and their data-as-of dates from the current daily snapshot. This tool is free to use and does not require an API key.

輸入結構描述

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}

輸出結構描述

{
  "type": "object",
  "anyOf": [
    {
      "type": "object",
      "required": [
        "snapshot_version",
        "sources",
        "warnings"
      ],
      "properties": {
        "snapshot_version": {
          "type": "string"
        },
        "sources": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "id",
              "name",
              "data_as_of"
            ],
            "properties": {
              "id": {
                "type": "string"
              },
              "name": {
                "type": "string"
              },
              "data_as_of": {
                "type": [
                  "string",
                  "null"
                ],
                "description": "When the source published the data in the screened snapshot. null when unknown; a warning then says so."
              },
              "attribution": {
                "type": "string",
                "description": "The licence credit of the source. Present only when the source's licence requires one (CA_SEMA, AU_DFAT)."
              }
            }
          }
        },
        "warnings": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    {
      "type": "object",
      "required": [
        "error",
        "limit_per_minute",
        "retry_after_seconds"
      ],
      "properties": {
        "error": {
          "type": "string",
          "const": "rate_limited"
        },
        "limit_per_minute": {
          "type": "integer"
        },
        "retry_after_seconds": {
          "type": "integer",
          "minimum": 1
        }
      }
    },
    {
      "type": "object",
      "required": [
        "error"
      ],
      "properties": {
        "error": {
          "type": "string",
          "description": "Machine-readable error code."
        },
        "message": {
          "type": "string"
        },
        "details": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "record_id": {
          "type": "string"
        }
      }
    }
  ]
}
🟢get_balance

Retrieve the credit balance for your API key and its latest credit movements. This tool is free to use.

輸入結構描述

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}

輸出結構描述

{
  "type": "object",
  "anyOf": [
    {
      "type": "object",
      "required": [
        "key_prefix",
        "credits_balance",
        "retention_days",
        "effective_retention_hours"
      ],
      "properties": {
        "key_prefix": {
          "type": "string"
        },
        "email": {
          "type": [
            "string",
            "null"
          ]
        },
        "created_at": {
          "type": "string"
        },
        "credits_balance": {
          "type": "integer",
          "minimum": 0
        },
        "rate_limit_per_minute": {
          "type": "integer"
        },
        "retention_days": {
          "type": "integer",
          "minimum": 1,
          "maximum": 365,
          "description": "Days a record keeps names and hits. Default 90."
        },
        "effective_retention_hours": {
          "type": "integer",
          "description": "min(retention_days x 24, the service cap)."
        },
        "ledger": {
          "type": "array",
          "maxItems": 10,
          "description": "The 10 newest credit changes, newest first.",
          "items": {
            "type": "object",
            "required": [
              "delta",
              "reason",
              "ref",
              "created_at"
            ],
            "properties": {
              "delta": {
                "type": "integer"
              },
              "reason": {
                "type": "string",
                "enum": [
                  "free_grant",
                  "screen",
                  "pack",
                  "refund",
                  "pack_refund",
                  "admin"
                ],
                "description": "refund: a failed screen's credits given back (positive). pack_refund: pack credits taken back after a payment refund or chargeback (negative)."
              },
              "ref": {
                "type": [
                  "string",
                  "null"
                ],
                "description": "Record id (screen, refund), Paddle transaction id (pack) or Paddle adjustment id (pack_refund)."
              },
              "created_at": {
                "type": "string"
              }
            }
          }
        }
      }
    },
    {
      "type": "object",
      "required": [
        "error",
        "limit_per_minute",
        "retry_after_seconds"
      ],
      "properties": {
        "error": {
          "type": "string",
          "const": "rate_limited"
        },
        "limit_per_minute": {
          "type": "integer"
        },
        "retry_after_seconds": {
          "type": "integer",
          "minimum": 1
        }
      }
    },
    {
      "type": "object",
      "required": [
        "error"
      ],
      "properties": {
        "error": {
          "type": "string",
          "description": "Machine-readable error code."
        },
        "message": {
          "type": "string"
        },
        "details": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "record_id": {
          "type": "string"
        }
      }
    }
  ]
}

社群

為此伺服器評分

證據

近期觀測

已驗證未記錄版本4 個工具