比特币价格协议服务器

提供比特币价格信息的模型上下文协议(MCP)服务器,支持通过标准输入输出进行通信。

  • by kappaj2
  • Java
  • 本地部署
  • 更新于
在 GitHub 查看 kappaj2/spring-bitcoin-mcp-server

使用说明

比特币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文件,因为:

  1. MCP客户端使用子进程机制启动服务器
  2. 它通过将JAR文件作为单独的Java进程执行来启动服务器
  3. 客户端和服务器通过标准输入/输出(STDIO)进行通信

这种架构允许客户端与服务器交互,而不需要单独启动服务器或暴露网络端口。然而,这意味着客户端需要知道服务器JAR文件的位置才能启动它。

配置JAR文件路径

客户端需要知道服务器JAR文件的位置。有三种方法可以指定这一点:

  1. 系统属性:

    java -Dmcp.server.jar.path=/path/to/bitcoinmcp-0.0.1-SNAPSHOT.jar -cp target/test-classes za.sk.bitconmcp.ClientSTDIO
    
  2. 环境变量:

    export MCP_SERVER_JAR_PATH=/path/to/bitcoinmcp-0.0.1-SNAPSHOT.jar
    java -cp target/test-classes za.sk.bitconmcp.ClientSTDIO
    
  3. 默认路径: 如果既没有设置系统属性也没有设置环境变量,客户端将在以下位置查找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

客户将:

  1. 连接到MCP服务器
  2. 列出可用工具
  3. 打电话给 getBitcoinProceByCurrency 以美元为货币的工具
  4. 显示结果
  5. 关闭连接

故障排除

如果您看到类似“未找到MCP服务器JAR文件”的错误,请确保:

  1. 您已使用以下工具构建了该项目 mvn clean package
  2. 您正在从正确的目录运行客户端
  3. JAR文件路径已正确指定

您还可以使用上述配置方法之一指定JAR文件的绝对路径。