Hive MCP Server
Permite que assistentes de IA interajam com a blockchain Hive através do Model Context Protocol.
Documentação
Servidor Hive MCP
Um servidor MCP que permite que assistentes de IA interajam com a blockchain Hive através do Model Context Protocol.
Visão Geral
Este servidor fornece uma ponte entre assistentes de IA (como o Claude) e a blockchain Hive, permitindo que modelos de IA possam:
- Buscar informações e histórico de contas
- Recuperar postagens de blog e discussões
- Obter postagens por tag ou usuário
- Votar em conteúdo e criar postagens (quando devidamente autenticado)
- Enviar tokens HIVE ou HBD para outras contas
- Assinar e verificar mensagens com chaves Hive
- Enviar e receber mensagens criptografadas
Recursos
Prompts
create-post- Cria um prompt estruturado para guiar a IA na criação de uma nova postagem Hive com o formato e as tags corretasanalyze-account- Gera um prompt para analisar as estatísticas, o histórico de postagens e os padrões de atividade de uma conta Hive
Ferramentas
Leitura de Dados
get_account_info- Obter informações detalhadas sobre uma conta da blockchain Hiveget_post_content- Recuperar uma postagem específica por autor e permlinkget_posts_by_tag- Recuperar postagens por tag e categoria (em alta, quentes, etc.)get_posts_by_user- Buscar postagens de um usuário específico ou do seu feedget_account_history- Obter histórico de transações de uma conta com filtragem opcional por operaçãoget_chain_properties- Buscar propriedades e estatísticas atuais da blockchain Hiveget_vesting_delegations- Obter uma lista de delegações de vesting feitas por uma conta específica
Interações com a Blockchain (Requerem Autenticação)
vote_on_post- Votar em conteúdo Hive (requer chave de postagem)create_post- Criar novas postagens de blog na blockchain Hive (requer chave de postagem)create_comment- Comentar em postagens existentes ou responder a comentários (requer chave de postagem)send_token- Enviar criptomoedas HIVE ou HBD para outras contas (requer chave ativa)
Criptografia
sign_message- Assinar uma mensagem usando uma chave privada Hiveverify_signature- Verificar a assinatura de uma mensagem contra uma chave pública Hive
Mensagens Criptografadas
encrypt_message- Criptografar uma mensagem para uma conta Hive específicadecrypt_message- Descriptografar uma mensagem criptografada de uma conta Hive específicasend_encrypted_message- Enviar uma mensagem criptografada usando uma transferência de tokensget_encrypted_messages- Recuperar e opcionalmente descriptografar mensagens do histórico da conta
Depuração com o MCP Inspector
O MCP Inspector fornece uma interface interativa para testar e depurar o servidor:
npx @modelcontextprotocol/inspector npx @gluneau/hive-mcp-server
Configuração de Autenticação
Para habilitar operações autenticadas (votação, postagem, envio de tokens), você precisará definir variáveis de ambiente:
export HIVE_USERNAME=your-hive-username
export HIVE_POSTING_KEY=your-hive-posting-private-key # For content operations
export HIVE_ACTIVE_KEY=your-hive-active-private-key # For token transfers
export HIVE_MEMO_KEY=your-hive-memo-private-key # For encrypted messaging
Nota de Segurança: Nunca compartilhe suas chaves privadas nem as envie para o controle de versão. Use variáveis de ambiente ou uma abordagem de configuração segura.
Integração com Assistentes de IA
Claude Desktop
Para usar este servidor com o Claude Desktop:
-
Certifique-se de ter o Claude Desktop instalado
-
Abra ou crie o arquivo de configuração do Claude:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
- macOS:
-
Adicione este servidor à sua configuração:
{
"mcpServers": {
"hive": {
"command": "npx",
"args": ["-y", "@gluneau/hive-mcp-server"],
"env": {
"HIVE_USERNAME": "your-hive-username",
"HIVE_POSTING_KEY": "your-hive-posting-private-key",
"HIVE_ACTIVE_KEY": "your-hive-active-private-key",
"HIVE_MEMO_KEY": "your-hive-memo-private-key"
}
}
}
}
Windsurf e Cursor
A mesma configuração JSON funciona para o Windsurf (em windsurf_config.json) e para o Cursor (em ~/.cursor/mcp.json para versão >= 0.47).
Em versões anteriores, você precisará usar o formato de comando de 1 linha na seção MCP das Configurações:
env HIVE_USERNAME=your-hive-username env HIVE_POSTING_KEY=your-hive-posting-private-key env HIVE_ACTIVE_KEY=your-hive-active-private-key env HIVE_MEMO_KEY=your-hive-memo-private-key npx -y @gluneau/hive-mcp-server
Exemplos
Uma vez conectado a um cliente MCP, você pode fazer perguntas como:
- "Quais são as postagens em alta na tag #photography no Hive?"
- "Mostre-me as postagens recentes do usuário 'alice'"
- "Qual é o saldo e os detalhes da conta de 'bob'?"
- "Obtenha o histórico de transações de 'charlie'"
- "Você pode dar upvote na postagem de 'dave' com o permlink 'my-awesome-post'?"
- "Crie uma nova postagem no Hive sobre tecnologia de IA"
- "Envie 1 HIVE para o usuário 'frank' com o memo 'Obrigado pela sua ajuda!'"
- "Assine esta mensagem com minha chave de postagem Hive: 'Verificando minha identidade'"
- "Quais são as propriedades atuais da blockchain Hive?"
- "Mostre-me as delegações de vesting feitas pelo usuário 'grace'"
- "Criptografe esta mensagem para o usuário 'alice': 'Esta é uma mensagem secreta'"
- "Descriptografe esta mensagem de 'bob': '#4f3a5b...'"
- "Envie uma mensagem criptografada para 'charlie' dizendo 'Vamos nos encontrar amanhã'"
- "Mostre-me minhas mensagens criptografadas e descriptografe-as"
- "Obtenha as últimas 10 mensagens criptografadas que troquei com 'dave'"
Documentação das Ferramentas
get_account_info
Busca informações detalhadas sobre uma conta da blockchain Hive, incluindo saldo, autoridade, poder de voto e outras métricas.
- Parâmetros:
username: Nome de usuário Hive para buscar informações
get_post_content
Recupera uma postagem específica do blog Hive identificada por autor e permlink.
- Parâmetros:
author: Autor da postagempermlink: Permlink da postagem
get_posts_by_tag
Recupera postagens Hive filtradas por uma tag específica e ordenadas por uma categoria.
- Parâmetros:
category: Categoria de ordenação (em alta, quentes, criadas, etc.)tag: A tag para filtrar as postagenslimit: Número de postagens a retornar (1-20)
get_posts_by_user
Recupera postagens de autoria de um usuário Hive específico ou do seu feed.
- Parâmetros:
category: Tipo de postagens do usuário a buscar (blog ou feed)username: Nome de usuário Hive para buscar postagenslimit: Número de postagens a retornar (1-20)
get_account_history
Recupera o histórico de transações de uma conta Hive com filtragem opcional por tipo de operação.
- Parâmetros:
username: Nome de usuário Hivelimit: Número de operações a retornaroperation_filter: Lista opcional de tipos de operação para filtrar
get_chain_properties
Busca propriedades e estatísticas atuais da blockchain Hive.
- Parâmetros: Nenhum
get_vesting_delegations
Obtém uma lista de delegações de vesting feitas por uma conta Hive específica.
- Parâmetros:
username: Conta Hive para obter delegaçõeslimit: Número máximo de delegações a recuperarfrom: Conta inicial opcional para paginação
vote_on_post
Vota em uma postagem Hive (upvote ou downvote) usando a conta Hive configurada.
- Parâmetros:
author: Autor da postagem para votarpermlink: Permlink da postagem para votarweight: Peso do voto de -10000 (100% downvote) a 10000 (100% upvote)
create_post
Cria uma nova postagem de blog na blockchain Hive usando a conta configurada.
- Parâmetros:
title: Título da postagem do blogbody: Conteúdo da postagem do blog (Markdown suportado)tags: Tags para a postagem- Vários parâmetros opcionais para recompensas, beneficiários, etc.
create_comment
Cria um comentário em uma postagem Hive existente ou responde a outro comentário.
- Parâmetros:
parent_author: Nome de usuário do autor da postagem ou comentário ao qual você está respondendoparent_permlink: Permlink da postagem ou comentário ao qual você está respondendobody: Conteúdo do comentário (Markdown suportado)- Vários parâmetros opcionais para recompensas, beneficiários, etc.
send_token
Envia tokens HIVE ou HBD para outra conta Hive usando a conta configurada.
- Parâmetros:
to: Nome de usuário Hive do destinatárioamount: Quantidade de tokens a enviarcurrency: Moeda a enviar (HIVE ou HBD)memo: Memo opcional para incluir na transação
sign_message
Assina uma mensagem usando uma chave privada Hive das variáveis de ambiente.
- Parâmetros:
message: Mensagem para assinarkey_type: Tipo de chave a usar (postagem, ativa ou memo)
verify_signature
Verifica uma assinatura digital contra uma chave pública Hive.
- Parâmetros:
message_hash: O hash SHA-256 da mensagem em formato hexadecimalsignature: String de assinatura para verificarpublic_key: Chave pública para verificar
encrypt_message
Criptografa uma mensagem para uma conta Hive específica usando criptografia de memo.
- Parâmetros:
message: Mensagem para criptografarrecipient: Nome de usuário Hive do destinatário
decrypt_message
Descriptografa uma mensagem criptografada recebida de uma conta Hive específica.
- Parâmetros:
encrypted_message: Mensagem criptografada (começa com #)sender: Nome de usuário Hive do remetente
send_encrypted_message
Envia uma mensagem criptografada para uma conta Hive usando uma pequena transferência de tokens.
- Parâmetros:
message: Mensagem para criptografar e enviarrecipient: Nome de usuário Hive do destinatárioamount: Quantidade de HIVE a enviar (mínimo 0.001, padrão: 0.001)
get_encrypted_messages
Recupera mensagens criptografadas do histórico da conta com descriptografia opcional.
- Parâmetros:
username: Nome de usuário Hive para buscar mensagens criptografadaslimit: Número máximo de mensagens a recuperar (padrão: 20)decrypt: Se deve tentar descriptografar as mensagens (padrão: false)
Desenvolvimento
Estrutura do Projeto
src/index.ts- Implementação principal do servidorsrc/tools/- Implementação de todas as ferramentassrc/schemas/- Esquemas Zod para parâmetros das ferramentassrc/utils/- Funções utilitárias para interagir com a blockchain Hivesrc/config/- Configuração do Cliente e tratamento do nível de log
Dependências
- @hiveio/dhive - Cliente da blockchain Hive
- @modelcontextprotocol/sdk - SDK MCP
- zod - Validação de esquemas
Licença
ISC
Contribuição
Contribuições são bem-vindas! Sinta-se à vontade para enviar um Pull Request.
Consulte o arquivo CONTRIBUTING.md para diretrizes de contribuição mais detalhadas.