Sui MCP server
{
"mcpServers": {
"sui": {
"command": "npx",
"args": [
"-y",
"sui-analytics-mcp@latest",
"sui-analytics-mcp"
],
"env": {
"PYTH_API_KEY": "<pyth_api_key>",
"CMC_API_KEY": "<cmc_api_key>",
"SUI_FULLNODE_URL": "https://...",
"SUI_GRAPHQL_URL": "https://...",
"SUI_STORE_PATH": "/path/to/directory",
"SUI_DECOMPILER_PATH": "/path/to/directory"
}
}
}
}{
"mcpServers": {
"sui": {
"command": "npx",
"args": [
"-y",
"sui-analytics-mcp@latest",
"sui-analytics-mcp"
],
"env": {
"PYTH_API_KEY": "<pyth_api_key>",
"CMC_API_KEY": "<cmc_api_key>",
"SUI_FULLNODE_URL": "https://...",
"SUI_GRAPHQL_URL": "https://...",
"SUI_STORE_PATH": "/path/to/directory",
"SUI_DECOMPILER_PATH": "/path/to/directory"
}
}
}
}{
"mcpServers": {
"sui": {
"command": "npx",
"args": [
"-y",
"sui-analytics-mcp@latest",
"sui-analytics-mcp"
],
"env": {
"PYTH_API_KEY": "<pyth_api_key>",
"CMC_API_KEY": "<cmc_api_key>",
"SUI_FULLNODE_URL": "https://...",
"SUI_GRAPHQL_URL": "https://...",
"SUI_STORE_PATH": "/path/to/directory",
"SUI_DECOMPILER_PATH": "/path/to/directory"
}
}
}
}{
"servers": {
"sui": {
"command": "npx",
"args": [
"-y",
"sui-analytics-mcp@latest",
"sui-analytics-mcp"
],
"env": {
"PYTH_API_KEY": "${input:pyth_api_key}",
"CMC_API_KEY": "${input:cmc_api_key}",
"SUI_FULLNODE_URL": "${input:sui_fullnode_url}",
"SUI_GRAPHQL_URL": "${input:sui_graphql_url}",
"SUI_STORE_PATH": "${input:sui_store_path}",
"SUI_DECOMPILER_PATH": "${input:sui_decompiler_path}"
}
}
},
"inputs": [
{
"id": "pyth_api_key",
"type": "promptString",
"description": "Pyth api key",
"password": true
},
{
"id": "cmc_api_key",
"type": "promptString",
"description": "Cmc api key",
"password": true
},
{
"id": "sui_fullnode_url",
"type": "promptString",
"description": "Sui fullnode url",
"password": true
},
{
"id": "sui_graphql_url",
"type": "promptString",
"description": "Sui graphql url",
"password": true
},
{
"id": "sui_store_path",
"type": "promptString",
"description": "Sui store path",
"password": true
},
{
"id": "sui_decompiler_path",
"type": "promptString",
"description": "Sui decompiler path",
"password": true
}
]
}{
"mcpServers": {
"sui": {
"command": "npx",
"args": [
"-y",
"sui-analytics-mcp@latest",
"sui-analytics-mcp"
],
"env": {
"PYTH_API_KEY": "<pyth_api_key>",
"CMC_API_KEY": "<cmc_api_key>",
"SUI_FULLNODE_URL": "https://...",
"SUI_GRAPHQL_URL": "https://...",
"SUI_STORE_PATH": "/path/to/directory",
"SUI_DECOMPILER_PATH": "/path/to/directory"
}
}
}
}file .mcp.json (in your project root)file claude_desktop_config.jsonfile ~/.cursor/mcp.jsonfile .vscode/mcp.jsonfile ~/.codeium/windsurf/mcp_config.jsoninstall npx -y sui-analytics-mcpversion 1.14.1
What it does
Read-only MCP server for investigating activity on the Sui blockchain. Provides 62 tools for wallet analysis, fund tracing, transaction decoding, DeFi positions, and forensic clustering — designed for developers and researchers doing chain investigation without requiring API keys or wallet credentials.
- Trace the flow of funds between wallets and identify their funding sources across multiple hops.
- Rank addresses by protocol activity (deposits, withdrawals, swaps) and measure wallet clustering patterns to distinguish coordinated groups from organic behavior.
- Analyze Move packages, decode transactions with protocol awareness, and reconstruct wallet timelines to build evidence for on-chain investigations.
Tools this server exposes
| Tool | Does |
|---|---|
| aggregate_events | Count event types emitted by a module over a time range and rank wallets by numeric event fields like deposit value. |
| find_funding_sources | Trace where wallets received funds by following transfers backward to their sources with configurable depth. |
| get_address_fanout | List all recipients of funds from an address and measure the flow pattern (in/out ratio and shape) to characterize wallet behavior. |
| get_wallet_overview | Retrieve balance, transaction history, token holdings, and NFTs for a wallet address. |
| get_transactions | Fetch transaction details for an address with protocol-aware decoding of transaction contents. |
| get_defi_positions | List open positions in lending protocols, staking, and liquidity pools for a wallet. |
| build_transfer | Generate unsigned BCS bytes for a coin transfer that can be signed and broadcast externally. |
| simulate_transaction | Dry-run unsigned transaction bytes against a fullnode without executing them. |
| decompile_module | Decompile a Move package module to readable Move source code. |
| get_package_info | Retrieve metadata, dependencies, and upgrade history for a Move package. |
| decode_transaction | Decode transaction bytes or PTB (Programmable Transaction Block) to human-readable format with protocol context. |
| enable_tools | Dynamically load additional tool profiles (forensics, developer, market) without restarting the server. |
| get_nfts | List NFTs owned by a wallet address. |
| get_token_price | Retrieve current price for a token on Sui. |
| resolve_name | Look up wallet address from a Sui Name Service name or reverse lookup. |
| get_staking_info | Retrieve staking positions and rewards for a wallet. |
| get_pool_stats | Fetch liquidity pool statistics and performance data. |
Before you enable it
An MCP server runs with whatever access you give it. Start with a development account rather than production, and check which tools the server exposes before you let an agent call them unattended.