关于 Bitcoin MCP Server
Bitcoin MCP Server 通过 MCP 服务提供比特币价格信息。项目内的 Java 测试客户端会以子进程启动服务器 JAR,并演示通过 STDIO 调用美元价格工具。
主要功能
- 01提供比特币价格信息
- 02通过 STDIO 进行服务器通信
- 03将服务器构建为 JAR
- 04包含基于子进程的测试客户端
适用场景
- 01查询美元计价的比特币价格
- 02使用内置客户端测试 MCP 工具调用
MCP 相关
该服务通过 STDIO 向 MCP 客户端提供比特币价格工具。内置测试客户端会以子进程启动服务器 JAR、列出工具、调用价格工具并关闭连接。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Bitcoin MCP 服务
本项目为 Bitcoin 价格信息提供 Model Context Protocol(MCP)服务。
构建项目
要构建项目,请运行:
mvn clean package
这将在 target/bitcoinmcp-0.0.1-SNAPSHOT.jar 处创建一个 JAR 文件。
运行 MCP 服务
根据 application.yaml 文件中的配置,服务使用标准输入/输出(STDIO)进行通信。
使用 ClientSTDIO 测试客户端
项目包含一个测试客户端(ClientSTDIO),用于演示如何连接到 MCP 服务。
为什么 ClientSTDIO 需要访问服务 JAR
ClientSTDIO 类使用 Model Context Protocol(MCP)客户端库与 MCP 服务通信。它需要引用服务 JAR 文件,原因如下:
- MCP 客户端使用子进程机制启动服务
- 它通过将 JAR 文件作为独立的 Java 进程执行来启动服务
- 客户端和服务通过标准输入/输出(STDIO)进行通信
这种架构让客户端无需单独启动服务或开放网络端口即可与服务交互。不过,这意味着客户端需要知道服务 JAR 文件的位置才能启动它。
配置 JAR 文件路径
客户端需要知道服务 JAR 文件的位置。可以通过以下三种方式指定:
-
系统属性:
java -Dmcp.server.jar.path=/path/to/bitcoinmcp-0.0.1-SNAPSHOT.jar -cp target/test-classes za.sk.bitconmcp.ClientSTDIO -
环境变量:
export MCP_SERVER_JAR_PATH=/path/to/bitcoinmcp-0.0.1-SNAPSHOT.jar java -cp target/test-classes za.sk.bitconmcp.ClientSTDIO -
默认路径: 如果既未设置系统属性,也未设置环境变量,客户端会在相对于当前工作目录的
target/bitcoinmcp-0.0.1-SNAPSHOT.jar处查找 JAR 文件。
运行客户端
要运行客户端,请使用 Maven 的 exec 插件,确保类路径中包含所有依赖项:
# Make sure you're in the project root directory
cd /opt/mcp/server/bitcoinmcp
# Run the client using Maven
mvn exec:java -Dexec.classpathScope=test -Dexec.mainClass="za.sk.bitconmcp.ClientSTDIO"
也可以将 JAR 路径指定为系统属性:
mvn exec:java -Dexec.classpathScope=test -Dexec.mainClass="za.sk.bitconmcp.ClientSTDIO" -Dmcp.server.jar.path=/path/to/bitcoinmcp-0.0.1-SNAPSHOT.jar
客户端将:
- 连接到 MCP 服务
- 列出可用工具
- 使用 USD 作为货币调用
getBitcoinProceByCurrency工具 - 显示结果
- 关闭连接
故障排除
如果看到类似“MCP server JAR file not found”的错误,请确保:
- 已使用
mvn clean package构建项目 - 从正确的目录运行客户端
- 已正确指定 JAR 文件路径
也可以使用上述任一配置方式指定 JAR 文件的绝对路径。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。