DEVELOPER’s BLOG
技術ブログ
実体験でわかったMCPサーバー・クライアントの役割と導入メリット
- 1. はじめに
- 2. MCPとは(一般論)
- 3. 実際に触ってわかったこと: よくある誤解
- 3-1. MCPサーバーの誤解
- 3-2. MCPクライアントの存在
- 4. MCPを導入する前に知っておくべきこと
- 4-1. 実現できること
- 4-2. リスクと注意点
- 5. まとめ
- 6. おまけ:現状と今後の展望についての極めて個人的な考察
- 7. 参考資料
1. はじめに
山根さん「小川くん、MCPって知ってる?」
ボク「あー、アレですよね。最近よく聞くアレ、AIの、あのー・・・アレです。」
山根さん「じゃあ調べてブログ書いてね。」
ボク「はい。」
ブログをご覧の皆さまこんにちは。エンジニアの小川です。
昨今目覚ましい進展を見せているAIに合わせ、「MCP」なるものを随所で目にする機会が増えました。
ボクも普段は目にするばかりで強く調べたりはしていなかったのですが、最近業務でMCPについて関わることになりました。
その中で調査したこと、実際に利用していった中で分かったこと、何となく認識していたもので誤解していたこと等をブログをご覧の皆さまと共有できればと思います。
本記事は入門説明+実体験レポート の2部構成で進めていきます。
また今回の記事は主にMCPの導入を考えている非エンジニア、ならびにMCPの海に漕ぎだそうとしているエンジニアの方を対象としています。
2. MCPとは(一般論)
Anthropic社によって提唱され、様々なAIサービス間で情報をやり取りする際の「連携コスト」を削減し、開発を容易にすることを目指しています。これは「AIのUSBポート」とも呼ばれ、AIの活用をさらに広げるための重要な基盤技術として注目されています。
ここまでの説明だと少し抽象的ですが、次にMCPに関する記事や図を見ると、多くの人がこの規格をどのようにイメージしているのかが分かります。 以下の図は、MCPの仕組みを説明する際に、多くの記事で引用されている図の一例です。
このイラストはとてもわかり易いですね。
ふんふんなるほど、MCPというのはAIを異なる複数のサービスと連携できる様にするハブ的なものなのかな。
で、MCPサーバーは名前通りだとそのMCPが動いているサーバーなのかなと。
...でも「Protocol」って言っているのになんでUSBハブになるの?
何かおかしい気がする...と思いながらも、他の記事を見てみても大体以下の様な図が出てきます。
これらの説明から、とりあえず「MCPを使えばAIと各システムを繋ぐことができるんだな」と、
そしてそれはきっと「MCPサーバーを立てれば実現できるんだね」と。
当初はその様にかなりざっくりと理解していたのですが、実際に触ってみたら概ねその通りではありましたが、認識が色々と違っていました。
こちら周囲に聞いてみた所、結構な人が同じ誤った認識をしていました
3. 実際に触ってわかったこと: よくある誤解
3-1. MCPサーバーの誤解
MCPは実体のない「通信仕様」であり、USBポートやハブではありません。 またMCPサーバーは「MCPルールに従ってリクエスト/レスポンスを各サービス用に変換する中継サーバー」になります。
そして「MCPサーバー」を例えるならば、"基本的には"「USBの変換アダプタ」です。
(変換アダプタ以外の使い方もできますが、ここでは割愛します)
サーバーがMCPルールに則ったリクエストを受信した際、リクエスト構造を各連携先のサービス/アプリケーションのリクエスト構造に変換してAPIを実行し、レスポンスを再度MCPルールに則ったレスポンス構造に変換して送信元へ返却する中継サーバーになります。
あれ、なんだ「間違ってました」とか言っておいて大して元々と変わんないじゃないか。
いやいやむしろ「AIと各サービスを接続する」というイメージそのものなんじゃないのと言っていい内容ですね。
それではMCPサーバーを用いて複数のサービスに接続してみましょう。
!?
A. できません (※現状は)
現在のところ、世の中では"基本的な"MCPサーバーは1サービスにつき1つ必要になっており、AIから複数サービスに接続したければサービス分のMCPサーバーが必要になります。
この点が恐らく「よく見るMCP説明図①」と大きな違いになっており、また多くの認識違いを起こしてしまっている点ではないでしょうか。
ちなみに「基本的な」としたのは一部のSaaSで簡単に複数サービスに接続する設定が行えるサービスが存在しています。また現在配布されているOSSのMCPサーバーでも、もしかしたら探せばどこかで誰かが作っているのかもしれませんが、基本的にはサービス単位でMCPサーバーが存在しているのが現状になっています。
(「7. 参考資料」に記載)
※ただし、これは既存サービスの多くがRestAPIなどMCP以外のインターフェースで提供されているためです。
将来的にサービス側が直接MCPプロトコルに対応すれば、中継用のMCPサーバーは不要になります。
現状ではほとんどのサービスがMCPに対応していないため、変換用のMCPサーバーが必要という状況です。
3-2. MCPクライアントの存在
前項でAIから直接MCPに通信を行っている図を載せておきながらアレなんですが、実際はAIがMCPサーバーと直接通信するわけではありません。(※現状は)
MCPサーバーを使用する際には以下の様な通信が行われています。
MCPサーバーへの通信を担当するのは「MCPクライアント」です。例としてClaudeCode のようなツールでは、AI(エージェント)が意思決定し、その指示をエージェント内部のMCPクライアントが受けてMCPサーバーに通信します。
ただしこのMCPクライアント部分は説明の図では省かれることが多い様に思います。この点を誤解していると「AIにどうやってMCP情報を渡すの?」と悩むことになります。(※なりました)
4. MCPを導入する前に知っておくべきこと
ここまでしてMCP/MCPサーバーを導入するメリットって何かあるのでしょうか。
ChatGPTは登場当初、学習済みの情報から返答を作成していましたが、 現在では質問によってWeb上を検索し、そこで得た情報から回答を作成することができる様になっています。
その様にAIを閉じた状態から外へ出られる状態にすることでできることの可能性は大きく広がりますが、 しかしその一方で、デメリットや注意点をしっかりと認識した上で使わないと大変なことになりえます。
ここでAIにMCPを導入することで実現できること、そして起こりうる問題の可能性について考えてみます。
4-1. 実現できること
・今まで:新しく社員が入社した際、社内システムのアカウントを個別で登録する
→ AIと各システムのAPIとMCPでつなげることで「新しくアカウント作って」とAIに依頼を投げるだけで作成させる。
・今まで:毎月の売上レポートを管理画面からデータを出力してまとめる
→ AIに「◯月の売上レポート作って」と依頼することで売上管理システムにアクセスしてデータを取得してレポートを作成させる。
・今まで:EC サイトの売上が急に下がった際、どのページが原因か毎回調査していた
→ MCP でアクセスログ・CVR・検索ワード API を取得し、
「カートページのエラー率が前週比 40% 上昇しています」
「検索ワード '在庫' が急増しており、欠品が原因の可能性があります」
といった "傾向分析+原因推定"をAIが実施。
・今まで:セキュリティ確認を人手でやっていた
→ MCP で勤怠・入退室ログ・監視カメラ(サマリデータ)にアクセスし、
「通常勤務しないはずの深夜帯に A さんの入室が連続しています」
「直前に退勤しているため、カードの貸し出しの可能性があります」
など異常なパターンを AI が発見。
このように、従来は担当者が個別に対応していたルーチンワークから、ログデータを横断的に分析して原因を推測するような高度な判断まで、AIがMCPを介して調査・分析を行い、その結果を提示できるようになります。
4-2. リスクと注意点
・AIの不確実性による問題
与えた指示に対して指示者が想定していた動作を必ず行うかどうかは実行してから出ないと分からない。
DBやシステムへの登録,更新,削除などの権限を与えていた場合、指示を出していなくても実行される可能性がある。
・AI使用料金問題
MCP通信では、AIに渡す情報量(トークン数)が増えるため、通常より課金が高くなります。
最近ではトークンを減らすテクニックがAnthropic社から提供されましたが、まだこの仕様が標準では
ない為、個別に努力する必要があります。
(参考資料:Anthropic公式のMCPサーバー設計術!98.7%のトークン削減を実現)
ボクはこの不確実性にやや危険を感じています。
例としてボクは普段Amazon Echoを家で使用しているのですが、
「朝9時にアラーム」と告げると翌朝9時にアラームがセットされます。
しかし1度だけ何故か翌々日の朝9時にセットされたことがありました。
原因は未だ不明ですが、以降はセットした後に必ずセットされた日時の表示を見る様にしています。
その他にも例えば「新入社員情報を登録して」と伝えても、AIが無関係な情報を削除することも起こり得ます。
データ取得系のAPIであれば問題ありませんが、登録/更新系のAPIの操作権限をどこまで渡すものか?
AIによる間違った対応が起こった時はどう対応すべきか、などは考慮して使用する必要がある様に思います。
5. まとめ
◯MCPとは
・AIが外部と連携する為の通信仕様のこと。
・実体はない。
◯MCPサーバーとは
・AIと外部サービス(主にAPI)を連携させる為の中継サーバーのこと。
・基本的に1サービス毎に1サーバー必要になる。
◯ MCPクライアントとは
・AI(エージェント)が外部機能を利用する際に、MCPサーバーとの通信を担当するコンポーネント。
・Claude Code などのツールに内蔵されていることが多い。
・AIの指示を受けて、MCPサーバーにリクエストを送る仲介役。
◯ MCP導入のメリット
・作業の自動化:アカウント登録やレポート生成など、人が行う業務をAI経由で一括処理できる。
・拡張性の高さ:同じプロトコル上で新しいツールやサービスを簡単に追加できる。
◯ MCP導入時の注意点
・AIの不確実性:誤ったAPI呼び出しでデータ破壊のリスクがある。
・コスト増加:MCP通信に必要なトークン量が多く、課金額が跳ね上がる可能性。
・セキュリティリスク:第三者製MCPサーバ利用時にはコードレビューが必須。
次回は「実際にMCPを使ってみた」という記事を投稿する予定です。それではまた!
6. おまけ:現状と今後の展望についての極めて個人的な考察
MCPは2024年11月にClaudeを開発したAnthropic社が提唱したAIとサービスを連携させるための標準ルールで、今もどんどんMCPサービスを提供している会社が増えてはいますが、MCPに関してボクはまだ発展途上感が否めません。
特に現在の主な用途はエンジニア向けなのか、ローカル上でMCPサーバーを動作させて同じくローカルのVsCodeやClaudeCodeから接続して使用する様な例ばかりを多く見ます。
MCP対応しているワークフローツールの「Dify」を見てみますと、あえてそうしているのか、こちらMCPに対応はしているものの「これMCPの使い方として正しい?」と疑問に思う機能となっています。
また各種WEBサービスと連携する為のOSSのMCPサーバーを公開しているサイトがありますが、こちらで公開されていたMCPサーバーを利用してみた所、起動はしますがMCPサーバーとのリクエスト/レスポンスの構造が違っていて、正しく連携できなかった事がありました。
これは元のアプリが間違った作りをしたままリリースしているのか、または途中でMCPの仕様が変わってしまい動かなくなったのか。
こうした規格は今後もアップデートしていくのでしょうが、過渡期の現在それがどれほどの頻度で発生するのか、開発としては悩ましい所です。
7. 参考資料: 公開されているMCPサーバ
◯Zapier MCP (https://zapier.com/mcp)
・有料
・約8000のWebAppに接続できるMCPサーバーを提供するSaaS
◯CData MCP(https://jp.cdata.com/solutions/mcp/)
・2025年末まで無料
・APIキーを取得して使用する
・Windows Installerが配布されている
・機能制限版のコードはGithubで公開されている
https://github.com/CDataSoftware/cdata-jdbc-mcp-server
・主にローカル環境のClaude Code等から接続して使用を目的としていると思われる
◯AI Base (https://mcp.aibase.com/ja/explore)
・OSSで公開されている個人開発のMCPサーバーをリストアップしているサイト
・各画面からGithubへの遷移リンクがある
・そのままではろくに使えないものも存在する
・セキュリティ面は自分でコードを見て安全か確認する必要がある
◯AI Base (https://mcp.aibase.com/ja/explore)
・OSSで公開されている個人開発のMCPサーバーをリストアップしているサイト
・各画面からGithubへの遷移リンクがある
・そのままではろくに使えないものも存在する
・セキュリティ面は自分でコードを見て安全か確認する必要がある
◯MCP Hub (https://hub.docker.com/mcp/explore)
・docker社が管理するMCPサーバーのDockerイメージ配布サイト
・主にサービス提供企業が作成した公式Imageが配布されている
◯Github MCP Registry (https://github.com/mcp)
・企業が開発した自社サービスのMCPサーバーがリストアップされている