这是一个基于 Model Context Protocol (MCP) 构建的服务器,它允许语言模型(LLM)通过 MetaMask 钱包安全地与区块链进行交互。用户的私钥安全地保存在 MetaMask 钱包中,不会暴露给 AI 代理。
主要功能点
- 钱包连接管理: 连接和断开 MetaMask 钱包,获取连接 URI 或显示连接二维码。
- 账户与余额查询: 获取当前连接的账户地址、已连接地址列表、当前链 ID,以及查询原生代币和 ERC-20 代币余额。
- 链信息查询: 获取当前链 ID、配置的链列表,以及查询 Chainlist.org 上的链信息。
- 交易与合约交互: 发送交易、调用合约的只读函数、执行合约的写入函数、部署新合约、估算交易 Gas 费用。
- 签名与验证: 签署消息,并验证消息签名。
- 链上数据查询: 获取区块信息、交易详情、交易回执。
- ENS查询: 查询 ENS 地址对应的名称,以及名称对应的 ENS 地址。
- 链切换: 切换到指定的区块链网络。
- 辅助工具: 包含一个用于暂停执行的等待工具。
- MetaMask 助手 Prompt: 提供一个预设的对话模板,帮助 LLM 以助手的身份引导用户进行钱包操作、发送交易、与合约交互等。
安装步骤
- 确保您的系统已安装 Node.js (v20 或更高版本) 和 pnpm。
- 克隆该仓库到本地:
git clone https://github.com/Xiawpohr/metamask-mcp.git cd metamask-mcp - 安装项目依赖:
pnpm install - 构建项目:
构建完成后,生成的可执行文件将位于项目的 'dist' 目录下,通常是 'dist/index.js'。pnpm build
服务器配置
要让支持 Model Context Protocol 的 LLM 客户端(如 Claude Desktop)使用此服务器,您需要在客户端的配置中添加该服务器信息。配置通常是一个 JSON 对象,指定服务器的名称以及如何启动它。您需要提供以下信息:
- 服务器名称 (Server Name): 给服务器起一个在客户端中显示的名称,例如 'metamask'。
- 启动命令 (Command): 启动服务器的命令,通常是 'node'。
- 命令参数 (Args): 一个字符串数组,包含启动服务器脚本的完整路径。例如,如果您将仓库克隆到 '/Users/username/projects/metamask-mcp' 目录下,构建后的脚本路径可能是 '/Users/username/projects/metamask-mcp/dist/index.js'。请将客户端配置中的路径替换为您实际的构建输出文件路径。
基本使用方法
- 按照上面的步骤完成 MetaMask MCP 服务器的安装和构建。
- 打开您的 LLM 客户端,并进入 MCP 服务器的配置界面。
- 添加一个新的 MCP 服务器配置,填写服务器名称、Command (node) 和 Args (您的 'dist/index.js' 文件的完整路径)。
- 保存配置并启动 LLM 客户端。客户端将自动启动并连接到 MetaMask MCP 服务器。
- 在与 LLM 交互时,您可以通过对话指示 LLM 使用 MetaMask MCP 服务器提供的工具来执行区块链操作,例如询问当前账户、发送交易、查询余额等。服务器会通过 MetaMask 钱包处理这些请求,并在需要用户确认时触发 MetaMask 界面。您也可以尝试激活 'be-metamask-assistant' 这个 Prompt 来获得更智能的 MetaMask 相关帮助。
信息
分类
商业系统