chainanalyzer-mcp
chainanalyzer-mcp
MCP-сервер для ChainAnalyzer — мультичейн-анализ рисков AML в блокчейне для ИИ-агентов.
Сканируйте любой адрес в сетях Bitcoin, Ethereum, Polygon, Avalanche и Solana на предмет нарушений санкций, схем отмывания денег, rug pull, кражи средств с кошельков и многого другого. Более 76 правил обнаружения, оценка аномалий с помощью машинного обучения и анализ графов Neo4j.
Инструменты
Инструмент | Описание | Цена |
| Оценка AML-риска для любого адреса в блокчейне | $0.008 |
| Проверка по санкционным спискам OFAC / FATF / JFSA | $0.003 |
| Отслеживание потока транзакций с обнаружением аномалий ML | $0.015 |
| Обнаружение паттернов CoinJoin / миксеров (Bitcoin) | $0.01 |
| Кластеризация кошельков через анализ графов Neo4j | $0.02 |
| Пакетная AML-проверка (до 50 адресов) | $0.05 |
Related MCP server: sliverc2-mcp
Быстрый старт
Claude Desktop / Claude Code
Добавьте в конфигурацию MCP:
{
"mcpServers": {
"chainanalyzer-aml": {
"command": "npx",
"args": ["-y", "chainanalyzer-mcp"],
"env": {
"CHAINANALYZER_API_KEY": "tfk_your_api_key"
}
}
}
}Из исходного кода
git clone https://github.com/rascal-3/chainanalyzer-mcp.git
cd chainanalyzer-mcp
npm install
npm startАутентификация
Выберите один из трех режимов:
1. API-ключ (подписка)
Получите API-ключ tfk_ на сайте chain-analyzer.com (тариф Pro).
{
"env": {
"CHAINANALYZER_API_KEY": "tfk_your_api_key"
}
}2. Оплата USDC через x402 (оплата за запрос)
Учетная запись не требуется. Оплачивайте запросы с помощью USDC в сетях Base или Solana.
{
"env": {
"X402_PRIVATE_KEY": "your_wallet_private_key",
"X402_NETWORK": "base"
}
}Требуется npm-пакет x402: npm install x402
3. Режим разработки (Dev Mode)
Без аутентификации. Работает, если на сервере ChainAnalyzer установлено X402_ENABLED=false.
{
"env": {
"CHAINANALYZER_BASE_URL": "http://localhost:3000"
}
}Переменные окружения
Переменная | Описание | Обязательно |
| API-ключ | Один из: API-ключ или x402 |
| Приватный ключ кошелька для платежей в USDC | Один из: API-ключ или x402 |
| Платежная сеть: | Нет |
| Базовый URL API (по умолчанию: | Нет |
Пример использования
После настройки попросите своего ИИ-агента:
"Проверь, находится ли этот адрес Ethereum под санкциями: 0x1234..."
"Проанализируй уровень риска для этого кошелька Solana: ABC123..."
"Отследи поток средств этой транзакции Bitcoin и проверь на наличие паттернов микширования"
"Проверь эти 20 адресов на соответствие требованиям AML"
Агент автоматически вызовет соответствующие инструменты ChainAnalyzer.
Поддерживаемые сети
Bitcoin — проверка по спискам OFAC, dust-атаки, peel-цепочки, обнаружение CoinJoin
Ethereum — 18+ детекторов, анализ графов Neo4j, санкции, миксеры
Polygon — полный набор инструментов AML для EVM, совместимость с Etherscan V2
Avalanche — полный набор инструментов AML для EVM, API Routescan
Solana — безопасность токенов (rug pull, honeypot), обнаружение кражи средств с кошельков
Ссылки
ChainAnalyzer — веб-платформа
Документация — справочник API
Протокол x402 — стандарт оплаты за запрос
Лицензия
MIT — см. LICENSE
Создано refinancier, inc.
Available Tools
6 toolsbatch_screeningA
Batch AML screening for multiple addresses at once (up to 50). Returns risk level and score per address.
| Name | Required | Description | Default |
|---|---|---|---|
| addresses | Yes | Addresses to screen | |
| chain | No | Chain hint |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full burden. It discloses that the tool is for batch screening and returns risk level and score per address, but does not mention any side effects, security implications, or performance characteristics (e.g., rate limits).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, one sentence with key information. It is front-loaded with the purpose. It could be slightly improved by adding a brief note about the chain parameter or when to use.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (two parameters, no output schema), the description adequately explains what it does and its output. However, it could mention the meaning of the risk level or score, or that the chain parameter is optional.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage for both parameters ('addresses' and 'chain'). The description adds that addresses are multiple (up to 50) and that the output is per address, which enhances understanding beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: batch AML screening for multiple addresses. It specifies the action (screening), resource (addresses), and output (risk level and score per address). This distinguishes it from siblings like check_address_risk which likely screens single addresses.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description indicates the batch nature and a limit of 50 addresses, implying it's for screening multiple addresses at once. However, it does not explicitly state when to use it versus alternatives like check_address_risk or sanctions_check, nor does it mention when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_address_riskA
Get AML risk score for any blockchain address. Returns risk level, score (0-100), detections, and ML anomaly score. Supports BTC, ETH, POL, AVAX, SOL.
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | Blockchain address to analyze | |
| chain | No | Chain (auto-detected if omitted) | |
| lang | No | Language (default: en) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It mentions 'returns risk level, score (0-100), detections, and ML anomaly score', which adds some behavioral context. However, it does not disclose potential traits like rate limits, data freshness, or reliance on external APIs, which would be important for an AML tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, concise and front-loaded with the purpose. Every sentence adds information, with no wasted words. Could briefly mention that chain is auto-detected, but still efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the small number of parameters and no output schema, the description is fairly complete. It explains the purpose, inputs, and output contents. Could add more behavioral context (e.g., data source) but overall adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the description adds little beyond what the schema already states. It mentions 'Supports BTC, ETH, POL, AVAX, SOL' which matches the chain enum, and 'auto-detected if omitted' adds minor value. The description does not elaborate on the address format or language options beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description starts with a clear verb+resource ('Get AML risk score for any blockchain address') and lists specific outputs (risk level, score, detections, ML anomaly score). It also names supported chains, distinguishing it from sibling tools like sanctions_check.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use this tool (for AML risk assessment), but provides no explicit guidance on when not to use it or alternatives. The sibling tools (e.g., sanctions_check, batch_screening) could be compared, but no such advice is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cluster_walletA
Identify related addresses through Neo4j graph clustering. Returns cluster size and related addresses.
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | Starting address for cluster analysis | |
| depth | No | Graph depth (default: 2) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description mentions returns cluster size and related addresses, which adds behavioral context. However, no annotations are provided, so the description carries full burden; it does not disclose potential side effects, computational cost, or rate limits, so a 3 is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with action, no wasted words. Perfectly concise for the information needed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple input schema and no output schema, the description adequately explains purpose and output (cluster size and related addresses). Could optionally mention if depth is traversed forward/backward, but still complete enough.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so parameters are already clear from schema. The description does not add extra meaning beyond the schema; baseline 3 is correct.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool identifies related addresses through graph clustering, differentiating it from siblings like check_address_risk, batch_screening, or trace_transaction. The verb 'identify' and resource 'related addresses' are specific.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies it is for exploring address connections, and context from sibling names (e.g., risk checks, coinjoin detection) helps distinguish use cases. However, it does not explicitly state when not to use it or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
detect_coinjoinB
Detect CoinJoin, mixing, and tumbling patterns in a Bitcoin transaction.
| Name | Required | Description | Default |
|---|---|---|---|
| tx_hash | Yes | Bitcoin transaction hash |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden of behavioral disclosure. It fails to mention if the analysis is heuristic-based, requires memory, or has limitations (e.g., false positives). The description is too brief about internal behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely concise: one sentence, front-loaded with the core purpose, no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple single-parameter tool, the description is adequate but lacks behavioral details that would be helpful given no output schema or annotations. The agent may not know what the output looks like or what constitutes a detection.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% (tx_hash described), but the description adds no additional meaning beyond the schema's own description. The description repeats 'Bitcoin transaction' which is already implied by the parameter name. Baseline 3 applies since coverage is high.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses specific verbs ('Detect') and identifies the resource ('a Bitcoin transaction') and specific patterns ('CoinJoin, mixing, and tumbling patterns'). It clearly distinguishes from siblings like 'batch_screening' or 'trace_transaction' by focusing on privacy-enhancing patterns.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like 'trace_transaction' or 'check_address_risk'. The description does not mention any context such as prerequisites, transaction types, or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sanctions_checkB
Screen address against OFAC, FATF, JFSA, and ChainAnalyzer ScamDB sanctions lists.
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | Blockchain address to screen | |
| chain | No | Chain (auto-detected if omitted) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavior, but it does not mention side effects, auth requirements, rate limits, or whether results are cached. The tool likely performs external API calls, but this is not stated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence with no filler. It front-loads the key information (what lists are screened) and uses concise language.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has 2 parameters with full schema coverage, no output schema, and no annotations. The description explains the screening scope but does not mention return format, false positive handling, or update frequency of lists. For a compliance tool, more detail on reliability would be beneficial.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema covers 100% of parameters with descriptions, so baseline is 3. The description adds value by listing the specific sanctions lists used, which helps agents understand the screening scope beyond the parameter descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool screens blockchain addresses against specific sanctions lists (OFAC, FATF, JFSA, ChainAnalyzer ScamDB), providing a specific verb (screen) and resource (address against sanctions lists). It distinguishes from siblings like batch_screening (batch) and check_address_risk (general risk) by specifying the precise lists used.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use for sanctions compliance screening but does not explicitly state when to use this tool versus alternatives like batch_screening for multiple addresses or check_address_risk for broader risk. No when-not-to-use guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
trace_transactionB
Trace fund flows for a transaction with ML anomaly detection. Returns graph of addresses and transfers.
| Name | Required | Description | Default |
|---|---|---|---|
| tx_hash | Yes | Transaction hash to trace | |
| chain | No | Blockchain network | |
| depth | No | Trace depth (default: 3) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden. It mentions ML anomaly detection but does not disclose behavioral traits such as data requirements, rate limits, whether it modifies data, or what the graph output includes. The description is vague on these aspects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with two sentences, no wasted words. It front-loads the key action. However, it could be slightly more structured to include guidelines or behavioral notes without adding length.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 3 parameters and no output schema, the description provides minimal context about the output (returns graph of addresses and transfers). It does not explain the structure of the graph or how anomaly detection influences results. Complete but lacking detail.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema covers 100% of parameters with descriptions, so baseline is 3. The description does not add extra meaning beyond the schema, and does not explain default depth or how the parameters relate to the graph output.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool traces fund flows for a transaction with ML anomaly detection, and returns a graph of addresses and transfers. This distinctively specifies what the tool does and its output, but could differentiate more from sibling tools like detect_coinjoin or cluster_wallet.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for tracing transactions with anomaly detection, but provides no explicit guidance on when to use this tool over siblings like check_address_risk or batch_screening. No alternative tools or when-not-to-use scenarios are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
6 tool updates
v1.1.1- First observed
batch_screening - First observed
check_address_risk - First observed
cluster_wallet - First observed
detect_coinjoin - First observed
sanctions_check - First observed
trace_transaction
TDQS
Each tool targets a distinct blockchain analysis function: screening (batch vs single address), clustering, mixing detection, sanctions checking, and transaction tracing. No overlap in purpose.
Tools use a consistent verb_noun pattern (e.g., batch_screening, check_address_risk, detect_coinjoin) with one exception: 'cluster_wallet' uses verb_noun but 'wallet' is a bit broader. Overall, naming is clear and predictable.
With 6 tools, the server covers core AML and blockchain analysis functions succinctly without being too sparse or overly numerous.
The tool set covers screening (batch & single), risk scoring, clustering, mixing detection, sanctions, and tracing. A minor gap is the lack of a tool for getting raw transaction data or address history, but the main analysis workflows are complete.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
MCP server for progressive tool usage at any scale (see https://klavis.ai)
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceMCP server that integrates with the BlockSec https://blocksec.com platform to provide blockchain transaction analysis.11MIT
- MIT
- AlicenseAqualityCmaintenanceThe first MCP Server dedicated to Bitcoin ecosystem236MIT
- AGPL 3.0
Appeared in Searches
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/rascal-3/chainanalyzer-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server