chainanalyzer-mcp
chainanalyzer-mcp
ChainAnalyzer용 MCP 서버 — AI 에이전트를 위한 멀티체인 블록체인 AML(자금세탁방지) 위험 분석 도구입니다.
비트코인, 이더리움, 폴리곤, 아발란체, 솔라나 전반의 모든 주소를 스캔하여 제재 위반, 자금세탁 패턴, 러그 풀, 지갑 탈취 등을 탐지합니다. 76개 이상의 탐지 규칙, ML 이상 징후 점수, Neo4j 그래프 분석을 제공합니다.
도구
도구 | 설명 | 가격 |
| 모든 블록체인 주소에 대한 AML 위험 점수 | $0.008 |
| OFAC / FATF / JFSA 제재 심사 | $0.003 |
| ML 이상 징후 탐지를 포함한 거래 흐름 추적 | $0.015 |
| CoinJoin / 믹싱 패턴 탐지 (비트코인) | $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 키 (구독)
chain-analyzer.com (Pro 플랜)에서 tfk_ API 키를 받으세요.
{
"env": {
"CHAINANALYZER_API_KEY": "tfk_your_api_key"
}
}2. x402 USDC 결제 (요청당 결제)
계정이 필요 없습니다. Base 또는 Solana 네트워크에서 요청당 USDC로 결제하세요.
{
"env": {
"X402_PRIVATE_KEY": "your_wallet_private_key",
"X402_NETWORK": "base"
}
}x402 npm 패키지가 필요합니다: npm install x402
3. 개발 모드
인증이 필요 없습니다. ChainAnalyzer 서버의 X402_ENABLED=false 설정 시 작동합니다.
{
"env": {
"CHAINANALYZER_BASE_URL": "http://localhost:3000"
}
}환경 변수
변수 | 설명 | 필수 여부 |
|
| API 키 또는 x402 중 하나 |
| USDC 결제를 위한 지갑 개인 키 | API 키 또는 x402 중 하나 |
| 결제 네트워크: | 아니오 |
| API 기본 URL (기본값: | 아니오 |
사용 예시
설정이 완료되면 AI 에이전트에게 다음과 같이 요청하세요:
"이 이더리움 주소가 제재 대상인지 확인해줘: 0x1234..."
"이 솔라나 지갑의 위험 점수를 분석해줘: ABC123..."
"이 비트코인 거래의 자금 흐름을 추적하고 믹싱 패턴을 확인해줘"
"이 20개의 주소에 대해 AML 규정 준수 심사를 수행해줘"
에이전트가 적절한 ChainAnalyzer 도구를 자동으로 호출합니다.
지원 체인
비트코인 — OFAC 심사, 더스트 공격, 필 체인(peel chains), CoinJoin 탐지
이더리움 — 18개 이상의 탐지기, Neo4j 그래프 분석, 제재, 믹서 탐지
폴리곤 — 전체 EVM AML 제품군, Etherscan V2 호환
아발란체 — 전체 EVM AML 제품군, Routescan API
솔라나 — 토큰 보안(러그 풀, 허니팟), 지갑 탈취 탐지
링크
ChainAnalyzer — 웹 플랫폼
문서 — API 참조
x402 프로토콜 — 요청당 결제 표준
라이선스
MIT - LICENSE 참조
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.
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
Scored across 6 tools
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
Related MCP Connectors
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