比特币MCP服务器
该项目为比特币价格信息提供了一个模型上下文协议(MCP)服务器。
建设项目
要构建项目,请运行:
mvn clean package这将在以下位置创建一个JAR文件 target/bitcoinmcp-0.0.1-SNAPSHOT.jar.
运行MCP服务器
服务器配置为使用标准输入/输出(STDIO)进行通信,如 application.yaml 文件。
使用ClientSTDIO测试客户端
该项目包括一个测试客户端(ClientSTDIO)演示如何连接到MCP服务器。
为什么ClientSTDIO需要查看服务器JAR
ClientSTDIO类使用模型上下文协议(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- 默认路径:
如果既没有设置系统属性也没有设置环境变量,客户端将在以下位置查找JAR文件 target/bitcoinmcp-0.0.1-SNAPSHOT.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服务器
- 列出可用工具
- 打电话给
getBitcoinProceByCurrency以美元为货币的工具 - 显示结果
- 关闭连接
故障排除
如果您看到类似“未找到MCP服务器JAR文件”的错误,请确保:
- 您已使用以下工具构建了该项目
mvn clean package - 您正在从正确的目录运行客户端
- JAR文件路径已正确指定
您还可以使用上述配置方法之一指定JAR文件的绝对路径。
