Futarchy MCP
Interactúa con el protocolo Futarchy en la blockchain de Solana.
Documentación
Futarchy MCP
Una implementación de servidor para interactuar con el protocolo Futarchy en Solana.
Instrucciones de Configuración
- Clona el repositorio:
git clone <repository-url>
cd futarchy-mcp
- Instala las dependencias:
npm install
-
Configura la URL de RPC:
- Abre
src/server.ts - Actualiza la URL de RPC en la inicialización de la conexión:
const connection = new Connection('YOUR_RPC_URL_HERE');- Puedes usar:
- Mainnet:
https://api.mainnet-beta.solana.com - Devnet:
https://api.devnet.solana.com - O la URL de tu propio proveedor de RPC (solo funciona con esta)
- Mainnet:
- Abre
-
Inicia el servidor de desarrollo:
npm run dev
Rutas Disponibles
Rutas de DAO
GET /daos- Obtener todos los DAOsGET /daos/:id- Obtener un DAO específico por IDGET /daos/:id/proposals- Obtener todas las propuestas para un DAO específicoPOST /daos/:id/proposals- Crear una nueva propuesta para un DAO (no probado por ahora porque la ruta de creación de DAO no existe)- Cuerpo:
{ "descriptionUrl": "string", "baseTokensToLP": "number", "quoteTokensToLP": "number" }
- Cuerpo:
Rutas de Propuestas
GET /proposals/:id- Obtener una propuesta específica por ID
Pruebas
Puedes probar las rutas usando herramientas como Postman o curl. El servidor se ejecuta en el puerto 9000 por defecto.
Ejemplos de comandos 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
}'
Servidor MCP para Cursor
Este proyecto también incluye un servidor MCP (Model Context Protocol) que permite a Cursor interactuar con el backend de Futarchy a través de herramientas personalizadas.
Configuración del Servidor MCP
- Ejecuta el script de configuración para instalar dependencias, compilar el proyecto y configurar Cursor:
chmod +x setup.sh
./setup.sh
- O configúralo manualmente:
- Instala las dependencias y compila el proyecto:
npm install npm run build- Abre o crea
~/.cursor/mcp.json - Agrega la siguiente configuración (ajusta la ruta según sea necesario):
{ "mcpServers": { "futarchy-routes": { "command": "node", "args": ["<absolute-path-to-project>/dist/mcp/bin/mcp-futarchy.js"] } } }
Uso del Servidor MCP en Cursor
Puedes usar las siguientes herramientas en el chat de Cursor:
getDaos- Obtener todos los DAOs del sistema FutarchygetDao- Obtener un DAO específico por IDgetProposals- Obtener todas las propuestas para un DAO específicogetProposal- Obtener una propuesta específica por IDcreateProposal- Crear una nueva propuesta para un DAO
Por ejemplo, en el chat de Cursor, puedes decir:
Use the getDaos tool to retrieve a list of all DAOs from the futarchy-routes backend.
Para más detalles sobre el servidor MCP, consulta src/mcp/README.md.
Función de Análisis de Sentimiento
El Servidor MCP de Futarchy ahora incluye una herramienta de análisis de sentimiento que analiza el sentimiento de datos de Discord y Twitter para propuestas específicas. Esta función ayuda a comprender el sentimiento de la comunidad sobre las propuestas y puede usarse para tomar decisiones más informadas.
Cómo Funciona
- La herramienta de análisis de sentimiento recopila datos de Discord y Twitter sobre una propuesta específica.
- Analiza el sentimiento utilizando técnicas de procesamiento de lenguaje natural.
- Categoriza el sentimiento en diferentes categorías (Tokenomics, Parámetros del Protocolo, etc.).
- Genera un resumen, puntos clave y preocupaciones basados en el análisis.
- Los resultados se presentan en un formato estructurado que puede ser consumido fácilmente por los frontends.
Ejemplo de Respuesta
{
"proposalId": "F3hsZzWinRAHbr6CUxdkUFBCH8qNk6Mi9Zfu3PMX49BC",
"sentimentScore": -0.8,
"primaryCategory": "Tokenomics",
"categories": [
{
"name": "Tokenomics",
"score": 0.4
},
{
"name": "Protocol Upgrades",
"score": 0.3
},
{
"name": "Partnerships Integrations",
"score": 0.2
},
{
"name": "Protocol Parameters",
"score": 0.1
}
],
"summary": "The proposal to launch a new Horizon token for the Aave ecosystem has faced significant backlash from the community...",
"keyPoints": [
"The proposed token launch is seen as unnecessary and potentially harmful to the Aave token and community.",
"The revenue-sharing model is perceived as frontloaded and unfair, favoring early years when adoption and revenue may be low.",
"There is a desire to maintain the Aave token as the primary governance and utility token for the ecosystem."
],
"concerns": [
"Dilution of the Aave token's value and attention.",
"Misalignment of incentives with the proposed revenue-sharing model.",
"Creation of a separate entity that could compete with the Aave ecosystem.",
"Lack of transparency and community involvement in the decision-making process."
],
"sources": {
"discord": true,
"twitter": true
}
}
Cómo Usarlo
Puedes usar la herramienta de análisis de sentimiento en tu servidor MCP de la siguiente manera:
const result = await mcp_futarchy_routes_getProposalSentiment({
proposalId: "F3hsZzWinRAHbr6CUxdkUFBCH8qNk6Mi9Zfu3PMX49BC"
});
Esto devolverá el análisis de sentimiento para la propuesta especificada.