1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

はじめに

昨年の今頃(2024末)に「MCPサーバー」という単語が多く耳に入ってきたのが記憶に新しいです。
しかし当時は私個人特に活用する場面も思い浮かばず「へぇ〜そんなの出たんだ」くらいにしか思っていませんでした。
そこからもしばらく、「MCP入門」「MCP再入門」のような記事が多く投稿され、MCPについて分かりやすく解説する記事か増えてきました。
しかし、それでもまだ実務で使うことがないので「AIと他システムのためのtype-cね」くらいのイメージしか持つことができませんでした。

時は2025年夏、ついに実務で現れる日がきました。

AIコーディングエージェントの登場です。 (ClaudeCode、Codexなどの登場)
AIコーディングエージェントと外部システムをMCPで連携させることで、AIが外部システムの情報を参照できるようになり、要件定義やコーディングの精度がより向上するのです。
この時にようやく初めてMCPという概念を学ばないとと思うようになったので、今回自己のアウトプットとして整理したいと思います!

MCPとは

「P」で終わっているところから勘の良い方は気づくかもしれませんが「プロトコル」です。
プロトコルとは「コンピュータ間の通信やデータ交換を円滑に行うための共通のルールや手順」を指し、MCP(Model Context Protocol)はAIアプリケーションを外部システムに接続するための共通のルールや手順、と捉えて良いと思います。

MCPクライアント

後述のMCPサーバーと接続する君です。
基本的にはAIを搭載したアプリケーションを指します。
今回ClaudeCodeを例にして進めます。

MCPサーバー

AIアプリケーションに特定の機能を公開する軽量なプログラムです。
「AIにウチのアプリのこの情報を参照してほしい!」となった際に、ウチのアプリ側でMCPサーバーを構築することで、MCPを通じてAI(MCPクライアント)が読み取ってくれるようになります。

例:ClaudeCodeにFigmaの情報を読み取ってほしい→Figam側がMCPサーバーを構築し、情報を公開!

みたいなイメージです。

Tool

公式サイトの説明によると
「LLMがアクティブに呼び出すことができ、ユーザーのリクエストに基づいていつ使用するかを決定する関数。ツールは、データベースへの書き込み、外部APIの呼び出し、ファイルの変更、その他のロジックのトリガーなどを実行できます。」

つまり、MCPサーバー上の関数、と捉えて良いと思います
Toolを定義することで、AIが代わりに旅行予約してくれたり、天気の情報を取りに行ってくれたりするようになります。

mcp.png

MCPクライアント〜MCPサーバーの通信の流れ

ClaudeCodeがMCPサーバーを活用する流れを整理します!

  1. ClaudeCode(MCPクライアント)はMCPサーバーから利用可能なToolのリストをリクエスト
  2. MCPサーバーは利用可能なToolを説明とともに返す
  3. ClaudeCodeはどのToolを使うかを決める
  4. ClaudeCodeは要求されたツール呼び出しをMCPサーバー経由で実行する
  5. ツールの結果がMCPサーバーからClaudeCodeに返される
  6. ClaudeCodeは返された結果を元にタスクを進める

この流れを見て思ったのが、AIのFunctionCallingのような機能と似たような流れだなぁと率直に感じました!

おわりに

最後まで読んでいただきありがとうございました!
MCPサーバーの実装まで踏み込んで記事にできれば良かったのですが、それはまた次回の宿題・・・ということにさせてください!

参考

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?