aml

AMLOracle — 12-tool AML/CFT MCP: 87k sanctions names, PEP screening, adverse media, SAR/STR.

Should I use this

Quality & Safety

A
Description quality
88%
Schema completeness
80%
Naming quality
82%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Findings (3)

  • LOWTool 'ubo_lookup' description lacks action verbin ubo_lookup
  • LOWTool 'aml_news' description lacks action verbin aml_news
  • LOWTool 'amlr_calendar' description lacks action verbin amlr_calendar

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~1,180Tokens (tool definitions)
~712 BTypical response size
Moderate attention impact (0.92% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "aml": {
      "url": "https://tooloracle.io/aml/mcp/"
    }
  }
}

Remote endpoints

https://tooloracle.io/aml/mcp/streamable-http

What it can do

Tool inventory

Tools (12)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
⚪sanctions_screen(name, entity_type, threshold)

Screen any name against EU FSF (14k), OFAC SDN (69k), UN SC (3k), Interpol (13k) watchlists. AMLR Art. 35.

Input Schema

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "description": "Name to screen e.g. 'Gazprom', 'Ivan Petrov'"
    },
    "entity_type": {
      "type": "string",
      "description": "person or company (default: any)"
    },
    "threshold": {
      "type": "number",
      "description": "Match threshold 0.7-1.0 (default: 0.85)",
      "default": 0.85
    }
  },
  "additionalProperties": false
}
⚪sanctions_detail(name)

Full entity record for sanctions hit. Returns UN XML detail, aliases, nationality, designation.

Input Schema

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "description": "Name to look up"
    }
  },
  "additionalProperties": false
}
🟢pep_check(name, country)

PEP (Politically Exposed Person) check via Wikidata. AMLR Art. 22 enhanced CDD for PEPs.

Input Schema

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "description": "Full name e.g. 'Vladimir Putin', 'Angela Merkel'"
    },
    "country": {
      "type": "string",
      "description": "Country to narrow search (optional)"
    }
  },
  "additionalProperties": false
}
⚪adverse_media(name, lang, limit)

Negative news screening: fraud, money laundering, corruption, sanctions. AMLR Art. 55 ongoing monitoring.

Input Schema

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "description": "Person or company name to screen"
    },
    "lang": {
      "type": "string",
      "description": "Language: en or de (default: en)"
    },
    "limit": {
      "type": "integer",
      "description": "Max articles 1-20 (default: 10)",
      "default": 10,
      "minimum": 1,
      "maximum": 20
    }
  },
  "additionalProperties": false
}
⚪country_risk(country)

Country risk assessment: FATF Blacklist, Greylist, EU High-Risk. AMLR Art. 16+18.

Input Schema

{
  "type": "object",
  "properties": {
    "country": {
      "type": "string",
      "description": "Country name or ISO code e.g. 'Iran', 'Nigeria', 'RU'"
    }
  },
  "additionalProperties": false
}
⚪ubo_lookup(company, lei)

Ultimate Beneficial Owner (UBO) identification via GLEIF LEI ownership register. AMLR Art. 42.

Input Schema

{
  "type": "object",
  "properties": {
    "company": {
      "type": "string",
      "description": "Company name e.g. 'Volkswagen AG'"
    },
    "lei": {
      "type": "string",
      "description": "LEI code (alternative to company name)"
    }
  },
  "additionalProperties": false
}
⚪kyc_bundle(name, country, entity_type)

Full KYC in one call: Sanctions + PEP + Adverse Media + Country Risk. Returns overall risk level and AMLR decision.

Input Schema

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "description": "Person or company name"
    },
    "country": {
      "type": "string",
      "description": "Country of origin/residence (optional)"
    },
    "entity_type": {
      "type": "string",
      "description": "person or company (default: person)"
    }
  },
  "additionalProperties": false
}
⚪transaction_risk(amount, currency, origin_country, destination_country, sender_name, ...)

AML transaction risk scoring: amount, corridor, sender screening. AMLR Art. 35+82.

Input Schema

{
  "type": "object",
  "properties": {
    "amount": {
      "type": "number",
      "description": "Transaction amount"
    },
    "currency": {
      "type": "string",
      "description": "Currency code (default: EUR)"
    },
    "origin_country": {
      "type": "string",
      "description": "Sender country"
    },
    "destination_country": {
      "type": "string",
      "description": "Receiver country"
    },
    "sender_name": {
      "type": "string",
      "description": "Sender name (screened against watchlists)"
    },
    "purpose": {
      "type": "string",
      "description": "Transaction purpose/description"
    }
  },
  "additionalProperties": false
}
⚪aml_news(topic, lang, limit)

AMLR / AMLA / AMLD6 regulatory news. Topics: general, amla, amlr, sanctions, crypto_aml, fatf, de_geldwaesche, pep, kyc, str.

Input Schema

{
  "type": "object",
  "properties": {
    "topic": {
      "type": "string",
      "description": "Topic: general, amla, amlr, sanctions, crypto_aml, fatf, de_geldwaesche, pep, kyc, str"
    },
    "lang": {
      "type": "string",
      "description": "Language: en or de (default: en)"
    },
    "limit": {
      "type": "integer",
      "description": "Max articles 1-20 (default: 10)",
      "default": 10,
      "minimum": 1,
      "maximum": 20
    }
  },
  "additionalProperties": false
}
⚪amlr_calendar

AMLR compliance milestones. Key: 1 July 2026 full application, €10k cash limit, crypto Travel Rule €0.

Input Schema

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
🟡watchlist_update(force_reload)

Check watchlist freshness and reload from OpenSanctions. Use force_reload=true to refresh cache.

Input Schema

{
  "type": "object",
  "properties": {
    "force_reload": {
      "type": "boolean",
      "description": "Force reload all watchlists from OpenSanctions (default: false)"
    }
  },
  "additionalProperties": false
}
🟢health_check

AMLOracle server status, backend checks, and watchlist cache status.

Input Schema

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

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded12 tools
verifiedversion not recorded12 tools
verifiedversion not recorded12 tools
verifiedversion not recorded12 tools
verifiedversion not recorded12 tools
verifiedversion not recorded12 tools