
Hive Server
使AI助手能够通过模型上下文协议与Hive区块链进行交互,支持获取账户信息、读取/创建内容、加密货币转账以及执行加密操作等功能。
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
- 按作者和永久链接检索特定帖子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 一起工作:
-
确保已安装 Claude Desktop
-
打开或创建 Claude 配置文件:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
- Windows:
%APPDATA%\Claude\claude_desktop_config.json
- Linux:
~/.config/Claude/claude_desktop_config.json
- macOS:
-
将此服务器添加到您的配置中:
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/
- 客户端配置和日志级别处理
依赖项
- @hiveio/dhive - Hive 区块链客户端
- @modelcontextprotocol/sdk - MCP SDK
- zod - 模式验证
许可证
ISC
贡献
欢迎贡献!请随时提交拉取请求。
查看 CONTRIBUTING.md 文件以获取更详细的贡献指南。