区块链交互服务器

Hive MCP Server是一个连接AI助手与Hive区块链的服务器,提供账户信息查询、内容发布、加密货币交易和加密消息等功能。

  • by gluneau
  • TypeScript
  • 本地部署
  • 5 星标
  • 更新于
在 GitHub 查看 gluneau/hive-mcp-server

使用说明

Hive MCP服务器

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

概述

该服务器在AI助手(如Claude)和Hive区块链之间提供了一座桥梁,允许AI模型:

  • 获取帐户信息和历史记录
  • 检索博客文章和讨论
  • 按标签或用户获取帖子
  • 对内容进行投票并创建帖子(在经过适当验证后)
  • 将HIVE或HBD代币发送到其他帐户
  • 使用Hive密钥对消息进行签名和验证
  • 发送和接收加密消息

特性

提示

  • create-post -创建一个结构化的提示,以指导AI创建具有正确格式和标签的新Hive帖子
  • analyze-account -生成提示以分析Hive帐户的统计信息、发布历史记录和活动模式

工具

读取数据

  • get_account_info -获取Hive区块链帐户的详细信息
  • get_post_content -按作者和permlink检索特定帖子
  • 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检查器进行调试

MCP检查器提供了一个交互式界面,用于测试和调试服务器:

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

验证配置

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

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

安全说明:切勿共享您的私钥或将其提交给版本控制。使用环境变量或安全配置方法。

与AI助手集成

克劳德桌面

要将此服务器与Claude Desktop一起使用,请执行以下操作:

  1. 确保你有 克劳德桌面 安装

  2. 打开或创建Claude配置文件:

    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • 窗户: %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"
      }
    }
  }
}

风浪和光标

同样的JSON配置也适用于Windsurf(in windsurf_config.json)对于光标(in ~/.cursor/mcp.json 对于版本>=0.47)。

在以前的版本中,您必须在设置的MCP部分使用1行命令格式: 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'的最新帖子”
  • “鲍勃的账户余额和详细信息是多少?”
  • “获取‘charlie’的交易历史记录”
  • “你能用permlink‘我很棒的帖子’为‘戴夫’的帖子投票吗?”
  • “在Hive上创建一篇关于人工智能技术的新帖子”
  • “向用户'frank'发送1个HIVE,并附上备忘录‘谢谢你的帮助!’”
  • “使用我的Hive发布密钥签署此消息:'验证我的身份'”
  • “当前Hive区块链的属性是什么?”
  • “显示用户'grace'授予的授权”
  • “为用户'alice'加密此消息:'这是一条机密消息'”
  • “解密来自'bob'的此消息:'#4f3a5b…'”
  • “给‘查理’发一条加密信息,说‘我们明天见吧’”
  • “显示我的加密邮件并解密它们”
  • “获取我与'dave'交换的最后10条加密消息”

工具文档

get_account_info

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

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

get_post_content

检索由作者和permlink标识的特定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或HBD令牌发送到另一个HIVE帐户。

  • 参数:
    • to:收件人配置单元用户名
    • 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/ -客户端配置和日志级别处理

依赖项

许可证

国际协调委员会

贡献

欢迎投稿!请随时提交拉取请求。

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