MantraChain MCP Server
[](https://mseep.ai/app/allthatjazzleo-mantrachain-mcp)
# MantraChain MCP Server
[](https://smithery.ai/server/@allthatjazzleo/mantrachain-mcp)
A Model Context Protocol (MCP) server for interacting with MantraChain (Cosmos SDK) blockchain. This server provides tools for sending tokens, delegating to validators, querying balances, and more using the MCP protocol.
## Features
- Send tokens to other addresses (bank send)
- Delegate tokens to validators (staking)
- Query account balances
- Get validator information
- Sign and broadcast arbitrary transactions
- Configure mnemonic and network via environment variables
- Choose between Dukong testnet and Mainnet
- **Supports both stdio and HTTP+SSE transport modes**
## Available Tools
### Bank Operations
- **bank-send**: Send tokens to another address (supports multiple coins per transaction)
- **get-balance**: Get balance of an address (defaults to your own address if none provided)
- **get_evm_balance**: Get native token (OM) balance for an EVM address
- **get_token_balance**: Get ERC20 token balance for an address
- **get_nft_balance**: Get ERC721 NFT count for an address from a collection
- **get_erc1155_balance**: Get ERC1155 token balance for a specific token ID
- **get_address_from_mnemonic**: Get EVM address derived from mnemonic
### Staking Operations
- **delegate**: Delegate/Stake tokens to a validator
- **undelegate**: Undelegate/Unstake tokens from a validator
- **claim-rewards**: Claim rewards for a specific validator
- **get-validators**: Get all validators
- **get-delegations**: Get current staking information for an address
- **get-available-rewards**: Get all available rewards for an address
### Network Operations
- **get-account-info**: Get current account information
- **get-block-info**: Get block information from Cosmos (cometbft) RPC
- **get-block-info-evm**: Get block information from EVM RPC
- **query-network**: Execute a generic network query against chain APIs
### IBC Operations
- **ibc-transfer**: Send tokens via IBC transfer
### Smart Contract Operations
- **cosmwasm-contract-query**: Query a CosmWasm smart contract (read-only)
- **cosmwasm-contract-execute**: Execute a function on a CosmWasm contract (state-changing)
- **read_evm_contract**: Read data from an EVM contract (view/pure function)
- **write_evm_contract**: Write data to an EVM contract (state-changing function)
- **deploy_evm_contract**: Deploy a new EVM contract
- **is_contract**: Check if an address is a contract or EOA
### DEX Operations
- **dex-get-pools**: Get all available liquidity pools from the DEX
- **dex-find-routes**: Find available swap routes between two tokens
- **dex-simulate-swap**: Simulate a token swap to get expected outcome without executing it
- **dex-swap**: Execute a token swap on the DEX with slippage protection
### Transaction Operations
- **sign-and-broadcast**: Sign and broadcast a generic Cosmos transaction
- **get_transaction**: Get detailed information about a specific EVM transaction by hash
- **get_transaction_receipt**: Get EVM transaction receipt by hash
- **estimate_gas**: Estimate gas cost for a transaction
- **transfer_om**: Transfer native tokens (OM) via EVM
- **transfer_erc20**: Transfer ERC20 tokens to another address
- **approve_token_spending**: Approve another address to spend your ERC20 tokens
- **transfer_nft**: Transfer an ERC721 NFT to another address
- **transfer_erc1155**: Transfer ERC1155 tokens to another address
- **transfer_token**: Transfer ERC20 tokens to an address
## Available Resources
- **networks://all**: JSON resource showing all available networks with their configuration
- **openapi://{networkName}**: OpenAPI/Swagger specification for the specified network
## Running the Server
The server can run in two modes:
1. **Stdio Mode (Default):** Communicates over standard input/output. This is the default mode when running the server directly or via `npx`.
```bash
# Using installed package
mantrachain-mcp
# Using npx
npx -y mantrachain-mcp@latest
```
2. **Streamable HTTP Mode:** Runs an HTTP server on port 3000, communicating via Server-Sent Events (SSE). Activate this mode using the `--http` flag or the dedicated npm scripts.
```bash
# Using installed package
mantrachain-mcp --http
# Using npx
export MNEMONIC="YOUR_MNEMONIC"
export CUSTOM_NETWORKS="YOUR_CUSTOM_NETWORKS_JSON"
npx -y mantrachain-mcp@latest -- --http
```
## MCP Configuration
### Installing via Smithery
To install MantraChain MCP Server for Claude Desktop automatically via [Smithery](https://smithery.ai/server/@allthatjazzleo/mantrachain-mcp):
```bash
npx -y @smithery/cli install @allthatjazzleo/mantrachain-mcp --client claude
```
### To integrate with MCP client applications, add the server configuration to your MCP client configuration file:
```json
{
"mcpServers": {
"mantrachain-mcp": {
"command": "npx",
"args": [
"-y",
"mantrachain-mcp@latest"
],
"env": {
"MNEMONIC": "YOUR_MNEMONIC",
"CUSTOM_NETWORKS": "{\"my-custom-net\":{\"rpcEndpoint\":\"https://rpc.custom-network.io\",\"apiEndpoint\":\"https://api.custom-network.io\",\"chainId\":\"my-custom-net-1\",\"prefix\":\"custom\",\"denom\":\"ucustom\",\"gasPrice\":\"0.01\",\"isMainnet\":false}}"
}
}
}
}
```
### Connecting remote MCP server in [cline](https://docs.cline.bot/mcp-servers/connecting-to-a-remote-server):
```json
{
"mcpServers": {
"mantrachain-mcp-sse": {
"url": "http://localhost:3000/sse",
"transportType": "sse"
}
}
}
```
### If you build the package locally instead of globally
After building the package, you can run it directly from the build directory. Make sure to replace `your_path` with the actual path to your build directory.
```bash
npm run build
```
Then, you can use the following configuration:
```json
{
"mcpServers": {
"mantrachain-mcp": {
"command": "node",
"args": [
"your_path/mantrachain-mcp/build/index.js"
],
"env": {
"MNEMONIC": "YOUR_MNEMONIC"
}
}
}
}
```
## Environment Variables
- **MNEMONIC**: Required. The mnemonic seed phrase for the wallet to use.
- **CUSTOM_NETWORKS**: Optional. JSON string containing additional network configurations.
TDQS
Scored across 18 tools
Most tools have distinct purposes, but there is some overlap between get-account-info and get-balance, and between get-available-rewards and claim-rewards, which could cause minor confusion. The DEX tools are well-differentiated with clear dependencies, and other tools like delegate/undelegate and contract-execute/contract-query are clearly separate.
The naming follows a consistent verb-noun pattern with hyphens (e.g., bank-send, get-balance, dex-swap), making it predictable and readable. There are minor deviations like query-network being more verbose and ibc-transfer using an acronym, but overall the pattern is maintained across most tools.
With 18 tools, the count is slightly high but reasonable for a blockchain server covering banking, staking, DEX, contracts, and IBC. It provides comprehensive functionality without being overwhelming, though it borders on the upper limit of typical scoping.
The tool set offers complete coverage for the blockchain domain, including core operations like sending tokens, staking/delegating, querying contracts, DEX swaps, and IBC transfers. It includes both read and write operations, with no obvious gaps, and even provides a fallback query-network tool for extended functionality.