@hihihiroroのLog

ダラダラと。本ブログは、個人の意見であり、所属会社とは関係がありません。

「MCPサーバー開発大全」を読んだ

MCP 本をいくつか読んだので流れで読んでみた。

目次は以下。

第1章 MCP サーバー開発の基礎知識
第2章 MCP アーキテクチャの理解
第3章 基本的なサーバー実装
第4章 複雑なサーバー設計
第5章 MCP サーバーのテスト戦略
第6章 CI/CD 統合

最初の方はMCP についての基本的な説明なので他の本でも読んでいればサクサクと読みすすめることができるであろう部分だった。その中でもアーキテクチャプロトコルについても詳しく書かれていたと思う。
その中でMCP サーバーの設計パターンとして以下の3つが紹介されている。これらを問題の複雑さ、データの所在地、パフォーマンス、拡張性などを踏まえて選ぶことが良さそう。そして、どれを選ぶだけではなく、組み合わせることも紹介されている。

  1. シンプルラッパーパターン・・・単一API をそのまま呼び出す場合
  2. カスケード処理パターン・・・複数API を統合して使用する場合
  3. ナレッジベースパターン・・・内部情報を提供する場合

他の本ではここまで書かれてなかったなと思うのは第5章以降である。
第5章ではテスト戦略について記載されている。本書ではテスト対象を4つの層に分けて考えている。

  • Layer1 : 単体テストの実装
  • Layer2 : プロトコルテストの実装
  • Layer3 : カスケードテストの実装
  • Layer4 : E2E テストの実装

LLM を組み込むと出力が毎回変わる可能性があるため、自動テストが難しいという問題点を「従来通りのアプリケーションとしてテストできる確定的な部分」と「LLM が介在する確率的な部分」を切り分けてテストする手法が書かれている。それぞれのLayer での評価メトリクスについても記載があるのでわかりやすかった。
これらについてはMCP に限らずLLM を使っているものについてはしっかりと考えるべきなのだろうと思う。評価についてはまだまだ考えるべきことがあるかなと思うのでもっと勉強をしていきたい。

まとめ

  • MCP サーバー実装について考えることが説明されていて勉強になった
  • プロトコルやエラー内容についてなど運用についてもわかりやすかった
  • LLM の品質保証についてはもっと考えていきたい