「従来の開発の延長」だからこそ陥る罠
MCP
私は2025年の夏から個人的にMCPサーバーの実装を行い、その上で得た知見や考えを
MCPサーバーの実例:市場予測エンジン「Aeolus」
現在、私はMCPサーバー
Aeolusが内包する関数の一部を以下に挙げます。
get_:政治イベントのリスクスコア化political_ risk() aggregate_:複数市場の総合指標を生成market_ indicators()
MCPサーバーとして実装するメリットは、LLMが自然言語で直接この一連のツールをオーケストレーションできる点にあります。たとえば、
従来のAPI構成では、クライアント側に大規模なロジックを実装する必要がありました。しかしMCPサーバー化することで、処理の本体はAeolus側に集約され、LLMは自然言語制御と結果の解釈に専念できます。
リアルタイムの情報をもとに、
直面した“技術外”の落とし穴
MCPサーバーは、技術的には関数を書くだけで作れます。しかし、実際に運用を考えると技術よりも難しいのは規約と権利にまつわる非技術領域でした。
1. APIの利用規約と権利の壁
外部APIをツールとして呼び出すとき、API側の利用規約で
当たり前のことではありますが、外部APIをコールするMCPサーバーを使ってサービスを提供し、何らかの利益を出したいと考える場合、権利関係は徹底してクリアにしておかなければなりません。Aeolusでも、使用したいAPIの許可する範囲が私の望む目的とそぐわなかったため、利用を諦めたものが多くありました。
2. LLMの守備範囲外問題
MCPサーバーを実装中、LLMが取り扱うことのできない領域に直面することがありました。
たとえば、現在Claudeでは、新薬開発に関するトピック、法律の具体的なアドバイスを求める相談、金融アドバイスを求める行為などがそれにあたります。これらは資格をもつ人間でなければできない行為であったり、悪用の危険性が高い話題であったりするために、LLMベンダー各社はこうした話題を明確に規約で禁止しています。
Aeolusも
非決定的なシステムをサービスとして利用する難しさ
MCPサーバーを開発していてすぐに、
LLMは
この問題を解消するために本書で提案したのが、4層テスト戦略です。
L1からL3まではLLMを介在させないことで非決定性の影響を排除しつつ、L4ではテストの成功確率を指標とする概念を導入しました。
「技術は簡単、運用は難しい」
MCPサーバーは
これから実際にMCPに触れたい人にとって、拙著が手掛かりになることを願っています。
- プロフィール
岡翔子
大阪在住。AWSジャパンを経て現在はLINEヤフー株式会社でエンジニアとして勤務。LLMの応答に関する論文執筆経験をもち、個人でMCPサーバーの開発を行っている。趣味は読書と現代美術鑑賞。
𝕏: @0xshooka