Hive MCP Server

Hive MCP Server

Mirror of

MCP-Mirror

Research & Data
Visit Server

README

Hive MCP Server

smithery badge glama badge

An MCP server that enables AI assistants to interact with the Hive blockchain through the Model Context Protocol.

Overview

This server provides a bridge between AI assistants (like Claude) and the Hive blockchain, allowing AI models to:

  • Fetch account information and history
  • Retrieve blog posts and discussions
  • Get posts by tag or user
  • Vote on content and create posts (when properly authenticated)
  • Send HIVE or HBD tokens to other accounts
  • Sign and verify messages with Hive keys
  • Send and receive encrypted messages

Features

Prompts

  • create-post - Creates a structured prompt to guide the AI through creating a new Hive post with the right format and tags
  • analyze-account - Generates a prompt to analyze a Hive account's statistics, posting history, and activity patterns

Tools

Reading Data

  • get_account_info - Get detailed information about a Hive blockchain account
  • get_post_content - Retrieve a specific post by author and permlink
  • get_posts_by_tag - Retrieve posts by tag and category (trending, hot, etc.)
  • get_posts_by_user - Fetch posts from a specific user or their feed
  • get_account_history - Get transaction history for an account with optional operation filtering
  • get_chain_properties - Fetch current Hive blockchain properties and statistics
  • get_vesting_delegations - Get a list of vesting delegations made by a specific account

Blockchain Interactions (Require Authentication)

  • vote_on_post - Vote on Hive content (requires posting key)
  • create_post - Create new blog posts on the Hive blockchain (requires posting key)
  • create_comment - Comment on existing posts or reply to comments (requires posting key)
  • send_token - Send HIVE or HBD cryptocurrency to other accounts (requires active key)

Cryptography

  • sign_message - Sign a message using a Hive private key
  • verify_signature - Verify a message signature against a Hive public key

Encrypted Messaging

  • encrypt_message - Encrypt a message for a specific Hive account
  • decrypt_message - Decrypt an encrypted message from a specific Hive account
  • send_encrypted_message - Send an encrypted message using a token transfer
  • get_encrypted_messages - Retrieve and optionally decrypt messages from account history

Debugging with MCP Inspector

The MCP Inspector provides an interactive interface for testing and debugging the server:

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

Authentication Configuration

To enable authenticated operations (voting, posting, sending tokens), you'll need to set environment variables:

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

Security Note: Never share your private keys or commit them to version control. Use environment variables or a secure configuration approach.

Integration with AI Assistants

Claude Desktop

To use this server with Claude Desktop:

  1. Ensure you have Claude Desktop installed

  2. Open or create the Claude configuration file:

    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows: %APPDATA%\Claude\claude_desktop_config.json
    • Linux: ~/.config/Claude/claude_desktop_config.json
  3. Add this server to your configuration:

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

The same JSON configuration works for Windsurf (in windsurf_config.json) and for Cursor (in ~/.cursor/mcp.json for version >= 0.47).

In previous versions, you'll have to use the 1 line command format in the MCP section of the Settings : 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

Examples

Once connected to an MCP client, you can ask questions like:

  • "What are the trending posts in the #photography tag on Hive?"
  • "Show me the recent posts from username 'alice'"
  • "What's the account balance and details for 'bob'?"
  • "Get the transaction history for 'charlie'"
  • "Can you upvote the post by 'dave' with permlink 'my-awesome-post'?"
  • "Create a new post on Hive about AI technology"
  • "Send 1 HIVE to user 'frank' with the memo 'Thanks for your help!'"
  • "Sign this message with my Hive posting key: 'Verifying my identity'"
  • "What are the current Hive blockchain properties?"
  • "Show me the vesting delegations made by user 'grace'"
  • "Encrypt this message for user 'alice': 'This is a secret message'"
  • "Decrypt this message from 'bob': '#4f3a5b...'"
  • "Send an encrypted message to 'charlie' saying 'Let's meet tomorrow'"
  • "Show me my encrypted messages and decrypt them"
  • "Get the last 10 encrypted messages I've exchanged with 'dave'"

Tool Documentation

get_account_info

Fetches detailed information about a Hive blockchain account including balance, authority, voting power, and other metrics.

  • Parameters:
    • username: Hive username to fetch information for

get_post_content

Retrieves a specific Hive blog post identified by author and permlink.

  • Parameters:
    • author: Author of the post
    • permlink: Permlink of the post

get_posts_by_tag

Retrieves Hive posts filtered by a specific tag and sorted by a category.

  • Parameters:
    • category: Sorting category (trending, hot, created, etc.)
    • tag: The tag to filter posts by
    • limit: Number of posts to return (1-20)

get_posts_by_user

Retrieves posts authored by or in the feed of a specific Hive user.

  • Parameters:
    • category: Type of user posts to fetch (blog or feed)
    • username: Hive username to fetch posts for
    • limit: Number of posts to return (1-20)

get_account_history

Retrieves transaction history for a Hive account with optional operation type filtering.

  • Parameters:
    • username: Hive username
    • limit: Number of operations to return
    • operation_filter: Optional list of operation types to filter for

get_chain_properties

Fetch current Hive blockchain properties and statistics.

  • Parameters: None

get_vesting_delegations

Get a list of vesting delegations made by a specific Hive account.

  • Parameters:
    • username: Hive account to get delegations for
    • limit: Maximum number of delegations to retrieve
    • from: Optional starting account for pagination

vote_on_post

Vote on a Hive post (upvote or downvote) using the configured Hive account.

  • Parameters:
    • author: Author of the post to vote on
    • permlink: Permlink of the post to vote on
    • weight: Vote weight from -10000 (100% downvote) to 10000 (100% upvote)

create_post

Create a new blog post on the Hive blockchain using the configured account.

  • Parameters:
    • title: Title of the blog post
    • body: Content of the blog post (Markdown supported)
    • tags: Tags for the post
    • Various optional parameters for rewards, beneficiaries, etc.

create_comment

Create a comment on an existing Hive post or reply to another comment.

  • Parameters:
    • parent_author: Username of the post author or comment you're replying to
    • parent_permlink: Permlink of the post or comment you're replying to
    • body: Content of the comment (Markdown supported)
    • Various optional parameters for rewards, beneficiaries, etc.

send_token

Send HIVE or HBD tokens to another Hive account using the configured account.

  • Parameters:
    • to: Recipient Hive username
    • amount: Amount of tokens to send
    • currency: Currency to send (HIVE or HBD)
    • memo: Optional memo to include with the transaction

sign_message

Sign a message using a Hive private key from environment variables.

  • Parameters:
    • message: Message to sign
    • key_type: Type of key to use (posting, active, or memo)

verify_signature

Verify a digital signature against a Hive public key.

  • Parameters:
    • message_hash: The SHA-256 hash of the message in hex format
    • signature: Signature string to verify
    • public_key: Public key to verify against

encrypt_message

Encrypt a message for a specific Hive account using memo encryption.

  • Parameters:
    • message: Message to encrypt
    • recipient: Hive username of the recipient

decrypt_message

Decrypt an encrypted message received from a specific Hive account.

  • Parameters:
    • encrypted_message: Encrypted message (starts with #)
    • sender: Hive username of the sender

send_encrypted_message

Send an encrypted message to a Hive account using a small token transfer.

  • Parameters:
    • message: Message to encrypt and send
    • recipient: Hive username of the recipient
    • amount: Amount of HIVE to send (minimum 0.001, default: 0.001)

get_encrypted_messages

Retrieve encrypted messages from account history with optional decryption.

  • Parameters:
    • username: Hive username to fetch encrypted messages for
    • limit: Maximum number of messages to retrieve (default: 20)
    • decrypt: Whether to attempt decryption of messages (default: false)

Development

Project Structure

  • src/index.ts - Main server implementation
  • src/tools/ - Implementation of all tools
  • src/schemas/ - Zod schemas for tool parameters
  • src/utils/ - Utility functions for interacting with the Hive blockchain
  • src/config/ - Client Configuration and log level handling

Dependencies

License

ISC

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

See the CONTRIBUTING.md file for more detailed contribution guidelines.

Recommended Servers

Crypto Price & Market Analysis MCP Server

Crypto Price & Market Analysis MCP Server

A Model Context Protocol (MCP) server that provides comprehensive cryptocurrency analysis using the CoinCap API. This server offers real-time price data, market analysis, and historical trends through an easy-to-use interface.

Featured
TypeScript
MCP PubMed Search

MCP PubMed Search

Server to search PubMed (PubMed is a free, online database that allows users to search for biomedical and life sciences literature). I have created on a day MCP came out but was on vacation, I saw someone post similar server in your DB, but figured to post mine.

Featured
Python
dbt Semantic Layer MCP Server

dbt Semantic Layer MCP Server

A server that enables querying the dbt Semantic Layer through natural language conversations with Claude Desktop and other AI assistants, allowing users to discover metrics, create queries, analyze data, and visualize results.

Featured
TypeScript
mixpanel

mixpanel

Connect to your Mixpanel data. Query events, retention, and funnel data from Mixpanel analytics.

Featured
TypeScript
Sequential Thinking MCP Server

Sequential Thinking MCP Server

This server facilitates structured problem-solving by breaking down complex issues into sequential steps, supporting revisions, and enabling multiple solution paths through full MCP integration.

Featured
Python
Nefino MCP Server

Nefino MCP Server

Provides large language models with access to news and information about renewable energy projects in Germany, allowing filtering by location, topic (solar, wind, hydrogen), and date range.

Official
Python
Vectorize

Vectorize

Vectorize MCP server for advanced retrieval, Private Deep Research, Anything-to-Markdown file extraction and text chunking.

Official
JavaScript
Mathematica Documentation MCP server

Mathematica Documentation MCP server

A server that provides access to Mathematica documentation through FastMCP, enabling users to retrieve function documentation and list package symbols from Wolfram Mathematica.

Local
Python
kb-mcp-server

kb-mcp-server

An MCP server aimed to be portable, local, easy and convenient to support semantic/graph based retrieval of txtai "all in one" embeddings database. Any txtai embeddings db in tar.gz form can be loaded

Local
Python
Research MCP Server

Research MCP Server

The server functions as an MCP server to interact with Notion for retrieving and creating survey data, integrating with the Claude Desktop Client for conducting and reviewing surveys.

Local
Python