mcp4k

mcp4kは、Kotlinを使用してクライアントとサーバーを構築するためのコンパイラ駆動型フレームワークです。Model Context Protocol(MCP)の仕様を広範囲に実装しており、リソース、プロンプト、ツール、サンプリングなどを含みます。自動的にJSON-RPCハンドラーやスキーマメタデータを生成し、ライフサイクル全体を管理します。

GitHubスター

62

ユーザー評価

未評価

お気に入り

0

閲覧数

22

フォーク

3

イシュー

0

インストール方法
難易度
中級
推定所要時間
10-20
必要な環境
Kotlin 2.2.0

インストール方法

インストール方法

前提条件

必要なソフトウェアとバージョンを明記してください。
Kotlin: 2.2.0

インストール手順

1. プロジェクトにmcp4kを追加

kotlin
plugins {
  kotlin("multiplatform") version "2.2.0"
  kotlin("plugin.serialization") version "2.2.0"

  id("sh.ondr.mcp4k") version "0.4.2" // <-- Add this
}

トラブルシューティング

よくある問題

問題: コンパイラエラーが発生する 解決策: Kotlinのバージョンがmcp4kの要求と一致しているか確認してください。

設定方法

設定方法

基本設定

サーバーの設定例

kotlin
@McpTool
fun reverseString(input: String): ToolContent {
  return "Reversed: ${input.reversed()}".toTextContent()
}

fun main() = runBlocking {
  val server = Server.Builder()
    .withTool(::reverseString)
    .withTransport(StdioTransport())
    .build()
  
  server.start()
  
  // サーバーを実行し続ける
  while (true) { 
    delay(1000)
  }
}

使用例

使用例

サーバーの作成

kotlin
@McpTool
fun reverseString(input: String): ToolContent {
  return "Reversed: ${input.reversed()}".toTextContent()
}

fun main() = runBlocking {
  val server = Server.Builder()
    .withTool(::reverseString)
    .withTransport(StdioTransport())
    .build()
  
  server.start()
  
  // サーバーを実行し続ける
  while (true) { 
    delay(1000)
  }
}

クライアントの作成

kotlin
fun main() = runBlocking {
  val client = Client.Builder()
    .withClientInfo("MyClient", "1.0.0")
    .withTransport(StdioTransport())
    .build()
  
  client.start()
  client.initialize()
}

使用ケース

MCPサーバーを利用して、特定のツールを呼び出すクライアントアプリケーションの開発
データ処理や分析のためのカスタムツールをMCPサーバーに実装
複数のプラットフォームで動作するアプリケーションの開発
リアルタイムデータ処理を行うエージェントの構築

追加リソース