Lock in $30 Savings on PRO—Offer Ends Soon! ⏳

詳解 MCP Go SDK / MCP Go SDK

Avatar for ktr ktr
December 05, 2025
77

詳解 MCP Go SDK / MCP Go SDK

Avatar for ktr

ktr

December 05, 2025
Tweet

More Decks by ktr

Transcript

  1. MCP Go SDK © LayerX Inc. MCP とは これまではサードパーティ製 (mark3labs/mcp-go

    等) のみ 2025年4月に Go チームと Anthropic が共同で公式 SDK を開発開始 2025年7月に modelcontextprotocol/go-sdk として公開 5
  2. SDK が掲げる 5 つの要件 要件 説明 完全性 MCP 仕様のすべてを実装可能 言語仕様に即した設計

    Go 標準ライブラリの設計パターンに準拠 堅牢性 十分なテストが行われ信頼性が高い 将来対応性 後方互換を保ったまま仕様拡張できる 拡張性 洗練された最小限の API + ミドルウェア © LayerX Inc. MCP Go SDK の設計思想 https://github.com/modelcontextprotocol/go-sdk/blob/main/design/design.md 7
  3. 3 つの抽象 Design ① Transport 層 Session client/server 間のセッション管理 高レベル

    API (Prompts、Resources、Tools や Elicitation などの機能) を提供 Transport Connection の確立を担当 Stdio や Streamable HTTP、カスタム実装 Connection 低レベルの読み書きを提供 JSON-RPC メッセージの送受信 © LayerX Inc. 10
  4. Go におけるツールの登録の壁 © LayerX Inc. Design ② ツールの登録 JSON Schema

    ライブラリの必要性 型安全かつ使いやすいツール登録 API の設計が難しい 16
  5. JSON Schema ライブラリの必要性 © LayerX Inc. Design ② ツールの登録 ツールの

    InputSchema/OutputSchema は JSON Schema で定義される Go には標準・デファクトの JSON Schema ライブラリが存在していなかった 型の定義や、バリデーションの記述などを包括的にサポートできていなければいけない いくつかスターを集めているライブラリはあるが、どれも継続的にメンテナンスされているとはいえなかった 17
  6. google/jsonschema-go © LayerX Inc. Design ② ツールの登録 公式 SDK と同時期に

    Go チームメンバーが開発していた JSON Schema ライブラリ google/adk-go (Google の AI Agent フレームワーク) でも利用されている どういうインターフェースなのかについては後述 18
  7. MCP Go SDK は両方のアプローチをサポート © LayerX Inc. Design ② ツールの登録

    もっともシンプルな使い方の場合、metoro-io/mcp-golang に似た書き味 JSON Schema の細かな指定については後述 22
  8. MCP Go SDK のリフレクション © LayerX Inc. Design ② ツールの登録

    型パラメータ In 、 Out を使って型安全にハンドラを定義可能 23
  9. まとめ © LayerX Inc. まとめ MCP 仕様を完全にサポートしつつ、Go 標準ライブラリの設計パターンに即した設計 API は必要最小限だが、洗練された抽象により拡張性が高い

    google/jsonschema-go による、ジェネリクス + リフレクション中心のスキーマ定義 必要に応じてスキーマの細かいカスタマイズも可能 コードの内部品質が非常に高く、学ぶべき設計が多い 30