チャットでサービス連携！MCP基礎編 🐌 


:::note
この記事は社内勉強会用に作成されたものです。
:::

本記事は、MCPについて紹介する2部構成のうちの「基礎編」です。
MCPの使い方やサービス連携については[実践編](https://qiita.com/kurata04/private/2d3a0f803b20bd56be18)をご覧ください。

---

さて、みなさんは日頃AIを活用していますか？
私自身、最近は仕事の中でAIを使う機会が増えており、「もっと便利に使えないかな？」と考えていたところで出会ったのが MCP というキーワードでした。
そこでMCPについて触れてみたので今回記事として書かせていただいています。

まずMCPをご存知ない方もいらっしゃると思いますので、MCPとはなにかを話したいと思います。


## MCPってなに？

MCPとは「Model Context Protocol（モデル・コンテキスト・プロトコル）」の略で、アンソロピック（Anthropic）が[発表](https://trends.codecamp.jp/blogs/media/itnews49)した、AIと外部システムの接続を標準化する**オープンプロトコル**[^1]です。
[^1]: 「プロトコル」というのは、決まりごとやルール、規格を意味します。

簡単に言うと、**AIと外部システムをつなぐための決まりごと**と思ってください。

MCPを例える場合によく挙げられているのが「USB-Cポート」です。  
USB-Cポートはどんなメーカーの機器でも同じ規格でつなげますよね？
MCPも「AI用のUSBポート」として、AIモデルといろんな外部データを同じやり方でつなぐことができます。（参考：[こちらの画像](https://norahsakal.com/blog/mcp-vs-api-model-context-protocol-explained/#what-is-mcp)）。


------

とはいえ、言葉だけではわかりにくいですよね。  
例えば複数のWebサービスをAIから使いたいと思った時に、
そのサービスの接続方法は共通化されてませんね。

![スライド1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4085607/65098822-7a22-4550-bda9-3ed977e126f1.png)


ここで従来の使用方法では、サービスごとに接続方法がバラバラなので、  
それぞれのAPIの仕様を調べ、実装を変える手間がかかります。

![スライド2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4085607/9f58eb8a-91ea-4a24-b883-b2bd20bc11e0.png)


しかし、MCPはこうした接続方法を共通ルールで統一できます。

![スライド3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4085607/21d4d1ee-ba0e-4d53-83a0-56fd0823dc19.png)

結果として、開発の手間が大幅に削減され、サービス同士の連携もスムーズになります。

上記の例でWebサービスを例に挙げましたが、
MCPサーバーに該当するのはWebサービスだけではありません。 
ローカルのPC環境でも構築可能です。
つまり、自分のパソコンのファイルやアプリにもMCP経由でAIがアクセスできるようになります。 


## MCPの仕組み

MCPは、3つの構成要素で成り立っています。

1. **MCPホスト（MCP Host）**  
生成 AI モデルを搭載したアプリケーション。VS Codeなどが該当。

2. **MCPクライアント（MCP Client）**  
ホストの中にある、MCPルールに従って接続するAI専用の機能、プログラム。

3. **MCPサーバー（MCP Server）**  
MCPルールに従い、AIに接続されるための軽量なプログラム。


それぞれについて先ほどの[図](https://norahsakal.com/blog/mcp-vs-api-model-context-protocol-explained/#what-is-mcp)にも記載されています。

---


MCPは、「サービスを使う人」と「サービスを提供する人」の関係を前提にしています。  
**ホスト**や**クライアント**は、サービスを使う人が用意し、
**サーバー**は、サービスを提供する人が用意します。  
どこまでAIがデータを扱うかは、サービスを提供する人に委ねられています。


## MCPのメリット

- 接続方式を共通化できる
 → サービスやツールが増えても柔軟に連携可能
- 自然言語で操作できる
→ 非エンジニアでも扱いやすく、業務活用しやすい



## MCPのリスク
MCPはあくまで「共通ルール」であり、それ自体にセキュリティ機能が備わっているわけではありません。
悪意あるコードを弾くことや不正ができなくなるわけではないので安全に使えるとは限らないです。  
悪意ある開発者によってMCPサーバー側で、不正アクセスや情報漏えいを引き起こす仕組みを入れられている可能性もあります。

リスクを減らすために、以下のポイントを意識すると良いです。

- よく知らないMCPを安易にインストール・接続しない
- MCPの設定ファイルを外部に公開しない（APIキーやトークンを含むことがあるたため、GitHubなどでも管理しない）  
- Dockerなどのコンテナ内で動かす方法も検討する（これはモデルの実行を“安全な箱”の中に閉じ込めるイメージです）

---

こうしたポイントを押さえながら、MCPを使うことでAIと外部システムをスムーズに連携させることが可能となっていきます。

MCPをサポートするサービスも増えてきており、
日々の業務改善やAI活用の第一歩として、いまのうちから仕組みを理解しておくことで
これからの業務をもっとスムーズにしたり、業務効率化や柔軟な仕組みづくりへの活用を期待できそうです。

またMCPは最初に「プロトコル」を指す言葉であると説明しましたが、「MCPを利用して連携する仕組み自体」を指して使われることも多いです。


これで基礎編の説明は終了となります。

引き続き、実践編は[こちら](https://qiita.com/kurata04/private/2d3a0f803b20bd56be18)をご覧ください。



---

## 参考資料
- [Model Context Protocol（MCP）とは？生成 AI の可能性を広げる新しい標準](https://zenn.dev/cloud_ace/articles/model-context-protocol)
- [ちゃんと理解したい初心者のための「MCP」まとめ](https://qiita.com/to3izo/items/99dd3cde237c2e5a007f)  
- [MCP入門](https://zenn.dev/mkj/articles/0ed4d02ef3439c)  
- [Anthropic、Model Context Protocol(MCP)を発表](https://zenn.dev/shirochan/articles/37e5aea29c4e46)
- [What is Model Context Protocol (MCP)? How it simplifies AI integrations compared to APIs](https://norahsakal.com/blog/mcp-vs-api-model-context-protocol-explained/)