返回 MCP 目录
public公开dns本地运行

ucai

ABI-to-MCP是一个智能合约AI接口工具,能够从任何智能合约ABI自动生成MCP服务器,让Claude等AI助手可以直接与区块链合约交互,支持安全扫描、合约解释和多种预置模板。

article

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.pyrequirements.txtREADME.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"}'

其他可用平台

modelcontextprotocol.name 提供支持 —— 开放的MCP HTTP网关

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端