The Sei MCP Server is open source. Contribute at github.com/sei-protocol/sei-js.
@sei-js/mcp-server@1 requires Node.js 20 or newer.WALLET_MODE=private-key and PRIVATE_KEY on the default stdio transport.
What is MCP?
The Model Context Protocol is an open standard that connects AI systems with external tools and data sources. With MCP, an AI system can:- Access real-time data from external services
- Execute functions and operations
- Keep context across interactions
- Use specialized capabilities beyond its base training
Capabilities
Setup guide
- Cursor
- Windsurf
- Claude Desktop
- Claude CLI
Cursor setup
1
Open Settings
Go to
Cursor → Settings → Cursor Settings → MCP.2
Configure server
Click Add new Global MCP server. Then add this configuration to
mcp.json:3
Restart
Restart Cursor to activate the MCP server. Cursor shows a notification when the server is ready.
Private key setup
The server starts in read-only mode. To enable wallet tools over the default stdio transport, add both variables to the server’senv configuration:
- Look for Export Private Key or Show Private Key in the wallet settings.
- Fund the wallet with small amounts for testing.
Features
With the Sei MCP Server, your AI assistant can:- Query account balances, tokens, NFTs, blocks, and transactions (read-only)
- Search the official Sei docs, including
@sei-jsreferences (search_docs) - Monitor network status for Sei Mainnet and Sei Testnet
- Execute token transfers, NFT transfers, contract writes, and deploys when wallet mode is enabled on stdio
Available tools
Read-only tools stay registered when wallet mode is disabled. The server hides signing and broadcasting tools until you enable wallet mode on stdio. Network arguments acceptsei, sei-testnet, 1329, 1328, 0x531, or 0x530. The server rejects unknown networks. Chain-info responses omit RPC URLs.
search_docs queries docs.sei.io. There is no search_sei_js_docs tool.
Core operations
Token management
Use
get_token_balance and transfer_token. The server also registers these aliases for backward compatibility:
get_erc20_balanceandget_token_balance_erc20behave likeget_token_balance, but they name the holder argumentaddressinstead ofownerAddress.transfer_erc20istransfer_tokenunder a different name, with the same arguments.
NFT and ERC-1155
Failed NFT ownership lookups propagate as errors instead of reporting
false. ERC-721 transfers use safeTransferFrom, so contract recipients must implement onERC721Received.
Blocks and transactions
AI prompts
These prompts are always available, including in read-only mode:explore_block
Analyze block data
analyze_transaction
Break down transaction details
analyze_address
Inspect an address and its activity
analyze_token
Summarize token metadata and balances
interact_with_contract
Guide you through a contract call
explain_evm_concept
Explain an EVM concept in context
compare_networks
Compare Sei Mainnet and Sei Testnet
my_wallet_address
Return the configured wallet address
send_transaction_guidance
Guide you through sending a transaction
token_transfer_guidance
Guide you through a token transfer
Usage examples
Query balance
“What is my SEI balance?”Calls
get_balance and returns the wallet balance and address.Send transaction
“Send 1 SEI to 0x742d35Cc6634C0532925a3b844Bc454e4438f44e”Calls
transfer_sei and returns the transaction hash. Requires wallet mode.Contract analysis
“Is 0x3894085ef7ff0f0aedf52e2a2704928d1ec074f1 a contract?”Calls
is_contract and identifies the contract type and metadata.Resource URIs
Access blockchain data through standardized URIs:Configuration
Client-launched servers (npx from Cursor, Claude Desktop, or a similar client) read variables from the MCP client’s env object. The server loads a project-local .env file only when the process starts in a directory that contains one, such as a local checkout.
The server does not support CLI flags such as
--http. Set SERVER_TRANSPORT instead. For the current reference, run npx -y @sei-js/mcp-server --help.
HTTP server mode
Streamable HTTP is the HTTP transport for new integrations:http://127.0.0.1:8080/mcp. To change the listener, set SERVER_HOST, SERVER_PORT, and SERVER_PATH.
Legacy HTTP/SSE is available for older clients:
http-sse, GET {SERVER_PATH} is the event stream. Clients POST messages to {SERVER_PATH}/message?sessionId=<id>.
Security guidelines
For anything beyond a throwaway test wallet, treat the signing key as production infrastructure:- Cap the value that any single transaction can move.
- Hold funds in a multi-signature wallet, and let the agent operate a low-balance hot wallet.
- Restrict the agent to an allowlist of contract addresses.
- Rate-limit the tools that sign or broadcast.
Troubleshooting
Connection issues: Verify that Node.js 20 or later is installed. Then restart your AI assistant. Private key errors: SetWALLET_MODE=private-key. Make sure the key is a valid 32-byte secp256k1 key (the 0x prefix is optional). Use the default stdio transport.
Cursor: The model returned an error. Try disabling the MCP servers, or switch models: Disable Auto in the model menu. Then select a specific model, for example claude-4-sonnet.