比特币与闪电网络MCP服务器

一个Model Context Protocol(MCP)服务器,使AI模型能够与比特币和闪电网络交互,支持密钥生成、地址验证、交易解码、区块链查询等功能。

  • by git-ravenbin
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 git-ravenbin/bitcoin-mcp

使用说明

₿itcoin和闪电网络MCP服务器

Documentation | Try with Claude | Try with Goose

概述

一个模型上下文协议(MCP)服务器,使AI模型能够与比特币和闪电网络交互,允许它们生成密钥、验证地址、解码交易、查询区块链等。

🎮 演示

克劳德·德莫 视频 鹅演示 视频

💼 目录

🔧 特性

  • 密钥生成:创建新的比特币密钥对,包括地址、公钥和私钥(WIF)。
  • 地址验证:验证比特币地址的正确性。
  • 交易解码:解析原始比特币交易,并以人类可读的格式显示其详细信息。
  • 区块链查询:
    • 最新区块:检索有关最新块的详细信息(哈希、高度、时间戳、事务计数等)。
    • 交易详情:使用交易的TXID获取交易的详细信息。
  • 闪电网络:
    • 发票解码:解析BOLT11 Lightning发票并显示人类可读的信息。
    • 支付:直接从您的LNBits钱包支付闪电发票。

🔑 Claude桌面集成

要将比特币MCP服务器与Claude Desktop(Anthropic的Claude桌面应用程序)一起使用,请按照以下步骤操作:

  1. 下载并安装Claude Desktop: 访问Claude Desktop官方下载页面,获取适用于您的操作系统(macOS或Windows)的应用程序(安装桌面版Claude | Anthropic帮助中心).安装应用程序并确保您使用的是最新版本(您可以在应用程序菜单中检查更新)。

  2. 配置Claude Desktop以使用比特币MCP服务器: 打开Claude Desktop配置文件(首次在Claude Desktop中编辑设置时创建):

    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • 窗户: %APPDATA%\Claude\claude_desktop_config.json
      在此JSON配置中,在下面添加比特币MCP服务器的条目 "mcpServers" 部分。例如:
    {
      "mcpServers": {
        "bitcoin-mcp": {
          "command": "npx",
          "args": ["-y", "bitcoin-mcp@latest"]
        }
      }
    }
    

    在上述片段中, "bitcoin-mcp" 是服务器的标识符(您可以随意命名)。这 command 设置为运行 npx 命令,以及 args 指向您的比特币MCP服务器脚本的路径或运行服务器的命令。

  3. 重新启动克劳德桌面: 保存 claude_desktop_config.json 文件,然后 关闭并重新打开Claude Desktop。在下次启动时,Claude将按配置自动启动比特币MCP服务器。如果Claude Desktop正在运行,则需要重新启动它才能使更改生效。

测试Claude桌面集成

重新启动Claude Desktop后,您可以测试比特币MCP服务器是否正常工作:

  • 问克劳德一个与比特币相关的示例问题。 例如,试着问: “比特币网络上的最新区块是什么?” 如果集成成功,Claude的响应应该包括通过MCP服务器获取的最新块,而不是“我不知道”或通用答案。您还可以尝试其他查询,例如 “请提供有关TXID为abcdef1234567890abcdef234567890abc def12345678900abc def1234567 890abcedef1234567890的交易信息。” Claude应该使用MCP服务器的工具来检索数据并回答您的查询。

  • 验证响应: Claude应该返回一个详细的答案(例如比特币网络上的最新区块),没有错误。如果您收到错误消息或没有有用的响应,则MCP服务器可能连接不正确。

  • 检查克劳德的日志(如果需要): Claude Desktop提供的日志文件可以帮助调试MCP集成。如果工具没有响应,请检查以下中的日志文件:

    • macOS: ~/Library/Logs/Claude/
    • 窗户: %APPDATA%\Claude\logs\
      寻找 mcp.log 对于一般MCP连接消息,以及一个名为 mcp-server-bitcoin-mcp.log (或您使用的任何名称)用于MCP服务器的输出/错误。这些日志将显示服务器是否启动或是否存在任何错误(例如服务器中的错误路径或异常)。如果您看到错误,请根据需要修复配置或环境,然后重新启动Claude Desktop并再次测试。

🦆 鹅集成

Goose是Block的一个开源AI代理框架,支持通过模型上下文协议进行扩展。您可以将比特币MCP服务器集成为Goose扩展,以允许Goose与比特币区块链进行交互。Goose支持MCP服务器的两种集成模式:作为本地进程运行服务器(STDIO)或通过服务器发送事件(SSE)作为远程服务连接到服务器。以下是这两种方法的说明:

使用STDIO(本地扩展)

此方法将比特币MCP服务器作为Goose的子进程在本地运行,通过标准输入/输出进行通信。

  1. 在Goose中添加新扩展名: 打开Goose的配置界面。您可以通过命令行运行 goose configure,或在Goose Desktop应用程序中访问 设置>扩展。从菜单中选择 “添加扩展名。” (使用扩展|鹅)

  2. 选择扩展类型–命令行扩展: 当系统提示输入扩展类型时,选择 命令行扩展 (在CLI菜单或UI中),以便Goose知道它应该启动本地命令(使用扩展|鹅)(与内置或远程扩展相反)。

  3. 输入分机详细信息: 为比特币MCP服务器提供名称和命令:

    • 姓名: 你可以称之为“比特币”,或任何标识符(这将是你指代扩展的方式)。

    • 命令: 指定如何运行MCP服务器。例如,如果你有Python脚本,输入命令来运行它。在CLI配置器中,它可能会问“应该运行什么命令?”——你会输入:

      npx -y bitcoin-mcp@latest
      

      这个消息告诉鹅启动比特币MCP服务器(GitHub-阿卜杜勒斯塔克/比特币mcp:比特币mcp服务器).(确保使用正确的服务器脚本路径或正确的命令来运行服务器,就像在Claude配置中一样。)

    • 您通常不需要在脚本路径之外添加任何参数(除非您的服务器需要特殊标志)。上述命令使用默认的STDIO传输,Goose希望将其作为命令行扩展。(在Goose配置文件中,这将对应于以下条目 cmd: "npx" 和 args: ["-y", "bitcoin-mcp@latest"],与 type: stdio 指示标准I/O模式(使用扩展|鹅).)

  4. 完成并启用: 完成扩展添加。Goose将在其配置中添加此新扩展(通常 ~/.config/goose/config.yaml).确保扩展 启用 (如果使用CLI向导,则添加后应默认启用它;在Goose Desktop应用程序中,您可以检查扩展列表,如果尚未打开,则可以将其打开(使用扩展|鹅) (使用扩展|鹅)).

  5. 使用新扩展启动Goose会话: 现在,您可以在Goose中使用该扩展。如果您通过CLI运行Goose,请运行以下命令启动包含扩展的会话:

    goose session --with-extension "bitcoin"
    

将“bitcoin”替换为您为扩展名指定的任何名称(使用扩展|鹅).(这可确保会话加载扩展。或者,如果扩展是全局启用的,Goose Desktop或CLI将自动使其在所有会话中可用。)

使用SSE(远程扩展)

此方法通过HTTP SSE流将Goose连接到已运行的MCP服务器。如果您想将比特币MCP服务器作为独立服务运行(可能在另一台机器上或仅独立于Goose),请使用此选项。

  1. 将MCP服务器作为独立服务启动: 运行比特币MCP服务器,使其监听连接。在实践中,这意味着服务器需要以服务于MCP的HTTP端点的模式启动。例如,您可以使用特定的命令或选项运行服务器,以在端口上侦听(例如使用MCP库的内置web服务器功能或在web框架下运行)。确保服务器在已知URL处可访问(例如。, http://localhost:9000)并支持SSE上的MCP协议。

  2. 在Goose(Remote)中添加新扩展名: 像以前一样,跑 goose configure 或使用Goose UI 添加扩展名 (使用扩展|鹅).这一次,选择 远程扩展 当被问及扩展类型时(使用扩展|鹅).这个消息告诉Goose它将通过SSE连接到外部服务器。

  3. 输入远程扩展详细信息: 为扩展名命名(例如“bitcoin”)并提供服务器的URL 统一资源定位符,输入运行MCP服务器的基址。例如,如果您的服务器正在侦听本地计算机上的端口9000,您可以输入 http://localhost:9000.Gose将尝试连接到该地址的MCP服务器的SSE端点。(Goose使用标准MCP SSE路径,按照惯例,该路径位于 /mcp/sse 在服务器上路由时,通常只需要提供主机和端口,其余的由Goose处理。)

  4. 启用扩展: 添加远程扩展后,确保在Goose的设置中启用它(就像STDIO的情况一样)。只需要启用STDIO或SSE扩展中的一个(使用相同的工具)——如果您意外启用了同一服务器的本地和远程版本,您可能需要禁用一个以避免混淆。

在Goose中使用比特币MCP扩展: 一旦设置并启用了扩展(通过上述任一方法),您就可以与Goose交互并通过它查询比特币数据。在新的Goose聊天或会话中,只需像往常一样提问。Goose将识别何时使用比特币MCP工具来满足您的请求。例如:

  • “最新的比特币区块是什么?”
  • “请提供有关TXID为abcdef1234567890abcdef234567890abc def12345678900abc def1234567 890abcedef1234567890的交易信息。”

当你问这些问题时,Goose将调用MCP服务器的工具并返回答案(例如,最新的比特币区块信息)。您应该看到Goose通过MCP服务器从比特币区块链中提取最新信息进行响应。

如果Goose似乎没有使用该扩展(例如,如果它响应说找不到信息),请确保该扩展已启用,并且服务器正在运行(远程为SSE模式)。您还可以运行Goose的CLI,并记录详细日志,以查看它是否尝试调用扩展。通常,如果配置正确,Goose会自动发现MCP服务器的功能,并在相关时使用它们。

更多资源: 有关Goose扩展和MCP的更多详细信息,请参阅Goose官方文档(使用扩展|鹅).这些文档包括一系列内置和社区扩展,并解释了MCP服务器如何集成到Goose中。您还可以在Goose文档和模型上下文协议文档中找到可用MCP服务器的目录和其他配置提示。如果你想探索更多的扩展或开发自己的扩展,这会有所帮助。

📦 开发设置

在中查找设置说明 开发设置 导游。

闪电网络配置(可选)

要使用闪电网络功能,您需要配置LNBits连接详细信息。这些是可选的,只有在您计划使用闪电网络工具时才需要。

{
  "lnbitsUrl": "https://demo.lnbits.com",  
  "lnbitsAdminKey": "your_admin_key",      // Required for making payments
  "lnbitsReadKey": "your_read_key"         // Required for wallet information
}

您可以通过以下方式获得这些值:

  1. 在以下网址创建帐户 LNBits
  2. 创建新钱包
  3. 转到API信息查找您的API密钥

📦 可用工具

在中查找可用工具 api参考 导游。

🚨 错误处理

服务器采用自定义错误类型来处理比特币操作和区块链查询。使用Pino记录详细的错误消息,并将其包含在客户端响应中,以便于调试。

🤝 贡献

欢迎投稿和功能请求!欢迎在GitHub上提交pull请求或开放问题。

📝 许可证

该项目根据 MIT许可证.