MCP サーバーの使い方。Filesystem・GitHub・Drive を繋ぐ
前回の概念編で MCP の正体を見ました。今回はいよいよ、既製の MCP サーバーを **手元の Claude Code に繋ぐ** ところまで進みます。Filesystem・GitHub・Google Drive の3例を順番にたどると、ローカル系とリモート系で認証の考え方が違うこと、`/mcp` で状態を見るやり方、不要になったときの外し方まで、ひと通り体感できます。
はじめに
前回の「MCP(Model Context Protocol)とは何か」で、MCP の正体——AI と外部ツールをつなぐ共通プロトコル——をお伝えしました。今回はそこから1段降りて、既製の MCP サーバーを Claude Code に繋ぐ手順 を扱います。
MCP サーバーを「接続する」と聞くと、何やら難しい設定作業をイメージするかもしれません。でも実際は、多くの場合 claude mcp add という1コマンドで済む くらい簡単です。本記事ではこのコマンドを、性格の違う3つのサーバーで使い分けながら、
- ローカルで完結するサーバー(Filesystem)
- API キー認証のサーバー(GitHub)
- OAuth 認証が必要なサーバー(Google Drive)
の順に追いかけていきます。3パターンを覚えれば、これから登場する大半の MCP サーバーは同じ要領で繋げられます。
全体マップ:claude mcp add の基本形
まず、コマンドの全体像を押さえておきます。
claude mcp add <ニックネーム> <起動方法>
- ニックネーム:自分の中でわかりやすい名前(例:
filesystem、my-github、drive) - 起動方法:そのサーバーを立ち上げるためのコマンド or URL
ニックネームは /mcp で表示される名前 にも、内部的な mcp__<ニックネーム>__<ツール名> の <ニックネーム> 部分にも使われるので、短くて意味が通る英単語 がおすすめです。
実行は ターミナル(Claude Code 起動前 or 別タブ)で行います。Claude Code の入力欄ではなく、シェル上で打つ点に注意してください(混乱しやすいポイントです)。
例1:Filesystem サーバー(ローカル系)
最初の例は、もっとも素朴な Filesystem サーバー です。これは「指定したフォルダのファイルを読む/書く」サーバーで、認証は不要、起動も自動でやってくれます。
接続コマンド
ターミナルで以下を実行します。
claude mcp add filesystem npx -- @modelcontextprotocol/server-filesystem ~/Documents
中身を分解すると、
| 部分 | 意味 |
|---|---|
claude mcp add | MCP サーバーを追加するコマンド |
filesystem | 自分でつけるニックネーム |
npx -- | サーバーを npx(Node.js 標準のパッケージ実行コマンド)で起動 |
@modelcontextprotocol/server-filesystem | Anthropic が公開しているサーバーパッケージ |
~/Documents | サーバーがアクセスできるフォルダ(必要なだけ複数指定可) |
実行すると、
✓ Added MCP server 'filesystem'
Tools: list_directory, read_file, write_file, ...
のように、追加完了と そのサーバーが提供する Tools の一覧 が出てきます。これで Claude Code は ~/Documents 配下のファイルを mcp__filesystem__* として呼べるようになります。
動作確認
Claude Code を起動して、
> ~/Documents の中の .md ファイル一覧を見せて
と頼むと、Claude が mcp__filesystem__list_directory を呼んでくれて、Documents フォルダの Markdown ファイル一覧が返ってきます。これで Filesystem サーバーが動いていることが確認できました。
このパターンの特徴
Filesystem 型は 「サーバー本体を手元のマシン内で起動する」 タイプです。
- メリット:認証不要・通信が外に出ない・速い
- デメリット:手元のマシンで直接ファイルを触る権限を渡すことになる
「Claude にどのフォルダを読ませてもいいか」を意識して、指定するフォルダの範囲を絞る のがコツです。~(ホーム全体)を渡してしまうと範囲が広すぎるので、案件フォルダや特定のドキュメントフォルダに限るのが無難です。
例2:GitHub サーバー(API キー認証)
次は GitHub サーバー。これは GitHub のリポジトリ・Issue・PR を操作するためのサーバーで、認証に Personal Access Token(PAT) が必要です。
事前準備:PAT を取得する
GitHub の設定画面から、
- 右上のアイコン → Settings
- 左メニュー最下部 Developer settings
- Personal access tokens → Tokens (classic) または Fine-grained tokens
- Generate new token で新規作成
- 必要なスコープ(
repo、read:userなど)にチェックを入れて発行
発行された文字列(ghp_xxxxxxxxxxxxxxxxxxxx のような形式)をコピーしておきます。この文字列はパスワードと同じ重みなので、誰にも見せず・コードにも書かないこと が大原則です。
接続コマンド
claude mcp add github -e GITHUB_TOKEN=ghp_xxxxxxxxxxxxxxxxxxxx -- \
npx -y @modelcontextprotocol/server-github
ポイントは -e GITHUB_TOKEN=... の部分。これは「サーバーを起動するときに環境変数 GITHUB_TOKEN をこの値で渡せ」という指定です。サーバー側はこの環境変数を見て GitHub API を叩きます。
実行すると、
✓ Added MCP server 'github'
Tools: list_repos, get_issue, create_issue, list_pull_requests, ...
——となり、Claude Code は mcp__github__* で GitHub を触れるようになります。
動作確認
> 自分の GitHub の最近の Issue を10件見せて
と頼むと、Claude が mcp__github__list_issues を呼び、結果を整形して返してくれます。
このパターンの特徴
GitHub 型は 「ローカル起動だが、外部 API への認証情報を持つ」 タイプです。
- PAT を Claude Code の設定に残す 形なので、PC を共有している場合は注意
- スコープは 必要最小限 に絞る(書き込みが要らないなら read のみ)
- 期限切れになると突然動かなくなるので、有効期限の管理 も自分の責任
「Claude に GitHub を任せる範囲」を、PAT のスコープで物理的に縛るのが重要です。
例3:Google Drive サーバー(リモート OAuth 系)
最後は、OAuth 認証が必要なリモート系サーバー の例として Google Drive を扱います。OAuth は「Google のログイン画面でユーザー本人が許可する」認証方式で、API キーよりも安全な反面、初期設定がひと手間多いです。
Google Drive の MCP サーバーは、配布元によって書式や手順が異なります(Anthropic 公式版・コミュニティ版が複数あります)。記事公開時点 での代表的な手順を示しますが、実際に繋ぐときは公式ドキュメントで最新の手順を確認してください。
大まかな流れ
OAuth 系サーバーの接続フローは、おおむね次のようになります。
- サーバーを
claude mcp addで登録 する - Claude Code 内で
/mcpを打つ と、未認証のサーバーがリストに出る - そこから「認証する」を選ぶと、ブラウザが開いて Google のログイン画面に飛ぶ
- 「Claude Code に Drive へのアクセスを許可しますか?」 という同意画面で承認
- 承認が完了するとブラウザがリダイレクトされ、Claude Code 側に 接続成功 と表示される
OAuth は 「サーバー設定 → 認証フロー」の2段階 になっている点が、API キー方式との大きな違いです。1回認証してしまえば、しばらくはトークンが保存されて再認証なしで使えます。
このパターンの特徴
OAuth 型は 「サーバー本体は遠隔にあり、自分の Google アカウントを通して接続する」 タイプです。
- メリット:API キーを自分で発行・管理しなくていい/権限の同意が画面で確認できる
- デメリット:初回の認証フローがやや煩雑/トークン期限切れで再認証が必要なことがある
外部 SaaS 系のサーバーは、Google Drive、Gmail、Slack、Calendar など、ほとんどがこの OAuth 型です。「ブラウザで同意画面を開く流れ」 を1度経験すれば、他のサーバーでも同じ感覚で繋げます。
/mcp で状態を見る
接続中の MCP サーバーの状態は、Claude Code 内で /mcp を打つことで確認できます。
/mcp
[Connected]
✓ filesystem (5 tools)
✓ github (8 tools, authenticated)
✗ google_drive (not authenticated — click here to auth)
このリストでチェックしたいのは、
| 項目 | 意味 |
|---|---|
| ✓ / ✗ | 接続済か未接続か |
| ツール数 | そのサーバーが提供している Tools の数 |
| 認証状態 | OAuth 系の場合、認証済か未認証か |
「動かないと思っていたら未認証だった」というケースが意外に多いので、最初に /mcp で状態を見る癖をつけると、トラブル時間が短縮されます。
サーバーを削除する
不要になった MCP サーバーは、ターミナルで削除できます。
claude mcp remove <ニックネーム>
たとえば、
claude mcp remove filesystem
これで、サーバーの登録、認証情報、関連設定がきれいに外れます。OAuth 系サーバーを削除した場合、Google 側のアプリ認可は別途解除 が必要なケースがあります(Google アカウントの「アクセス権を持つアプリ」設定で確認可能)。
うまく動かないときの確認手順
MCP サーバーまわりは、Skills や Plugins より一段ややこしい設定が絡むので、トラブルが起きやすい領域です。確認手順は、
- ターミナルで
claude mcp list:そもそも追加されているか - Claude Code 内で
/mcp:接続状態と認証状態 /mcpで「未認証」になっていないか:OAuth 系で頻出- 環境変数の値が正しいか:API キーの誤コピー、有効期限切れ
- Claude Code を再起動:MCP サーバーの読み直し
- サーバー側のログを見る:
~/.claude/logs/に手がかりがあることが多い
の順で潰していくのが効率的です。多くは 1〜3 の段階で原因が判明します。
入れすぎないことの大切さ
Plugins と同じく、MCP サーバーも 入れすぎないほうが快適 です。
- サーバー数が増えると Claude が読むツール一覧が長くなる(呼び出し判断が鈍る場面が出る)
- 認証情報の管理対象が増える
- Claude Code の起動が少しずつ遅くなる
「いま自分の作業に必要な3〜5本に絞る」のが、長く快適に使うコツです。試してみて使わないなと感じたサーバーは、claude mcp remove で外しておきましょう。
まとめ
MCP サーバーを使う手順の要点を整理します。
- 接続の基本形は
claude mcp add <ニックネーム> <起動方法>:ターミナルで実行 - 3つの典型パターン:ローカル(Filesystem)/API キー(GitHub)/OAuth(Drive)
- API キー型は
-e KEY=VALUEで環境変数として渡す:PAT のスコープは最小限に - OAuth 型は
/mcpから認証フローを起動:ブラウザで同意画面に進む - 状態確認は Claude Code 内で
/mcp:接続済か、認証済か - 削除は
claude mcp remove <ニックネーム>:OAuth 系は外部側の認可解除も忘れずに - 動かないときは:
mcp list→/mcp→認証状態 →環境変数 →再起動 →ログ の順 - 入れすぎない:3〜5本に絞ると判断がブレない
既製の MCP サーバーを使い慣れたら、次の記事「MCP サーバーを自作する」で、自分専用のサーバーを最小構成で立てる 手順に進みます。「うちの社内ツールを Claude から触らせたい」「特定のフォーマットでファイルを変換させたい」といった、既製サーバーがない要件を 30〜50 行程度のコード で実現する方法を扱います。続けて読むと、MCP が「人が用意した世界に繋ぐ」だけでなく、「自分でも世界を増やせる」 規格だということが体感できます。
WordPressを実際に動かしてきたサーバー:ロリポップ
Claude Code でWordPressサイトを組み立てるとき、最初に置く先として無理のないレンタルサーバー。月数百円から始められ、WordPressの自動インストールにも対応しています。設定で詰まりがちな初期段階の時間をかなり減らせます。