小贴士:按下Ctrl+D 或 ⌘+D,一键收藏本站,方便下次快速访问!
ISC License
2
最近更新:1个月前

使AI助手能够通过模型上下文协议与Hive区块链进行交互,支持获取账户信息、读取/创建内容、加密货币转账以及执行加密操作等功能。

Hive MCP 服务器

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 提供了一个交互式界面来测试和调试服务器:

bash 复制代码
npx @modelcontextprotocol/inspector npx @gluneau/hive-mcp-server

认证配置

为了启用经过身份验证的操作(投票、发布、发送代币),您需要设置环境变量:

bash 复制代码
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. 将此服务器添加到您的配置中:

json 复制代码
{
  "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(对于版本 >= 0.47,在 ~/.cursor/mcp.json 中)。

在以前的版本中,您需要在设置的 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' 的帖子 'my-awesome-post' 进行点赞吗?"
  • "在 Hive 上创建一篇关于人工智能技术的新帖子"
  • "向用户 'frank' 发送 1 HIVE 并附上备注 '感谢你的帮助!'"
  • "用我的 Hive 发布密钥签署这条消息:'验证我的身份'"
  • "当前 Hive 区块链的属性是什么?"
  • "显示用户 'grace' 进行的委托权益分配"
  • "为用户 'alice' 加密这条消息:'这是一条秘密消息'"
  • "解密这条来自 'bob' 的消息:'#4f3a5b...' "
  • "向 'charlie' 发送一条加密消息说 '我们明天见面吧'"
  • "显示我的加密消息并解密它们"
  • "显示我与 '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

贡献

欢迎贡献!请随时提交拉取请求。

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