Kotlin加密货币价格春季MCP服务器演示
一个演示项目展示了Spring AI的模型上下文协议(MCP)服务器与加密货币价格API服务的集成。该项目允许人工智能模型通过标准化的界面检索实时加密货币信息。
概述
该项目实现了一个充当MCP服务器的Spring Boot应用程序,为AI模型提供工具,以:
- 按名称或符号搜索加密货币
- 检索特定加密货币的市场数据
该应用程序使用CoinGecko API获取实时加密货币数据。
特性
- 加密货币搜索:搜索加密货币、交易所、类别和NFT
- 市场数据检索:获取特定加密货币的详细市场数据
- MCP集成:通过Spring AI的MCP服务器将功能作为AI模型的工具公开
- 日志记录:全面记录工具请求和响应
技术
- Kotlin 1.9.25
- 弹簧靴3.4.4
- Spring AI MCP服务器
- 模型上下文协议SDK 0.8.1
- Java 21
项目结构
src/main/kotlin/org/gaplo917/mcpservercoinprice/
├── CoinPriceService.kt # Service for cryptocurrency data retrieval
├── McpServerCoinPriceApplication.kt # Main application class入门指南
先决条件
- JDK 21或更高版本
- Gradle
运行应用程序
./gradlew bootRunMCP服务器将在默认端口(通常为8080)上启动。
API工具
该应用程序为AI模型提供了以下工具:
1.搜索加密货币
@Tool(description = "search cryptocurrency information by user input query.")
fun searchCryptocurrency(query: String): CryptoData2.获取市场数据
@Tool(description = "get cryptocurrency market data by id. The id must be used by the return of the searchCryptocurrency tools.")
fun getMarketDataByCryptocurrencyId(id: String): CryptoMarketData数据模型
CryptoData:包含硬币、交易所、类别和NFT的列表CryptoMarketData:包含市场数据,包括特定加密货币的股票代码Coin:表示加密货币的ID、名称、符号和市值排名Ticker:包含特定市场上加密货币的交易信息
与AI模型集成
该服务器可以与支持模型上下文协议(MCP)的AI模型一起使用,允许它们以标准化的方式检索加密货币数据。Spring AI MCP服务器处理AI模型和加密货币服务之间的通信。
许可证
此项目根据许可文件中包含的条款获得许可。

