Futarchy MCP服务端
一种服务器实现, enables 用户与Solana上的Futarchy协议进行交互,允许用户通过API端点和Cursor的聊天界面管理DAO和提案。 (优化后的翻译:) 一种服务器实现,能够使用户在Solana上与Futarchy协议互动,并通过API接口和Cursor的聊天界面管理去中心化自治组织(DAO)及提案。
MCP 服务配置
复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用
{
"mcpServers": {
"futarchy-routes": {
"args": [
"\u003cabsolute-path-to-project\u003e/dist/mcp/bin/mcp-futarchy.js"
],
"command": "node"
}
}
}
该服务需要配置环境变量:SOLANA_RPC_URL
服务介绍
Futarchy MCP
一个用于与 Solana 上的 Futarchy 协议交互的服务器实现。
设置说明
- 克隆仓库:
git clone <repository-url>
cd futarchy-mcp
- 安装依赖项:
npm install
-
配置 RPC URL:
- 打开
src/server.ts - 更新连接初始化中的 RPC URL:
const connection = new Connection('YOUR_RPC_URL_HERE');- 你可以使用:
- 主网:
https://api.mainnet-beta.solana.com - 开发网:
https://api.devnet.solana.com - 或者你自己的 RPC 提供商 URL(仅与此兼容)
- 主网:
- 打开
-
启动开发服务器:
npm run dev
可用路由
DAO 路由
GET /daos- 获取所有 DAOGET /daos/:id- 通过 ID 获取特定的 DAOGET /daos/:id/proposals- 获取特定 DAO 的所有提案POST /daos/:id/proposals- 为 DAO 创建一个新的提案(目前尚未测试,因为还没有 DAO 创建路由)- 请求体:
{ "descriptionUrl": "string", "baseTokensToLP": "number", "quoteTokensToLP": "number" }
- 请求体:
提案路由
GET /proposals/:id- 通过 ID 获取特定的提案
测试
你可以使用 Postman 或 curl 等工具来测试这些路由。默认情况下,服务器在 9000 端口上运行。
示例 curl 命令:
# Get all DAOs
curl http://localhost:9000/daos
# Get a specific DAO
curl http://localhost:9000/daos/<dao-address>
# Get proposals for a DAO
curl http://localhost:9000/daos/<dao-address>/proposals
# Create a new proposal
curl -X POST http://localhost:9000/daos/<dao-address>/proposals \
-H "Content-Type: application/json" \
-d '{
"descriptionUrl": "https://example.com/proposal",
"baseTokensToLP": 1000,
"quoteTokensToLP": 1000
}'
用于 Cursor 的 MCP 服务器
该项目还包括一个 MCP(Model Context Protocol)服务器,允许 Cursor 通过自定义工具与 Futarchy 后端进行交互。
设置 MCP 服务器
- 运行设置脚本来安装依赖项、构建项目并配置 Cursor:
chmod +x setup.sh
./setup.sh
- 或手动配置:
- 安装依赖项并构建项目:
npm install npm run build- 打开或创建
~/.cursor/mcp.json - 添加以下配置(根据需要调整路径):
{ "mcpServers": { "futarchy-routes": { "command": "node", "args": ["<absolute-path-to-project>/dist/mcp/bin/mcp-futarchy.js"] } } }
在 Cursor 中使用 MCP 服务器
你可以在 Cursor 的聊天中使用以下工具:
getDaos- 从 Futarchy 系统获取所有 DAOgetDao- 通过 ID 获取特定的 DAOgetProposals- 获取特定 DAO 的所有提案getProposal- 通过 ID 获取特定的提案createProposal- 为 DAO 创建一个新的提案
例如,在 Cursor 的聊天中,你可以输入:
Use the getDaos tool to retrieve a list of all DAOs from the futarchy-routes backend.
有关 MCP 服务器的更多详细信息,请参阅 src/mcp/README.md。