MCP(Model Context Protocol) minimal Kotlin client server sample

MCP(Model Context Protocol) minimal Kotlin client server sample

site icon
2025.03.30 1
KotlinMCP协议演示客户端-服务器交互其它
mcp-kotlin-minimal-client-server-sample 是一个基于 Kotlin 的 MCP(Model Context Protocol)最小化客户端-服务器示例项目,主要用于演示通过 MCP 协议实现的服务器与客户端之间的交互。该项目模拟了一个简单的天气查询工具,展示了客户端如何通过 MCP 协议与服务器通信,获取天气信息并返回给用户。
View on GitHub

Overview

基本能力

产品定位

该项目是一个演示性质的 MCP 协议实现示例,主要用于展示客户端与服务器之间的交互流程,特别是通过 MCP 协议实现的工具调用和结果返回。

核心功能

  1. MCP 协议支持:支持 MCP 协议的初始化、工具发现和工具调用流程。
  2. 天气查询工具:提供了一个简单的天气查询工具 get_weather,可以根据输入的地点返回天气信息。
  3. 客户端-服务器交互:展示了客户端如何通过 MCP 协议与服务器通信,包括初始化、工具列表获取和工具调用。

适用场景

  1. MCP 协议学习:适合开发者学习 MCP 协议的基本实现和交互流程。
  2. 工具调用演示:用于演示如何通过 MCP 协议实现工具调用和结果返回。
  3. 客户端-服务器交互示例:作为客户端与服务器交互的参考实现。

工具列表

  1. get_weather:天气查询工具,输入地点(如 "Tokyo"),返回该地点的天气信息(如 "Sunny")。

常见问题解答

  1. Q: 该项目是否支持真实的天气查询? A: 不支持,该项目仅用于演示,天气信息是固定的模拟数据。
  2. Q: 如何扩展更多的工具? A: 可以在服务器端实现更多的工具函数,并在初始化时通过 server_capabilities 返回工具列表。

使用教程

使用依赖

  1. 确保已安装 Kotlin 和 JDK。
  2. 克隆项目代码: bash git clone https://github.com/takahirom/mcp-kotlin-minimal-client-server-sample.git

安装教程

  1. 进入项目目录: bash cd mcp-kotlin-minimal-client-server-sample
  2. 编译并运行服务器: bash kotlinc -script server.main.kts
  3. 编译并运行客户端: bash kotlinc -script src/main/kotlin/Client.kt

调试方式

  1. 启动服务器后,可以通过客户端发送请求测试天气查询功能: bash kotlinc -script src/main/kotlin/Client.kt "What's the weather in Tokyo?"
  2. 检查服务器日志,确认工具调用和返回结果是否正确。

许可证

该项目遵循 Apache-2.0 开源许可条款,请参阅 Apache-2.0 了解完整条款。