AI Engineering Notes AI notes and labs

AI Engineering Notes

MCPとは

MCPを、AIアプリが外部ツールを使うためのプロトコルとして、JSON-RPCやTool callingとの関係から整理します。

エージェントとツール 更新日: 2026年6月15日 MCP JSON-RPC tool calling agent

MCPの位置づけ

MCPはModel Context Protocolの略で、AIアプリが外部ツールやデータソースを扱うためのプロトコルです。

AIエージェントを作ると、ファイルを読む、DBを検索する、Issueを確認する、ブラウザを操作する、社内APIを呼ぶ、といった外部操作が必要になります。MCPは、その接続部分を標準化する考え方です。

登場人物

MCPは、ざっくり次の3つに分けて考えると理解しやすくなります。

役割説明
HostAIアプリ本体。チャットUIやエージェント実行環境
ClientHost内でMCP serverと通信する部品
Serverツール、リソース、プロンプトなどを提供する側

JSON-RPCとの関係

MCPのメッセージはJSON-RPC 2.0を土台にします。ここがJSON Manとの大きな接点です。

たとえば、ツール一覧を取得する、ツールを実行する、リソースを読む、といった操作は、メソッド名、params、idを持つJSON-RPCメッセージとして扱えます。

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "search_notes",
    "arguments": {
      "query": "RAGとは"
    }
  }
}

Tool callingとの違い

Tool callingは、LLMが「どのツールを、どの引数で呼ぶか」を決める仕組みとして語られることが多いです。

MCPは、その先にあるツール提供・通信・リソース管理の規約です。つまりTool callingがモデル側の呼び出し判断だとすると、MCPは外部ツールを安全に提供するための接続層として捉えられます。

実装で見るポイント

MCPを使うときは、プロトコルだけでなく運用面も見ます。

  • ツール名と説明がモデルに誤解されないか。
  • 引数スキーマが曖昧ではないか。
  • 認証情報やファイルアクセスの権限境界は明確か。
  • ツール結果が長すぎないか。
  • 失敗時にモデルへ返すエラーが判断可能か。

AI Engineering Notesでは全体像を扱い、JSON ManではJSON-RPC、JSON Schema、payloadの読み方へ深掘りします。

関連リンク