关于 MCP Moni
MCP Moni 是面向 AI 助手和应用的 Monad 测试网 MCP 服务,提供代币与 NFT 操作、链上查询及自然语言请求处理;交易使用本地配置的测试钱包。
主要功能
- 01查询代币余额与持仓
- 02转账、兑换、包装及质押代币
- 03查询区块、交易与 Gas 价格
- 04生成 NFT 图像并创建系列
- 05以自然语言处理区块链请求
适用场景
- 01查看 Monad 测试网地址的资产
- 02使用测试钱包执行兑换或转账
- 03在 Monad 测试网上创建 NFT 系列
MCP 相关
向 MCP 客户端提供 Monad 测试网区块链工具,包括余额查询、交易、质押、兑换和 NFT 操作。可配置供 Claude Desktop 使用。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
MCP Moni
注意: 所有操作和查询均在 Monad 测试网上执行。
MCP Moni 是一个与 Monad 测试网集成的 MCP(模型上下文协议)服务。它提供多种工具,可用于查询 MON 和其他代币余额、转账、包装/解包 MON、查询区块和交易、使用 NFT 功能,以及处理自然语言请求。它旨在与 Claude Desktop 无缝集成。
项目概览
MCP Moni 利用模型上下文协议,让 Claude 等 AI 助手能够直接与 Monad 区块链交互。这样,用户无需编写代码或了解复杂的区块链操作,即可通过对话界面执行区块链操作。
什么是模型上下文协议(MCP)?
模型上下文协议是一种标准,允许 AI 模型访问外部工具和数据源。MCP Moni 实现了该协议,为 AI 助手提供区块链功能。
什么是 Monad?
Monad 是一个为可扩展性和效率而设计的高性能 Layer 1 区块链。测试网环境让开发者能够在不使用真实资产的情况下体验区块链功能。
主要功能
- 余额查询:查询任意地址的 MON 和其他代币余额
- 代币投资组合:查看任意地址的完整代币持有情况
- 代币转账:通过简单命令转账代币(提供操作说明和直接执行)
- 包装/解包:在原生 MON 和包装后的 MON(WMON)之间转换
- 区块链探索:查询最新区块和交易详情
- NFT 创建:在 Magic Eden(Monad 测试网)上创建并发布 NFT 系列
- NFT 图像生成:根据文本描述生成 NFT 艺术作品
- 代币兑换:使用集成的 DEX 功能在不同代币之间兑换
- 质押:质押 MON 以获得 aprMON 代币(流动性质押)
- 自然语言界面:通过简单的自然语言命令执行区块链操作
可用工具
| 工具名称 | 描述 |
|---|---|
| get-mon-balance | 获取 Monad 测试网地址的 MON 余额 |
| get-token-balance | 获取 Monad 测试网地址的指定代币余额 |
| get-token-portfolio | 获取 Monad 测试网地址的所有代币余额 |
| transfer-token | 获取如何在 Monad 测试网上转账代币的说明 |
| get-latest-blocks | 获取 Monad 测试网的最新区块 |
| get-transaction | 获取 Monad 测试网上某笔交易的详情 |
| execute-transfer | 使用已配置的测试钱包在 Monad 测试网上执行实际代币转账 |
| execute-wrap | 将原生 MON 包装为 WMON(Wrapped MON)代币 |
| execute-unwrap | 将 WMON(Wrapped MON)解包为原生 MON 代币 |
| deposit | 将原生 MON 存入 WMON(包装)(wrap 的别名) |
| withdraw | 将 WMON 提取为 MON(解包)(unwrap 的别名) |
| get-gas-price | 获取 Monad 测试网当前的 Gas 价格 |
| generate-nft-image | 根据文本描述生成 NFT 图像 |
| create-nft-collection | 在 Magic Eden(Monad 测试网)上创建并发布 NFT 集合 |
| get-swap-quote | 获取 Monad 测试网上代币兑换的报价 |
| execute-swap | 使用已配置的兑换路由器在 Monad 测试网上执行代币兑换 |
| execute-stake | 质押 MON 以获取 aprMON 代币(流动性质押) |
| execute-unstake | 请求将 aprMON 解除质押为 MON(启动解除质押流程) |
| get-pending-withdrawals | 获取 aprMON 解除质押的待处理提取请求列表 |
| execute-claim | 领取已完成的 aprMON 解除质押请求中的 MON |
| natural-language-request | 处理自然语言请求,例如“包装 0.01 MON”或“解包 0.02 WMON” |
技术详情
架构
MCP Moni 使用 TypeScript 构建,并集成了多个关键组件:
- MCP 服务:处理 AI 助手与区块链工具之间的通信
- Viem 库:提供底层 Ethereum/Monad 区块链交互功能
- Monad SDK:连接到 Monad 测试网以执行区块链操作
- 代币标准:支持 ERC-20 代币和 NFT 标准(ERC-721/ERC-1155)
安全注意事项
- 所有操作仅在 Monad 测试网上执行
- 私钥保存在本地
.env文件中,绝不会传输 - 只能使用测试钱包(切勿使用持有真实资产的生产钱包)
- 交易签名在本地完成,而非在远程服务上完成
功能详细说明
代币兑换
MCP Moni 提供完整的去中心化交易所(DEX)体验:
- 执行兑换前获取价格报价
- 支持多种代币交易对
- 可配置滑点容差
- 通过兑换路由器合约直接执行
- 对路径复杂的代币交易对进行特殊处理
NFT 创建工作流
使用 MCP Moni 创建 NFT 包括:
- 根据文本描述生成 NFT 艺术作品
- 配置集合参数(名称、代号、版税等)
- 设置铸造参数(价格、供应量限制、日期)
- 将集合部署到 Monad 测试网
- 管理已创建的集合
流动性质押系统
质押系统支持:
- 质押原生 MON 以获取 aprMON 代币
- 通过时间锁机制将 aprMON 解除质押并换回 MON
- 查看待处理的提现请求
- 解除质押期结束后领取 MON
工具使用示例
检查 MON 余额
{
"name": "get-mon-balance",
"arguments": { "address": "<address>" }
}
响应:
Balance for <address>: 0 MON
查看代币投资组合
{
"name": "get-token-portfolio",
"arguments": { "address": "<address>" }
}
响应:
Portfolio for <address> (Popular tokens):
- MON: 10.96 (decimals: 18)
- USDC: 0.86 (decimals: 6)
- ...
转账代币(仅提供说明)
{
"name": "transfer-token",
"arguments": {
"from": "<from_address>",
"to": "<to_address>",
"amount": "0.1",
"token": "MON"
}
}
响应:
Transfer Instructions for MON
To transfer 0.1 MON from <from_address> to <to_address>, you'll need to:
1. Connect your wallet (containing address <from_address>)
2. Send a transaction with the following parameters:
- To: <to_address>
- Value: 0.1 MON
- Gas Limit: Auto (or ~21000)
Please note: This tool provides instructions only. The actual transfer needs to be executed by you using a wallet that controls the sender address.
Alternatively, you can use the 'execute-transfer' tool with your private key (only use test wallets, never your main wallet) to execute the transfer directly.
转账代币(直接执行)
{
"name": "execute-transfer",
"arguments": {
"to": "<to_address>",
"amount": "0.1",
"token": "MON"
}
}
响应:
✅ Transfer Successful!
0.1 MON has been sent to address:
<to_address>
Transaction Details:
- From: <from_address>
- Hash: <tx_hash>
[View Transaction on Monad Explorer](https://testnet.monadexplorer.com/tx/<tx_hash>)
代币兑换示例
{
"name": "get-swap-quote",
"arguments": {
"fromToken": "MON",
"toToken": "USDC",
"amount": "1.0"
}
}
响应:
## Swap Quote: MON to USDC
- Input: 1.0 MON
- Expected Output: 3.45 USDC
- Rate: 1 MON ≈ 3.450000 USDC
To execute this swap, use the `execute-swap` tool with the same parameters.
Note: Actual swap values may vary slightly due to price movements and slippage.
执行兑换
{
"name": "execute-swap",
"arguments": {
"fromToken": "MON",
"toToken": "USDC",
"amount": "1.0",
"slippage": 2.0
}
}
响应:
## ✅ Swap Executed Successfully
Your 1.0 MON has been successfully swapped to approximately 3.45 USDC. The transaction is complete and has been confirmed on the blockchain.
### Transaction Details
- From: <wallet_address>
- Transaction Hash: <tx_hash>
- Block Number: 13845721
- Swapped: 1.0 MON ➡️ 3.45 USDC
### [🔍 View Transaction on Monad Explorer](https://testnet.monadexplorer.com/tx/<tx_hash>)
You can now use your USDC tokens for other operations on Monad testnet.
质押示例
{
"name": "execute-stake",
"arguments": {
"amount": "5.0"
}
}
响应:
## ✅ Staking Successful
Your 5.0 MON has been successfully staked and you received 4.98 aprMON. The transaction is complete and has been confirmed on the blockchain.
### Transaction Details
- From: <wallet_address>
- Transaction Hash: <tx_hash>
- Block Number: 13846982
- Staked: 5.0 MON ➡️ 4.98 aprMON
### [🔍 View Transaction on Monad Explorer](https://testnet.monadexplorer.com/tx/<tx_hash>)
Your aprMON represents your staked MON and can be unstaked when needed.
将 MON 包装为 WMON
{
"name": "execute-wrap",
"arguments": { "amount": "0.2" }
}
响应:
✅ Successfully wrapped 0.2 MON to WMON.
Transaction Hash: <tx_hash>
Block Number: <block_number>
[View on Explorer](https://testnet.monadexplorer.com/tx/<tx_hash>)
自然语言请求
{
"name": "natural-language-request",
"arguments": { "request": "warp 0.2 MON to WMON" }
}
响应:
✅ Successfully wrapped 0.2 MON to WMON.
Transaction Hash: <tx_hash>
Block Number: <block_number>
[View on Explorer](https://testnet.monadexplorer.com/tx/<tx_hash>)
NFT:创建系列并生成图像
{
"name": "create-nft-collection",
"arguments": { "name": "MyNFT", "symbol": "MYN", "image": "<base64>", "artType": "SAME_ARTWORK", ... }
}
响应:
NFT Collection created on Magic Eden (Monad Testnet)...
{
"name": "generate-nft-image",
"arguments": { "description": "A cute pixel cat", "style": "pixel art" }
}
响应:
[Base64 image data or image URL]
安装并运行 MCP Moni
- 克隆此仓库
git clone https://github.com/deseti/mcp-moni.git
cd mcp-moni
- 安装依赖项
npm install
- 在项目根目录中创建
.env文件,并填入测试钱包的私钥:
TEST_WALLET_PRIVATE_KEY=your_test_wallet_private_key_here
- 构建项目
npm run build
- 运行 MCP 服务
node build/index.js
与 Claude Desktop 集成
- 打开 Claude Desktop
- 前往 Settings > Developer
- 编辑
claude_desktop_config.json并添加:
{
"mcpServers": {
"mcp-moni": {
"command": "node",
"args": ["/<path-to-project>/build/index.js"]
}
}
}
- 重启 Claude Desktop
- 在 Claude 中输入“@mcp-moni”以激活 MCP 服务
Claude Desktop 配置说明
claude_desktop_config.json 文件用于配置 Claude Desktop 可与之交互的外部工具和服务。对于 MCP Moni,配置结构如下:
{
"mcpServers": {
"mcp-moni": {
"command": "node",
"args": ["your project directory/index.js"]
}
}
}
- mcpServers:此部分定义 Claude 可与之交互的所有 Model Context Protocol 服务
- mcp-moni:这是用于激活服务的标识符(在 Claude 中使用“@mcp-moni”)
- command:要运行的可执行文件(此处为 Node.js)
- args:传递给命令的参数,应该指向已构建的 MCP Moni 服务文件
在 Windows 上,文件通常位于:C:\Users\<YourUsername>\AppData\Roaming\Claude\claude_desktop_config.json
在 macOS 上,文件通常位于:~/Library/Application Support/Claude/claude_desktop_config.json
配置完成后,Claude Desktop 将能够启动 MCP Moni 服务并与之通信,从而让 Claude 能够与 Monad 区块链交互。
配置选项
可通过以下环境变量配置 MCP Moni 服务:
TEST_WALLET_PRIVATE_KEY:测试钱包的私钥(交易所需)RPC_URL:Monad 测试网的自定义 RPC URL(可选,默认为公共端点)CHAIN_ID:Monad 网络的链 ID(可选,默认为测试网)
故障排除
常见问题及解决方案:
- 连接错误:确保可以访问 Monad 测试网 RPC
- 交易失败:检查测试钱包是否有足够的 MON 支付 Gas 费
- 缺少私钥:确保已在 .env 文件中正确配置测试钱包密钥
- 找不到工具:确保 Claude Desktop 配置指向正确的构建路径
后续开发
计划中的功能和改进:
- 集成更多代币和 DeFi 协议
- 支持更多 NFT 市场
- 增强分析和可视化工具
- 多钱包管理功能
- 跨链操作
贡献
欢迎贡献!欢迎提交 Pull Request。
注意事项
- “如需与 Moni MCP 和钱包交互,可以将私钥添加到 .env 文件中。但请注意:出于安全考虑,只能使用测试网钱包,切勿使用主钱包。
- 直接执行功能请使用测试钱包(切勿使用主钱包!)。
- 创建 NFT 时,图像必须进行 Base64 编码。
资源
联系方式
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。