一个安全系统,使AI助手能够与区块链智能合约进行交互,同时确保用户完全控制其私钥和交易签名。
该项目解决了AI与区块链集成中的关键挑战:允许AI助手读取区块链数据并准备交易,同时确保用户对交易签名和私钥拥有独家控制权。
该系统包括:
git clone https://github.com/zhangzhongnan928/mcp-blockchain-server.git
cd mcp-blockchain-server
npm install
# 或
yarn install
.env文件(或从.env.example复制):cp .env.example .env
# 使用您的配置编辑.env
# 详细的安装和配置指南,请参阅Database Setup Guide
# docs/database-setup.md
# 创建PostgreSQL数据库
createdb mcp_blockchain
# 运行数据库迁移
npm run db:migrate
# 或
yarn db:migrate
请参阅Database Setup Guide获取详细的安装和配置PostgreSQL指南。
npm run dev
# 或
yarn dev
快速启动使用Docker:
# 创建包含所需环境变量的.env文件
cp .env.example .env
# 使用您的配置编辑.env
# 启动服务
docker-compose up -d
这将启动:
src/mcp:MCP服务器实现src/services:核心业务逻辑服务src/utils:实用函数src/index.ts:主入口点web/src/components:React组件web/src/hooks:自定义React钩子web/src/services:API服务web/src/pages:页面组件MCP服务器暴露了几个可以被AI助手使用的工具:
get-chains:获取支持的区块链网络列表get-balance:获取地址的账户余额read-contract:从智能合约中读取数据prepare-transaction:准备供用户批准的未签名交易get-transaction-status:获取交易的当前状态// 使用get-balance工具的示例
const result = await callTool("get-b_alance", {
chainId: "1",
address: "0x742d35Cc6634C0532925a3b844Bc454e4438f44e"
});
如果遇到依赖问题:
# MCP SDK问题 - 直接从GitHub安装
npm uninstall @modelcontextprotocol/sdk
npm install modelcontextprotocol/typescript-sdk
对于数据库连接问题,请参阅Database Setup Guide。
本项目根据MIT许可证发布 - 详情请参阅LICENSE文件。