Sui
БесплатноНе проверенRead-only MCP server for Sui blockchain analytics with 44 tools covering wallets, DeFi, NFTs, token prices, transactions, fund tracing, pools, staking, Move dec
Описание
Read-only MCP server for Sui blockchain analytics with 44 tools covering wallets, DeFi, NFTs, token prices, transactions, fund tracing, pools, staking, Move decompilation, and MVR name resolution.
README
Read-only MCP server for Sui blockchain analytics. 46 tools covering wallets, DeFi positions, NFTs, token prices, transaction decoding, fund tracing, pool discovery, staking, Move package analysis (disassembly + heuristic risk scan, no external binary), optional Move bytecode decompilation, and Move Registry (MVR) name resolution.
- No API keys, no wallet, no private keys — connects to public Sui mainnet endpoints
- Protocol-aware — decodes transactions from Cetus, Suilend, NAVI, Scallop, Bluefin, DeepBook, and more into human-readable actions
- Multi-source architecture — gRPC for low-latency reads, GraphQL for filtered queries, archive node fallback for historical data
- Price aggregation — Aftermath Finance, Pyth oracles, and CoinGecko in a single unified interface
- Kiosk-aware — resolves NFT ownership through Sui's kiosk system to actual wallet addresses
Transaction building tools return unsigned bytes for external signing — the server never handles keys.
Setup
Requires Node.js >= 20 (22+ recommended).
npm install
npm run build
Move Decompiler (optional)
Reading and analyzing Move code works out of the box with no extra setup: disassemble_module returns Move bytecode assembly via the GraphQL endpoint, and analyze_package summarizes a package's API and runs a heuristic risk scan. The decompiler below is only needed if you want higher-level, source-like output.
The decompile_module tool requires the Revela move-decompiler binary. Requires a Rust toolchain (rustup.rs).
npm run build:decompiler
This clones verichains/revela_sui, builds the decompiler, and copies the binary to bin/move-decompiler.
Manual setup
git clone --depth 1 https://github.com/verichains/revela_sui.git
cd revela_sui/external-crates/move
cargo build --release --bin move-decompiler
Then set SUI_DECOMPILER_PATH to the binary path.
Installation
Add to your MCP client config (Claude Code, Claude Desktop, Cursor, etc.):
{
"mcpServers": {
"sui": {
"command": "node",
"args": ["/absolute/path/to/sui-mcp/dist/index.js"],
"env": {
"SUI_DECOMPILER_PATH": "/absolute/path/to/sui-mcp/bin/move-decompiler"
}
}
}
}
Replace /absolute/path/to/sui-mcp with the actual path to this repository. The env block is only needed for the decompilation tool — omit it if you don't need decompile_module.
See .env.example for optional environment variables (network selection, custom RPC endpoints).
Tools (44)
Recommended Starting Points
| Tool | Description |
|---|---|
identify_address |
Identify what a Sui address is: wallet, package, validator, or object |
get_wallet_overview |
Comprehensive wallet overview: balances, SuiNS name, staking, kiosks, recent txs |
get_transaction_history |
Decoded activity feed with protocol names and human-readable actions |
analyze_token |
Full token analysis: metadata, price, 24h change, supply, top holders |
Chain & Network
| Tool | Description |
|---|---|
get_chain_info |
Current chain ID, epoch, checkpoint height, timestamp, gas price |
get_checkpoint |
Checkpoint details by sequence number or digest |
Objects
| Tool | Description |
|---|---|
get_object |
Object by ID with type, owner, JSON content, and display metadata |
list_owned_objects |
List objects owned by an address with optional type filter |
list_dynamic_fields |
Dynamic fields of an object (tables, kiosk contents, etc.) |
Coins & Tokens
| Tool | Description |
|---|---|
get_balance |
Balance of a coin type for an address (defaults to SUI) |
get_coin_info |
Token metadata: name, symbol, decimals, description, supply |
search_token |
Search tokens by name/symbol, with Aftermath Finance fallback |
get_token_prices |
Current USD prices for tokens via Aftermath + CoinGecko |
get_historical_prices |
Historical prices at a point in time via Pyth oracle |
Transactions & Events
| Tool | Description |
|---|---|
get_transaction |
Transaction by digest with protocol-decoded actions |
query_transactions |
Filter transactions by sender, address, object, or function |
query_events |
Filter events by type, sender, module, or checkpoint range |
DeFi
| Tool | Description |
|---|---|
get_defi_positions |
DeFi positions across Suilend, Cetus, NAVI, Scallop, Bluefin, Bucket |
find_pools |
Discover liquidity pools by token pair (Cetus, DeepBook, Turbos) |
get_pool_stats |
Pool reserves, fees, and prices for a given pool object ID |
NFTs
| Tool | Description |
|---|---|
list_nfts |
List NFTs owned by a wallet, including kiosk-stored NFTs |
list_nft_collections |
Lightweight collection summary with counts |
get_top_holders |
Top holders of an NFT collection or token |
Staking
| Tool | Description |
|---|---|
get_validators |
List validators with stake, commission, voting power |
get_validator_detail |
Detailed validator info including credentials and stats |
get_staking_summary |
Wallet's staking positions and pools |
Names
| Tool | Description |
|---|---|
resolve_name |
SuiNS name resolution (forward and reverse) |
Move Registry (MVR)
The Move Registry maps human-readable package names like @suins/core or @deepbook/core to on-chain package addresses. Backed by mainnet.mvr.mystenlabs.com/v1 (or testnet.mvr... when SUI_NETWORK=testnet).
| Tool | Description |
|---|---|
mvr_resolve |
Resolve one or many MVR names → package IDs. Accepts version-pinned names like @suins/core/3. |
mvr_reverse_resolve |
Reverse-lookup: package addresses → MVR names. Useful for enriching raw addresses anywhere. |
mvr_get_package_info |
Full record for a name: metadata, version, package_address, package_info ID, git source. |
mvr_search |
Browse / search the registry. Supports substring search, pagination, and an is_linked filter for published packages. |
mvr_resolve_struct |
Resolve @org/app::module::Type → canonical type tag at the type's defining-package address. |
Typical flows:
- "What's the package for
@deepbook/core?" →mvr_resolve(['@deepbook/core'])→0x4874e1.... Hand the address toget_packagefor module/function details. - "What is package
0xf22f…?" →mvr_reverse_resolve(['0xf22f…'])→@suins/core. - "Find DeepBook-related packages" →
mvr_search('deepbook', limit=20, is_linked=true)→ paginated list. - "Pin to a specific version" →
mvr_resolve(['@suins/core/3'])returns the v3 package address rather than the latest.
Packages (Developer)
| Tool | Description |
|---|---|
get_package |
Move package modules, structs (with ordered fields), and functions |
get_move_function |
Specific Move function signature and parameters |
get_package_dependency_graph |
Package dependency analysis with recursive traversal |
analyze_package |
Summarize a package's API + heuristic risk scan (no binary; accepts 0x id or MVR name) |
disassemble_module |
Disassemble Move bytecode via GraphQL (no binary; accepts 0x id or MVR name) |
decompile_module |
Decompile Move bytecode to source (requires decompiler binary) |
Transaction Building
| Tool | Description |
|---|---|
build_transfer_sui |
Build unsigned SUI transfer transaction |
build_transfer_coin |
Build unsigned coin transfer with auto coin selection |
build_stake_sui |
Build unsigned staking transaction |
build_unstake_sui |
Build unsigned unstake transaction |
simulate_transaction |
Dry-run a transaction to preview effects and gas cost |
Advanced
| Tool | Description |
|---|---|
decode_ptb |
Decode a Programmable Transaction Block from BCS bytes |
trace_funds |
Multi-hop fund flow tracing (forward or backward) |
check_activity |
Monitor address or object for new activity since a checkpoint |
License
Установка Sui
У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.
▸ github.com/0xfreak0/sui-mcpFAQ
Sui MCP бесплатный?
Да, Sui MCP бесплатный — установка в пару кликов через Unyly без оплаты.
Нужен ли API-ключ для Sui?
Нет, Sui работает без API-ключей и переменных окружения.
Sui — hosted или self-hosted?
Доступен hosted-вариант: Unyly запускает сервер в облаке, локальная установка не обязательна.
Как установить Sui в Claude Desktop, Claude Code или Cursor?
Открой Sui на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.
Похожие MCP
GitHub
PRs, issues, code search, CI status
автор: GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
автор: mcpdotdirectCompare Sui with
Не уверен что выбрать?
Найди свой стек за 60 секунд
Автор?
Embed-бейдж для README
Похожее
Все в категории development
