返回市场
hive-mcp服务器

hive-mcp服务器

作者:gluneau2 星标更新:2025-05-09

项目介绍

Hive MCP Server

在MseeP上验证 smithery 徽章 glama 徽章

这是一个MCP服务器,使AI助手能够通过模型上下文协议与Hive区块链进行交互。

概述

该服务器提供了一个桥梁,连接AI助手(如Claude)和Hive区块链,允许AI模型执行以下操作:

  • 获取账户信息和历史记录
  • 检索博客文章和讨论
  • 根据标签或用户获取帖子
  • 对内容进行投票并创建帖子(当正确认证时)
  • 向其他账户发送HIVE或HBD代币
  • 使用Hive密钥签名和验证消息
  • 发送和接收加密消息

功能

提示

  • create-post - 创建一个结构化的提示,引导AI创建具有正确格式和标签的新Hive帖子
  • analyze-account - 生成一个提示,分析Hive账户的统计数据、发帖历史和活动模式

工具

读取数据

  • get_account_info - 获取关于Hive区块链账户的详细信息
  • get_post_content - 根据作者和永久链接检索特定帖子
  • get_posts_by_tag - 根据标签和类别(热门、趋势等)检索帖子
  • get_posts_by_user - 从特定用户或其动态中获取帖子
  • get_account_history - 获取账户的交易历史,可选的操作过滤
  • get_chain_properties - 获取当前Hive区块链属性和统计数据
  • get_vesting_delegations - 获取由特定账户做出的委托列表

区块链交互(需要认证)

  • vote_on_post - 对Hive内容进行投票(需要发布密钥)
  • create_post - 在Hive区块链上创建新的博客文章(需要发布密钥)
  • create_comment - 对现有帖子发表评论或回复评论(需要发布密钥)
  • send_token - 向其他账户发送HIVE或HBD加密货币(需要活跃密钥)

加密学

  • sign_message - 使用Hive私钥对消息进行签名
  • verify_signature - 验证消息签名是否与Hive公钥匹配

加密消息

  • encrypt_message - 为特定Hive账户加密消息
  • decrypt_message - 解密来自特定Hive账户的加密消息
  • send_encrypted_message - 使用代币转移发送加密消息
  • get_encrypted_messages - 检索并可选解密账户历史中的消息

使用MCP Inspector调试

MCP Inspector提供了测试和调试服务器的交互界面:

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

认证配置

要启用认证操作(投票、发帖、发送代币),您需要设置环境变量:

export HIVE_USERNAME=your-hive-username
export HIVE_POSTING_KEY=your-hive-posting-private-key  # 用于内容操作
export HIVE_ACTIVE_KEY=your-hive-active-private-key    # 用于代币转移
export HIVE_MEMO_KEY=your-hive-memo-private-key        # 用于加密消息

安全提示:永远不要分享您的私钥或将它们提交到版本控制。使用环境变量或安全配置方法。

与AI助手集成

Claude Desktop

要在Claude Desktop中使用此服务器:

  1. 确保已安装Claude Desktop

  2. 打开或创建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. 将此服务器添加到您的配置中:

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

相同的JSON配置适用于Windsurf(在windsurf_config.json中)和Cursor(在~/.cursor/mcp.json中,版本>=0.47)。

在较早版本中,您需要在设置的MCP部分使用一行命令格式: 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

示例

一旦连接到MCP客户端,您可以询问如下问题:

  • "在Hive上的#photography标签下有哪些热门帖子?"
  • "显示用户名为'alice'的最近帖子"
  • "'bob'的账户余额和详情是什么?"
  • "获取'charlie'的交易历史"
  • "可以给'dave'的permlink为'my-awesome-post'的帖子点赞吗?"
  • "在Hive上创建一篇关于AI技术的新帖子"
  • "向用户'frank'发送1 HIVE,并附带留言'Thanks for your help!'"
  • "用我的Hive发布密钥签名这条消息:'Verifying my identity'"
  • "当前的Hive区块链属性是什么?"
  • "显示用户'grace'做出的委托列表"
  • "为用户'alice'加密这条消息:'This is a secret message'"
  • "解密来自'bob'的消息:'#4f3a5b...'"
  • "向'charlie'发送一条加密消息说'Let's meet tomorrow'"
  • "显示我的加密消息并解密它们"
  • "获取我与'dave'交换的最后10条加密消息"

工具文档

get_account_info

获取关于Hive区块链账户的详细信息,包括余额、权限、投票权和其他指标。

  • 参数:
    • username: 要获取信息的Hive用户名

get_post_content

根据作者和永久链接检索特定的Hive博客文章。

  • 参数:
    • author: 帖子的作者
    • permlink: 帖子的永久链接

get_posts_by_tag

根据特定标签筛选并按类别排序检索Hive帖子。

  • 参数:
    • category: 排序类别(热门、趋势、创建等)
    • tag: 用于筛选帖子的标签
    • limit: 返回的帖子数量(1-20)

get_posts_by_user

检索由特定Hive用户撰写或在其动态中的帖子。

  • 参数:
    • category: 要获取的用户帖子类型(博客或动态)
    • username: 要获取帖子的Hive用户名
    • limit: 返回的帖子数量(1-20)

get_account_history

获取Hive账户的交易历史,可选的操作类型过滤。

  • 参数:
    • username: Hive用户名
    • limit: 返回的操作数量
    • operation_filter: 可选的操作类型过滤列表

get_chain_properties

获取当前Hive区块链属性和统计数据。

  • 参数:无

get_vesting_delegations

获取由特定Hive账户做出的委托列表。

  • 参数:
    • username: 要获取委托的Hive账户
    • limit: 最多检索的委托数量
    • from: 可选的分页起始账户

vote_on_post

使用配置的Hive账户对Hive帖子进行投票(点赞或踩)。

  • 参数:
    • author: 要投票的帖子的作者
    • permlink: 要投票的帖子的永久链接
    • weight: 投票权重,从-10000(100%踩)到10000(100%点赞)

create_post

使用配置的账户在Hive区块链上创建新的博客文章。

  • 参数:
    • title: 博客文章的标题
    • body: 博客文章的内容(支持Markdown)
    • tags: 帖子的标签
    • 其他可选参数,如奖励、受益者等

create_comment

在现有的Hive帖子上创建评论或回复其他评论。

  • 参数:
    • parent_author: 回复的帖子作者或评论的用户名
    • parent_permlink: 回复的帖子或评论的永久链接
    • body: 评论的内容(支持Markdown)
    • 其他可选参数,如奖励、受益者等

send_token

使用配置的账户向其他Hive账户发送HIVE或HBD代币。

  • 参数:
    • to: 收件人的Hive用户名
    • amount: 要发送的代币数量
    • currency: 要发送的货币(HIVE或HBD)
    • memo: 可选的随交易附带的留言

sign_message

使用来自环境变量的Hive私钥对消息进行签名。

  • 参数:
    • message: 要签名的消息
    • key_type: 要使用的密钥类型(发布、活跃或留言)

verify_signature

验证数字签名是否与Hive公钥匹配。

  • 参数:
    • message_hash: 消息的SHA-256哈希值(十六进制格式)
    • signature: 要验证的签名字符串
    • public_key: 要验证的公钥

encrypt_message

使用留言加密为特定Hive账户加密消息。

  • 参数:
    • message: 要加密的消息
    • recipient: 收件人的Hive用户名

decrypt_message

解密来自特定Hive账户的加密消息。

  • 参数:
    • encrypted_message: 加密消息(以#开头)
    • sender: 发件人的Hive用户名

send_encrypted_message

使用小额代币转移向Hive账户发送加密消息。

  • 参数:
    • message: 要加密并发送的消息
    • recipient: 收件人的Hive用户名
    • amount: 要发送的HIVE数量(最小0.001,默认:0.001)

get_encrypted_messages

从账户历史中检索加密消息,可选地尝试解密。

  • 参数:
    • username: 要获取加密消息的Hive用户名
    • limit: 最多检索的消息数量(默认:20)
    • decrypt: 是否尝试解密消息(默认:false)

开发

项目结构

  • src/index.ts - 主服务器实现
  • src/tools/ - 所有工具的实现
  • src/schemas/ - 工具参数的Zod模式
  • src/utils/ - 与Hive区块链交互的实用函数
  • src/config/ - 客户端配置和日志级别处理

依赖项

许可证

ISC

贡献

欢迎贡献!请随时提交Pull Request。

参见CONTRIBUTING.md文件以获取更详细的贡献指南。