sui-mcp-server

March 27, 2026 ยท View on GitHub

npm version License: MIT Node Tools

The most comprehensive Sui blockchain MCP server. 53 tools with GraphQL + JSON-RPC dual transport -- wallets, DeFi (Cetus, DeepBook), SuiNS, staking, validators, Move introspection, and the full Sui RPC surface.

Competitors offer 10-15 tools for basic operations. This server covers the entire Sui ecosystem in a single package.

Install

npx sui-mcp-server

Or install globally:

npm install -g sui-mcp-server
sui-mcp-server

Configure

Add to your MCP config (claude_desktop_config.json or ~/.mcp.json):

{
  "mcpServers": {
    "sui": {
      "command": "npx",
      "args": ["-y", "sui-mcp-server"]
    }
  }
}

No API key required -- connects directly to Sui public RPC nodes.

Tools (53)

Wallet Management (4)

ToolDescriptionKey Params
create_walletCreate a new Ed25519 keypair (in-memory only, not persisted)--
import_walletImport from a Bech32-encoded private key (suiprivkey...)privateKey
list_walletsList all wallets in the current session--
get_balanceGet SUI balance for any addressaddress

Coin Operations (4)

ToolDescriptionKey Params
get_all_balancesAll coin balances for an address (SUI + other coin types)address
get_coinsCoin objects of a specific type owned by an addressaddress, coinType
get_coin_metadataMetadata for a coin type (name, symbol, decimals)coinType
get_total_supplyTotal circulating supply of a coin typecoinType

Transfers (4)

ToolDescriptionKey Params
transfer_suiTransfer SUI between addresses (amount in SUI, not MIST)from, to, amount
transfer_objectsTransfer one or more objects to a recipientfrom, objectIds, to
merge_coinsMerge multiple coins into one (handles gas conflicts)walletName, coinType
split_coinsSplit a coin into multiple coinswalletName, coinId, amounts

Object Queries (5)

ToolDescriptionKey Params
get_objectFull details of any on-chain object by IDobjectId
get_owned_objectsObjects owned by an address with optional type filteringaddress, type
get_dynamic_fieldsDynamic fields of an object (tables, bags)parentId
multi_get_objectsBatch-fetch up to 50 objects in one callobjectIds
get_object_historyTrace all transactions that touched a given objectobjectId

Transactions (4)

ToolDescriptionKey Params
get_transactionFull transaction details by digestdigest
dry_run_transactionDry-run to preview effects without executingtxBytes
query_transactionsSearch by sender, recipient, object, or Move functionfilter
get_total_transactionsTotal transaction count on the network--

Move Smart Contracts (7)

ToolDescriptionKey Params
move_callExecute a Move function callwalletName, target, arguments
dev_inspectSimulate a Move call without executing (no wallet needed)sender, target, arguments
get_normalized_moduleFull Move module definition (functions, structs)package, module
get_move_functionMove function details (params, return types, visibility)package, module, function
get_move_structMove struct definition (fields, abilities)package, module, struct
get_package_modulesList all modules in a Move packagepackage
get_move_call_metricsNetwork-wide Move call metrics--

Staking (4)

ToolDescriptionKey Params
get_stakesAll staking positions for an addressaddress
request_add_stakeStake SUI with a validatorwalletName, amount, validator
request_withdraw_stakeWithdraw staked SUIwalletName, stakedSuiId
get_validatorsFull validator set with APY, commission, and stake amounts--

Events (1)

ToolDescriptionKey Params
query_eventsQuery on-chain events by type, sender, package, or digestfilter

Network & Analytics (9)

ToolDescriptionKey Params
switch_networkSwitch between mainnet, testnet, devnet, localnetnetwork
get_network_infoChain ID, epoch, gas price, latest checkpoint--
get_latest_checkpointLatest checkpoint sequence number--
get_reference_gas_priceCurrent reference gas price in MIST--
get_checkpointDetailed checkpoint data by sequence numbersequenceNumber
get_epoch_infoHistorical epoch data (times, stakes, gas summaries)epoch
get_protocol_configSui protocol configuration (limits, features)--
get_system_stateFull system state: epoch, validators, storage fund--
get_committee_infoValidator committee info for any epochepoch

SuiNS Name Service (4)

ToolDescriptionKey Params
resolve_nameResolve example.sui to a Sui addressname
resolve_addressReverse-resolve an address to SuiNS name(s)address
suins_get_name_recordFull name record -- NFT ID, target, expiration, metadataname
suins_get_priceRegistration and renewal pricing by name lengthlength

DeFi: Cetus DEX (2)

ToolDescriptionKey Params
cetus_get_poolsQuery Cetus CLMM pools by coin typescoinTypeA, coinTypeB
cetus_get_poolDetailed pool data for a specific Cetus poolpoolId

DeFi: DeepBook (1)

ToolDescriptionKey Params
deepbook_get_poolDeepBook v3 order book data -- pool state and dynamic fieldspoolId

DeFi: Token Tools (3)

ToolDescriptionKey Params
get_token_priceToken price by querying DeFi pool reservestoken
swap_quoteSwap quote by simulating against a pooltokenIn, tokenOut, amount
list_common_tokensCommon Sui tokens with full coin type addresses--

Faucet (1)

ToolDescriptionKey Params
request_faucetRequest SUI from faucet (devnet and testnet only)address

Why This One?

  • 53 tools vs 10-15. Competitors like 0xdwong/sui-mcp cover basic operations. This server includes DeFi (Cetus, DeepBook), SuiNS, Move introspection, staking, validators, and full analytics.
  • GraphQL + JSON-RPC dual transport. Built on the official @mysten/sui v2.11 SDK with @mysten/suins for name service -- future-proofed for the GraphQL migration.
  • Tested end-to-end. 59 passing tests across devnet, testnet, and mainnet. Wallet creation, transfers, staking, DeFi queries, SuiNS resolution, and Move inspection all verified.

Token Shortcuts

Use symbol shortcuts instead of full coin type addresses:

ShortcutFull Coin Type
SUI0x2::sui::SUI
USDC0xdba34672e...::usdc::USDC
USDT0xc060006111...::coin::COIN
WETH0xaf8cd5edc1...::coin::COIN
DEEP0xdeeb7a4662...::deep::DEEP

Networks

Starts on devnet by default. Switch at any time with switch_network:

NetworkRPC Endpoint
mainnethttps://fullnode.mainnet.sui.io:443
testnethttps://fullnode.testnet.sui.io:443
devnethttps://fullnode.devnet.sui.io:443
localnethttp://127.0.0.1:9000

Security

  • Keys are in-memory only -- never written to disk, never logged
  • Private keys redacted from all error messages
  • Rate limiting: 120 calls/minute (sliding window)
  • All inputs validated with Zod strict schemas

Development

git clone https://github.com/ExpertVagabond/sui-mcp-server.git
cd sui-mcp-server
npm install
npm run build
npm start

License

MIT -- Matthew Karsten / Purple Squirrel Media