项目简介 Simplicity MCP服务器是一个基于Model Context Protocol (MCP) 构建的后端服务,专注于为AI助手提供与Simplicity智能合约和Elements/Liquid区块链交互的能力。它允许用户通过自然语言与AI助手对话,完成Simplicity合约的编译、部署、资金请求、交易查询等复杂任务,极大地简化了Simplicity合约的开发流程。
主要功能点
- Simplicity合约管理: 提供编译SimplicityHL源码或文件、解码程序、生成合约地址等功能。
- Elements区块链交互: 能够查询区块链信息、区块、交易、地址余额和UTXO列表,并支持生成新地址、发送交易等操作。
- 自动化部署流程: 支持一键式工作流,自动编译合约、获取链上地址,并可选择自动从测试网水龙头请求资金。
- 开发者工具: 包含Simplicity工具链(simc, hal-simplicity)的安装检查与自动安装、合约语法校验、错误诊断与修复建议、以及示例合约生成。
- 水龙头集成: 方便地从Liquid测试网水龙头请求LBTC,用于合约测试与部署。
安装步骤
-
克隆仓库:
git clone https://github.com/MiguelMedeiros/simplicity-mcp.git cd simplicity-mcp -
运行自动设置脚本: 这个脚本会安装所有Node.js依赖、编译TypeScript代码、将'simplicity-mcp'命令全局链接、启动Elements区块链的Docker容器,并尝试自动配置您的MCP客户端(如Cursor)'mcp.json'文件。
npm run setup注意: 如果您没有安装Docker,Elements区块链节点可能无法启动,您需要手动安装并运行Elements节点,或在没有区块链交互的模式下使用部分Simplicity工具。
-
手动安装Simplicity工具 (如果自动设置失败): 该服务器依赖'simc' (Simplicity编译器) 和'hal-simplicity' (Simplicity命令行工具)。如果'npm run setup'未能自动安装,请确保您已安装Rust,然后运行以下命令:
# 确保已安装Rust: curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh cargo install --git https://github.com/BlockstreamResearch/simfony simc cargo install --git https://github.com/sanket1729/hal hal-simplicity
服务器配置 (MCP客户端配置) MCP服务器通过JSON-RPC协议运行,通常由支持MCP协议的AI客户端(如Cursor)来启动和管理。以下是MCP客户端(如Cursor)中配置'simplicity-mcp'服务器的示例:
{ "mcpServers": { "simplicity": { "command": "simplicity-mcp", "env": { "ELEMENTS_RPC_URL": "http://127.0.0.1:18884", "ELEMENTS_RPC_USER": "elementsuser", "ELEMENTS_RPC_PASSWORD": "elementspass" } } } }
配置说明:
- '"simplicity"': 您给这个MCP服务器实例定义的名称,用于在客户端中引用。
- '"command"': 启动服务器的命令,通常是您通过'npm link'全局安装的脚本名称,确保该命令在系统PATH中可用。
- '"env"': 环境变量,用于配置Elements区块链RPC连接。
- '"ELEMENTS_RPC_URL"': Elements节点RPC接口的URL,请根据您的Elements节点配置进行修改。
- '"ELEMENTS_RPC_USER"': Elements节点RPC的用户名,请根据您的Elements节点配置进行修改。
- '"ELEMENTS_RPC_PASSWORD"': Elements节点RPC的密码,请根据您的Elements节点配置进行修改。
基本使用方法 配置完成后,您需要完全重启您的MCP客户端(例如Cursor)。在客户端的AI聊天界面中,您可以像与普通AI助手对话一样,利用Simplicity MCP服务器提供的功能:
- 部署合约: "Deploy 'examples/contracts/empty.simf' with auto-funding."
- 查询区块链状态: "What's the current block height on Elements?"
- 解释合约: "Deploy the HTLC contract and explain how it works."
- 检查工具安装: "Check Simplicity toolchain status."
信息
分类
开发者工具