README
🚀 通用合约人工智能接口(UCAI)
通用合约人工智能接口(UCAI)是一种标准,用于定义人工智能代理与智能合约之间的交互方式。借助 abi-to-mcp 工具,只需一个命令,就能将任何合约的ABI转换为可被Claude调用的MCP服务器,让AI轻松与智能合约交互。
🚀 快速开始
1. 生成服务器
abi-to-mcp generate 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D -o ~/uniswap-server
cd ~/uniswap-server && pip install -r requirements.txt
2. 连接到Claude桌面版
将以下内容添加到配置文件(Mac系统路径为 ~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"uniswap": {
"command": "python",
"args": ["/Users/YOU/uniswap-server/server.py"],
"env": {
"RPC_URL": "https://eth.llamarpc.com"
}
}
}
}
3. 向Claude提问
- “用1 ETH兑换USDC的最佳路径是什么?”
- “获取ETH/DAI池的储备量”
- “展示Uniswap最近的交易”
现在,Claude就能理解并处理DeFi相关的问题了。
✨ 主要特性
- 🛡️ 安全扫描器:在连接合约之前,检测50多种风险模式,如 rug pull、蜜罐等。
- 📖 合约解读器:用通俗易懂的语言解释合约的功能、权限和风险。
- ⚡ 专业模板:提供预构建的多合约包,适用于闪贷、套利、收益聚合等高级用例。
- 🌙 暗黑/明亮模式:保护眼睛,提供舒适的使用体验。
- 📥 ZIP下载:下载包含
server.py、requirements.txt、README.md等文件的完整服务器。 - 🔗 分享链接:通过
?address=0x...&network=ethereum分享服务器配置。
📦 安装指南
安装 abi-to-mcp
pip install abi-to-mcp
生成MCP服务器
abi-to-mcp generate <source> [options]
参数说明:
source:ABI文件路径或合约地址 选项说明:-o, --output PATH:输出目录(默认:./mcp-server)-n, --network TEXT:地址查找的网络(默认:mainnet)-a, --address TEXT:合约地址(如果不在源文件中)--name TEXT:服务器名称(如果未提供,自动检测)--read-only:仅生成只读操作--no-events:不将事件作为资源--no-simulate:默认禁用写入操作的模拟
💻 使用示例
基础用法
# Uniswap — Claude可以进行代币交换
abi-to-mcp generate 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D -o ~/uniswap-server
# ETH 2.0 Beacon Deposit — Claude可以探索质押
abi-to-mcp generate 0x00000000219ab540356cBB839Cbe05303d7705Fa -o ~/eth-staking-server
# 任何经过验证的合约都可以使用
abi-to-mcp generate <ANY_CONTRACT_ADDRESS>
高级用法
# 自定义输出目录和网络
abi-to-mcp generate 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D -o ~/custom-server -n sepolia
📚 详细文档
生成的服务器结构
my-mcp-server/
├── server.py # 主MCP服务器
├── config.py # 配置文件
├── requirements.txt # 依赖项
├── README.md # 文档
├── pyproject.toml # 包配置
└── .env.example # 环境模板
类型映射
| Solidity类型 | JSON Schema | Python类型 |
|---------------|-------------|-------------|
| address | string 带模式 | str |
| uint256 | string(用于精度) | str |
| uint8-uint32 | integer 带边界 | int |
| bool | boolean | bool |
| string | string | str |
| bytes | string 带模式 | str |
| bytes32 | string 带模式 | str |
| tuple | object | Dict |
| T[] | array | List |
| T[N] | array 带边界 | List |
环境变量
| 变量 | 描述 | 是否必需 |
|----------|-------------|----------|
| RPC_URL | Web3 RPC端点 | 是 |
| CONTRACT_ADDRESS | 覆盖合约地址 | 否 |
| PRIVATE_KEY | 用于写入操作 | 写入时必需 |
| ETHERSCAN_API_KEY | 从Etherscan获取数据 | 使用Etherscan时必需 |
支持的网络
| 网络 | ID | 链ID |
|---------|------|----------|
| mainnet | 以太坊 | 1 |
| sepolia | Sepolia测试网 | 11155111 |
| polygon | 多边形网络 | 137 |
| arbitrum | Arbitrum One | 42161 |
| optimism | 乐观网络 | 10 |
| base | Base网络 | 8453 |
| bsc | BNB链 | 56 |
| avalanche | 雪崩C链 | 43114 |
🔧 技术细节
UCAI标准
UCAI定义了AI代理与智能合约交互的标准,包括工具模式、类型映射、安全模式和事件查询等。通过 abi-to-mcp 工具,可以将任何合约的ABI转换为符合UCAI标准的MCP服务器,使AI能够方便地与智能合约进行交互。
安全机制
- 私钥管理:私钥仅从环境变量加载,绝不从文件或命令行获取。
- 默认模拟:写入操作先进行模拟,可通过
simulate=False执行实际操作。 - 只读模式:使用
--read-only完全禁用写入操作。 - 气体保护:可配置最大气体价格限制。
📄 许可证
本项目采用MIT许可证,详情请见 LICENSE。
🌐 实时HTTP部署
UCAI — ABI to MCP 通过 MCP Streamable HTTP 传输协议进行部署,可通过HTTP访问,无需本地安装。
端点
https://modelcontextprotocol.name/mcp/ucai
从任何MCP客户端连接
将以下内容添加到MCP客户端配置(Claude Desktop、Cursor、SperaxOS等):
{
"mcpServers": {
"ucai": {
"type": "http",
"url": "https://modelcontextprotocol.name/mcp/ucai"
}
}
}
可用工具(5个)
| 工具 | 描述 |
|------|-------------|
| lookup_contract | 查找智能合约 |
| get_token_by_contract | 通过合约获取代币元数据 |
| get_price | 获取加密货币价格 |
| search_coins | 搜索加密货币 |
| get_coin_detail | 获取加密货币详情 |
示例请求
查找智能合约
curl -X POST https://modelcontextprotocol.name/mcp/ucai \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"lookup_contract","arguments":{"address":"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48"}}}'
通过合约获取代币元数据
curl -X POST https://modelcontextprotocol.name/mcp/ucai \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"get_token_by_contract","arguments":{"address":"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48"}}}'
获取加密货币价格
curl -X POST https://modelcontextprotocol.name/mcp/ucai \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"get_price","arguments":{"ids":"usd-coin","vs_currencies":"usd"}}}'
列出所有工具
curl -X POST https://modelcontextprotocol.name/mcp/ucai \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
其他可用平台
- SperaxOS:从 MCP市场 浏览和安装。
- 所有27个MCP服务器:在 modelcontextprotocol.name 查看完整目录。
由 modelcontextprotocol.name 提供支持 —— 开放的MCP HTTP网关
微信扫一扫