Hive MCP Server

Permite que assistentes de IA interajam com a blockchain Hive através do Model Context Protocol.

Documentação

Servidor Hive MCP

Verified on MseeP smithery badge glama badge

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 corretas
  • analyze-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 Hive
  • get_post_content - Recuperar uma postagem específica por autor e permlink
  • get_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 feed
  • get_account_history - Obter histórico de transações de uma conta com filtragem opcional por operação
  • get_chain_properties - Buscar propriedades e estatísticas atuais da blockchain Hive
  • get_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 Hive
  • verify_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ífica
  • decrypt_message - Descriptografar uma mensagem criptografada de uma conta Hive específica
  • send_encrypted_message - Enviar uma mensagem criptografada usando uma transferência de tokens
  • get_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:

  1. Certifique-se de ter o Claude Desktop instalado

  2. 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
  3. 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 postagem
    • permlink: 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 postagens
    • limit: 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 postagens
    • limit: 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 Hive
    • limit: Número de operações a retornar
    • operation_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ções
    • limit: Número máximo de delegações a recuperar
    • from: 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 votar
    • permlink: Permlink da postagem para votar
    • weight: 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 blog
    • body: 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á respondendo
    • parent_permlink: Permlink da postagem ou comentário ao qual você está respondendo
    • body: 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ário
    • amount: Quantidade de tokens a enviar
    • currency: 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 assinar
    • key_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 hexadecimal
    • signature: String de assinatura para verificar
    • public_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 criptografar
    • recipient: 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 enviar
    • recipient: Nome de usuário Hive do destinatário
    • amount: 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 criptografadas
    • limit: 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 servidor
  • src/tools/ - Implementação de todas as ferramentas
  • src/schemas/ - Esquemas Zod para parâmetros das ferramentas
  • src/utils/ - Funções utilitárias para interagir com a blockchain Hive
  • src/config/ - Configuração do Cliente e tratamento do nível de log

Dependências

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.