使用说明
项目简介
SparkMango 是一个 MCP 服务器生成工具,旨在简化大型语言模型 (LLM) 与智能合约的交互。它能够读取 Solidity 智能合约的 ABI 文件,自动生成一个基于 Python 和 FastAPI 的 MCP 服务器。这个服务器将智能合约的功能以 RESTful API 的形式暴露出来,使得 LLM 客户端可以通过标准的 Model Context Protocol (MCP) 协议与智能合约进行交互。
主要功能点
- ABI 到 MCP 服务器转换: 将 Solidity 智能合约的 ABI 文件转换为可运行的 MCP 服务器。
- RESTful API 接口: 为智能合约的函数自动生成 RESTful API 接口,方便 LLM 客户端调用。
- LLM 代码生成: 利用 OpenAI 的语言模型生成函数调用的 Python 实现代码,简化开发流程。
- 状态管理: 自动处理智能合约的状态变量,方便客户端获取合约信息。
- 事件处理: 支持智能合约事件的访问(虽然文档中没有明确提及,但代码结构允许未来扩展)。
- 易于部署和使用: 生成的服务器基于 FastAPI 和 Uvicorn,易于部署和运行。
安装步骤
- 确保已安装 Python 3.8 或更高版本和 pip。
- 安装 'mcp-server' 包:
pip install mcp-server
服务器配置
MCP 客户端需要以下配置信息才能连接到 SparkMango 生成的 MCP 服务器。请注意替换 '/path/to/output_directory' 为实际的服务器输出目录。
{ "serverName": "YourContractMCP", "command": "python", "args": ["server.py"], "cwd": "/path/to/output_directory" }
配置参数说明:
- 'serverName': MCP 服务器的名称,可以自定义。
- 'command': 启动服务器的命令,这里是 'python'。
- 'args': 命令参数,指定运行 'server.py' 文件。
- 'cwd': 请务必替换为实际的服务器输出目录的绝对路径。这是 'server.py' 文件所在的目录,MCP 客户端需要在此目录下执行启动命令。
环境变量配置:
在运行服务器之前,需要设置以下环境变量:
- 'OPENAI_API_KEY': 您的 OpenAI API 密钥,用于代码生成功能。
- 'CONTRACT_ADDRESS': 您要交互的智能合约的地址。
- 'ETH_NODE_URL': 以太坊节点的 URL,例如 Infura 或 Alchemy。
基本使用方法
-
生成 MCP 服务器: 使用 'mcp-server generate' 命令,指定 ABI 文件路径、输出目录和合约名称。
mcp-server generate --abi path/to/contract.json --output output_directory --contract YourContractName这将在 'output_directory' 目录下生成 MCP 服务器代码。
-
配置环境变量: 设置 'OPENAI_API_KEY', 'CONTRACT_ADDRESS', 和 'ETH_NODE_URL' 环境变量。
-
启动服务器: 进入输出目录 'output_directory',运行以下命令启动服务器:
python server.py服务器默认在 'http://localhost:8000' 启动。
-
使用 MCP 客户端发送请求: 使用 MCP 客户端,按照 MCP 协议格式向服务器的 '/mcp' 端点发送 POST 请求,即可调用智能合约的功能。请求的 'method' 字段指定要调用的合约函数名,'params' 字段传递函数参数。
信息
分类
开发者工具