项目简介
OpenZeppelin Contracts Wizard MCP 服务器是OpenZeppelin Contracts Wizard项目的一部分,旨在通过Model Context Protocol (MCP) 标准,为LLM(大型语言模型)或AI代理提供智能合约生成服务。它将合约向导的交互式构建能力封装成一系列可供AI调用的工具,支持生成Solidity、Cairo、Stellar和Stylus等多语言的智能合约。AI代理可以通过调用这些工具,根据提供的参数动态生成符合最佳实践的合约代码。
主要功能点
- 多语言智能合约生成: 支持为Solidity、Cairo、Stellar和Stylus等主流区块链语言生成智能合约。
- 标准化合约模板: 提供ERC20、ERC721、ERC1155、Governor、Account等多种标准化合约模板。
- 可配置选项: AI代理可以通过丰富的参数选项定制合约功能,如可燃性、可暂停性、可升级性、访问控制等。
- JSON-RPC通信: 遵循MCP协议,通过JSON-RPC与AI客户端进行通信,实现上下文信息的提供和工具的调用。
- 上下文感知: 提供AI代理生成智能合约所需的精确提示和返回格式说明。
安装步骤
- 克隆仓库: 首先,你需要克隆整个'contracts-wizard' GitHub仓库到你的本地机器:
git clone https://github.com/OpenZeppelin/contracts-wizard.git cd contracts-wizard - 安装依赖: 进入'packages/mcp'目录并安装其依赖:
cd packages/mcp npm install # 或者使用 yarn install / pnpm install - 构建项目: 构建TypeScript代码:
npm run build # 或者使用 yarn build / pnpm build
服务器配置 (MCP客户端使用)
当MCP客户端需要连接此服务器时,需要以下配置信息。请注意,这只是一个JSON示例,实际的MCP客户端配置界面会引导用户填写这些信息。
{ "name": "OpenZeppelin Contracts Wizard", "command": "node", "args": [ "./packages/mcp/dist/cli.js" ], "description": "通过OpenZeppelin Contracts Wizard生成多种智能合约(Solidity, Cairo, Stellar, Stylus)。" }
- 'name': MCP服务器的显示名称,用于客户端识别。
- 'command': 启动MCP服务器进程的命令。这里是'node',因为它是Node.js应用。
- 'args': 传递给'command'的参数。'./packages/mcp/dist/cli.js'是编译后的服务器入口文件路径。
- 'description': MCP服务器的简要描述。
基本使用方法
MCP服务器通常由LLM或AI代理通过标准MCP客户端进行交互。一旦服务器运行,AI代理可以:
- 查询能力: 客户端可以向服务器发送请求,获取所有可用的智能合约生成工具及其详细参数(Prompt模板和Schemas)。
- 调用工具: AI代理选择一个合适的工具(例如'solidity-erc20'),并根据该工具的Schema(定义在'packages/mcp/src/solidity/schemas.ts'等文件中)提供参数,通过JSON-RPC请求调用该工具。
- 接收合约代码: 服务器执行工具的逻辑,生成对应的智能合约代码,并以Markdown代码块的形式返回给AI代理。AI代理可以解析这些代码并用于后续任务。
示例 (非实际可执行命令,仅为概念说明): 假设AI代理需要一个Solidity ERC20代币。它会调用'solidity-erc20'工具,并传入如'{ "name": "MyToken", "symbol": "MTK", "mintable": true }'等参数。服务器会返回生成的Solidity代码。
信息
分类
开发者工具