MCP使い方実践ガイド|Claude Desktop/Code連携手順【2026年2月】
最終更新日: 2026年2月20日
MCP(Model Context Protocol)の基礎を理解したあとに詰まるのは、設定ファイル、OAuth、権限、運用フローです。本記事は概念説明を最小限にし、 Claude DesktopとClaude Codeで実際に接続して使う手順に絞って整理します。
先に全体像を確認したい場合はMCPとは何かの解説記事を先に読むと、役割分担の理解が速くなります。
要点まとめ(確認日: 2026-02-20)
- MCPは概念理解より、接続先ごとの権限と運用設計を先に決める方が失敗が少ない。
- Claude Desktopは設定ファイル中心、Claude Codeは`claude mcp add`中心で管理する。
- Notion/GitHub/SlackはリモートMCP(OAuth)を使えるが、初期は読み取り中心の権限で開始する。
- MCP仕様は日付バージョンで更新される。2026-02-20時点の現行は2025-11-25。
- 自作サーバーは最小1ツールから始め、監査ログ・タイムアウト・入力検証を段階的に足す。
MCPとは何か(応用編): 実装責務で分けると迷わない
MCPは「AIが外部ツールを使うための共通接続規格」です。運用では、構造理解より先に責務を明確にすると事故が減ります。誰が認証し、どこで権限を制御し、どこに監査ログを残すかを設計段階で固定します。
| 層 | 役割 | 運用で最初に決めること |
|---|---|---|
| Host | Claude Desktop / Claude Code / IDE | ユーザー操作、認証状態、実行範囲の管理 |
| Client | MCP接続を持つクライアント機能 | Tool呼び出し・結果の受け取り・再試行 |
| Server | 外部システムへの入口 | 権限境界、入力検証、ログ、エラー制御 |
| Tool / Resource | 実行機能 / 参照データ | 副作用の有無を分けて公開する |
仕様バージョンも確認が必要です。MCPは日付ベースで更新され、2026年2月20日時点のVersioningページでは現行が2025-11-25です。`2024-11-05`は参照価値はあるものの、現行との差分確認が前提になります。
AIリブート通信|週1本、仕事で使えるAI知識+ニュース解説をLINEで届ける(無料)
MCP、Claude、主要AIツールの更新を、実務で使う判断に必要な粒度で整理して配信しています。仕様変更が早い領域のキャッチアップ効率を上げたい方向けです。
今すぐ無料で登録する(30秒)Claude Desktop・Claude CodeにMCPサーバーを接続する手順
実務で再現しやすい順序は、Desktopで設定形式を把握し、CodeでCLI管理に寄せる流れです。まずはローカルstdioサーバー1本で起動確認を取り、次にリモートMCPへ拡張します。
1. Claude Desktopの設定ファイルを確認する
2026年2月20日時点の公式Quickstartでは、macOSは~/Library/Application Support/Claude/claude_desktop_config.json、Windowsは%APPDATA%\\Claude\\claude_desktop_config.jsonを編集します。基本構造は次の `mcpServers` 形式です。
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-filesystem",
"/Users/you/workspace"
]
}
}
}2. Claude CodeでMCPをCLI管理する
Anthropic公式ドキュメントでは、`claude mcp add` と `claude mcp add-json` が基本です。スコープは `local` / `project` / `user` で分けられます。
# 1) ローカルstdioサーバーを追加
claude mcp add filesystem -- npx -y @modelcontextprotocol/server-filesystem /Users/you/workspace
# 2) JSON形式で追加
claude mcp add-json memory '{"type":"stdio","command":"npx","args":["-y","@modelcontextprotocol/server-memory"]}'
# 3) Claude Desktop設定を取り込む
claude mcp add-from-claude-desktop操作体系を先に把握したい場合はClaude Code入門記事と併読すると、MCP以外の設定と競合しにくくなります。
公式MCPサーバー一覧と使い道: 参照実装とベンダー公式を分けて選ぶ
「公式MCPサーバー」は1種類ではありません。MCP Steering Groupが管理する参照実装と、Notion/GitHub/Slackなど各ベンダーが提供する公式リモートMCPを分けて評価するのが現実的です。
| 分類 | サーバー | 主な用途 | 向いている場面 |
|---|---|---|---|
| 公式参照実装(MCP Steering Group) | filesystem | ローカルファイルの読み書き・探索 | プロジェクト分析、ドキュメント抽出、差分確認 |
| 公式参照実装(MCP Steering Group) | fetch | Web取得・HTTPアクセス | 一次情報の取得、外部APIレスポンスの確認 |
| 公式参照実装(MCP Steering Group) | memory | セッション間のメモリ保存 | 長期タスクの状態管理、再開時の文脈維持 |
| 公式参照実装(MCP Steering Group) | github / gitlab / google-drive | 主要SaaS連携の参照実装 | 自社用途へ拡張する前のたたき台 |
| ベンダー公式リモートMCP | Notion MCP | ワークスペース検索・ページ参照 | 議事録整理、要約作成、ナレッジ照会 |
| ベンダー公式リモートMCP | GitHub MCP | Issue/PR/Code検索、開発ワークフロー連携 | レビュー支援、進捗把握、修正案生成 |
| ベンダー公式リモートMCP | Slack MCP | 会話検索、投稿取得、チャンネル文脈参照 | 問い合わせ履歴確認、決定事項の要約 |
最初は参照実装(filesystem/fetch/memory)で運用設計を固め、その後に業務システム連携(Notion/GitHub/Slack)へ広げると、権限事故を抑えながら拡張できます。
Notion・GitHub・Slack連携を設定する(ステップバイステップ)
3サービスとも、事前権限の定義と接続後の参照範囲確認が成否を分けます。ここではClaude Codeコマンドで統一し、再現しやすい手順で整理します。
Notion連携
- NotionでInternal Integrationを作成し、参照対象ページ/DBを接続する
- IntegrationのCapabilitiesを最小権限で設定する(初期はRead中心)
- Notion APIトークン(`secret_...`)を安全に保持する
NOTION_TOKEN="secret_xxx" \ claude mcp add --transport http notion https://mcp.notion.com/mcp
- Claude Codeで`claude mcp list`を実行して`notion`が有効か確認する
- 「Notionで最新の議事録ページを3件取得して」と依頼し、参照結果を検証する
GitHub連携
- GitHub Personal Access Tokenを作成(最小権限: `read:org`, `repo`)
- 組織利用時は許可ポリシーを先に確認する
- 社外リポジトリを扱う場合はアクセス境界を明示する
GITHUB_PERSONAL_ACCESS_TOKEN="ghp_xxx" \ claude mcp add --transport http github https://api.githubcopilot.com/mcp/
- 対象リポジトリで「未対応Issueの優先度を整理して」と依頼し、参照可能範囲を確認する
- 書き込み系アクションは承認ステップを入れてから有効化する
Slack連携
- Slack管理者側でMCP接続ポリシーと利用可能ワークスペースを確認する
- OAuth連携時に公開範囲(DM/チャンネル)を事前に定義する
- 個人情報が含まれるチャンネルは対象外にする
claude mcp add --transport http slack https://mcp.slack.com
- 接続後に「昨日の#project-alphaの意思決定を要約して」と依頼し、取得範囲を確認する
- 不要なチャンネル参照が起きる場合は権限設定を見直す
接続後は「何が取得できるか」だけでなく「何が取得できてはいけないか」を同時に確認してください。評価観点を整理したい場合はコンテキスト設計の実践記事が役立ちます。
AIリブート通信|週1本、仕事で使えるAI知識+ニュース解説をLINEで届ける(無料)
MCP、Claude、主要AIツールの更新を、実務で使う判断に必要な粒度で整理して配信しています。仕様変更が早い領域のキャッチアップ効率を上げたい方向けです。
今すぐ無料で登録する(30秒)自作MCPサーバーの作り方(Node.js / Python最小例)
既存サーバーで要件が満たせない場合は、自作サーバーを最小構成で作って検証します。最初から複数ツールを詰め込まず、1ツールのみで起動確認する方がトラブル切り分けが速くなります。
Node.js最小例(stdio)
import { Server } from "@modelcontextprotocol/sdk/server/index.js";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
import { CallToolRequestSchema, ListToolsRequestSchema } from "@modelcontextprotocol/sdk/types.js";
const server = new Server(
{ name: "demo-mcp-server", version: "0.1.0" },
{ capabilities: { tools: {} } }
);
server.setRequestHandler(ListToolsRequestSchema, async () => ({
tools: [
{
name: "echo_text",
description: "受け取った文字列を返す",
inputSchema: {
type: "object",
properties: { text: { type: "string" } },
required: ["text"],
},
},
],
}));
server.setRequestHandler(CallToolRequestSchema, async (request) => {
if (request.params.name !== "echo_text") {
throw new Error("Unknown tool");
}
const text = String(request.params.arguments?.text ?? "");
return { content: [{ type: "text", text: `echo: ${text}` }] };
});
const transport = new StdioServerTransport();
await server.connect(transport);Python最小例(stdio)
from mcp.server.fastmcp import FastMCP
mcp = FastMCP("demo-python-server")
@mcp.tool()
def summarize_title(text: str) -> str:
cleaned = " ".join(text.split())
return f"[summary] {cleaned[:80]}"
if __name__ == "__main__":
mcp.run(transport="stdio")拡張順序は「入力バリデーション」「タイムアウト」「監査ログ」「承認フロー」です。AIエージェント全体の設計と合わせて考える場合はAIエージェント構築ガイドを参照してください。
よくあるエラーとトラブルシューティング
MCPの障害は「接続」「認証」「権限」「実行時間」の4系統に分かれます。障害対応を早くするには、最初にどの系統かを切り分けることが重要です。
| 症状 | 主な原因 | 対処手順 |
|---|---|---|
| JSON parse error / Invalid config | 末尾カンマ、二重引用符不足、`mcpServers` 階層ミス | JSONバリデーション後にClaude Desktopを再起動する |
| spawn ENOENT | commandパスが見つからない、`npx`未導入 | CLI単体で起動確認してから設定へ戻す |
| 401 / 403 | OAuth未完了、PAT権限不足、ワークスペース許可不足 | トークン再発行ではなく、まずスコープと管理者ポリシーを確認する |
| Tool timeout | 外部API遅延、過大入力、サーバー側リトライ未実装 | 入力サイズ制限、タイムアウト値調整、再試行戦略を追加する |
| Unexpected tool execution | 書き込み権限の過剰付与、承認フロー不足 | 読み取り専用から開始し、書き込みは明示承認付きで段階解放する |
API連携の失敗切り分けをさらに深掘りする場合はAPI実装ガイドの「障害時ログ設計」の章も参考になります。
FAQ
- Q. Claude DesktopのMCP設定ファイルはどこにありますか?
- A. 2026年2月20日時点で、macOSは~/Library/Application Support/Claude/claude_desktop_config.json、Windowsは%APPDATA%\\Claude\\claude_desktop_config.jsonです。JSON内のmcpServersにサーバー定義を追加します。
- Q. Claude CodeとClaude DesktopはどちらでMCPを使うべきですか?
- A. コード編集やCLI自動化が中心ならClaude Code、会話中心で軽く試すならClaude Desktopが向いています。多くのチームはDesktopで検証し、運用をCodeへ移す構成で始めます。
- Q. MCP仕様の2024-11-05版は今も使えますか?
- A. 参照は可能ですが、2026年2月20日時点のVersioningページでは現行は2025-11-25です。新規実装は最新仕様を基準にし、旧版との差分確認が必要です。
- Q. Notion/GitHub/Slack連携で最初に確認すべき点は何ですか?
- A. OAuthやAPIトークンの権限範囲を最小化し、読み取り中心で開始することです。特に書き込み系は承認フローと監査ログの設定を先に決める必要があります。
- Q. 自作MCPサーバーはNode.jsとPythonのどちらが始めやすいですか?
- A. 既存チームの実行環境に合わせるのが最適です。JavaScript資産が多いならNode.js、データ処理基盤がPython中心ならPythonが実装と運用の負担を下げられます。
- Q. MCP接続でspawn ENOENTやserver not foundが出る原因は?
- A. 実行コマンドのパス違い、依存パッケージ未インストール、設定ファイルのJSON構文不正が主因です。コマンド単体実行で起動確認した後、設定ファイルを再検証してください。
AIリブート通信|週1本、仕事で使えるAI知識+ニュース解説をLINEで届ける(無料)
MCP、Claude、主要AIツールの更新を、実務で使う判断に必要な粒度で整理して配信しています。仕様変更が早い領域のキャッチアップ効率を上げたい方向けです。
今すぐ無料で登録する(30秒)関連リンク
AIリブートアカデミー
AI活用の判断軸とキャリアを同時に設計する
AIリブートアカデミーでは、生成AI活用力の習得だけでなく、AIを鏡にした自己理解・キャリアデザイン、仲間と共に学ぶ環境づくりまで一体で設計しています。特定ツールの操作習得ではなく、 業務課題に対してどのようにAIを組み込むかを判断し続ける力を育てる学習設計です。
- 生成AI活用力: 業務課題に対して再現性のある活用設計を作る
- 自己理解・キャリアデザイン: 強みと価値観を言語化し、次のキャリアを具体化する
- 仲間と共に学ぶ環境: 対話と協働で継続学習の速度を高める
