使用说明
🎉 ChainMind - 真实的MCP区块链服务器
A. 生产就绪的模型上下文协议(MCP)服务器 该系统提供使用多链区块链的操作功能 真实的区块链库 (ethers.js & @solana/web3.js)。
✅ 这是一个真正的MCP(多控制平面)实现
- 使用官方(渠道/版本)
@modelcontextprotocol/sdk - 真实
ethers.js用于以太坊操作 - 真实
@solana/web3.js用于Solana操作 - Stdio传输(兼容Claude Desktop)
- 通过桥接API实际调用MCP服务器的网页仪表盘
🚀 快速入门
1. 安装依赖项
npm install
2. 配置环境
创建 .env.local:
ETH_RPC_URL=https://eth.llamarpc.com
SOL_RPC_URL=https://api.mainnet-beta.solana.com
3. 构建MCP服务器
npm run build:server
4. 运行网页仪表盘
npm run dev:web
开放 http://localhost:3000 并开始核对余额!
📋 前提条件
- Node.js 18及以上版本
- npm 或 yarn
- 以太坊RPC端点(Infura、Alchemy或公共节点)
- Solana RPC 端点(可选,默认为公共端点)
- Supabase 帐户(可选,用于事务记录)
🛠️ 安装
- 克隆仓库
git clone https://github.com/yourusername/mcp-chain.git
cd mcp-chain
- 安装依赖项
npm install
- 配置环境变量
cp .env.example .env.local
编辑 .env.local 并添加您的配置:
ETH_RPC_URL=https://eth.llamarpc.com
SOL_RPC_URL=https://api.mainnet-beta.solana.com
SUPABASE_URL=your_supabase_url (optional)
SUPABASE_SERVICE_KEY=your_service_key (optional)
- 运行开发服务器
npm run dev
📡 API 接口
1. 多链余额(/api/multi_balance)
方法: GET
查询参数:
addresses(字符串):以逗号分隔的ETH和/或SOL地址列表
示例:
curl "http://localhost:3000/api/multi_balance?addresses=0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb,7xKXtg2CW87d97TXJSDpbD5jBkheTqA83TZRuJosgAsU"
回应:
{
"balances": {
"eth": {
"0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb": "1.234"
},
"sol": {
"7xKXtg2CW87d97TXJSDpbD5jBkheTqA83TZRuJosgAsU": "5.678"
}
}
}
2. 条件交易(/api/auto_send)
方法: POST
身体:
{
"chain": "eth",
"senderPrivateKey": "0x...",
"recipient": "0x...",
"amount": "0.1",
"condition": {
"token": "ETH",
"minBalance": 1.0
}
}
回应:
{
"success": true,
"txHash": "0x...",
"sender": "0x..."
}
3. 代币概要(/api/token_summary)
方法: GET
查询参数:
addresses(字符串):以逗号分隔的ETH和/或SOL地址列表
示例:
curl "http://localhost:3000/api/token_summary?addresses=0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb"
回应:
{
"eth": {
"0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb": {
"ETH": "1.234",
"tokens": {
"USDC": "100.50",
"USDT": "50.25"
},
"NFTs": []
}
},
"sol": {}
}
🗄️ Supabase 设置(可选)
如果您想启用事务日志记录:
-
在(指定位置或平台)创建一个Supabase项目 supabase.com(可译为“苏帕斯数据库网站”或直接保留原域名,根据语境选择是否翻译)
-
创建一个
transactions表格:
CREATE TABLE transactions (
id UUID PRIMARY KEY DEFAULT uuid_generate_v4(),
blockchain TEXT NOT NULL,
tx_hash TEXT NOT NULL,
sender TEXT NOT NULL,
recipient TEXT NOT NULL,
amount TEXT NOT NULL,
timestamp TIMESTAMPTZ DEFAULT NOW()
);
- 将您的Supabase凭据添加到
.env.local
🔒 安全注意事项
- 私钥永远不要将私钥存储在环境变量中或提交到版本控制系统中
- API保护考虑为生产环境添加身份验证中间件
- 速率限制实施速率限制以防止滥用
- RPC 端点在生产环境中使用经过身份验证的RPC端点
- 输入验证所有地址和金额在处理前均经过验证
🚢 部署
Vercel(推荐)
- 将你的代码推送到GitHub
- 在Vercel中导入项目
- 在Vercel仪表板中添加环境变量
- 部署!
其他平台
该项目兼容任何支持 Next.js 的平台:
- Netlify
- 铁路
- AWS Amplify(亚马逊网络服务增强框架)
- 使用(某服务或软件)进行自托管
npm run build && npm start
📚 技术栈
- 框架Next.js 14(App Router)
- 语言TypeScript
- 区块链软件开发工具包(SDKs):
- ethers.js v6(以太坊)
- @solana/web3.js(Solana)
- 数据库Supabase(可选)
- 部署Vercel就绪
🤝 贡献
欢迎贡献!请随时提交拉取请求。
📄 许可证
MIT 许可证 - 欢迎随意将此项目用于任何目的。
🔗 资源
📝 清单/声明
见 manifest.json 对于完整的API规范和工具描述。