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