Install
$ agentstack add mcp-hawkli-1994-go-sui-mcp ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
Go Sui MCP (Management Control Plane)
A Go-based management control plane server for Sui blockchain, providing MCP (Management Control Plane) tools to interact with local Sui client commands. This project integrates with Cursor IDE for enhanced development experience.
Features
- 28 Comprehensive MCP Tools: Complete coverage of Sui blockchain operations
- Address and environment management
- Balance and gas operations
- Transaction handling (transfer, split, merge coins)
- Smart contract interaction (call, publish)
- Move development workflow (build, test, new package)
- Keystore management
- Dual Transport Modes: stdio (default) and SSE (Server-Sent Events)
- IDE Integration: Works with Cursor, Claude Code, and any MCP-compatible client
- Flexible Configuration: Support for config files, environment variables, and CLI flags
- Zero Dependencies: Only requires Sui CLI to be installed locally
Prerequisites
- Go 1.23 or higher
- Sui client installed and available in PATH
- Cursor IDE or any MCP-compatible client (for using the tools)
Installation
# Clone the repository
git clone https://github.com/hawkli-1994/go-sui-mcp.git
cd go-sui-mcp
# Build the application
make build
# or
go build -o go-sui-mcp main.go
Configuration
Configuration can be done via:
- Config file (default:
$HOME/.go-sui-mcp.yaml) - Environment variables
- Command-line flags
Example config file:
server:
port: 8080
sse: false
sui:
executable_path: "sui"
Environment variables:
GOSUI_SERVER_PORT=8080
GOSUI_SERVER_SSE=false
GOSUI_SUI_EXECUTABLE_PATH=sui
Running the Server
The server can be run in two modes:
- stdio mode (default):
./go-sui-mcp server
- SSE mode:
./go-sui-mcp server --sse --port 8080
Cursor IDE Integration
To integrate with Cursor IDE, create a .cursor/mcp.json file in your project root:
{
"mcpServers": {
"sui-sse": {
"command": "/path/to/go-sui-mcp",
"args": ["server", "--sse"]
},
"sui-dev": {
"url": "http://localhost:8080/sse"
},
"sui": {
"command": "/path/to/go-sui-mcp",
"args": ["server"]
}
}
}
Available MCP Tools
The server provides 28 MCP tools covering comprehensive Sui blockchain operations:
Version and Path (2 tools)
sui-formatted-version: Get the formatted version of the Sui clientsui-path: Get the path of the local sui binary
Address and Environment Management (5 tools)
sui-active-address: Get the current active addresssui-addresses: List all addresses managed by the clientsui-active-env: Get current active environment (devnet/testnet/mainnet)sui-envs: List all configured network environmentssui-chain-identifier: Query chain identifier from RPC endpoint
Balance and Objects (3 tools)
sui-balance-summary: Get the balance summary of an addresssui-objects-summary: Get the objects summary of an addresssui-object: Get details of a specific object
Gas Management (2 tools)
sui-gas: Get all gas objects owned by an addresssui-faucet: Request test coins from faucet (devnet/testnet only)
Transaction Operations (7 tools)
sui-transfer: Transfer an object to another addresssui-transfer-sui: Simplified SUI transfer (with optional amount)sui-pay-sui: Pay SUI to recipientssui-pay: Pay coins to multiple recipients with specified amountssui-pay-all-sui: Pay all residual SUI after deducting gassui-split-coin: Split a coin object into multiple coinssui-merge-coin: Merge two coin objects into one
Transaction Info (1 tool)
sui-process-transaction: Process and get details of a transaction
Contract Interaction (3 tools)
sui-call: Call a Move function on the blockchainsui-publish: Publish Move modules to the blockchainsui-dynamic-field: Query a dynamic field by parent object ID
Move Development (3 tools)
sui-move-build: Build a Move packagesui-move-test: Run Move unit testssui-move-new: Create a new Move package
Keytool Management (3 tools)
sui-keytool-list: List all keys in the keystoresui-keytool-generate: Generate a new keypair (ed25519/secp256k1/secp256r1)sui-keytool-export: Export private key in Bech32 format
Example Tool Usage
Get current active address
await mcp.invoke("sui-active-address");
Get balance summary
await mcp.invoke("sui-balance-summary", {
address: "0x..." // optional, uses current address if not provided
});
Transfer SUI tokens
await mcp.invoke("sui-pay-sui", {
recipient: "0x...",
amounts: 1000000000, // 1 SUI in MIST
"gas-budget": "2000000",
"input-coins": "0x..."
});
Request test tokens from faucet (devnet/testnet)
await mcp.invoke("sui-faucet");
Call a Move function
await mcp.invoke("sui-call", {
package: "0x...",
module: "module_name",
function: "function_name",
"type-args": ["0x2::sui::SUI"],
args: ["arg1", "arg2"],
"gas-budget": "10000000"
});
Build a Move package
await mcp.invoke("sui-move-build", {
"package-path": "./my_move_package"
});
Run Move tests
await mcp.invoke("sui-move-test", {
"package-path": "./my_move_package",
filter: "test_name" // optional
});
Project Structure
The project follows a clean three-layer architecture:
go-sui-mcp/
├── cmd/ # CLI commands
│ ├── root.go # Root command and config initialization
│ └── server.go # MCP server command and tool registration
├── internal/
│ ├── sui/ # Sui client layer
│ │ └── client.go # Wraps Sui CLI commands
│ ├── services/ # Service layer
│ │ ├── sui_service.go # MCP request handlers
│ │ └── sui_tools.go # MCP tool definitions
│ └── config/ # Configuration management
│ └── config.go
├── main.go # Application entry point
├── Makefile # Build automation
├── go.mod # Go module dependencies
└── CLAUDE.md # Claude Code integration guide
Key Components
- Client Layer (
internal/sui/client.go): Wraps Sui CLI commands and executes them - Service Layer (
internal/services/sui_service.go): Implements MCP handlers with parameter validation - Tools Layer (
internal/services/sui_tools.go): Defines MCP tool schemas and descriptions - Command Layer (
cmd/): Cobra-based CLI with server initialization and tool registration
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
Development Setup
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Make your changes
- Run tests (when available):
go test ./... - Build and test:
make build && ./go-sui-mcp server - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
License
See [LICENSE](LICENSE) file.
Acknowledgments
Source & license
This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: hawkli-1994
- Source: hawkli-1994/go-sui-mcp
- License: MIT
- Homepage: https://mcp.so/server/go-sui-mcp/hawkli-1994
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.