Futarchy MCP
Interaja com o protocolo Futarchy na blockchain Solana.
Documentação
Futarchy MCP
Uma implementação de servidor para interagir com o protocolo Futarchy na Solana.
Instruções de Configuração
- Clone o repositório:
git clone <repository-url>
cd futarchy-mcp
- Instale as dependências:
npm install
-
Configure a URL do RPC:
- Abra
src/server.ts - Atualize a URL do RPC na inicialização da conexão:
const connection = new Connection('YOUR_RPC_URL_HERE');- Você pode usar:
- Mainnet:
https://api.mainnet-beta.solana.com - Devnet:
https://api.devnet.solana.com - Ou a URL do seu próprio provedor de RPC (funciona apenas com esta)
- Mainnet:
- Abra
-
Inicie o servidor de desenvolvimento:
npm run dev
Rotas Disponíveis
Rotas de DAO
GET /daos- Obter todos os DAOsGET /daos/:id- Obter um DAO específico por IDGET /daos/:id/proposals- Obter todas as propostas de um DAO específicoPOST /daos/:id/proposals- Criar uma nova proposta para um DAO (não testado por enquanto, pois a rota de criação de DAO não existe)- Corpo:
{ "descriptionUrl": "string", "baseTokensToLP": "number", "quoteTokensToLP": "number" }
- Corpo:
Rotas de Proposta
GET /proposals/:id- Obter uma proposta específica por ID
Testes
Você pode testar as rotas usando ferramentas como Postman ou curl. O servidor roda na porta 9000 por padrão.
Exemplos 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 projeto também inclui um servidor MCP (Model Context Protocol) que permite ao Cursor interagir com o backend do Futarchy por meio de ferramentas personalizadas.
Configurando o Servidor MCP
- Execute o script de configuração para instalar as dependências, compilar o projeto e configurar o Cursor:
chmod +x setup.sh
./setup.sh
- Ou configure manualmente:
- Instale as dependências e compile o projeto:
npm install npm run build- Abra ou crie
~/.cursor/mcp.json - Adicione a seguinte configuração (ajuste o caminho conforme necessário):
{ "mcpServers": { "futarchy-routes": { "command": "node", "args": ["<absolute-path-to-project>/dist/mcp/bin/mcp-futarchy.js"] } } }
Usando o Servidor MCP no Cursor
Você pode usar as seguintes ferramentas no chat do Cursor:
getDaos- Obter todos os DAOs do sistema FutarchygetDao- Obter um DAO específico por IDgetProposals- Obter todas as propostas de um DAO específicogetProposal- Obter uma proposta específica por IDcreateProposal- Criar uma nova proposta para um DAO
Por exemplo, no chat do Cursor, você pode dizer:
Use the getDaos tool to retrieve a list of all DAOs from the futarchy-routes backend.
Para mais detalhes sobre o servidor MCP, consulte src/mcp/README.md.
Recurso de Análise de Sentimento
O Servidor Futarchy MCP agora inclui uma ferramenta de análise de sentimento que analisa o sentimento de dados do Discord e Twitter para propostas específicas. Este recurso ajuda a entender o sentimento da comunidade sobre propostas e pode ser usado para tomar decisões mais informadas.
Como Funciona
- A ferramenta de análise de sentimento coleta dados do Discord e Twitter sobre uma proposta específica.
- Ela analisa o sentimento usando técnicas de processamento de linguagem natural.
- Ela categoriza o sentimento em diferentes categorias (Tokenomics, Parâmetros do Protocolo, etc.).
- Ela gera um resumo, pontos-chave e preocupações com base na análise.
- Os resultados são apresentados em um formato estruturado que pode ser facilmente consumido por frontends.
Exemplo de Resposta
{
"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
}
}
Como Usar
Você pode usar a ferramenta de análise de sentimento no seu servidor MCP da seguinte forma:
const result = await mcp_futarchy_routes_getProposalSentiment({
proposalId: "F3hsZzWinRAHbr6CUxdkUFBCH8qNk6Mi9Zfu3PMX49BC"
});
Isso retornará a análise de sentimento para a proposta especificada.