项目介绍

MantraChain MCP 服务器

这是一个用于与 MantraChain(Cosmos SDK)区块链交互的模型上下文协议(MCP)服务器。该服务器提供了使用 MCP 协议发送代币、委托给验证者、查询余额等工具。
功能
- 向其他地址发送代币(银行发送)
- 将代币委托给验证者(质押)
- 查询账户余额
- 获取验证者信息
- 签署并广播任意交易
- 通过环境变量配置助记词和网络
- 在 Dukong 测试网和主网之间选择
- 支持 stdio 和 HTTP+SSE 传输模式
可用工具
银行操作
- bank-send: 向另一个地址发送代币(支持每笔交易多个代币)
- get-balance: 获取地址余额(如果没有提供地址,默认为自己的地址)
- get_evm_balance: 获取 EVM 地址的原生代币(OM)余额
- get_token_balance: 获取地址的 ERC20 代币余额
- get_nft_balance: 获取地址从集合中拥有的 ERC721 NFT 数量
- get_erc1155_balance: 获取特定代币 ID 的 ERC1155 代币余额
- get_address_from_mnemonic: 根据助记词获取 EVM 地址
质押操作
- delegate: 将代币委托给验证者
- undelegate: 从验证者处撤回代币
- claim-rewards: 领取特定验证者的奖励
- get-validators: 获取所有验证者
- get-delegations: 获取地址当前的质押信息
- get-available-rewards: 获取地址的所有可用奖励
网络操作
- get-account-info: 获取当前账户信息
- get-block-info: 从 Cosmos(cometbft)RPC 获取区块信息
- get-block-info-evm: 从 EVM RPC 获取区块信息
- query-network: 对链 API 执行通用网络查询
IBC 操作
- ibc-transfer: 通过 IBC 转移代币
智能合约操作
- cosmwasm-contract-query: 查询 CosmWasm 智能合约(只读)
- cosmwasm-contract-execute: 在 CosmWasm 合约上执行函数(改变状态)
- read_evm_contract: 从 EVM 合约读取数据(视图/纯函数)
- write_evm_contract: 向 EVM 合约写入数据(改变状态函数)
- deploy_evm_contract: 部署新的 EVM 合约
- is_contract: 检查地址是否是合约或外部拥有账户(EOA)
DEX 操作
- dex-get-pools: 获取 DEX 中所有可用的流动性池
- dex-find-routes: 查找两个代币之间的可用交换路径
- dex-simulate-swap: 模拟代币交换以获取预期结果而不执行它
- dex-swap: 在 DEX 上执行代币交换并带有滑点保护
交易操作
- sign-and-broadcast: 签署并广播通用 Cosmos 交易
- get_transaction: 通过哈希获取特定 EVM 交易的详细信息
- get_transaction_receipt: 通过哈希获取 EVM 交易收据
- estimate_gas: 估算交易的 Gas 成本
- transfer_om: 通过 EVM 转移原生代币(OM)
- transfer_erc20: 将 ERC20 代币转移到另一个地址
- approve_token_spending: 批准另一个地址花费您的 ERC20 代币
- transfer_nft: 将 ERC721 NFT 转移到另一个地址
- transfer_erc1155: 将 ERC1155 代币转移到另一个地址
- transfer_token: 将 ERC20 代币转移到地址
可用资源
- networks://all: 显示所有可用网络及其配置的 JSON 资源
- openapi://{networkName}: 指定网络的 OpenAPI/Swagger 规范
运行服务器
服务器可以运行在两种模式:
-
Stdio 模式(默认): 通过标准输入/输出进行通信。这是直接运行服务器或通过 npx 运行时的默认模式。
# 使用已安装的包
mantrachain-mcp
# 使用 npx
npx -y mantrachain-mcp@latest
-
可流式传输的 HTTP 模式: 在端口 3000 上运行一个 HTTP 服务器,通过服务端发送事件(SSE)进行通信。使用 --http 标志或专用的 npm 脚本激活此模式。
# 使用已安装的包
mantrachain-mcp --http
# 使用 npx
export MNEMONIC="YOUR_MNEMONIC"
export CUSTOM_NETWORKS="YOUR_CUSTOM_NETWORKS_JSON"
npx -y mantrachain-mcp@latest -- --http
MCP 配置
通过 Smithery 安装
要通过 Smithery 自动安装 MantraChain MCP 服务器到 Claude Desktop:
npx -y @smithery/cli install @allthatjazzleo/mantrachain-mcp --client claude
要将服务器集成到 MCP 客户端应用程序中,请将服务器配置添加到您的 MCP 客户端配置文件中:
{
"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}}"
}
}
}
}
在 cline 中连接远程 MCP 服务器:
{
"mcpServers": {
"mantrachain-mcp-sse": {
"url": "http://localhost:3000/sse",
"transportType": "sse"
}
}
}
如果您本地构建而不是全局构建
构建包后,可以直接从构建目录运行。确保将 your_path 替换为您实际的构建目录路径。
npm run build
然后,您可以使用以下配置:
{
"mcpServers": {
"mantrachain-mcp": {
"command": "node",
"args": [
"your_path/mantrachain-mcp/build/index.js"
],
"env": {
"MNEMONIC": "YOUR_MNEMONIC"
}
}
}
}
环境变量
- MNEMONIC: 必需。钱包使用的助记词短语。
- CUSTOM_NETWORKS: 可选。包含额外网络配置的 JSON 字符串。