Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

SENTINEL Compliance Intelligence

REMOTE · MRU-ORACLE.COM

AML/CFT compliance oracle: wallet screening, sanctions, PEPs, jurisdiction risk.

Available components

+14 this week 79 Trust /100

Last scanned (5 hours ago)

Scores higher than 79% of remote servers

Reachable. Last reached 5 Nov 2026.

Category Security

Recent critical change

Authorization (10 Oct 2026). See the changelog before you install this server.

Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →

Endpoint Security63
Transport & Reachability100
Schema Quality & AI Usability67
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 3428 tokens (~285/item across 12 items; 12 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management100
  • No destabilizing schema changes in the last 30 days.Pass
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
  • Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • We read all 12 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
  • An AI judge read all 13 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
What we tested

Checks we ran (13)

  • TLS certificate
  • Authorization
  • HTTPS
  • HSTS header
  • DNSSEC
  • Transport
  • Schema quality
  • Stability
  • Tool coverage
  • Injection markers
  • Destructive annotations
  • Judged manipulation
  • MCP protocol

Does not apply to this hosted endpoint (2)

  • Supply Chain SecurityScored on package channels only. This is a hosted endpoint, so there is nothing to install or inspect.
  • Provenance & TransparencyScored on package channels only. This is a hosted endpoint, so there is nothing to install or inspect.

The score does not measure everything. What the score does not measure →

Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 5 Nov 26 0
    • Stability: 0.97 → pass security
  • 4 Nov 26 +14
    • Stability: fail → 0.97 functional
  • 10 Oct 26 −14
    • Authorization: unverified → fail ▼ critical
    • Stability: pass → fail ▼ security
    • Schema quality: pass → fail ▼ functional
    • MCP protocol: fail → pass ▲ functional
    • First check of Tool coverage: 100 functional
  • 28 Sept 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 25 Sept 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 26 Aug 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 25 Aug 26 0
    • Stability: 0.97 → pass security
  • 11 Aug 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 5 Nov 2026 · Probed https://mru-oracle.com/mcp

TLS valid

Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=mru-oracle.com CN=YE2,O=Let's Encrypt,C=US 12 Sept 2026 11 Dec 2026 ECDSA 256 ECDSA-SHA384 6f11c86cff594d5381ff0017a696551e694
SANs: *.mru-oracle.com, mru-oracle.com
CN=YE2,O=Let's Encrypt,C=US (CA) CN=Root YE,O=ISRG,C=US 3 Sept 2025 2 Sept 2028 ECDSA 384 ECDSA-SHA384 4df3b15dd6c0784c507cd37b58e6f115
CN=Root YE,O=ISRG,C=US (CA) CN=ISRG Root X2,O=Internet Security Research Group,C=US 13 May 2026 2 Sept 2032 ECDSA 384 ECDSA-SHA384 872165fc34b6e5fba8add5b3705fb53a
CN=ISRG Root X2,O=Internet Security Research Group,C=US (CA) CN=ISRG Root X1,O=Internet Security Research Group,C=US 13 May 2026 2 Sept 2032 ECDSA 384 SHA256-RSA 6c8f1dc727c7117f7baf853ac980f9cd

Background: What to check on a remote MCP endpoint →

DNSSEC insecure

Validation of mru-oracle.com. — Not signed

Zone DS Keys Algorithms Outcome
. Trust anchor 20326, 38696 8, 8 Verified
com. DS published 19718 13 Verified
mru-oracle.com. No DS Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation
Authentication No authorisation required

The endpoint answered without asking for a token. Anyone who knows the URL can reach it.

Result No authorisation required
HTTP status 200
Header Value
strict-transport-security max-age=31536000; includeSubDomains; preload
content-security-policy default-src 'self';script-src 'self';style-src 'self';img-src 'self' data:;connect-src 'self' https://mainnet.base.org https://mru-oracle.com;base-uri 'self';font-src 'self' https: data:;form-action 'self';frame-ancestors 'self';object-src 'none';script-src-attr 'none';upgrade-insecure-requests
x-content-type-options nosniff
x-frame-options DENY
referrer-policy no-referrer

Background: How OAuth 2.1 works in the 2026 MCP spec →

Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://mru-oracle.com/mcp Verified 200
http (plaintext) http://mru-oracle.com/mcp HTTPS enforced 301 https://mru-oracle.com/mcp
MCP tools · 12 exposed · ~3,117 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
cancel_watchlist_monitor ~140

Permanently stop a watchlist monitor: re-screening ends, its webhook URL is deleted and later checks report status cancelled. It cannot be resumed; create a new monitor with create_watchlist_monitor instead. Use it when monitoring is no longer needed or the webhook endpoint is retired; to read a monitor's status use check_watchlist_monitors. Pass the MON- id returned when the monitor was created: it is the only credential, so anyone holding it can cancel the monitor. Free, limited to 30 calls per minute per client.

NameTypeReqDescription
monitor_idstringyesMonitor id to cancel, MON- followed by 22 URL-safe characters
NameTypeReqDescription
cancelledboolean–Always true on success
cancelledAtstring–ISO 8601 timestamp
idstring–Cancelled monitor id

No examples provided.

check_watchlist_monitors ~213

Read the status of watchlist monitors created with create_watchlist_monitor. With exactly one id, the target is re-screened against the latest lists right now (and its webhook fires if the status changed); with 2-20 ids, the stored statuses from the last 6-hourly re-screen are returned without re-screening. Use one id when you need a fresh answer before acting and several ids for a periodic sweep; for a name or wallet without a monitor use screen_entity or screen_wallet, and to stop monitoring use cancel_watchlist_monitor. Unknown ids are reported as not found. Costs $0.001 USDC for one id or $0.002 for 2-20 ids via x402 on Base; unpaid calls return an x402 PaymentRequired result and failed calls are not charged.

NameTypeReqDescription
monitor_idsarrayyes1-20 monitor ids (MON- followed by 22 URL-safe characters). One id = live re-screen; 2-20 ids = stored statuses.

Structured output declared, but exposes no named fields.

No examples provided.

create_travel_rule_packet ~397

Screen the originator and beneficiary of a crypto transfer (wallets, plus names and countries when given) and store the result as a Travel Rule packet. The strictest threshold among the parties' countries applies (EU/EEA 0, Japan about 700, otherwise the FATF Recommendation 16 de-minimis of 1,000 USD); pass amount_usd to learn whether it applies. Returns a packetId, a free verification URL and an EdDSA-signed attestation valid for 90 days for the counterparty VASP. Use it when a transfer needs a Travel Rule record; use screen_wallet for a quick address check, and verify_travel_rule_packet to check a packet you received. Each call stores a new packet; names are stored only as keyed hashes and never returned, wallet addresses are stored. Costs $0.005 USDC per successful call via x402 on Base; unpaid calls return an x402 PaymentRequired result and failed calls are not charged.

NameTypeReqDescription
amount_usdnumber–Optional transfer value in USD; without it travelRule.applies is null
beneficiary_addressstringyesBeneficiary wallet address, 10-256 letters, digits or ':'
beneficiary_countrystring–Optional beneficiary ISO 3166-1 alpha-2 country
beneficiary_namestring–Optional beneficiary name; screened and stored only as a keyed hash
originator_addressstringyesOriginator wallet address, 10-256 letters, digits or ':'
originator_countrystring–Optional originator ISO 3166-1 alpha-2 country; sets the applicable threshold (e.g. US, SG, JP)
originator_namestring–Optional originator name; screened against watchlists and stored only as a keyed hash
purposestring–Optional purpose of the transfer, up to 200 characters

Structured output declared, but exposes no named fields.

No examples provided.

create_watchlist_monitor ~288

Start 30 days of watchlist monitoring for one wallet address (type wallet) or one person/company name (type entity): it is screened now, re-screened every 6 hours against the latest lists, and an optional HMAC-signed webhook (a public HTTPS URL) is called whenever its status changes between clear, review and alerted. Use it for ongoing monitoring after onboarding; use screen_entity or screen_wallet for a one-off check, check_watchlist_monitors to read statuses, and cancel_watchlist_monitor to stop. Each call creates a new monitor. The response contains the monitor id and, if a webhook is set, its signing secret, both shown only once: store them. Costs $0.010 USDC per successful call via x402 on Base; unpaid calls return an x402 PaymentRequired result and failed calls are not charged.

NameTypeReqDescription
chainstring–Optional chain hint for wallets, e.g. ethereum, base, tron (informational)
labelstring–Optional reference of yours, up to 100 characters, echoed in results and webhooks
typestringyesWhat to monitor
valuestringyesThe wallet address (type wallet) or person/company name (type entity), 2-256 characters
webhook_urlstring–Optional public https:// URL that receives a signed POST when the status changes

Structured output declared, but exposes no named fields.

No examples provided.

get_jurisdiction_risk ~216

Look up one country's anti-money-laundering risk: FATF status (black/grey list), Basel AML Index, Corruption Perceptions Index, EU and US high-risk designations, tax-haven flag, and a derived risk level (critical, high, medium, low or standard). Use it to assess a counterparty's country or a payment corridor; it takes one country code per call, so check each end of a corridor separately. For a named person or company use run_due_diligence, which already assesses the countries found in its hits. A code not in the dataset returns found=false with risk_level unknown (a successful, charged call). Costs $0.001 USDC per successful call via x402 on Base; unpaid calls return an x402 PaymentRequired result and failed calls are not charged.

NameTypeReqDescription
country_codestringyesISO 3166-1 alpha-2 country code, e.g. MU (Mauritius), KP (North Korea), AE (United Arab Emirates)

Structured output declared, but exposes no named fields.

No examples provided.

run_due_diligence ~259

Profile one person or company in a single call: global watchlist screening, AML risk of every country found in the hits, Mauritius registry records (with their FSC-licensing and PEP-role links), and a composite 0-100 risk score with its factors. Use it for onboarding (KYC/KYB) or enhanced due diligence; use screen_entity when a list check is enough and screen_cross_border_payment for both parties of a payment. Names match as case-insensitive substrings; exact matches weigh far more than partial ones, which alone only reach review level. Bank of Mauritius exchange rates are added when countries are found, unless include_forex is false. The score is a triage aid from public lists, not a legal determination. Limited to 10 calls per minute per client. The result states when each list was last updated (lists_as_of). Costs $0.010 USDC per successful call via x402 on Base; unpaid calls return an x402 PaymentRequired result and failed calls are not charged.

NameTypeReqDescription
include_forexboolean–Include Bank of Mauritius exchange rates for context when countries are detected (default true)
namestringyesPerson or company name, 2-200 characters

Structured output declared, but exposes no named fields.

No examples provided.

screen_cross_border_payment ~342

Screen both parties of a payment before it is sent: sender and receiver names against global watchlists, their countries' AML risk, and an optional Bank of Mauritius exchange rate for the corridor (set currency_from; currency_to defaults to MUR). Returns PROCEED (risk score below 15), REVIEW (15-39, minor indicators such as partial name matches), FLAG (40-74, enhanced due diligence) or BLOCK (75+, e.g. an exact sanctions match: stop and escalate), with a reason and each party's risk. Use it for fiat or crypto payments where you have names; use screen_wallet for wallet addresses only, and create_travel_rule_packet for a stored, verifiable Travel Rule record. The result states when each list was last updated (lists_as_of). Costs $0.008 USDC per successful call via x402 on Base; unpaid calls return an x402 PaymentRequired result and failed calls are not charged.

NameTypeReqDescription
currency_fromstring–Optional source currency, ISO 4217 (e.g. USD); adds the MUR corridor rate
currency_tostring–Optional target currency, ISO 4217 (default MUR)
receiver_countrystring–Optional receiver ISO 3166-1 alpha-2 country code, e.g. MU
receiver_namestringyesReceiver (beneficiary) name, 2-200 characters
sender_countrystring–Optional sender ISO 3166-1 alpha-2 country code, e.g. GB
sender_namestringyesSender (originator) name, 2-200 characters

Structured output declared, but exposes no named fields.

No examples provided.

screen_entity ~302

Screen one person or organisation name, including aliases, against sanctions lists (US, EU, UK, UN, Canada, Australia and national lists aggregated by OpenSanctions), politically exposed persons, wanted persons (incl. Interpol Red Notices), development-bank and US debarments, crypto-linked entities, ransomware groups and OFAC-listed vessels. Use it for a quick list check of a name; use run_due_diligence for a scored profile with country and Mauritius registry context, search_mauritius_registry for Mauritius licences, offshore records and local PEPs, and screen_wallet for blockchain addresses. Matching is case-insensitive substring: each hit is labelled exact or partial, and partial hits need human review. The result states when each list was last updated (lists_as_of). Costs $0.002 USDC per successful call via x402 on Base; unpaid calls return an x402 PaymentRequired result and failed calls are not charged.

NameTypeReqDescription
limitinteger–Maximum hits to return, 1-25 (default 10). When the limit is reached the result has truncated=true.
liststring–Search one list group only (default all); mauritius searches the Mauritius registry name index
namestringyesFull name to screen, 2-200 characters: letters, digits, spaces and - ' . , ( ) & (e.g. "Lazarus Group"). Longer, more specific names give fewer partial matches.

Structured output declared, but exposes no named fields.

No examples provided.

screen_wallet ~286

Check a blockchain address (any chain) against active sanctioned and frozen addresses: OFAC SDN, OpenSanctions, UK, Circle USDC and Tether USDT freeze lists, and Ransomwhere ransomware wallets. Use it before sending or accepting funds; owner_name also screens the owner's name and returns a composite risk (critical when the address is listed, elevated when only the name matched). For names alone use screen_entity, for a Travel Rule record create_travel_rule_packet, and for an EVM agent's on-chain reputation verify_agent_identity. Matching is exact and case-insensitive on the full address: clear means the address itself is not listed, not that its counterparties are clean. The result states when each list was last updated (lists_as_of). Costs $0.001 USDC, or $0.003 with owner_name, via x402 on Base; unpaid calls return an x402 PaymentRequired result and failed calls are not charged.

NameTypeReqDescription
addressstringyesFull wallet address, 10-128 characters of letters, digits, ':', '_' or '-' (e.g. 0x08723392Ed15743cc38513C4925f5e6be5c17243)
owner_namestring–Optional name of the wallet's owner to screen in the same call (switches to the combined wallet + name check)

Structured output declared, but exposes no named fields.

No examples provided.

search_mauritius_registry ~244

Search Mauritius-specific records by name: Financial Services Commission licensees (category fsc_licensee), licensed banks, insurers, payment and other financial institutions (licensed_entity), offshore entities from the ICIJ leak databases (offshore_entity), local politically exposed persons (pep) and adverse-media mentions (adverse_media); omit category to search all. Use it for Mauritius counterparties or to confirm a licence; use screen_entity for global sanctions and watchlists, and run_due_diligence to combine both with a risk score. Case-insensitive substring match on the name; an offshore-leak or adverse-media record is a lead to investigate, not proof of wrongdoing. The result states when each list was last updated (lists_as_of). Costs $0.005 USDC per successful call via x402 on Base; unpaid calls return an x402 PaymentRequired result and failed calls are not charged.

NameTypeReqDescription
categorystring–Optional record type filter
limitinteger–Maximum records, 1-25 (default 10)
namestringyesCompany or person name, 2-200 characters (e.g. "Absa Bank")

Structured output declared, but exposes no named fields.

No examples provided.

verify_agent_identity ~209

Run a Know-Your-Agent check on an AI agent's EVM wallet: ERC-8004 agent-registry lookup and operator, sanctions screening (result clear or sanctioned), on-chain behaviour (wallet age, activity, fund-flow taint, mixer and scam contacts, threat-intel alerts), a 0-100 risk score with its band (minimal, low, moderate, elevated, high or critical), and a signed W3C Verifiable Credential plus a sanctions-list Merkle proof that third parties can verify. Use it before paying, hiring or accepting payment from an autonomous agent, passing that agent's 0x wallet address; for an address on another chain, or a list-only check, use screen_wallet. Free, limited to 60 calls per minute per client; it reads public blockchain data live, so it can take several seconds and results change as the wallet transacts.

NameTypeReqDescription
addressstringyesEVM wallet address: 0x followed by 40 hex characters
NameTypeReqDescription
addressstring–Checked address
fundFlowobject|null–taintLevel, hops traced, exposure and flagged paths; null when fund-flow tracing was unavailable
kyaobject|null–Agent registry (ERC-8004) and screening details
proofsobject–sanctionsList: signed RFC 6962 Merkle membership or non-membership proof
resultstring–Screening status of the address
riskBandstring–Risk band derived from the score
riskFlagsarray–Risk flags
riskScorenumber–0-100 risk score
threatIntelobject|null–Threat-intelligence matches; null when the feeds were unavailable
verifiableCredentialsobject–compliance (and agentIdentity when registered) W3C Verifiable Credentials
walletProfileobject|null–walletAge, transactionCount, walletType, balances, known protocols, active chains; null when the chain lookup failed

No examples provided.

verify_travel_rule_packet ~221

Verify a Travel Rule packet you received from a counterparty: returns its stored risk level, recommendation, flags, threshold result and masked wallet addresses. Pass the packet_id you received and, optionally, the originator and beneficiary names and wallet addresses you hold; each is compared with what was screened and reported only as match true/false, so names are never revealed. Use it on the beneficiary side after receiving a packetId; use create_travel_rule_packet to create one. Free, no payment needed, limited to 60 calls per minute per client; an unknown packet_id returns a not-found error.

NameTypeReqDescription
beneficiary_addressstring–Optional beneficiary wallet address you hold
beneficiary_namestring–Optional beneficiary name you hold
originator_addressstring–Optional originator wallet address you hold
originator_namestring–Optional originator name you hold; checked against the stored keyed hash
packet_idstringyesPacket id from the originator, TR- followed by 22 URL-safe characters
NameTypeReqDescription
matchesobject–Only when you passed values: originatorName, beneficiaryName, originatorAddress, beneficiaryAddress (true/false)
packetobject–packetId, screenedAt, riskLevel, recommendation, flags, travelRuleApplies, amountUsd, masked originatorAddress / beneficiaryAddress, namesProvided
verifiedboolean–True when the packet exists

No examples provided.

Install

How do I install the SENTINEL Compliance Intelligence MCP server?

SENTINEL Compliance Intelligence is a hosted endpoint at https://mru-oracle.com/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

remote · mru-oracle.com

# add to Claude Code
claude mcp add --transport http injprotocol-sentinel-compliance 'https://mru-oracle.com/mcp'
Common questions

What is the SENTINEL Compliance Intelligence MCP server?

SENTINEL Compliance Intelligence is an MCP server listed in the public MCP registry as io.github.INJprotocol/sentinel-compliance. AML/CFT compliance oracle: wallet screening, sanctions, PEPs, jurisdiction risk. This page covers its hosted endpoint (https://mru-oracle.com/mcp).

Is the SENTINEL Compliance Intelligence MCP server safe to use?

SENTINEL Compliance Intelligence scores 79 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the SENTINEL Compliance Intelligence MCP server expose?

SENTINEL Compliance Intelligence exposes 12 tools: screen_entity, screen_wallet, get_jurisdiction_risk, search_mauritius_registry, run_due_diligence, and 7 more. Their descriptions and schemas cost roughly 3,117 tokens of context every time the server is loaded.

Does the SENTINEL Compliance Intelligence MCP server require authentication?

No. We connected to SENTINEL Compliance Intelligence without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

Is the SENTINEL Compliance Intelligence MCP server still maintained?

SENTINEL Compliance Intelligence is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

What did VerifyMCP test on the SENTINEL Compliance Intelligence MCP server?

VerifyMCP ran 13 checks on SENTINEL Compliance Intelligence, covering TLS certificate, Authorization, HTTPS, HSTS header and 9 more. Supply Chain Security and Provenance & Transparency do not apply to a hosted endpoint, so they were not tested. The score does not measure everything, and the scoring documentation lists what it leaves out.