Futarchy MCP
A server implementation for interacting with the Futarchy protocol on Solana.
Setup Instructions
- Clone the repository:
Copy
- Install dependencies:
Copy
- Configure RPC URL:
- Open
src/server.ts
- Update the RPC URL in the connection initialization:
Copy- You can use:
- Mainnet:
https://api.mainnet-beta.solana.com
- Devnet:
https://api.devnet.solana.com
- Or your own RPC provider URL (works only with this)
- Mainnet:
- Open
- Start the development server:
Copy
Available Routes
DAO Routes
GET /daos
- Get all DAOsGET /daos/:id
- Get a specific DAO by IDGET /daos/:id/proposals
- Get all proposals for a specific DAOPOST /daos/:id/proposals
- Create a new proposal for a DAO (not tested as of now because dao creation route does not exist)- Body:Copy
- Body:
Proposal Routes
GET /proposals/:id
- Get a specific proposal by ID
Testing
You can test the routes using tools like Postman or curl. The server runs on port 9000 by default.
Example curl commands:
Copy
MCP Server for Cursor
This project also includes an MCP (Model Context Protocol) server that allows Cursor to interact with the Futarchy backend through custom tools.
Setting up the MCP Server
- Run the setup script to install dependencies, build the project, and configure Cursor:
Copy
- Or manually configure it:
- Install dependencies and build the project:
Copy- Open or create
~/.cursor/mcp.json
- Add the following configuration (adjust the path as needed):
Copy
Using the MCP Server in Cursor
You can use the following tools in Cursor's chat:
getDaos
- Get all DAOs from the Futarchy systemgetDao
- Get a specific DAO by IDgetProposals
- Get all proposals for a specific DAOgetProposal
- Get a specific proposal by IDcreateProposal
- Create a new proposal for a DAO
For example, in Cursor's chat, you can say:
Copy
For more details about the MCP server, see src/mcp/README.md.
This server cannot be installed
A server implementation that enables interaction with the Futarchy protocol on Solana, allowing users to manage DAOs and proposals through both API endpoints and Cursor's chat interface.