「Claude Codeをもっと便利に使いたいけど、MCPって何?」と感じている方に向けて、この記事ではMCPの基本概念からClaude Codeへの具体的な設定方法、そしておすすめのMCPサーバーまでを一気に解説します。
なお、Claude Codeのインストールや基本的な使い方については以下の記事をご覧ください。
[目次を開く]
MCPとは?
MCP(Model Context Protocol)は、Anthropicが策定したオープンな標準規格です。AIモデル(ClaudeなどのLLM)と外部ツール・データソースを繋ぐための「共通の接続インターフェース」と考えるとわかりやすいです。
MCPがない場合との比較
MCPが登場する前は、AIに外部ツールを使わせるには個別にAPI連携を実装する必要がありました。MCPはこれを標準化し、「MCPサーバー」に対応した任意のツールをAIが利用できるようにします。
| MCP以前 | MCP以降 | |
|---|---|---|
| 外部ツール連携 | 個別にAPI実装が必要 | MCPサーバーを追加するだけ |
| 対応ツールの追加 | 開発コストが大きい | 設定ファイルを1行追記するだけ |
| 対応AIの幅 | ツールごとに異なる | MCP対応AIなら共通して使える |
Claude CodeにとってのMCPのメリット
Claude Codeは標準でファイル読み書き・ターミナル実行・Git操作などに対応していますが、MCPを使うことでさらに以下のことができるようになります。
- NotionやGitHubを直接操作する(コード変更と同時にチケットを更新するなど)
- ブラウザを自動操作してE2Eテストを実行する
- Slackに進捗を通知する
- データベースに直接クエリを投げる
つまり、MCPは「Claude Codeの手足を増やす仕組み」です。
Claude CodeへのMCP設定方法
設定ファイルの場所
Claude CodeのMCP設定は .claude/settings.json に記述します。プロジェクトごとに設定する場合はプロジェクトルートに、全プロジェクト共通で使う場合はホームディレクトリ直下に置きます。
# プロジェクト共通(全プロジェクトで使う)
~/.claude/settings.json
# プロジェクト個別(そのプロジェクトだけで使う)
{プロジェクトルート}/.claude/settings.json 設定の基本構造
{
"mcpServers": {
"サーバー名": {
"command": "実行コマンド",
"args": ["引数1", "引数2"],
"env": {
"環境変数名": "値"
}
}
}
} | フィールド | 説明 |
|---|---|
command | MCPサーバーの起動コマンド(npx・uvx・nodeなど) |
args | コマンドに渡す引数 |
env | サーバーに渡す環境変数(APIキーなど) |
⚠️ APIキーの管理に注意
envに書いたAPIキーは.claude/settings.jsonに平文で保存されます。このファイルを Git 管理下に置く場合は.gitignoreに追加するか、環境変数参照に変更しましょう。詳しくは「.envのベストプラクティス」をご覧ください。
おすすめMCPサーバー一覧と設定例
1. Notion MCP
Notionのページ・データベースをClaude Codeから直接読み書きできます。ドキュメント更新やタスク管理をコーディングと並行して行えます。
{
"mcpServers": {
"notion": {
"command": "npx",
"args": ["-y", "@notionhq/notion-mcp-server"],
"env": {
"OPENAPI_MCP_HEADERS": "{\"Authorization\": \"Bearer YOUR_NOTION_TOKEN\", \"Notion-Version\": \"2022-06-28\"}"
}
}
}
} 取得方法: Notion の設定 → 「インテグレーション」→ 「内部インテグレーション」でトークンを発行します。
できること: ページの作成・更新、データベースへのレコード追加、ページ内容の読み取りなど。
2. GitHub MCP
GitHubのIssue・PR・リポジトリをClaude Codeから操作できます。コード修正と同時にIssueをクローズしたり、PRの説明文を生成して作成できます。
{
"mcpServers": {
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "YOUR_GITHUB_TOKEN"
}
}
}
} 取得方法: GitHub の設定 → 「Developer settings」→「Personal access tokens」で発行します。repo スコープが必要です。
できること: Issue・PRの作成・更新、コメント投稿、リポジトリ情報の取得など。
3. Playwright MCP(ブラウザ自動操作)
ブラウザを直接操作してWebページのスクレイピングやE2Eテストが実行できます。「このページのフォームを入力してテストして」という指示が通るようになります。
{
"mcpServers": {
"playwright": {
"command": "npx",
"args": ["-y", "@playwright/mcp@latest"]
}
}
} 事前準備: npx playwright install でブラウザバイナリを事前にインストールしておく必要があります。
できること: URLにアクセス、クリック・入力操作、スクリーンショット取得、ページ内容の読み取りなど。
4. Filesystem MCP(ファイルシステム拡張)
Claude Codeはデフォルトでもファイル操作できますが、このサーバーを使うとアクセス許可するディレクトリを明示的に制限できます。セキュリティを意識した運用に向いています。
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-filesystem",
"/Users/username/projects"
]
}
}
} できること: 指定ディレクトリ配下のファイル読み書き・一覧取得(範囲を明示的に限定できる)。
5. Fetch MCP(Web取得)
Claude Codeがインターネット上のURLにアクセスしてページ内容を取得できるようになります。ドキュメントを参照しながらコードを書かせたいときに便利です。
{
"mcpServers": {
"fetch": {
"command": "uvx",
"args": ["mcp-server-fetch"]
}
}
} 事前準備: pip install uv または brew install uv で uvx をインストールしておく必要があります。
できること: 指定URLのHTMLをMarkdown形式で取得、APIドキュメントの参照など。
6. Slack MCP
Slackのチャンネルへの投稿やメッセージ取得ができます。長時間のタスクが終わったらSlackに通知する、といった使い方に向いています。
{
"mcpServers": {
"slack": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-slack"],
"env": {
"SLACK_BOT_TOKEN": "xoxb-YOUR-TOKEN",
"SLACK_TEAM_ID": "YOUR-TEAM-ID"
}
}
}
} 取得方法: api.slack.com でSlackアプリを作成し、Bot Tokenを発行します。chat:write・channels:read スコープが必要です。
複数サーバーをまとめて設定する例
よく使う組み合わせ(Notion + GitHub + Playwright)を一括で設定する例です。
{
"mcpServers": {
"notion": {
"command": "npx",
"args": ["-y", "@notionhq/notion-mcp-server"],
"env": {
"OPENAPI_MCP_HEADERS": "{\"Authorization\": \"Bearer YOUR_NOTION_TOKEN\", \"Notion-Version\": \"2022-06-28\"}"
}
},
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "YOUR_GITHUB_TOKEN"
}
},
"playwright": {
"command": "npx",
"args": ["-y", "@playwright/mcp@latest"]
}
}
} MCP設定のトラブルシューティング
サーバーが認識されない
Claude Codeを起動した後、/mcp コマンドで接続中のMCPサーバー一覧を確認できます。一覧に表示されない場合は以下を確認してください。
# Claude Code 起動後のプロンプトで実行
/mcp -
settings.jsonのJSON構文が正しいか(カンマ・括弧の漏れ) -
commandで指定したコマンド(npx・uvx)がインストールされているか -
envに設定したトークンが正しいか
npx 実行時にエラーが出る
npx は初回実行時にパッケージをダウンロードします。ネットワークエラーの場合は再実行してください。-y フラグは確認プロンプトをスキップするためのオプションです。
トークンの権限エラー
NotionやGitHubのAPIトークンには必要なスコープ(権限)が付与されているか確認してください。エラーメッセージに 403 や 401 が含まれる場合はトークンの権限不足が原因です。
よくある質問(FAQ)
Q. MCPサーバーを追加するとClaude Codeが重くなりますか?
A. MCPサーバーはClaude Codeが実際に使う際にのみ呼び出されます。設定しているだけで常時動作するわけではないため、パフォーマンスへの影響は最小限です。
Q. VSCodeのMCP設定とClaude CodeのMCP設定は別ですか?
A. 別です。VSCodeはVSCode自身の設定(mcp.json など)でMCPサーバーを管理し、Claude Codeは .claude/settings.json で独自に管理します。同じサーバーを両方に設定することもできます。
Q. 自作のMCPサーバーを使えますか?
A. 使えます。MCPはオープンな仕様なため、Node.jsやPythonで自作したサーバーも command に指定すれば動きます。Anthropicの公式ドキュメントにSDKと実装ガイドがあります。
Q. MCP対応のサーバーはどこで探せますか?
A. MCP公式サイトやGitHub上のmcp-serversリポジトリに多数のサーバーがまとめられています。
まとめ
MCPはClaude Codeの「対応できること」を大幅に拡張する仕組みです。
- 設定場所:
.claude/settings.jsonのmcpServersフィールド - まず試すべき3本: Notion・GitHub・Playwright
- セキュリティ: APIトークンは
.gitignoreで管理、Hooksと組み合わせてアクセス制御も可能
Claude Codeシリーズのこれまでの記事もあわせてご覧ください。

