
MCP(Model Context Protocol) minimal Kotlin client server sample

2025.03.30
1
KotlinMCP协议演示客户端-服务器交互其它
mcp-kotlin-minimal-client-server-sample 是一个基于 Kotlin 的 MCP(Model Context Protocol)最小化客户端-服务器示例项目,主要用于演示通过 MCP 协议实现的服务器与客户端之间的交互。该项目模拟了一个简单的天气查询工具,展示了客户端如何通过 MCP 协议与服务器通信,获取天气信息并返回给用户。
View on GitHub
Overview
基本能力
产品定位
该项目是一个演示性质的 MCP 协议实现示例,主要用于展示客户端与服务器之间的交互流程,特别是通过 MCP 协议实现的工具调用和结果返回。
核心功能
- MCP 协议支持:支持 MCP 协议的初始化、工具发现和工具调用流程。
- 天气查询工具:提供了一个简单的天气查询工具
get_weather
,可以根据输入的地点返回天气信息。 - 客户端-服务器交互:展示了客户端如何通过 MCP 协议与服务器通信,包括初始化、工具列表获取和工具调用。
适用场景
- MCP 协议学习:适合开发者学习 MCP 协议的基本实现和交互流程。
- 工具调用演示:用于演示如何通过 MCP 协议实现工具调用和结果返回。
- 客户端-服务器交互示例:作为客户端与服务器交互的参考实现。
工具列表
- get_weather:天气查询工具,输入地点(如 "Tokyo"),返回该地点的天气信息(如 "Sunny")。
常见问题解答
- Q: 该项目是否支持真实的天气查询? A: 不支持,该项目仅用于演示,天气信息是固定的模拟数据。
- Q: 如何扩展更多的工具?
A: 可以在服务器端实现更多的工具函数,并在初始化时通过
server_capabilities
返回工具列表。
使用教程
使用依赖
- 确保已安装 Kotlin 和 JDK。
- 克隆项目代码:
bash git clone https://github.com/takahirom/mcp-kotlin-minimal-client-server-sample.git
安装教程
- 进入项目目录:
bash cd mcp-kotlin-minimal-client-server-sample
- 编译并运行服务器:
bash kotlinc -script server.main.kts
- 编译并运行客户端:
bash kotlinc -script src/main/kotlin/Client.kt
调试方式
- 启动服务器后,可以通过客户端发送请求测试天气查询功能:
bash kotlinc -script src/main/kotlin/Client.kt "What's the weather in Tokyo?"
- 检查服务器日志,确认工具调用和返回结果是否正确。