使用说明
项目简介
本项目是一个基于 Spring Boot 和 Spring AI MCP Server Starter 构建的 MCP 服务器,旨在演示如何将外部数据源(这里是 CoinGecko API)集成到 MCP 协议中,为大型语言模型(LLM)客户端提供实时的比特币价格信息。通过此服务器,LLM 可以查询当前比特币价格以及指定天数的历史价格数据。
主要功能点
- 获取当前比特币价格: 支持查询指定货币(如 USD, EUR)的实时比特币价格。
- 获取历史比特币价格: 支持查询过去指定天数的比特币价格历史数据。
- 基于标准 MCP 协议: 使用 JSON-RPC over Stdio 与 MCP 客户端通信,易于集成到支持 MCP 协议的 LLM 应用中。
- 使用 CoinGecko API: 数据源可靠,信息全面。
安装步骤
- 安装 Java 17+ 和 Maven/Gradle: 确保您的开发环境已安装 Java 17 或更高版本,以及 Maven 3.6+ 或 Gradle。
- 克隆仓库: 将 GitHub 仓库 'https://github.com/nlinhvu/spring-boot-bitcoin-mcp-server-2025' 克隆到本地。
- 构建项目: 在仓库根目录下,使用 Gradle 命令构建项目(无需运行测试):
构建成功后,JAR 文件将生成在 'build/libs' 目录下,文件名为 'bitcoin-mcp-server-0.0.1-SNAPSHOT.jar' (版本号可能略有不同)。./gradlew clean build -x test
服务器配置
要将此 MCP 服务器集成到 MCP 客户端(例如 Claude Desktop),您需要配置服务器的启动命令。以下是 Claude Desktop 的配置示例,其他 MCP 客户端的配置方式类似,核心是提供正确的 'command' 和 'args'。
{ "mcpServers": { "bitcoin-mcp-server": { "command": "java", "args": [ "-jar", "/absolute/path/to/bitcoin-mcp-server-0.0.1-SNAPSHOT.jar" // 将 "/absolute/path/to" 替换为实际的 JAR 文件路径 ] } } }
配置参数说明:
- '"bitcoin-mcp-server"': 服务器的名称,可以自定义。
- '"command": "java"': 启动服务器的命令,这里使用 'java' 命令来运行 JAR 文件。
- '"args"': 启动命令的参数列表。
- '"-jar"': 指定运行 JAR 文件。
- '"/absolute/path/to/bitcoin-mcp-server-0.0.1-SNAPSHOT.jar"': 请务必替换为 JAR 文件的实际绝对路径。 例如,如果您的 JAR 文件在 '/Users/yourname/projects/spring-boot-bitcoin-mcp-server-2025/build/libs/bitcoin-mcp-server-0.0.1-SNAPSHOT.jar',则应将此路径填入。
基本使用方法
- 启动 MCP 服务器: 配置完成后,在 MCP 客户端中启动名为 '"bitcoin-mcp-server"' 的服务器。
- 在 LLM 中调用工具: 在支持 MCP 协议的 LLM 应用中,您可以使用以下工具来获取比特币信息:
- 'getBitcoinPriceByCurrency': 获取指定货币的比特币价格。例如,可以指示 LLM 调用此工具并传入参数 '{"currency": "USD"}' 来获取美元价格。
- 'getBitcoinPrice': 获取美元的比特币价格 (便捷方法)。
- 'getHistoricalBitcoinPrice': 获取历史比特币价格。例如,可以指示 LLM 调用此工具并传入参数 '{"days": 7}' 来获取过去 7 天的历史价格数据。
示例对话 (假设在 Claude Desktop 中使用):
用户: 现在比特币美元价格是多少? LLM (调用工具): 'callTool(toolName: "getBitcoinPriceByCurrency", parameters: {"currency": "USD"})' MCP 服务器 (返回结果): '{"result": 65000.0}' (假设当前价格为 65000 美元) LLM (回复用户): 现在比特币美元价格是 65000 美元。
用户: 查一下过去7天比特币的价格走势。 LLM (调用工具): 'callTool(toolName: "getHistoricalBitcoinPrice", parameters: {"days": 7})' MCP 服务器 (返回结果): '{"result": {"currency": "usd", "days": 7, "prices": {"2024-05-01": 64000.0, "2024-05-02": 65000.0, ...}}}' (返回过去7天的价格数据) LLM (回复用户): 过去7天比特币价格大致是这样的... (并根据返回的数据进行总结或展示)
通过以上步骤,您可以成功部署并使用此比特币 MCP 服务器,为您的 LLM 应用增加获取实时比特币价格信息的能力。
信息
分类
网页与API