模型通信协议服务器示例

一个用Kotlin实现的MCP服务器示例,展示了JVM和WASM目标的不同服务器配置和传输方法,支持多平台运行和实时通信。

  • by wujingwe
  • Kotlin
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 wujingwe/sidewalk-mcp-server

使用说明

MCP Kotlin服务器示例

Kotlin中MCP(模型通信协议)服务器的示例实现,演示了不同的服务器 JVM和WASM目标的配置和传输方法。

特性

  • 多种服务器操作模式:
    • 标准I/O服务器(仅JVM)
      • 具有普通配置(JVM、WASM)的SSE(服务器发送事件)服务器
      • 使用Ktor插件的SSE服务器(JVM、WASM)
  • 多平台支持
  • 内置功能:
    • 提示管理
    • 资源处理
    • 工具集成

入门指南

运行服务器

您可以在JVM上运行服务器,也可以在Node.js上使用Kotlin/WASM。

JVM:

要在JVM上运行服务器(默认为SSE模式,端口3001上有Ktor插件):

./gradlew runJvm

WASM:

要在Node.js上使用Kotlin/WASM运行服务器(默认为SSE模式,端口3001上有Ktor插件):

./gradlew wasmJsNodeDevelopmentRun

连接到服务器

对于JVM或WASM上的服务器:

  1. 启动服务器
  2. 使用 MCP检查员 要连接到 http://localhost:<port>/sse

服务器功能

  • 鼓励:支持列表更改通知的提示管理
  • 资源:包括订阅支持和列表更改通知
  • 工具:支持使用列表更改通知进行工具管理

实现细节

服务器使用以下方式实现:

  • 用于HTTP服务器功能的Ktor
  • 异步操作的Kotlin协程
  • SSE用于实时通信
  • 命令行界面的标准I/O
  • JVM和WASM目标之间共享的通用Kotlin代码