Bitcoin MCP Server
通过模型上下文协议促进与比特币网络的交互,从而实现密钥生成、地址验证、交易解码和区块链数据检索。
Tools
generate_key
Generate a new Bitcoin key pair and address
validate_address
Validate a Bitcoin address
decode_tx
Decode a Bitcoin transaction
get_latest_block
Get the latest block
get_transaction
Get transaction details
README
<div align="center">
<a href="https://github.com/AbdelStark/bitcoin-mcp/actions/workflows/ci.yml"><img alt="GitHub 工作流状态" src="https://img.shields.io/github/actions/workflow/status/AbdelStark/bitcoin-mcp/ci.yml?style=for-the-badge" height=30></a> <a href="https://bitcoin.org/"> <img alt="比特币" src="https://img.shields.io/badge/Bitcoin-000?style=for-the-badge&logo=bitcoin&logoColor=white" height=30></a> <a href="https://modelcontextprotocol.com/"> <img alt="MCP" src="https://img.shields.io/badge/MCP-000?style=for-the-badge&logo=modelcontextprotocol&logoColor=white" height=30></a>
</div>
₿itcoin & Lightning Network MCP 服务器
<div align="center"> <h3> <a href="abdelstark.github.io/bitcoin-mcp/"> 文档 </a> <span> | </span> <a href="https://abdelstark.github.io/bitcoin-mcp/docs/integration/claude-desktop"> 与 Claude 尝试 </a> <span> | </span> <a href="https://abdelstark.github.io/bitcoin-mcp/docs/integration/goose"> 与 Goose 尝试 </a> </h3> </div>
<div align="center"> <a href="https://smithery.ai/server/@AbdelStark/bitcoin-mcp"><img alt="Smithery 徽章" src="https://smithery.ai/badge/@AbdelStark/bitcoin-mcp"></a> <a href="https://www.npmjs.com/package/bitcoin-mcp"><img alt="NPM 版本" src="https://img.shields.io/npm/v/bitcoin-mcp"></a> </div>
概述
一个模型上下文协议 (MCP) 服务器,使 AI 模型能够与比特币和闪电网络交互,允许它们生成密钥、验证地址、解码交易、查询区块链等等。
<a href="https://glama.ai/mcp/servers/@AbdelStark/bitcoin-mcp"> <img width="380" height="200" src="https://glama.ai/mcp/servers/@AbdelStark/bitcoin-mcp/badge" alt="Bitcoin Server MCP server" /> </a>
🎮 演示
Claude 演示 视频 | Goose 演示 视频 |
---|---|
<img src="docs/static/img/bitcoin-mcp-claude-desktop-screenshot.png" alt="Claude Desktop Demo" width="400"/> | <img src="docs/static/img/bitcoin-mcp-goose-screenshot.png" alt="Goose Demo" width="400"/> |
💼 目录
🔧 功能
- 密钥生成: 创建新的比特币密钥对 — 包括地址、公钥和私钥 (WIF)。
- 地址验证: 验证比特币地址的正确性。
- 交易解码: 解析原始比特币交易,并以人类可读的格式显示其详细信息。
- 区块链查询:
- 最新区块: 检索有关最新区块的详细信息(哈希、高度、时间戳、交易计数等)。
- 交易详情: 使用其 TXID 获取有关交易的详细信息。
- 闪电网络:
- 发票解码: 解析 BOLT11 闪电发票并显示人类可读的信息。
- 支付: 直接从您的 LNBits 钱包支付闪电发票。
🔑 Claude Desktop 集成
要将 Bitcoin MCP 服务器与 Claude Desktop(Anthropic 的 Claude 桌面应用程序)一起使用,请按照以下步骤操作:
-
下载并安装 Claude Desktop: 访问 Claude Desktop 官方下载页面,获取适用于您的操作系统(macOS 或 Windows)的应用程序 (Installing Claude for Desktop | Anthropic Help Center)。 安装该应用程序并确保您使用的是最新版本(您可以在应用程序菜单中检查更新)。
-
配置 Claude Desktop 以使用 Bitcoin MCP 服务器: 打开 Claude Desktop 配置文件(首次在 Claude Desktop 中编辑设置时会创建该文件):
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
- Windows:
%APPDATA%\Claude\claude_desktop_config.json
在此 JSON 配置的"mcpServers"
部分下添加 Bitcoin MCP 服务器的条目。 例如:
{ "mcpServers": { "bitcoin-mcp": { "command": "npx", "args": ["-y", "bitcoin-mcp@latest"] } } }
在上面的代码片段中,
"bitcoin-mcp"
是服务器的标识符(您可以随意命名)。command
设置为运行npx
命令,args
指向您的 Bitcoin MCP 服务器脚本的路径或运行服务器的命令。 - macOS:
-
重启 Claude Desktop: 保存
claude_desktop_config.json
文件,然后关闭并重新打开 Claude Desktop。 在下次启动时,Claude 将自动启动配置的 Bitcoin MCP 服务器。 如果 Claude Desktop 正在运行,您需要重新启动它才能使更改生效。
测试 Claude Desktop 集成
重启 Claude Desktop 后,您可以测试 Bitcoin MCP 服务器是否正常工作:
-
向 Claude 询问一个与比特币相关的示例问题。 例如,尝试询问:"比特币网络上的最新区块是什么?" 如果集成成功,Claude 的响应应包括通过 MCP 服务器获取的最新区块,而不是“我不知道”或通用答案。 您还可以尝试其他查询,例如 "给我提供有关 TXID 为 abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890 的交易的信息。" Claude 应该使用 MCP 服务器的工具来检索数据并回答您的查询。
-
验证响应: Claude 应该返回详细的答案(例如,比特币网络上的最新区块),而没有错误。 如果您收到错误消息或没有有用的响应,则 MCP 服务器可能未正确连接。
-
检查 Claude 的日志(如果需要): Claude Desktop 提供日志文件,可以帮助调试 MCP 集成。 如果该工具没有响应,请检查以下位置的日志文件:
- macOS:
~/Library/Logs/Claude/
- Windows:
%APPDATA%\Claude\logs\
查找mcp.log
以获取常规 MCP 连接消息,以及名为mcp-server-bitcoin-mcp.log
(或您使用的任何名称)的文件,以获取 MCP 服务器的输出/错误。 这些日志将显示服务器是否已启动或是否存在任何错误(例如,服务器中的路径错误或异常)。 如果您看到错误,请根据需要修复配置或环境,然后重新启动 Claude Desktop 并再次测试。
- macOS:
🦆 Goose 集成
Goose 是 Block 的一个开源 AI 代理框架,它支持通过模型上下文协议进行扩展。 您可以将 Bitcoin MCP 服务器集成为 Goose 扩展,以允许 Goose 与比特币区块链交互。 Goose 支持 MCP 服务器的两种集成模式:将服务器作为本地进程 (STDIO) 运行,或通过服务器发送事件 (SSE) 将其作为远程服务连接。 以下是两种方法的说明:
使用 STDIO (本地扩展)
此方法在本地将 Bitcoin MCP 服务器作为 Goose 的子进程运行,通过标准输入/输出进行通信。
-
在 Goose 中添加新扩展: 打开 Goose 的配置界面。 您可以通过运行
goose configure
从命令行执行此操作,或者在 Goose Desktop 应用程序中,转到设置 > 扩展。 从菜单中,选择**“添加扩展”** (Using Extensions | goose) -
选择扩展类型 – 命令行扩展: 当提示输入扩展类型时,选择命令行扩展(在 CLI 菜单或 UI 中),以便 Goose 知道它应该启动本地命令 (Using Extensions | goose)(而不是内置或远程扩展)。
-
输入扩展详细信息: 提供 Bitcoin MCP 服务器的名称和命令:
-
名称: 您可以将其称为“bitcoin”,或任何标识符(这将是您引用扩展的方式)。
-
命令: 指定如何运行 MCP 服务器。 例如,如果您有 Python 脚本,请输入运行它的命令。 在 CLI 配置器中,它可能会询问“应该运行什么命令?” – 您将输入:
npx -y bitcoin-mcp@latest
这告诉 Goose 启动 Bitcoin MCP 服务器 (GitHub - AbdelStark/bitcoin-mcp: Bitcoin MCP Server)。(确保使用服务器脚本的正确路径或运行服务器的正确命令,就像在 Claude 配置中一样。)
-
通常,您不需要添加脚本路径之外的任何参数(除非您的服务器需要特殊标志)。 上面的命令使用默认的 STDIO 传输,Goose 期望命令行扩展使用它。(在 Goose 配置文件中,这将对应于一个带有
cmd: "npx"
和args: ["-y", "bitcoin-mcp@latest"]
的条目,其中type: stdio
表示标准 I/O 模式 (Using Extensions | goose).)
-
-
完成并启用: 完成扩展添加。 Goose 会将此新扩展添加到其配置中(通常是
~/.config/goose/config.yaml
)。 确保扩展已启用(如果使用 CLI 向导,则在添加后应默认启用;在 Goose Desktop 应用程序中,您可以检查扩展列表并在未启用时将其打开 (Using Extensions | goose) (Using Extensions | goose)). -
使用新扩展启动 Goose 会话: 您现在可以在 Goose 中使用该扩展。 如果您通过 CLI 运行 Goose,请启动一个包含该扩展的会话,方法是运行:
goose session --with-extension "bitcoin"
将“bitcoin”替换为您给扩展的任何名称 (Using Extensions | goose)。(这确保会话加载扩展。或者,如果扩展是全局启用的,Goose Desktop 或 CLI 将自动在所有会话中提供它。)
使用 SSE (远程扩展)
此方法通过 HTTP SSE 流将 Goose 连接到已运行的 MCP 服务器。 如果您想将 Bitcoin MCP 服务器作为独立服务运行(可能在另一台机器上或只是独立于 Goose),请使用此方法。
-
将 MCP 服务器作为独立服务启动: 运行 Bitcoin MCP 服务器,使其侦听连接。 实际上,这意味着服务器需要以提供 MCP 的 HTTP 端点的模式启动。 例如,您可以使用特定命令或选项运行服务器以侦听端口(例如,使用 MCP 库的内置 Web 服务器功能或在 Web 框架下运行)。 确保服务器可以在已知 URL(例如,
http://localhost:9000
)上访问,并支持通过 SSE 的 MCP 协议。 -
在 Goose 中添加新扩展(远程): 与之前一样,运行
goose configure
或使用 Goose UI 添加扩展 (Using Extensions | goose)。 这次,当询问扩展类型时,选择远程扩展 (Using Extensions | goose)。 这告诉 Goose 它将通过 SSE 连接到外部服务器。 -
输入远程扩展详细信息: 为扩展指定一个名称(例如,“bitcoin”)并提供服务器的 URL。 对于 URL,输入 MCP 服务器正在运行的基本地址。 例如,如果您的服务器正在本地计算机上的端口 9000 上侦听,您可以输入
http://localhost:9000
。 Goose 将尝试连接到该地址的 MCP 服务器的 SSE 端点。(Goose 使用标准的 MCP SSE 路径,按照惯例,该路径位于服务器上的/mcp/sse
路由下,您通常只需要提供主机和端口,Goose 会处理其余的事情。) -
启用扩展: 添加远程扩展后,确保它在 Goose 的设置中已启用(就像在 STDIO 情况下一样)。 只需要启用 STDIO 或 SSE 扩展中的一个(具有相同的工具)– 如果您不小心同时启用了同一服务器的本地和远程版本,您可能需要禁用一个以避免混淆。
在 Goose 中使用 Bitcoin MCP 扩展: 设置好扩展(通过上述任一方法)并启用后,您可以通过它与 Goose 交互并查询比特币数据。 在新的 Goose 聊天或会话中,只需像往常一样提问即可。 Goose 会识别何时使用 Bitcoin MCP 工具来满足您的请求。 例如:
- “最新的比特币区块是什么?”
- “给我提供有关 TXID 为 abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890 的交易的信息。”
当您提出这些问题时,Goose 将调用 MCP 服务器的工具并返回答案(例如,最新的比特币区块信息)。 您应该看到 Goose 响应从比特币区块链通过 MCP 服务器提取的最新信息。
如果 Goose 似乎没有使用该扩展(例如,如果它响应说它找不到该信息),请确保该扩展已启用并且服务器正在运行(在远程的 SSE 模式下)。 您还可以使用详细日志记录运行 Goose 的 CLI,以查看它是否尝试调用该扩展。 通常,如果配置正确,Goose 将自动发现 MCP 服务器的功能并在相关时使用它们。
更多资源: 有关 Goose 扩展和 MCP 的更多详细信息,请参阅官方 Goose 文档 (Using Extensions | goose)。 这些文档包括内置和社区扩展的列表,并解释了 MCP 服务器如何集成到 Goose 中。 您还可以在 Goose 文档和模型上下文协议文档中找到可用 MCP 服务器的目录和其他配置技巧。 如果您想探索更多扩展或开发自己的扩展,这将有所帮助。
📦 开发设置
在 开发设置 指南中查找设置说明。
闪电网络配置 (可选)
要使用闪电网络功能,您需要配置 LNBits 连接详细信息。 这些是可选的,仅当您计划使用闪电网络工具时才需要。
{
"lnbitsUrl": "https://demo.lnbits.com",
"lnbitsAdminKey": "your_admin_key", // 支付所需
"lnbitsReadKey": "your_read_key" // 钱包信息所需
}
您可以通过以下方式获取这些值:
- 在 LNBits 创建一个帐户
- 创建一个新的钱包
- 转到 API 信息以查找您的 API 密钥
📦 可用工具
在 API 参考 指南中查找可用工具。
🚨 错误处理
服务器采用自定义错误类型来处理比特币操作和区块链查询。 详细的错误消息使用 Pino 记录,并包含在客户端响应中,以便于调试。
🤝 贡献
欢迎贡献和功能请求! 随时提交拉取请求或在 GitHub 上打开问题。
📝 许可证
本项目根据 MIT 许可证 获得许可。
推荐服务器
Crypto Price & Market Analysis MCP Server
一个模型上下文协议 (MCP) 服务器,它使用 CoinCap API 提供全面的加密货币分析。该服务器通过一个易于使用的界面提供实时价格数据、市场分析和历史趋势。 (Alternative, slightly more formal and technical translation): 一个模型上下文协议 (MCP) 服务器,利用 CoinCap API 提供全面的加密货币分析服务。该服务器通过用户友好的界面,提供实时价格数据、市场分析以及历史趋势数据。

chromia-mcp
使人工智能能够与 Chromia 钱包交互,以发送 $CHR 交易。
TripleWhale MCP Server
一个模型上下文协议 (MCP) 的实现,允许用户通过 Claude Desktop 使用自然语言查询与 TripleWhale 的电子商务分析平台进行交互。
Adamik MCP Server
通过 Claude Desktop 实现与 60 多个区块链网络的读写交互,为交易管理、账户洞察、质押和代币交互提供标准化的多链 API。
Open-Ledger-MCP-Server
一个用于 OpenLedger API 的模型上下文协议 (MCP) 服务器实现。该服务器根据 MCP 规范为 AI 模型提供结构化的上下文。
ntropy-mcp MCP Server
启用使用 Ntropy API 丰富银行数据的功能,并提供高效创建账户持有人和丰富交易信息的工具。
Iaptic MCP Server
一个用于与 Iaptic API 交互的服务器,允许像 Claude 这样的人工智能模型查询客户、购买和交易数据,并检索统计见解。
Bitrefill Search and Shop
这个 MCP 封装了 Bitrefill 的公共 API,允许代理使用比特币、以太坊、Solana 等加密货币搜索产品和购物。
MCP EVM Signer
一个服务器,可以在本地安全地管理以太坊私钥,并使 Claude for Desktop 能够通过 Infura 与 EVM 兼容的区块链进行交互。
Cryptocurrency Daemon MCP Server
通过人工智能助手实现与加密货币守护进程RPC接口的安全交互,支持基于比特币的加密货币的交易管理、钱包操作和守护进程监控。