关于 Monad MCP Server
Monad MCP Server 为开发者提供与 Monad 测试网交互的 MCP 工具,包括代币、合约、NFT 和区块操作。它通过 stdio 连接兼容 MCP 的客户端,并支持需要私钥的交易与合约部署。
主要功能
- 01查询 MON 余额并发送交易
- 02部署合约并监听事件
- 03查询 Monad NFT 信息
- 04获取最新区块或按编号查询
适用场景
- 01检查 Monad 账户的 MON 余额
- 02向其他账户发送 MON
- 03部署合约并监控其事件
- 04查询 NFT 或区块详情
MCP 相关
该 MCP 服务向兼容客户端提供 Monad 测试网工具,通过 stdio 传输。交易和合约部署使用环境变量中的账户私钥。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Monad MCP 服务
此 MCP(Model Context Protocol)服务旨在与 Monad 测试网交互。它提供了一套工具和功能,供开发者与 Monad 区块链交互,包括查询 MON 代币余额、发送交易、部署智能合约以及监控区块链事件。
什么是 MCP?
Model Context Protocol(MCP)是一种标准化接口,可让 AI 模型安全、高效地与外部工具、服务和数据源交互。此服务通过实现 MCP,向兼容的 AI Agent 或应用程序提供 Monad 区块链功能。
项目结构
项目组织如下:
monad-mcp-server/
├── .env.example # Example environment variables file
├── .gitignore # Specifies intentionally untracked files that Git should ignore
├── LICENSE # Project's software license
├── README.md # This file, providing an overview and instructions
├── package-lock.json # Records the exact versions of dependencies
├── package.json # Lists project dependencies and scripts
├── pnpm-lock.yaml # PNPM lockfile for dependency resolution
├── src/ # Source code directory
│ ├── config/ # Configuration files
│ │ └── server.ts # Server setup and Viem client initialization
│ ├── index.ts # Main entry point of the application
│ └── tools/ # MCP tools for interacting with Monad
│ ├── block/ # Tools related to blockchain blocks (e.g., get-latest-block)
│ ├── contract/ # Tools for smart contract interactions (e.g., deploy, watch events)
│ ├── nft/ # Tools for Non-Fungible Tokens (e.g., query-mon-nft)
│ └── wallet/ # Tools for wallet operations (e.g., get balance, send transactions)
└── tsconfig.json # TypeScript compiler configuration
核心组件
src/index.ts:这是服务的主要入口点。它会初始化 MCP 服务实例,并注册所有可用工具(钱包、合约、NFT、区块)。src/config/server.ts:此文件负责核心服务配置。它会设置McpServer实例的名称、版本和功能列表。此外,它还会初始化用于与 Monad 测试网交互的Viem公共客户端,并提供一个函数,用于使用环境变量中的私钥创建Viem钱包客户端。服务使用StdioServerTransport进行通信。src/tools/:此目录包含各种 MCP 工具的实现。每个子目录通常专注于 Monad 交互的某个特定方面:walletProvider:管理 MON 代币余额和交易。contractProvider:处理智能合约部署和事件监听。nftProvider:提供查询 Monad 网络上 NFT 的功能。blockProvider:提供获取区块信息的工具。
前提条件
开始之前,请确保已安装以下内容:
- Node.js(版本 16 或更高)
- Node.js 包管理器:
npm、yarn或pnpm(本项目示例使用pnpm) - Claude Desktop(或任何兼容 MCP 的客户端),用于与服务交互。
环境变量(.env)
本项目使用环境变量管理敏感信息,主要是 Monad 账户的私钥。
- 复制示例文件:复制
.env.example并将其重命名为.env。cp .env.example .env - 编辑
.env:在文本编辑器中打开新创建的.env文件。 - 设置
PRIVATE_KEY:将 Monad 账户的私钥填入PRIVATE_KEY变量。发送交易或部署合约等操作需要此密钥。
重要:确保私钥以PRIVATE_KEY="0xyourprivatekeyhere"0x开头。 - 安全性:切勿将
.env文件提交到 Git 仓库。.gitignore文件已配置为防止这种情况,但仍需始终注意保护私钥。
开始使用
按照以下步骤设置并运行 Monad MCP 服务:
-
克隆仓库:
如果尚未克隆,请从 GitHub 克隆项目:
git clone https://github.com/lispking/monad-mcp-server.git cd monad-mcp-server -
安装依赖项:
使用
pnpm(或你偏好的包管理器)安装package.json中列出的项目依赖项:pnpm install -
构建项目:
此服务使用 TypeScript 编写,需要编译为 JavaScript。运行构建脚本:
pnpm build此命令将使用
package.json中定义的tsc(TypeScript 编译器),将src目录中的源文件编译到build目录中。
现在,服务已构建完成,可供 MCP 客户端使用。
服务功能
根据 src/config/server.ts 中的定义,该服务提供以下功能:
get-mon-balance:获取账户的 MON 代币余额。send-mon-transaction:将 MON 代币从一个账户发送到另一个账户。deploy-mon-contract:在 Monad 测试网上部署智能合约。watch-contract-events:监控并报告特定智能合约发出的事件。query-mon-nft:查询 Monad 网络上非同质化代币的信息。get-latest-block:获取 Monad 测试网上最新区块的详细信息。get-block-by-number:根据区块编号获取特定区块。
将 MCP 服务配置添加到客户端
要在兼容 MCP 的客户端(例如 Claude Desktop)中使用此服务,需要将其配置添加到客户端设置中。具体方法可能因客户端而异,但通常需要指定如何运行服务。
以下是配置示例片段:
{
"mcpServers": {
// ... other server configurations ...
"monad-mcp": {
"command": "node",
"args": [
"/absolute/path/to/your/project/monad-mcp-server/build/index.js"
],
"env": {
"PRIVATE_KEY": "<your_monad_private_key_if_not_using_dotenv_or_to_override>"
}
}
// ... other server configurations ...
}
}
配置字段说明:
"monad-mcp":你为客户端中的此服务配置指定的唯一名称。"command": "node":指定该服务是一个 Node.js 应用程序。"args":要传递给node命令的参数数组。- 第一个参数是服务编译后入口文件的路径:
/absolute/path/to/your/project/monad-mcp-server/build/index.js。将/absolute/path/to/your/project/替换为你克隆monad-mcp-server仓库的实际绝对路径。
- 第一个参数是服务编译后入口文件的路径:
"env":用于为服务进程设置环境变量的对象。"PRIVATE_KEY":你可以在此处设置私钥。不过,通常建议使用.env文件以提高安全性。根据客户端行为和服务加载环境变量的顺序,在此处设置的值可能会覆盖.env中的值。
注意:确保 "args" 中的路径正确,并指向项目目录中的 build/index.js 文件。
更多资源
如需了解所用技术和相关概念的更多详细信息,请参阅以下官方文档:
- Model Context Protocol (MCP) 文档
- Monad 文档
- Viem 文档(Viem 是本项目使用的 Ethereum/Monad 客户端库)
这份全面的 README 应能帮助你充分了解 Monad MCP 服务及其设置和用法。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。