使用说明
项目简介
Web3 MCP Server 是一个基于 Model Context Protocol (MCP) 构建的后端服务,旨在为大型语言模型(LLM)应用提供统一的接口来访问和操作多个区块链网络。它支持 Solana、以太坊虚拟机 (EVM) 兼容链、THORChain 以及 UTXO 链(如比特币、莱特币等),提供了一系列工具用于查询区块链数据、执行交易等操作。通过简单的配置,即可将此服务集成到支持 MCP 协议的 LLM 客户端,例如 Claude,从而扩展 LLM 在 Web3 领域的应用能力。
主要功能点
- 多链支持: 支持 Solana, Ethereum, Base, Arbitrum, Optimism, BSC, Polygon, Avalanche, Berachain, THORChain, Bitcoin, Litecoin, Dogecoin, Bitcoin Cash 等多个区块链。
- 数据查询: 提供查询账户余额、代币余额、交易历史、网络信息、代币价格 (CoinGecko) 等功能。
- 交易功能: 支持 Solana 和 EVM 链上的代币转账、代币交换 (Solana/Jupiter) 和 ERC-20 代币授权等交易操作。
- 跨链桥: 集成 Rubic 桥,支持查询跨链桥接的报价和状态。
- 可配置性: 通过环境变量灵活配置和启用/禁用特定区块链工具,以及设置私钥、RPC URL 等敏感信息。
- 安全性: 私钥存储在 '.env' 文件中,不会在对话历史中泄露。
安装步骤
-
克隆仓库:
git clone https://github.com/strangelove-ventures/web3-mcp.git -
进入项目目录:
cd web3-mcp -
安装依赖:
npm install -
配置环境变量:
- 复制 '.env.example' 文件并重命名为 '.env':
cp .env.example .env - 编辑 '.env' 文件,根据需要配置以下环境变量:
- 'ENABLE_*_TOOLS': 启用或禁用特定区块链的工具,例如 'ENABLE_SOLANA_TOOLS=true' 启用 Solana 工具。
- 'ETH_PRIVATE_KEY', 'SOLANA_PRIVATE_KEY': 用于交易的私钥,请务必使用测试钱包私钥,避免资金损失。
- '*_RPC_URL': 可选配置,用于指定区块链的 RPC 节点 URL,如不配置则使用默认公共节点。
- 'COINGECKO_API_KEY': 可选配置,用于 CoinGecko API,用于更频繁的代币价格查询。
- 重要安全提示: '.env' 文件用于存储敏感信息,已配置为 Git 忽略文件,请妥善保管,切勿泄露私钥。
- 复制 '.env.example' 文件并重命名为 '.env':
-
构建项目:
npm run build
服务器配置
要将 Web3 MCP Server 添加到 MCP 客户端(例如 Claude),您需要配置 'claude_desktop_config.json' 文件。在 'mcpServers' 字段中添加以下配置信息:
{ "mcpServers": { "web3-rpc": { // 服务器名称,在客户端中用于选择和调用此服务器 "command": "node", // 启动服务器的命令,这里使用 Node.js 运行时 "args": [ "/PATH/TO/web3-mcp/build/index.js" // 启动参数,指向编译后的服务器入口文件,请将 "/PATH/TO/web3-mcp" 替换为您的 web3-mcp 仓库在您电脑上的实际绝对路径 ] } } }
注意: 请将 '/PATH/TO/web3-mcp' 替换为您本地 'web3-mcp' 仓库的 绝对路径。您可以通过 'pwd' 命令 (在仓库根目录下执行) 获取当前目录的绝对路径,然后将其拼接上 '/build/index.js'。
基本使用方法
- 确保 Web3 MCP Server 已成功配置到 MCP 客户端中。
- 在 MCP 客户端中选择您配置的服务器名称 (例如 'web3-rpc')。
- 通过自然语言指令与客户端交互,例如:
- 询问 Solana 地址: "What's my Solana address?"
- 查询 ETH 余额: "What's the ETH balance of 0x556437c4d22ceaeeebf82006b85bdcc0ae67d933 on Ethereum?"
- 进行 Solana 代币交换: "Swap 0.1 SOL to USDC on Solana"
- 查询比特币余额: "What's the BTC balance of 1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa?"
- 获取 Rubic 桥接报价: "Get a bridge quote from ETH to Polygon for 1 ETH to USDC"
- 更多使用示例,请参考仓库 README.md 文件中的 "Usage Examples" 部分。
重要提示:
- 请仔细阅读仓库的 README.md 文件,了解更多高级配置和安全注意事项。
- 在进行任何交易操作前,请务必使用测试钱包进行测试,并充分了解操作风险。
信息
分类
开发者工具