mcpField
A
albyhub-admin-mcp

albyhub-admin-mcp

本地服务
github.com/llmops-pro金融数据020 周前更新

关于 albyhub-admin-mcp

albyhub-admin-mcp 是供 Agent 检查或管理 Alby Hub Lightning 节点的 MCP 服务,提供节点与通道读取工具,以及可限制或要求确认写入的通用 HTTP 代理。

主要功能

  1. 01读取节点身份、网络和版本
  2. 02查看链上与 Lightning 余额
  3. 03列出 NWC 连接和通道
  4. 04代理任意 API 路径请求
  5. 05限制写入并记录请求

适用场景

  1. 01检查节点和通道状态
  2. 02查看 Hub 余额及子钱包
  3. 03探测不同 Hub 版本的 API 路径

MCP 相关

向 MCP 客户端提供 Alby Hub 节点信息、余额、NWC 连接和通道等工具。通用代理可访问其他 API 路径,并可对写入启用只读限制或确认步骤。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"llmops-pro-albyhub-admin": {
"command": "npx",
"args": [
"-y",
"albyhub-admin-mcp"
],
"env": {
"ALBYHUB_URL": "<ALBYHUB_URL>",
"ALBYHUB_TOKEN": "<ALBYHUB_TOKEN>",
"ALBYHUB_READ_ONLY": "<ALBYHUB_READ_ONLY>"
}
}
}
}
启动命令npx -y albyhub-admin-mcp
需要配置的环境变量
ALBYHUB_URLBase URL of the Alby Hub instance
ALBYHUB_TOKEN密钥Alby Hub API bearer token
ALBYHUB_READ_ONLYSet true to block all write operations (recommended for first-time setup)

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmalbyhub-admin-mcp0.1.2

工具

6

收录的工具列表 · 更新于 3 周前

参数类型必填说明
bodyany否请求正文——对象将作为 JSON 传递,字符串则按原始内容传递。GET/HEAD/OPTIONS 请求会忽略此项。
pathstring是Hub 上的路径,例如 `/api/info` 或 `/api/channels`。与 ALBYHUB_URL 组合使用。
queryobject否查询字符串参数(string → string)。
methodenum是HTTP 方法。GET/HEAD/OPTIONS 始终允许;其他方法受 READ_ONLY + REQUIRE_CONFIRM 控制。GET | POST | PUT | PATCH | DELETE | HEAD | OPTIONS
timeout_msinteger否请求超时时间,单位为 ms(默认值 15000,最大值 60000)。
extra_headersobject否要合并的额外 HTTP 标头。如果 Hub 要求使用 `X-API-Key` 而不是 `Authorization: Bearer`,此项会很有用。

详细介绍

albyhub-admin-mcp

向 LLM Agent 提供 Alby Hub 上的节点管理操作。 一个封装 Alby Hub HTTP API 的 MCP 服务,可读取节点信息、余额、通道和 NWC 子钱包。NWC(nwc-mcp)的功能范围仅限钱包,而本服务可进一步提供 Hub 级链上余额、通道状态和子钱包清单。

v0.1 — 防御性设计。 Alby Hub 的管理 API 在不同版本间不断演变,且没有稳定的公开版本规范。因此,v0.1 提供了一个通用代理工具,可访问任意路径(作为备用方案),并为少数成熟的端点提供类型化封装。如果类型化封装猜测的端点在你的 Hub 版本中不可用,代理可以帮你找到正确路径,无需重新发布。v0.2 将在针对真实 Hub 完成冒烟测试后,进一步完善类型化封装。


六个工具

工具方法路径用途
albyhub_proxy_request**通用 HTTP 代理——尚未封装的任意端点的备用方案。
albyhub_confirm_request**用于 proxy_request 的两步确认分发器。
albyhub_get_node_infoGET/api/info节点身份、网络和版本。
albyhub_get_balancesGET/api/balances链上与 Lightning 的汇总余额。
albyhub_list_appsGET/api/apps在此 Hub 上配置的 NWC 连接(子钱包)。
albyhub_list_channelsGET/api/channels带状态和容量信息的 Lightning 通道。

所有类型化封装都是安全的 GET 请求。非 GET 请求通过 albyhub_proxy_request 处理,并受 ALBYHUB_READ_ONLY 和 ALBYHUB_REQUIRE_CONFIRM 限制。


要求

  • Node 20+
  • 正在运行的 Alby Hub 实例(运行于 http://localhost:8080 的桌面应用,或部署在某处的可自托管实例)
  • Alby Hub API 令牌(在 Hub UI 中选择 Settings → Developer / Apps)

安装

npx -y albyhub-admin-mcp

配置

cp .env.example .env
# edit .env: set ALBYHUB_URL (default http://localhost:8080) + ALBYHUB_TOKEN
必填
变量用途
ALBYHUB_URLHub 的基础 URL。默认值为 http://localhost:8080。如果远程访问,请使用 HTTPS。
ALBYHUB_TOKENAPI 访问令牌。完整权限的令牌可能会耗尽 Hub 的链上余额——如果你在意使用者的安全,请缩小令牌权限范围,或设置 ALBYHUB_READ_ONLY=true。
可选安全设置
变量默认值用途
ALBYHUB_READ_ONLYfalse通过 proxy_request 拒绝所有非 GET 请求。首次设置时强烈建议启用。
ALBYHUB_REQUIRE_CONFIRMfalse对非 GET 请求启用两步确认。
ALBYHUB_MAX_REQUESTS_PER_MINUTE30滚动 60 秒速率限制。
ALBYHUB_LOG_PATH./albyhub-admin-mcp.log服务日志。
ALBYHUB_AUDIT_PATH./albyhub-admin-mcp-audit.log仅追加的 JSON 行审计日志。

如果我的 Hub 对类型化封装返回 404,该怎么办?

你的 Hub 版本可能使用了不同的端点路径。使用 albyhub_proxy_request 探查——尝试 /api/node、/info、/api/v1/info 等路径。找到正确路径后,可在使用时固定该路径(并联系维护者,在 v0.2 中修复类型化封装)。

agent: albyhub_proxy_request({ method: "GET", path: "/api/v1/info" })
→ { status: 200, body: { ... } }   // found it

安全模型

代理工具的处理流程:

  1. ALBYHUB_READ_ONLY 限制——直接阻止非 GET 请求。
  2. 速率限制——对 requests 计数桶应用滚动 60 秒窗口。
  3. ALBYHUB_REQUIRE_CONFIRM 限制——非 GET 请求会返回令牌;由 albyhub_confirm_request 执行请求。
  4. HTTP 请求——使用 Bearer 身份验证,超时时间为 15 秒(可通过 timeout_ms 覆盖)。
  5. 审计日志——将每次尝试(成功/已阻止/错误)记录为一行结构化 JSON。

仅支持 GET 的便捷封装会跳过第 1 和第 3 步(其设计本身就是安全的),但仍受速率限制并写入审计日志。


配套服务

  • nwc-mcp — 通过 NIP-47 执行钱包操作。按子钱包支出时使用此工具;执行整个 Hub 或节点级操作时使用 albyhub-admin-mcp。
  • nostr-ops-mcp — NOSTR 身份与发布。
  • marketplace-mcp — NIP-15 市场店面。

许可证

MIT — 请参阅 LICENSE。

联系方式 / 问题反馈

由 LLMOps.Pro 构建。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。