Hive MCP Server

Permite que los asistentes de IA interactúen con la blockchain de Hive a través del Protocolo de Contexto de Modelo.

Documentación

Servidor MCP de Hive

Verified on MseeP smithery badge glama badge

Un servidor MCP que permite a los asistentes de IA interactuar con la blockchain de Hive a través del Protocolo de Contexto de Modelo.

Descripción general

Este servidor proporciona un puente entre los asistentes de IA (como Claude) y la blockchain de Hive, permitiendo que los modelos de IA puedan:

  • Obtener información de cuentas e historial
  • Recuperar publicaciones de blog y discusiones
  • Obtener publicaciones por etiqueta o usuario
  • Votar en contenido y crear publicaciones (cuando esté correctamente autenticado)
  • Enviar tokens HIVE o HBD a otras cuentas
  • Firmar y verificar mensajes con claves de Hive
  • Enviar y recibir mensajes cifrados

Características

Prompts

  • create-post - Crea un prompt estructurado para guiar a la IA en la creación de una nueva publicación en Hive con el formato y las etiquetas correctas
  • analyze-account - Genera un prompt para analizar las estadísticas, el historial de publicaciones y los patrones de actividad de una cuenta de Hive

Herramientas

Lectura de datos

  • get_account_info - Obtener información detallada sobre una cuenta de la blockchain de Hive
  • get_post_content - Recuperar una publicación específica por autor y permlink
  • get_posts_by_tag - Recuperar publicaciones por etiqueta y categoría (tendencias, populares, etc.)
  • get_posts_by_user - Obtener publicaciones de un usuario específico o de su feed
  • get_account_history - Obtener el historial de transacciones de una cuenta con filtrado opcional por operación
  • get_chain_properties - Obtener las propiedades y estadísticas actuales de la blockchain de Hive
  • get_vesting_delegations - Obtener una lista de delegaciones de vesting realizadas por una cuenta específica

Interacciones con la blockchain (requieren autenticación)

  • vote_on_post - Votar en contenido de Hive (requiere clave de publicación)
  • create_post - Crear nuevas publicaciones de blog en la blockchain de Hive (requiere clave de publicación)
  • create_comment - Comentar en publicaciones existentes o responder a comentarios (requiere clave de publicación)
  • send_token - Enviar criptomonedas HIVE o HBD a otras cuentas (requiere clave activa)

Criptografía

  • sign_message - Firmar un mensaje usando una clave privada de Hive
  • verify_signature - Verificar la firma de un mensaje contra una clave pública de Hive

Mensajería cifrada

  • encrypt_message - Cifrar un mensaje para una cuenta específica de Hive
  • decrypt_message - Descifrar un mensaje cifrado de una cuenta específica de Hive
  • send_encrypted_message - Enviar un mensaje cifrado usando una transferencia de tokens
  • get_encrypted_messages - Recuperar y opcionalmente descifrar mensajes del historial de la cuenta

Depuración con MCP Inspector

El MCP Inspector proporciona una interfaz interactiva para probar y depurar el servidor:

npx @modelcontextprotocol/inspector npx @gluneau/hive-mcp-server

Configuración de autenticación

Para habilitar operaciones autenticadas (votar, publicar, enviar tokens), deberá configurar variables de entorno:

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 seguridad: Nunca comparta sus claves privadas ni las confirme en el control de versiones. Utilice variables de entorno o un enfoque de configuración seguro.

Integración con asistentes de IA

Claude Desktop

Para usar este servidor con Claude Desktop:

  1. Asegúrese de tener Claude Desktop instalado

  2. Abra o cree el archivo de configuración de 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. Agregue este servidor a su configuración:

{
  "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 y Cursor

La misma configuración JSON funciona para Windsurf (en windsurf_config.json) y para Cursor (en ~/.cursor/mcp.json para la versión >= 0.47).

En versiones anteriores, deberá usar el formato de comando de una línea en la sección MCP de la Configuración: 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

Ejemplos

Una vez conectado a un cliente MCP, puede hacer preguntas como:

  • "¿Cuáles son las publicaciones en tendencia en la etiqueta #photography en Hive?"
  • "Muéstrame las publicaciones recientes del usuario 'alice'"
  • "¿Cuál es el saldo de la cuenta y los detalles de 'bob'?"
  • "Obtén el historial de transacciones de 'charlie'"
  • "¿Puedes votar positivamente la publicación de 'dave' con permlink 'my-awesome-post'?"
  • "Crea una nueva publicación en Hive sobre tecnología de IA"
  • "Envía 1 HIVE al usuario 'frank' con el memo '¡Gracias por tu ayuda!'"
  • "Firma este mensaje con mi clave de publicación de Hive: 'Verificando mi identidad'"
  • "¿Cuáles son las propiedades actuales de la blockchain de Hive?"
  • "Muéstrame las delegaciones de vesting realizadas por el usuario 'grace'"
  • "Cifra este mensaje para el usuario 'alice': 'Este es un mensaje secreto'"
  • "Descifra este mensaje de 'bob': '#4f3a5b...'"
  • "Envía un mensaje cifrado a 'charlie' diciendo 'Nos vemos mañana'"
  • "Muéstrame mis mensajes cifrados y descifrarlos"
  • "Obtén los últimos 10 mensajes cifrados que he intercambiado con 'dave'"

Documentación de herramientas

get_account_info

Obtiene información detallada sobre una cuenta de la blockchain de Hive, incluidos saldo, autoridad, poder de voto y otras métricas.

  • Parámetros:
    • username: Nombre de usuario de Hive para obtener información

get_post_content

Recupera una publicación específica del blog de Hive identificada por autor y permlink.

  • Parámetros:
    • author: Autor de la publicación
    • permlink: Permlink de la publicación

get_posts_by_tag

Recupera publicaciones de Hive filtradas por una etiqueta específica y ordenadas por una categoría.

  • Parámetros:
    • category: Categoría de ordenamiento (tendencias, populares, creadas, etc.)
    • tag: La etiqueta para filtrar las publicaciones
    • limit: Número de publicaciones a devolver (1-20)

get_posts_by_user

Recupera publicaciones escritas por un usuario específico de Hive o de su feed.

  • Parámetros:
    • category: Tipo de publicaciones de usuario a obtener (blog o feed)
    • username: Nombre de usuario de Hive para obtener publicaciones
    • limit: Número de publicaciones a devolver (1-20)

get_account_history

Recupera el historial de transacciones de una cuenta de Hive con filtrado opcional por tipo de operación.

  • Parámetros:
    • username: Nombre de usuario de Hive
    • limit: Número de operaciones a devolver
    • operation_filter: Lista opcional de tipos de operación para filtrar

get_chain_properties

Obtiene las propiedades y estadísticas actuales de la blockchain de Hive.

  • Parámetros: Ninguno

get_vesting_delegations

Obtiene una lista de delegaciones de vesting realizadas por una cuenta específica de Hive.

  • Parámetros:
    • username: Cuenta de Hive para obtener delegaciones
    • limit: Número máximo de delegaciones a recuperar
    • from: Cuenta inicial opcional para paginación

vote_on_post

Vota en una publicación de Hive (a favor o en contra) usando la cuenta de Hive configurada.

  • Parámetros:
    • author: Autor de la publicación en la que votar
    • permlink: Permlink de la publicación en la que votar
    • weight: Peso del voto de -10000 (100% voto negativo) a 10000 (100% voto positivo)

create_post

Crea una nueva publicación de blog en la blockchain de Hive usando la cuenta configurada.

  • Parámetros:
    • title: Título de la publicación del blog
    • body: Contenido de la publicación del blog (Markdown compatible)
    • tags: Etiquetas para la publicación
    • Varios parámetros opcionales para recompensas, beneficiarios, etc.

create_comment

Crea un comentario en una publicación existente de Hive o responde a otro comentario.

  • Parámetros:
    • parent_author: Nombre de usuario del autor de la publicación o comentario al que responde
    • parent_permlink: Permlink de la publicación o comentario al que responde
    • body: Contenido del comentario (Markdown compatible)
    • Varios parámetros opcionales para recompensas, beneficiarios, etc.

send_token

Envía tokens HIVE o HBD a otra cuenta de Hive usando la cuenta configurada.

  • Parámetros:
    • to: Nombre de usuario de Hive del destinatario
    • amount: Cantidad de tokens a enviar
    • currency: Moneda a enviar (HIVE o HBD)
    • memo: Memo opcional para incluir con la transacción

sign_message

Firma un mensaje usando una clave privada de Hive de las variables de entorno.

  • Parámetros:
    • message: Mensaje a firmar
    • key_type: Tipo de clave a usar (publicación, activa o memo)

verify_signature

Verifica una firma digital contra una clave pública de Hive.

  • Parámetros:
    • message_hash: El hash SHA-256 del mensaje en formato hexadecimal
    • signature: Cadena de firma a verificar
    • public_key: Clave pública para verificar

encrypt_message

Cifra un mensaje para una cuenta específica de Hive usando cifrado de memo.

  • Parámetros:
    • message: Mensaje a cifrar
    • recipient: Nombre de usuario de Hive del destinatario

decrypt_message

Descifra un mensaje cifrado recibido de una cuenta específica de Hive.

  • Parámetros:
    • encrypted_message: Mensaje cifrado (comienza con #)
    • sender: Nombre de usuario de Hive del remitente

send_encrypted_message

Envía un mensaje cifrado a una cuenta de Hive usando una pequeña transferencia de tokens.

  • Parámetros:
    • message: Mensaje a cifrar y enviar
    • recipient: Nombre de usuario de Hive del destinatario
    • amount: Cantidad de HIVE a enviar (mínimo 0.001, predeterminado: 0.001)

get_encrypted_messages

Recupera mensajes cifrados del historial de la cuenta con descifrado opcional.

  • Parámetros:
    • username: Nombre de usuario de Hive para obtener mensajes cifrados
    • limit: Número máximo de mensajes a recuperar (predeterminado: 20)
    • decrypt: Si se debe intentar descifrar los mensajes (predeterminado: falso)

Desarrollo

Estructura del proyecto

  • src/index.ts - Implementación principal del servidor
  • src/tools/ - Implementación de todas las herramientas
  • src/schemas/ - Esquemas Zod para parámetros de herramientas
  • src/utils/ - Funciones de utilidad para interactuar con la blockchain de Hive
  • src/config/ - Configuración del cliente y manejo del nivel de registro

Dependencias

Licencia

ISC

Contribuciones

¡Las contribuciones son bienvenidas! No dude en enviar una Solicitud de Extracción.

Consulte el archivo CONTRIBUTING.md para obtener pautas de contribución más detalladas.