
「Claudeに頼んだのに、ファイルシステムにはアクセスできません…」
「AIに指示したいけど、いちいちコピペして渡すのがめんどくさすぎる」
「GitHub、Slack、Notionを全部AIに繋げられたら最高なのに、どうすればいいの?」
そんな悩み、めちゃくちゃわかります。
AIってすごく賢いのに、なんで「今のファイルを見て」「このデータを確認して」ってことが直接できないんだ?って思ったこと、一度はありますよね。
その答えが、2024年11月にAnthropicが発表した 「MCP(Model Context Protocol)」 です。
これ、マジでAIの使い方が根本から変わる技術なんですよ。一言で言うと、「AIとあらゆる外部ツールをつなぐ共通規格」です。
今回は、MCPを全く知らない人でも「なるほど!」ってなるように、仕組みから実装方法まで丁寧に解説していきます。
MCPって何なの?まず「問題」から理解しよう
従来のAI連携、こんな問題がありました
まず、MCPが登場する前の話をします。
AIをビジネスで活用しようとすると、こんな壁にぶつかっていました。
例えば、こんなシーン。
あなたがAIに「Slackの先週のやり取りを要約して」と頼みたいとします。でも従来のAIは外部ツールに直接アクセスできないので、あなたが手動でSlackを開いて、内容をコピーして、AIに貼り付けないといけない。
「GitHubの最新コードをレビューして」も同じ。「Notionのデータベースから情報を拾って」も同じ。
全部、人間がAIの代わりにコピペ作業をする羽目になるんです。これって、せっかくAIが賢いのに、まるで「口だけ達者な部下」みたいですよね。
しかもこれ、開発者視点でも大変な問題がありました。AIを自社サービスに連携させようとすると、サービスごとに専用の連携コード(API統合)を全部個別に書かないといけないんです。
カレンダー連携なら専用コード、メール連携なら専用コード、データベース連携なら専用コード…10個のサービスと繋げたければ、10種類の実装が必要になる。開発コストが爆増して、しかも後からメンテもしないといけない。

MCPはこの問題を「一発」で解決する
MCPを最も有名な例えで表すと、「AIのためのUSB-Cポート」です。
Anthropic自身がそう呼んでいるので、これがわかりやすいです。
スマホが普及する前、充電器って全部バラバラでしたよね。ドコモ、au、ソフトバンクで端子が違って、友達の家でも充電できない…あの地獄。でも今はUSB-Cで統一されたおかげで、「どのケーブルでも充電できる」が当たり前になりました。
MCPはまさにその発想です。
AIと外部ツールを繋ぐための「共通規格(プロトコル)」を作ってしまったんです。一度MCPに対応すれば、あとはどんなAIとも、どんなツールとも繋がれる。

従来: AI ←(専用コード)→ Slack、AI ←(別の専用コード)→ GitHub、AI ←(また別の専用コード)→ Notion
MCP後: AI ←(MCPという共通規格)→ Slack・GitHub・Notion・なんでも
この違い、めちゃくちゃデカいんですよ。
MCPの「中身」を理解する:3つの登場人物
MCPは 「ホスト」「クライアント」「サーバー」 という3つの役割で動いています。難しそうに聞こえますが、スマホのアプリを例に出すと一発でわかります。
MCPホスト(アプリ本体)
スマホにインストールされているAIアシスタントアプリそのものです。
例えば、Claude DesktopやCursorがホストにあたります。あなたがチャット画面で話しかける相手のことです。
MCPクライアント(橋渡し役)
アプリのバックエンドにある「コーディネーター」です。
あなたがアプリに「近くのラーメン屋を教えて」と言ったとき、それを受け取ってデータベース(サーバー)に「ラーメン屋の情報をください」と問い合わせる役割を果たします。ユーザーからは見えない縁の下の力持ちです。
MCPサーバー(情報・機能の提供者)
実際に情報や機能を持っているシステムです。
「ラーメン屋のリスト」を返してくれるデータベース的な存在。ファイルシステムへのアクセス、GitHubのリポジトリ、Slackのメッセージ履歴…これらを「MCPサーバー」として提供することで、AIが直接アクセスできるようになります。
全体の流れをまとめると

あなた → ホスト(Claude Desktop)→ クライアント → MCPサーバー(GitHub, Slack, ファイルなど)
↑
情報を取得して返す
この仕組みのすごいところは、一度MCPサーバーさえ用意してしまえば、どのAIアプリ(ホスト)からでも使い回せる点です。GitHub用のMCPサーバーを作れば、ClaudeでもCursorでも、MCP対応アプリ全部から使える。
MCPサーバーには何ができるの?3つの機能
MCPサーバーがAIに提供できるものは、大きく3種類あります。
① リソース(データを読み取る)
AIが参照できるデータやコンテンツです。
- ローカルのファイル・フォルダ
- データベースの中身
- GitリポジトリのコードやREADME
- Google Drive上のドキュメント
要するに「読み取れる情報」全般ですね。
② ツール(アクションを実行する)
AIが実際に動かせる機能です。
- ファイルの作成・編集・削除
- 外部APIの呼び出し
- データベースへのクエリ実行
- Slackへのメッセージ送信
「読む」だけじゃなく、「実際に何かする」ことができる点が強力です。
③ プロンプト(テンプレートを提供する)
AIの応答を一定のパターンに誘導するテンプレートです。
「このコードのレビューをして」「この画像の料理のレシピを教えて」みたいな決まった使い方があるときに、サーバー側からプロンプトのひな型を提供できます。
既存のMCPサーバーを使ってみよう:Claude Desktopで体験する
「自分でゼロから作るのは大変そう…」
大丈夫です。現時点ですでに大量の公開MCPサーバーが存在します。GitHubでスターを集めている有名どころを紹介します。
Claude Desktopに設定する手順
ステップ1:Claude Desktopをインストール
まだ入れていない人は、Anthropicの公式サイトからダウンロードします。
ステップ2:Node.jsをインストール
多くのMCPサーバーはNode.jsで動きます。nodejs.orgから最新のLTS版をインストールして、以下で確認。
node -v
バージョンが表示されればOKです。
ステップ3:設定ファイルを開く
Claude Desktopの設定から「開発者」→「設定の編集」をクリックします。すると claude_desktop_config.json というファイルが開きます。
ステップ4:MCPサーバーの設定を追加
例えば、ファイルシステムMCPサーバー(ローカルファイルにアクセスできる)を追加するには、こう書きます。
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-filesystem",
"/Users/あなたのユーザー名/Documents"
]
}
}
}
/Users/あなたのユーザー名/Documents の部分を、AIにアクセスさせたいフォルダのパスに変更してください。
Windowsの場合:
"args": ["-y", "@modelcontextprotocol/server-filesystem", "C:\\Users\\YourName\\Documents"]
ステップ5:Claude Desktopを再起動
設定を保存して、Claude Desktopを完全に終了→再起動。チャット画面の左下あたりに「🔧 ツール」のアイコンが増えていれば成功です!
これでClaudeに「Documentsフォルダの中にあるファイル一覧を教えて」と聞くと、直接フォルダを参照して答えてくれます。 感動しますよ、これ本当に。
人気のMCPサーバー一覧
| サーバー名 | できること | 難易度 |
|---|---|---|
| Filesystem | ローカルファイルの読み書き | ★☆☆ |
| GitHub | リポジトリ操作、Issue作成 | ★★☆ |
| Slack | メッセージ送受信、チャンネル管理 | ★★☆ |
| Brave Search | リアルタイムWeb検索 | ★☆☆ |
| Notion | ノートの読み書き | ★★☆ |
| PostgreSQL | データベースクエリ実行 | ★★★ |
自分でMCPサーバーを作ってみよう:Python実装編

既存のサーバーを使うだけでも十分ですが、「自社のシステムと繋ぎたい」「独自のツールを追加したい」というときは、自分でMCPサーバーを実装する必要があります。
ここではPythonを使った実装方法を解説します。思ったよりずっとシンプルで驚くはずです。
環境構築
Pythonの場合、FastMCPというライブラリを使うのが一番簡単です。
pip install fastmcp
これだけ。インストール1行で開発を始められます。
超シンプルなMCPサーバーを作ってみる
まずは「足し算をするAIツール」を作ってみましょう。え、足し算?って思うかもしれませんが、これがMCPの基本構造を理解するのに最適なんです。
calculator_server.py というファイルを作って、以下を書きます。
from fastmcp import FastMCP
# MCPサーバーのインスタンスを作成(名前は何でもOK)
mcp = FastMCP("電卓サーバー")
# @mcp.tool() をつけるだけでAIが使えるツールになる
@mcp.tool()
def add(a: int, b: int) -> int:
"""2つの数を足し算するツール"""
return a + b
@mcp.tool()
def multiply(a: int, b: int) -> int:
"""2つの数を掛け算するツール"""
return a * b
# サーバーを起動
if name == " main ":
mcp.run()
たったこれだけです。
@mcp.tool() デコレータをつけるだけで、その関数がAIから呼び出せるツールになります。型ヒント(a: int)とdocstring("""説明""")を書いておくと、AIが自動的にツールの使い方を理解してくれるので、ここは丁寧に書くのがポイントです。
実行してみましょう。
python calculator_server.py
これだけでMCPサーバーが起動します。
Claude Desktopからこのサーバーを使う
自作サーバーをClaude Desktopに登録するには、先ほどの claude_desktop_config.json に追記します。
{
"mcpServers": {
"calculator": {
"command": "python",
"args": ["/Users/あなたのユーザー名/path/to/calculator_server.py"]
}
}
}
ファイルパスを自分の環境に合わせて変更してください。
保存してClaude Desktopを再起動すると、「5と7を足してください」と聞いたとき、ClaudeがあなたのPythonサーバーの add 関数を呼び出して「12です」と返してくれます。
もっと実用的な例:天気情報を返すサーバー
実際のビジネスに近い例も見てみましょう。外部APIと連携するMCPサーバーです。
from fastmcp import FastMCP
import httpx
mcp = FastMCP("天気サーバー")
@mcp.tool()
async def get_weather(city: str) -> str:
"""
指定した都市の天気情報を取得するツール
Args:
city: 天気を調べたい都市名(英語)
Returns:
天気情報の文字列
"""
url = f"https://wttr.in/{city}?format=3"
async with httpx.AsyncClient() as client:
response = await client.get(url)
return response.text
if name == " main ":
mcp.run()
このサーバーを登録すれば、Claudeに「東京の今日の天気は?」と聞くだけで、リアルタイムの天気情報を引っ張ってきて答えてくれるようになります。
リソースを公開する場合
ツール(実行する機能)だけでなく、データを読み取り専用で公開する「リソース」も作れます。
from fastmcp import FastMCP
mcp = FastMCP("データサーバー")
@mcp.resource("config://app-settings")
def get_app_settings() -> str:
"""アプリケーションの設定情報を返す"""
return """
会社名: YAT株式会社
主力サービス: Webデザイン、AI開発支援
対応言語: 日本語、英語
"""
if name == " main ":
mcp.run()
社内情報やよく参照するドキュメントをリソースとして公開しておけば、AIが常に最新の会社情報を把握した状態でサポートしてくれるようになります。
実際に使うとどう変わる?具体的なシーン別活用例
シーン1:エンジニアがコードレビューを依頼
従来: GitHubを開く→該当PRのファイルを全部コピー→Claudeに貼り付け→レビュー依頼
MCP後: Claudeに「このリポジトリのPR #42をレビューして」と言うだけ
GitHub MCPサーバーが自動的にPRの差分を取得して、Claudeが直接レビューしてくれます。コピペ作業がゼロになる。
シーン2:マーケターが週次レポートを作成
従来: Notionを開く→先週のデータをコピー→Slackの会話を遡る→Excelに貼り付けて集計→Claudeで文章化
MCP後: Claudeに「NotionのKPIデータと先週のSlack議論を元に、週次レポートを作って」と一言
Notion MCPとSlack MCPが連携して、情報収集から文章生成まで一発完了。
シーン3:非エンジニアが社内ドキュメントを検索
従来: 「あの資料どこだっけ…」とドライブを延々と漁る
MCP後: Claudeに「去年の4月に作った提案書の中で、料金に関する部分を教えて」と聞くだけ
Filesystem MCPやGoogle Drive MCPがファイルを横断検索して、必要な情報だけをピックアップしてくれます。
MCPを使うときに知っておきたいこと
セキュリティは大丈夫なの?
MCPの設計思想には「明示的な同意」が組み込まれています。
例えば、ClaudeがGitHubにアクセスしようとすると、まずユーザーに「GitHubリポジトリへのアクセスを許可しますか?」という確認が表示されます。AIが勝手に外部システムにアクセスすることはなく、常にあなたの承認が必要です。
また、Filesystemサーバーの場合、設定で「このフォルダまでしかアクセスできない」という制限をかけられます。全ディレクトリをAIに開放するのは怖い…という人も、特定フォルダだけに絞れるので安心です。
APIキーの管理は慎重に
外部サービス(Slack、GitHubなど)と連携するには、APIキーが必要になります。このキーはコードに直接書かず、環境変数で管理するのが鉄則です。
# .envファイルに書いておく
GITHUB_TOKEN=ghp_xxxxxxxxxxxxxxxx
SLACK_BOT_TOKEN=xoxb-xxxxxxxxxxxxxxxx
import os
from fastmcp import FastMCP
token = os.getenv("GITHUB_TOKEN") # コードにキーを書かない!
これをGitHubにそのままプッシュしたら大変なことになるので、.gitignore に .env を必ず追加してください。
まとめ:MCPはAIの「手足」を生やす革命
ここまで読んでくれた方なら、MCPがどれだけ重要な技術かわかったと思います。
MCPを一言でまとめると:
AIと外部ツールをつなぐ「共通規格」。これによってAIは「考えるだけのもの」から「実際に動くもの」に変わる。
MCPの3つのポイントをおさらい:
- USB-Cのような共通規格 → 一つ覚えれば全部のツールと繋がれる
- ホスト・クライアント・サーバーの3役割 → それぞれが分担して外部連携を実現
- 既存サーバーを使うだけでもOK → 自分で実装しなくても大量の公開サーバーが使える
今日からできること:
まずはClaude DesktopにFilesystem MCPサーバーを設定するだけでも、AIの使い方がガラッと変わりますよ。ローカルファイルにClaudeが直接アクセスできるだけで、「コピペ地獄」から解放されます。
そこに慣れてきたら、GitHubやSlackなど自分が普段使っているツールのMCPサーバーを追加していく。最終的には、自分のワークフローに最適化したカスタムMCPサーバーを作る。
そのステップを踏んでいけば、「AIに何かをやってもらう」から「AIが自律的に仕事をこなす」環境が完成します。
MCPはまだ新しい技術ですが、Claude、Cursor、GitHub Copilotなど主要なAIツールが続々と対応を進めています。今のうちに理解しておくと、間違いなく差がつきますよ。
参考リンク:
ではまた次の記事で!








Comments