Kotlin & Java Library Sources について
Kotlin & Java Library Sourcesは、Mavenのsources jarを解析し、Kotlin/JavaライブラリのAPI、KDoc、ソースコードを提供するコーディングエージェント向けMCPサーバーです。Kotlin Analysis APIによる解析に加え、バージョン比較とディスクキャッシュに対応します。
主な機能
- 01Mavenソースjarの解析とキャッシュ
- 02型解決済み公開APIシグネチャの取得
- 03宣言単位のKDoc抽出
- 04ソースコードの閲覧と検索
- 05バージョンとAPI変更の比較
- 06依存関係とリリースの確認
活用シーン
- 01依存ライブラリの公開シグネチャ確認
- 02宣言とKDocの検索
- 03バージョン間のAPI変更確認
- 04デバッグ時の実装検索
MCP 対応
MCPサーバーとして、公開されたKotlin/Javaライブラリのソース取得と解析に使える12個のツール、リソース、プロンプトをMCPクライアントに提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
docker run -i --rm ghcr.io/aoreshkov/kotlin-lib-mcp:0.9.2ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ghcr.io/aoreshkov/kotlin-lib-mcp:0.9.2stdioツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
kotlin-lib-mcp
AI エージェントに、Maven で公開されている Kotlin/Java ライブラリの実際のソースコードを提供します。
MCP サーバーです。リクエストに応じてライブラリ(例:io.ktor:ktor-client-core:3.5.1)のソースをダウンロードし、Kotlin の Analysis API
(スタンドアロンの K2/FIR モード)で解析して、構造化された情報(公開 API の範囲、KDoc、
依存関係/メタデータ、生のソースコードと検索)を MCP クライアント(Claude Code、Claude Desktop、
IntelliJ IDEA(AI Assistant / Junie)、VS Code、GitHub Copilot)に提供します。オプションの Compose Desktop
ダッシュボードでは、同じサーバーをプロセス内で実行できます。
12 個のツール — fetch_library · list_packages · list_declarations ·
get_api_signature · get_kdoc · get_source · search_source · diff_versions · diff_api ·
get_dependencies · list_versions · get_latest_version — に加えて、MCP リソースとプロンプトを提供します。
これらは Docker イメージをインストールします。JDK 上で動作する Claude Code プラグイン、IntelliJ IDEA、 または Docker を使わずにリリース zip を実行する方法については、クイックスタート(ビルド不要)をご覧ください。

Compose Desktop ダッシュボード

ほとんどのドキュメント MCP サーバーは、レンダリング済みのドキュメントサイトをスクレイピングするか、モデルに事前に要約した内容を渡します。このサーバーは、信頼できる情報源である公開済みのソース JARを使用します。
- 正規表現による推測ではなく、解決済みのシグネチャです。 宣言は Kotlin IDE を支えるものと同じ Analysis API で解析されるため、
get_api_signatureは、実際に型が解決されたシグネチャを返します(推移的依存関係が欠けている場合も、可能な限り適切にフォールバックします)。 - KMP に対応しています。 Kotlin Multiplatform ライブラリはターゲットごとのソース JAR を公開します。これらは
.moduleの Gradle メタデータを通じて適切に解決され、各シンボルにはターゲットがタグ付けされます。 - KDoc をデータとして扱います。 要約、説明、タグは、HTML ページ全体ではなく、宣言ごとに抽出されます。
- 指定したバージョンを使用でき、初回取得後はオフラインで利用できます。 すべてのデータは
group/artifact/versionをキーとしてディスクにキャッシュされます。再ダウンロードは不要で、ドキュメントと実際に依存するバージョンとの間にずれも生じません。 - 必要に応じて生のソースを参照できます。
get_sourceと、範囲を限定したsearch_sourceを使えば、API だけでなく実際の実装をエージェントが読み取れます。
クイックスタート(ビルド不要)
オプション 1 — Claude Code プラグイン。 サーバーと、Claude がサーバーを活用できるようにするスキル、2 つのコマンド(/kotlin-lib:api、/kotlin-lib:migrate)、セットアップヘルパーが含まれています。JDK 25 以降が必要です。PATH にあるもの、またはプラグインの java オプションでパスを指定したものを使います。Docker は不要です。初回使用時にリリース ZIP をダウンロードします。
/plugin marketplace add aoreshkov/kotlin-lib-mcp
/plugin install kotlin-lib@kotlin-lib-mcp
同梱内容については、plugin/README.md をご覧ください。
オプション 2 — リリース ZIP。 最新の リリースをダウンロードして解凍し(Java 25 以降のランタイムが必要です)、次を実行します。
claude mcp add kotlin-lib -- /path/to/kotlin-lib-mcp-server-<version>/bin/server --transport stdio
オプション 3 — Docker。
claude mcp add kotlin-lib -- docker run -i --rm -v kotlin-lib-mcp-cache:/home/mcp/.cache ghcr.io/aoreshkov/kotlin-lib-mcp
オプション 4 — IntelliJ IDEA / Android Studio。 JetBrains IDE も MCP クライアントです。Kotlin のコードが最も多く書かれる場所でもあります。Settings | Tools | AI Assistant | Model Context Protocol (MCP) を開き、Add をクリックして、stdio トランスポートを選択し、次を貼り付けます。
{
"mcpServers": {
"kotlin-lib": {
"command": "docker",
"args": ["run", "-i", "--rm", "-v", "kotlin-lib-mcp-cache:/home/mcp/.cache", "ghcr.io/aoreshkov/kotlin-lib-mcp"]
}
}
}
グローバルまたはプロジェクトレベルを選び、Apply をクリックすると、AI Assistant のチャットにツールが表示されます。Junie では、独自の MCP 設定に同じ JSON を指定します。Docker を使わない場合は、command/args をリリース ZIP のランチャー(bin/server --transport stdio)に置き換えてください。
オプション 5 — MCP Registry。 このサーバーは、公式 MCP registry に io.github.aoreshkov/kotlin-lib-mcp として公開され、GitHub MCP Registry にも掲載されています。レジストリに対応したクライアントは、そこからインストールできます。エントリーには、インストール時にクライアントから指定を求められる可能性がある、次の 2 つのオプション引数が定義されています。追加の Maven リポジトリごとの --repo(プライベートリポジトリ、または AndroidX 用の https://maven.google.com)と、--max-concurrent-fetches です。
または、.mcp.json / Claude Desktop の設定に次を指定します。
{
"mcpServers": {
"kotlin-lib": {
"command": "C:/path/to/kotlin-lib-mcp-server-<version>/bin/server.bat",
"args": ["--transport", "stdio"]
}
}
}
Streamable HTTP。 --transport http --port 3000 を実行し、クライアントの接続先を http://127.0.0.1:3000/mcp に設定します。デフォルトでは、このマシンからのみアクセスできます。サーバーはループバックにバインドされ、DNS リバインディング保護により、localhost、127.0.0.1、[::1] 以外の Host(または Origin)ヘッダーは拒否されます。組み込みの認証機能はありません。ほかのマシンにも公開する場合は、認証機能を備えたリバースプロキシを前段に置いてから、--host(例:0.0.0.0)でバインド範囲を広げ、公開ホスト名を --allowed-host で指定してください(ブラウザクライアントの場合は --allowed-origin も指定します)。
Docker では、ループバックはコンテナ自身のものとなるため、公開ポートからアクセスできません。コンテナ内ではすべてのインターフェースにバインドし、ホスト側ではループバックにポートを公開してください。エンドポイントは引き続き http://127.0.0.1:3000/mcp で、ほかのマシンからはアクセスできません。
docker run --rm -p 127.0.0.1:3000:3000 -v kotlin-lib-mcp-cache:/home/mcp/.cache \
ghcr.io/aoreshkov/kotlin-lib-mcp --transport http --host 0.0.0.0 --port 3000
CLI フラグ — server --help には、デフォルト値、OTEL_* 変数、使用例を含むすべてのフラグが一覧表示されます。--transport stdio|http、--port、--host、--allowed-host、--allowed-origin(http トランスポートでのみ使用できます。stdio と併用すると使用方法エラーになります)、--cache-dir、--repo(複数回指定可能。Maven Central に追加)、--max-concurrent-fetches、およびオプトインの --forward-logs-to-client(stdio のみ)、--otel(テレメトリを参照)、--tasks(タスクを参照)があります。--version はサーバーのバージョンを表示します。コマンドラインの誤りでは 2、内部エラーでは 70 で終了します(sysexits.h)。SIGTERM または Ctrl-C を受け取ると、サーバーは 5 秒以内に正常終了します。プロセスが終了する前に、タスクの記録が保存され、バッファーされたトレースがフラッシュされます。
ツール
すべてのツールは Maven の coordinate(group:artifact:version)を受け取ります。まず fetch_library を呼び出してください。このツールはソースを一度ダウンロード、展開、解析し、以降のツールはすべてキャッシュ済みのインデックスを参照して応答します。fetch_library、list_versions、get_latest_version は group:artifact も受け付けます。また、fetch_library は group:artifact:latest を受け付け、最新の安定版を解決します。
| ツール | 目的 |
|---|---|
fetch_library | ダウンロード、解析、キャッシュを行い、概要を返します。冪等です。バージョンは省略するか、latest を指定できます |
list_packages | 宣言数と KMP ターゲットを含むパッケージをページ分けして返します |
list_declarations | シグネチャと非推奨情報を含む宣言を返します。package、visibility、deprecated でフィルタリングでき、ページ分けされます |
get_api_signature | FQ 名で指定した宣言の解決済みシグネチャを、非推奨情報と ReplaceWith とともに返します |
get_kdoc | 1 つの宣言の KDoc(概要、説明、タグ)を返します |
get_source | ファイル(path)または 1 つの宣言(fqName)のソースを行単位でページ分けして返します |
search_source | 部分文字列または正規表現で検索し、上限付きで file:line スニペットを返します |
diff_versions | 取得済みの 2 つのバージョン間の統合差分を、概要を先に、ページ分けし、path でフィルタリングして返します |
diff_api | 取得済みの 2 つのバージョン間の公開 API の変更(追加、削除、変更、非推奨化。ReplaceWith を含む)を、概要を先に、ページ分けし、package と change でフィルタリングして返します |
get_dependencies | .pom/.module から依存関係ツリーを返します。depth と maxNodes で上限を設定できます |
list_versions | maven-metadata.xml にある公開済みバージョンを、新しい順にページ分けして返します |
get_latest_version | maven-metadata.xml から最新の安定版(および全体で最も新しいバージョン)を返します |
すべてのツールは、MCP の仕様がクライアントに推奨するメタデータを提供します。表示用の title、動作アノテーション(fetch_library を除くすべてのツールで readOnlyHint: true。fetch_library は追加のみで、destructiveHint: false、idempotentHint: true。Maven リポジトリにアクセスするツールでは openWorldHint: true、キャッシュのみを使用するツールでは false)、レスポンス DTO のシリアライザーから生成された型付きの outputSchema、および アイコンです。結果には、簡潔な JSON テキストと、それに対応する structuredContent オブジェクトの両方が含まれるため、構造化出力を扱うクライアントもプレーンテキストを扱うクライアントも、同じペイロードを受け取れます。
クライアントが progressToken を送信した場合、fetch_library は進捗通知(ダウンロード → 解析 → キャッシュ)も報告します。ログはデフォルトで stderr に出力されます(仕様では、すべての stdio ログへの出力が認められています)。非推奨の MCP ロギング機能(ログを notifications/message としてクライアントにも転送し、logging/setLevel に従う)は、--forward-logs-to-client でオプトインできます。これは、MCP のログメッセージを表示する一方で stderr を破棄する stdio クライアント向けです。このオプションは --transport http との併用を拒否します。HTTP では、すべてのセッションに他のすべてのセッションのログが配信されてしまうためです。
引き出し
fetch_library がバージョンなし(io.ktor:ktor-client-core、または …:latest)で呼び出されると、サーバーはバージョンを推測する必要があります。クライアントが elicitation 機能を通知している場合は、代わりに問い合わせます。SEP-1330 のタイトル付き oneOf 形式を使った単一選択式バージョンピッカーを含む、elicitation/create の フォームモード リクエストを送信し、最新の安定版リリースをスキーマの default として事前選択します。
| ユーザーの操作 | サーバーの動作 |
|---|---|
| バージョンを承認する | そのバージョンだけを取得します |
| 拒否する | これまでと同様に、最新の安定版リリースを取得します |
| キャンセルする(ダイアログを閉じる) | 何もダウンロードせず、明示的な group:artifact:version を指定して再度 fetch_library を呼び出すよう伝えるツールエラーを返します |
フラグはありません。機能ネゴシエーションがそのままオプトインとなります。何も通知しないクライアント、または URL モードのみを通知するクライアント(サーバーはフォームで応答してはなりません)では、従来どおり、通知なしで最新の安定版を取得します。要求するのは公開されている Maven のバージョン番号だけなので、フォームモードが適切です。URL モードは認証情報やサードパーティの認可に使うもので、ここでは意図的に使用していません。受け入れられた値は、リポジトリ URL に渡される前に提示されたリストに照らして検証されます。また、質問の途中でエラーになったクライアントについては、取得を失敗させず、デフォルト値にフォールバックします。
--tasks を指定した場合、タスク対応の fetch_library は質問への回答を待つ間 input_required 状態にとどまり、回答を受け取ると working に戻ります。elicitation/create には、タスクとの関連付けを示す io.modelcontextprotocol/related-task _meta が含まれます。
タスク
--tasks を指定すると、fetch_library のタスク対応 tools/call(SEP-1686)を受け付け、tasks/get / tasks/result / tasks/list / tasks/cancel に応答します。どちらのトランスポートでも動作します。
タスクの記録は <cache-dir>/tasks に永続化されるため、サーバーの再起動後も、完了したタスクとその結果を取得できます。サーバー停止時に実行中だったタスクは failed として復元されます。作業内容は保持されず、記録だけが残ります。記録は TTL の経過後に削除されます(デフォルトは 10 分、最大 1 時間です)。
タスク ID は、セッション終了後も存続するタスクへのベアラートークンです。 タスクは、それを作成した MCP セッションに属します。そのセッションの接続中は、他のセッションがタスクを読み取ったり、一覧表示したり、キャンセルしたりすることはできません。しかし、セッション ID は接続ごとに異なります。再起動後にクライアントが再接続すると新しい ID が割り当てられるため、復元されたタスクには、正確なタスク ID を提示する誰でもアクセスできます。これは、認可コンテキストを持たないサーバーに MCP 仕様が定めるモデルです。このサーバーはループバック接続を優先し、認証もないため、その条件に該当します。そのため、タスク ID には 122 ビットの
SecureRandomUUID が使われます。tasks/listが返すのは呼び出し元セッション自身のタスクだけで、復元されたタスクは返しません。このサーバーをループバック接続の範囲外に公開する場合は、前段に認証を設定してください。
並行処理に関する注意。 ツール呼び出しの内部からサーバー起点のリクエストを送信できるのは、セッションの初期化後、SDK が受信リクエストを並行してディスパッチするためです。そうでなければ、クライアントの応答は、その応答を待っているハンドラーの後ろで滞ってしまいます。これにより、エリシテーションが可能になるだけでなく、長時間の
fetch_library実行中でもping、tasks/get、notifications/cancelledにすばやく応答でき、クライアントがキャンセルしたfetch_libraryも実際に停止します。
テレメトリー
--otel を渡すと、すべての MCP リクエスト(tools/call、resources/read、
prompts/get、completion/complete)のトレーススパンを OTLP/HTTP 経由でエクスポートします。デフォルトでは無効であり、無効時は完全に何も行いません。SDK も、エクスポーターのスレッドも、ネットワーク通信もありません。
設定には標準の OpenTelemetry 環境変数を使用します。独自のフラグはありません。
export OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4318 # '/v1/traces' is appended for you
export OTEL_SERVICE_NAME=kotlin-lib-mcp # this is also the default
export OTEL_RESOURCE_ATTRIBUTES=deployment.environment=dev
server --transport stdio --otel
プロトコルのデフォルトは http/protobuf、エンドポイントのデフォルトは http://localhost:4318 で、エクスポーターは JDK 組み込みの HTTP クライアントを使用します(クラスパスに OkHttp は不要です)。すべて上書き可能です。ホスト型コレクターの API キーには OTEL_EXPORTER_OTLP_HEADERS、ほかに OTEL_TRACES_EXPORTER、OTEL_BSP_SCHEDULE_DELAY などを使用できます。
エンドポイントに関する注意点。 汎用の
OTEL_EXPORTER_OTLP_ENDPOINTを使用すると、/v1/tracesが自動的に追加されます。シグナル別のOTEL_EXPORTER_OTLP_TRACES_ENDPOINTを使用する場合、URL はそのまま使用されるため、パスを自分で指定する必要があります。これは OTLP の設定ミスで最もよくあるものです。
スパンは MCP のセマンティック規約に従います。名前は {method} {target}(例:tools/call fetch_library)、SpanKind.SERVER を使用し、mcp.method.name、gen_ai.tool.name、mcp.session.id、network.transport(stdio の場合は pipe、http の場合は tcp)を含みます。isError を返すツールは error.type=tool_error としてマークされます。受信したトレースコンテキストは、JSON-RPC の params._meta バッグ(SEP-414 に準拠する traceparent/tracestate)から取得するため、クライアント自身の処理をトレースすれば、ひと続きのトレースが得られます。
これらの mcp.* および gen_ai.* 属性は、上流では引き続き Development ステータスであり、名称が変更される可能性があります。これも、この機能をオプトインにしている理由のひとつです。
リソース: キャッシュされた各ライブラリは、kotlinlib://{group}/{artifact}/{version}/index から読み取れます。ここには、KMP ターゲット、宣言数、ファイル数とパッケージ数、およびパッケージ一覧(最大 200 件)の概要が JSON で含まれます。各パッケージの公開 API(宣言ごとのシグネチャと KDoc の概要、最大 200 件)は、kotlinlib://{group}/{artifact}/{version}/package/{package} から読み取れます。ツールは上限を超える内容をページ分割して表示します。リソース一覧はライブラリの取得に応じて更新されます。どちらの URI 形式もリソーステンプレートとして公開されるため、キャッシュ内の任意の座標を直接指定でき、package を含むテンプレート変数はキャッシュから自動補完されます。ツールからもこれらのリソースを参照できます。fetch_library はライブラリのインデックスへの resource_link を返し、list_packages は各ページの先頭 20 パッケージにリンクするため、クライアントは追加で検索せずにそれらを添付できます。プロンプト: explain_public_api(coordinate, package?) は、キャッシュされたシグネチャと KDoc に基づく説明リクエストを生成します。
アイコン: サーバー、各ツール、プロンプト、ライブラリインデックスのリソース/テンプレートはそれぞれ SEP-973 のアイコンを宣言しているため、クライアントはスネークケースの文字列が並ぶだけではなく、視覚的に表示できます。アイコンはホストされた URL ではなく、インラインの data: URI として格納されています。stdio サーバーにはオリジンがなく、仕様では同一オリジンのアイコンを優先し、認証情報なしで取得することを推奨しているため、インライン化によってサードパーティへの取得を完全になくし、オフラインやコンテナーイメージ内でもアイコンを利用できます。ペイロード形式は PNG です。これはアイコンを描画するクライアントが必ずサポートしなければならない唯一の形式です(image/svg+xml は SHOULD にとどまり、仕様では実行可能なコンテンツを含む可能性があると警告されています)。グリフは tools/src/main/kotlin/GenerateIcons.kt(./gradlew :tools:generateIcons)で描画され、tools/list のたびに送信されるため、それぞれエンコード後約 800 バイトと小さく抑えられています。
ソースからのビルド
./gradlew build # build everything
./gradlew test # unit tests
./gradlew :server:run --args="--transport stdio" # local MCP over stdio (default)
./gradlew :server:run --args="--transport http --port 3000" # Streamable HTTP at /mcp
./gradlew :dashboard:run # Compose Desktop UI
./gradlew :server:installDist # standalone launcher in server/build/install/server/bin
JDK 25 が必要です(Gradle ツールチェーンを使用します。インストール済みの JDK 25 が検出されない場合、Gradle がダウンロードします)。
| モジュール | 内容 |
|---|---|
core/ | KMP ライブラリ:ドメインモデルとポート(commonMain)、Maven フェッチャー、zip 展開ツール、Analysis API アナライザー、ディスク上のキャッシュ(jvmMain) |
server/ | JVM アプリ:MCP ツール/リソース/プロンプトと、stdio および Streamable HTTP トランスポート |
dashboard/ | サーバーを組み込んだ Compose Desktop コントロールパネル(オプション) |
tools/ | サーバーが公開する SEP-973 アイコン PNG の生成ツール。このモジュール自体は配布されず、生成物のみが配布されます |
キャッシュ
ダウンロードしたファイルと解析済みインデックスは、OS のキャッシュディレクトリ内の kotlin-lib-mcp に保存されます
(Windows では %LOCALAPPDATA%\kotlin-lib-mcp、macOS では ~/Library/Caches/kotlin-lib-mcp、
それ以外では $XDG_CACHE_HOME/kotlin-lib-mcp)。group/artifact/version をキーとしており、内容を確認でき、安全に削除できます。--cache-dir で保存先を上書きできます。--tasks の場合、タスクの記録は同じルートディレクトリ内の tasks/ サブディレクトリに保存されます。
注意事項
- stdio のルール: stdout には MCP プロトコルフレームのみが出力され、すべてのログは stderr に出力されます
(Kermit → SLF4J → Logback、
logback.xml)。 - Kotlin と Analysis API のアーティファクトのバージョンは
gradle/libs.versions.tomlで固定されています — 必ず一緒に更新してください。型を解決できないシンボル(推移的依存関係の不足)は、失敗する代わりにbestEffort: trueの PSI シグネチャにフォールバックします。
プライバシー
あなたに関する情報は収集、リモート保存、共有されません。 分析機能も、ホームへの通信も、アカウントも、いかなる種類の認証情報もありません。
- マシンの外部に送信される情報。 指定した Maven リポジトリへのリクエストのみです(デフォルトは Maven
Central。変更するには
--repoを指定します)。対象となる座標のmaven-metadata.xml、.pom/.moduleメタデータ、 ソース jar がリクエストされます。リポジトリには座標とあなたの IP アドレスが伝わります。各リポジトリのプライバシーポリシーが適用されます。Docker イメージの取得では GHCR と通信し、Claude Code プラグインのランチャーはこのリポジトリの GitHub リリースと通信します(リリース API へのアクセスは最大で 1 日に 1 回、新しいサーバーがある場合はダウンロードを行います)。外部への通信は以上です。 - 読み取る情報。 ダウンロードしたライブラリのソースのみです。プロジェクトのコードにはアクセスできないため、読み取り、インデックス化、送信は行いません。
- 保存する情報と場所。 ダウンロードしたアーティファクトと解析済みインデックスは、OS のキャッシュディレクトリ(キャッシュを参照)または
--cache-dirで指定した場所にのみ保存されます。--tasksの場合、タスクの記録はtasks/サブディレクトリに保存されます。それ以外の場所には何も書き込みません。 - 保持期間。 キャッシュされたライブラリは、削除されるまで保持されます。ディレクトリは内容を確認でき、いつでも安全に削除できます。タスクの記録は TTL の期限が切れると削除されます(デフォルトは 10 分、最大 1 時間)。
- ログ。 ログはマシン上の stderr に出力されます。
--forward-logs-to-client(オプトイン)を指定すると MCP クライアントにも転送されます。--otel(オプトイン)を指定すると、あなた が設定した OTLP コレクターにトレーススパンをエクスポートします。個人データは含まれず、メソッド名、ツール名、セッション ID、トランスポートのみが記録されます。どちらもデフォルトでは無効です。 - お問い合わせ。 ご質問:issue を作成してください。 セキュリティまたはプライバシーに関する報告:非公開の脆弱性報告をご利用ください。
コントリビューション
コントリビューションを歓迎します。CONTRIBUTING.mdをご覧ください。リリース履歴は CHANGELOG.mdにあります。セキュリティに関する報告は 非公開の脆弱性報告からお送りください。
サポート
kotlin-lib-mcp が時間の節約に役立った場合は、
メンテナンスへのスポンサーをご検討ください。スポンサーからの資金は、
新しい Kotlin リリースに合わせて Analysis API のバージョン固定を最新の状態に保ち、サプライチェーンを強化したリリースパイプラインを維持するために活用されます。どのティアからの支援もありがたく受け取ります。
ライセンス
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。