Monad MCP服务器
 ](https://nodejs.org/)
该项目提供了一个MCP服务器,用于与Monad测试网无缝交互。它支持查询区块链数据(余额、交易、天然气价格、区块),并与CoinflipGame智能合约交互,以玩coinflip游戏。该服务器与Claude Desktop集成,允许用户以自然语言执行命令。
支持的功能和使用方法
| 功能 | 描述 | 命令示例 |
|---|---|---|
| get-mon-balance | 检查Monad测试网地址的mon余额。 | check MON 0xa2e57a3A7744eA20B5E2848817e9D66C6cb9f765 |
| 获取令牌余额 | 检查特定地址的ERC-20令牌的余额。 | check token balance for 0xa2e57a3A7744eA20B5E2848817e9D66C6cb9f765 on contract 0x1234...5678 |
| 获取交易详细信息 | 通过哈希值检索交易的详细信息。 | get details for transaction 0xabcdef1234567890... |
| 获取天然气价格 | 获取Monad测试网上的当前天然气价格。 | what is the current gas price |
| 获取最新块 | 获取Monad测试网上最新块的信息。 | show latest block info |
| 获取多个余额 | 检查地址的多个令牌的余额。 | check multiple balances for 0xa2e57a3A7744eA20B5E2848817e9D66C6cb9f765 on contracts 0x1234...5678, 0x5678...1234 |
| send-mon | 将mon令牌发送到Monad测试网上的指定地址。 | send 0.1 MON to 0xb3f57a3A7744eA20B5E2848817e9D66C6cb9f765 |
| send token | 将ERC-20令牌从令牌合约发送到指定地址。 | send 100 USDT to 0xb3f57a3A7744eA20B5E2848817e9D66C6cb9f765 from contract 0x1234...5678 |
| 玩硬币翻转游戏 | 通过在头部或尾部下注MON(最低赌注:0.01 MON)来玩硬币翻转游戏。 | flip 0.1 mon head |
| 获取coinflip历史记录 | 查看coinflip游戏的历史记录以获取地址,包括胜利、失败和利润。 | history flip 或 history flip 0xa2e57a3A7744eA20B5E2848817e9D66C6cb9f765 |
| stake aprmon | 在Apriori质押平台上质押您的MON代币。 | stake 0.1 mon 抵押MON代币。 |
| unstake aprmon | 从Apriori平台上取消所有MON代币。 | unstake aprmon 取消抵押您所有的MON代币。记下请求ID,稍后将用于索赔。 |
| claims aprmon | 未决索赔未标记的MON代币。 | 解除锁定10分钟后,使用 claim aprmon requestID.更换 requestID 该ID是在解包过程中获得的。 |
| swap | Monad Testnet网络的集成Uniswap V2交换功能 | 对于列出的令牌: swap 0.1 MON to USDT.对于未上市的代币: swap 0.1 MON to 0xxxxxxxxxxx (使用合同地址) |
快速开始
- 克隆存储库
git clone https://github.com/Semutireng22/mcp-monad.git
cd mcp-monad
npm install- 将.env.example.复制到.env并对其进行配置
cp .env.example .env- 使用您的私钥编辑.env
nano .env- 构建并运行
npm run build
node build/index.js先决条件
- Node.js(v16或更新版本)
- npm或纱线
- Claude Desktop(用于MCP客户端集成)
- 一个Monad测试网钱包,有足够的MON用于交易和加油费(玩硬币翻转、发送货币和发送代币所需)
- A.
.env文件配置为:
PRIVATE_KEY Monad测试网钱包 Uniswap V2 合同地址(UNISWAP_ROUTER_ADDRESS, UNISWAP_FACTORY_ADDRESS)以及 WMON 合同地址 (WMON_ADDRESS)
配置和使用
MCP服务器初始化
在 src/index.ts 文件中,服务器将使用支持的功能列表进行初始化:
const server = new McpServer({
name: "monad-testnet",
version: "0.0.1",
capabilities: [
"get-mon-balance",
"get-token-balance",
"get-transaction-details",
"get-gas-price",
"get-latest-block",
"get-multiple-balances",
"send-mon",
"send-token",
"play-coinflip",
"get-coinflip-history",
"stake-aprmon",
"unstake-aprmon",
"claim-aprmon",
"get-aprmon-balance",
"get-aprmon-rate",
"get-aprmon-requests",
"swap"
]
});设置环境
要配置服务器,请复制示例环境文件并对其进行编辑:
cp .env.example .env编辑 .env 使用文本编辑器(例如。, nano, vim,或 VS Code)包括以下内容:
PRIVATE_KEY=0xyourprivatekeyhere
UNISWAP_ROUTER_ADDRESS=0xfb8e1c3b833f9e67a71c859a132cf783b645e436
UNISWAP_FACTORY_ADDRESS=0x733e88f248b742db6c14c0b1713af5ad7fdd59d0
WMON_ADDRESS=0x760AfE86e5de5fa0Ee542fc7B7B713e1c5425701替换 0xyourprivatekeyhere 使用Monad testnet钱包的私钥(64个以以下字符开头的十六进制字符 0x).
确保 .env 该文件是安全的,不受版本控制。添加到 .gitignore:
echo .env >> .gitignore构建和运行服务器
构建项目:
npm run build运行MCP服务器:
node build/index.js与Claude Desktop集成
- 打开克劳德桌面。
- 首选
Settings > Developer. - 编辑
claude_desktop_config.json(通常位于~/.config/Claude/或%APPDATA%\Claude\)并添加以下配置:
{
"mcpServers": {
"monad-mcp": {
"command": "node",
"args": [
"/path/to/mcp-monad/build/index.js"
],
"env": {
"NODE_ENV": "production"
}
}
}
}替换 /path/to/mcp-monad/ 使用项目目录的实际路径(例如。, E:\proyek\mcp-monad 在Windows或 /home/user/mcp-monad 在Linux上)。
- 重新启动克劳德桌面。
- 出现提示时,允许MCP访问聊天会话(
Allow for This Chat).
贡献
- 分叉项目
- 创建功能分支(
git checkout -b feature/AmazingFeature) - 提交您的更改(
git commit -m 'Add some AmazingFeature') - 推到分支机构(
git push origin feature/AmazingFeature) - 打开拉取请求
许可证
根据MIT许可证分发。看 LICENSE 了解更多信息。
联系
斯拉梅特特- @卡里迪普斯堡
项目链接:
备注
- 确保CoinflipGame合同(
0x664e248c39cd70Fa333E9b2544beEd6A7a2De09b)其资金池中有足够的资金来支付潜在的奖金play-coinflip。您可以使用Monad测试网块浏览器进行检查。 - 对于不同系统上的用户,请在中调整项目路径
claude_desktop_config.json因此。
故障排除
- 服务器无法启动:检查Claude Desktop中的日志(
Settings > Developer)或终端错误,如“文件.env不存在。“确保.env在项目根目录中具有有效的PRIVATE_KEY. - 合同资金不足:使用区块浏览器验证CoinflipGame合约余额。合同所有者可以通过
fundGamePool功能。 - Claude命令不起作用:确保
claude_desktop_config.json具有正确的项目路径,然后重新启动Claude Desktop。 - TypeScript错误:运行
npx tsc以检查错误。使用以下内容更新依赖关系:
npm install- 使用MCP检查器进行调试:
git clone https://github.com/modelcontextprotocol/inspector
cd inspector
npm install
npm start
