Tool profiles
The server starts with the core profile and keeps every other tool one call
away. MCP sends the whole tool list with every request, so each loaded tool
costs context before any work starts, and a long list of similar tools makes
a model more likely to pick the wrong one.
Switching at runtime
Section titled “Switching at runtime”When you ask for something outside the current set, such as “trace where these
funds went”, the model calls enable_tools and the tracing tools appear
immediately, with no restart. You never have to pick a profile.
enable_tools names every tool that is still off, and the server’s
instructions name the profiles and the main investigation tools, so a client
that shows them to the model knows what to ask for. Profile names are
case-insensitive.
Setting profiles at startup
Section titled “Setting profiles at startup”To start with more, set SUI_TOOLS to a comma-separated list of profiles, or
to all:
"env": { "SUI_TOOLS": "core,forensics" }An unknown name is ignored. When no name is recognised the server starts with
core.
The list is generated from the server’s profile definitions. Each tool links to its entry in the tool reference.
-
core(default): wallets, balances, transactions, tokens, NFTs, DeFi.analyze_token,find_pools,get_balance,get_chain_info,get_defi_positions,get_object,get_staking_summary,get_token_prices,get_transaction,get_transaction_history,get_transactions,get_wallet_overview,identify_address,list_nft_collections,list_nfts,list_owned_objects,query_transactions,resolve_name -
forensics: incident investigation: tracing, attribution, clustering, packages, labels, case findings.aggregate_events,analyze_attack_tx,analyze_multisig,analyze_package,build_timeline,build_wallet_edges,check_activity,check_coin_restrictions,classify_deposit_address,compare_oracle_price,delete_finding,disassemble_module,export_case,find_flow_path,find_funding_source,find_funding_sources,find_shared_multisig,get_address_fanout,get_move_function,get_nft_sales,get_package,get_top_holders,get_upgrade_history,list_findings,manage_labels,poll_watch,query_events,resolve_bridge_transfer,resolve_protocol_packages,sample_control_addresses,save_finding,screen_address,summarize_address_flows,summarize_incident_losses,trace_flow_graph,trace_funds,trace_object_history,watch_addresses -
developer: Move packages, bytecode, upgrades, PTBs, unsigned transactions, MVR.analyze_package,build_staking,build_transfer,decode_ptb,decompile_module,diff_package_upgrade,disassemble_module,get_checkpoint,get_move_function,get_package,get_package_dependency_graph,list_dynamic_fields,mvr_get_package_info,mvr_resolve,mvr_resolve_struct,mvr_reverse_resolve,mvr_search,simulate_transaction -
market: DeepBook, pools, token search, validators.deepbook_orderbook,deepbook_trades,get_coin_info,get_pool_stats,get_validators,search_token -
all: every profile, which is every tool in the tool reference.
enable_tools is loaded in every profile.
Clients that cache the tool list
Section titled “Clients that cache the tool list”Runtime switching relies on notifications/tools/list_changed, sent once per
enable_tools call. Claude Code and Claude Desktop honour it; some clients
cache the tool list and will only see the change after a restart. SUI_TOOLS
always works, so set it explicitly if your client doesn’t refresh.
Upgrading from 1.1.x
Section titled “Upgrading from 1.1.x”Version 1.1.x loaded every tool at startup. Set SUI_TOOLS=all to keep that
behaviour.