返回市场
Kotlin加密价格Spring MCP服务器示例

Kotlin加密价格Spring MCP服务器示例

作者:gaplo9172 星标更新:2025-04-12

项目介绍

Kotlin Crypto Price Spring MCP Server Demo

这是一个演示项目,展示了Spring AI的模型上下文协议(MCP)服务器与加密货币价格API服务的集成。该项目允许AI模型通过标准化接口检索实时加密货币信息。

概述

本项目实现了一个Spring Boot应用程序,作为MCP服务器,提供工具供AI模型使用:

  1. 通过名称或符号搜索加密货币
  2. 获取特定加密货币的市场数据

该应用程序使用CoinGecko API来获取实时加密货币数据。

功能

  • 加密货币搜索:搜索加密货币、交易所、类别和NFT
  • 市场数据检索:获取特定加密货币的详细市场数据
  • MCP集成:通过Spring AI的MCP服务器将功能暴露为AI模型的工具
  • 日志记录:全面记录工具请求和响应的日志

技术栈

  • Kotlin 1.9.25
  • Spring Boot 3.4.4
  • Spring AI MCP Server
  • Model Context Protocol SDK 0.8.1
  • Java 21

项目结构

src/main/kotlin/org/gaplo917/mcpservercoinprice/
├── CoinPriceService.kt         # 加密货币数据检索服务
├── McpServerCoinPriceApplication.kt  # 主应用程序类

快速开始

先决条件

  • JDK 21 或更高版本
  • Gradle

运行应用程序

./gradlew bootRun

MCP服务器将在默认端口(通常是8080)启动。

API工具

应用程序向AI模型暴露以下工具:

1. 搜索加密货币

@Tool(description = "根据用户输入查询搜索加密货币信息。")
fun searchCryptocurrency(query: String): CryptoData

2. 获取市场数据

@Tool(description = "通过id获取加密货币市场数据。id必须是searchCryptocurrency工具返回的结果。")
fun getMarketDataByCryptocurrencyId(id: String): CryptoMarketData

数据模型

  • CryptoData:包含硬币列表、交易所、类别和NFT
  • CryptoMarketData:包含特定加密货币的市场数据,包括交易对
  • Coin:表示具有ID、名称、符号和市值排名的加密货币
  • Ticker:包含特定市场上加密货币的交易信息

与AI模型的集成

此服务器可以与支持模型上下文协议(MCP)的AI模型一起使用,使它们能够以标准化的方式检索加密货币数据。Spring AI MCP Server处理AI模型与加密货币服务之间的通信。

许可证

本项目根据LICENSE文件中的条款进行许可。

参考资料