「Claude Code でMCPを使いたいけど、settings.json に書けばいいの? それとも別のファイルがあるの? Claude Desktop のMCP設定と何が違うの?」
こんなふうに、ファイルの種類と役割の整理がつかなくて、設定に踏み出せていない方は多いと思います。
Claude Code の MCP 設定は、最初から settings.json を複雑に触る話ではありません。
まず claude mcp add というコマンドで1つサーバーを追加してみること。保存先が ~/.claude.json か .mcp.json かを理解すること。settings.json は権限・環境変数・有効化の制御に使うファイルだと分けて考えること。この3点を押さえるだけで、迷いはかなり減ります。
この記事では、Claude Code のMCP設定を初めて触る方に向けて、ファイルの役割・最小手順・Windows の注意点・トラブル時の確認ポイントをまとめて解説します。
- Claude Code の MCP 設定とは何か、標準機能と何が違うのか
~/.claude.json・.mcp.json・settings.jsonの役割の違いclaude mcp addで始める最小手順(8ステップ)- Claude Desktop の MCP 設定と Claude Code の MCP 設定の違い
- Windows(native)と WSL 2 で気をつけること
- API キーや認証情報の安全な扱い方
- MCP が動かないときの確認ポイント
- 副業ブログ運営でどこまで MCP を使うべきか
Claude Code のMCP設定 ― まず全体像を整理する

Claude Code に慣れていない方は、先にClaude Codeの基本的な使い方・導入ガイドを読んでおくと、この記事の内容がより入ってきやすくなります。
MCP(Model Context Protocol)は、Claude Code が外部ツールやサービスに接続するための仕組みです。
Claude Code には、最初からファイルの読み書き・Bash コマンド・Web 検索・Web ページ取得など、多くの標準ツールが組み込まれています。ローカルファイルの操作や簡単なWeb確認は、MCP を設定しなくても標準機能だけで十分できます。
MCP を使う理由は、「標準ツールでは届かない外部サービスと連携したいとき」です。たとえば GitHub のイシューを直接操作したい、Notion のデータベースを読み書きしたい、Slack にメッセージを送りたい、といった外部 API 連携がその代表例です。「MCP を入れないと何もできない」という話ではない点を最初に確認しておいてください。
Claude Code の MCP 関連ファイルは、大きく次の3つに分かれます。ここの整理が、最初の混乱を解消する鍵です。
| ファイル | 主な役割 | 保存場所 |
|---|---|---|
~/.claude.json | MCP サーバー定義(ユーザースコープ) | ホームディレクトリ |
.mcp.json | MCP サーバー定義(プロジェクトスコープ) | プロジェクトルート |
settings.json | Claude Code の一般設定(権限・環境変数・有効化制御など) | ~/.claude/ または .claude/ 配下 |
「settings.json に MCP サーバーを定義する」という書き方はしません。 settings.json は、MCPサーバーの有効・無効の制御や、環境変数の設定、権限の管理に使うファイルです。サーバー定義そのものを書くのは ~/.claude.json(ユーザー全体で使う場合)か .mcp.json(特定のプロジェクトで使う場合)です。
ここは多くの方が混乱するポイントです。
Claude Desktop のチャットアプリに MCP を設定するときは、claude_desktop_config.json というファイルを使います。これは Claude Code の設定ファイルとは完全に別物です。
一方、Claude Desktop アプリのCode タブと CLI(コマンドライン)は、~/.claude.json と .mcp.json を共有しています。ただし、チャット側で設定した claude_desktop_config.json の MCP が、Code タブに自動で反映されるわけではありません。
| 設定先 | 使うファイル | 反映先 |
|---|---|---|
| Claude Desktop チャット用 MCP | claude_desktop_config.json | チャットアプリのみ |
| Claude Code / Desktop Code タブ用 MCP | ~/.claude.json / .mcp.json | CLI と Code タブで共有 |
この区別を最初に把握しておくと、「設定したのに出てこない」という混乱を防げます。
MCP でできること ― 最初は設定しなくていいこともある
MCP の位置づけを正確に理解するために、まず Claude Code の標準ツールで何ができるかを確認しておきます。
Claude Code には、設定不要で使える標準ツールがあります(2026年5月27日時点の公式情報をもとに整理しています)。
- ファイル読み書き・検索:ローカルファイルの読み取り・編集・Glob・Grep
- Bash コマンド実行:シェルコマンド、スクリプト実行
- Web 検索:検索クエリに対して、タイトルと URL の一覧を返す
- Web フェッチ:指定した URL のページ内容を取得・要約する
Web フェッチは HTML を Markdown に変換して処理するため、取得内容に多少のロスが生じることがあります。また、Web 検索はページ本文を取得するのではなく、タイトルと URL を返す仕組みです。この違いも覚えておくと、「MCP を使うべきかどうか」の判断がしやすくなります。
標準ツールでは届かない外部連携が必要になったとき、MCP の出番です。具体例を挙げます。
- GitHub:イシューの作成・PR の確認・コードレビューのコメント
- Notion:データベースの読み取り・ページの作成・更新
- Slack:チャンネルへのメッセージ送信・取得
- ブラウザ自動操作:Playwright MCP を使ったページ操作・スクリーンショット
- 外部データベース:SQL クエリの実行
「まず標準機能で試してみて、足りないと感じた外部連携だけ MCP で追加する」というアプローチが、初心者には向いています。最初から MCP を多数入れる必要はありません。
Claude Code で MCP サーバーを追加する最小手順(8ステップ)

では、実際に MCP サーバーを1つ追加する手順を確認します。ここでは、公式が案内している claude mcp add コマンドを使う方法を基本導線として説明します。
Claude Code を使うには、Pro / Max / Team / Enterprise のいずれかの Claude プラン、または Claude Console アカウントが必要です(2026年5月27日時点の公式 docs の記述をもとにしています)。
Claude.ai の無料プランには Claude Code のアクセスは含まれていません。なお、Claude.ai 側の remote MCP connector と Claude Code の利用条件は別軸です。プランの詳細はClaude Code の料金・プラン解説をご確認ください。
MCP サーバーには、大きく2つの通信方式があります。
| 方式 | 説明 | 推奨度 |
|---|---|---|
| HTTP | HTTP / HTTPS で通信するサーバー | ◎ 推奨 |
| stdio | ローカルプロセスとして動作するサーバー | ○ 使用可 |
| SSE | Server-Sent Events 方式 | △ 非推奨(HTTP への移行が推奨されています) |
公式では SSE は非推奨とされており、可能であれば HTTP を使うよう案内されています。
サーバーをどの範囲で使うかを先に決めます。
| スコープ | 保存先 | 向いている用途 |
|---|---|---|
| user(ユーザー全体) | ~/.claude.json | すべてのプロジェクトで使いたいサーバー |
| project(プロジェクト固有) | .mcp.json(プロジェクトルート) | このプロジェクトでだけ使いたいサーバー |
| local(ローカル限定) | ~/.claude.json(現在のプロジェクトに紐づくローカル定義) | チーム共有はしたくない個人用サーバー |
スコープの優先順位は local > project > user の順です。同名のサーバーが複数スコープにある場合、最上位のものが丸ごと使われます(フィールド単位のマージはされません)。
ターミナルで Claude Code を起動した状態で、以下のコマンドを入力します。
# HTTP 方式のサーバーを追加する例
claude mcp add --transport http サーバー名 https://example.com/mcp
# stdio 方式のサーバーを追加する例
claude mcp add サーバー名 -- コマンド 引数1 引数2
# スコープをプロジェクトに指定して追加する例
claude mcp add --scope project サーバー名 -- コマンド 引数サーバー名 は任意の識別名です。/mcp コマンドで一覧表示されるときに使われます。コマンドやサーバーURLは、利用したい MCP サーバーのドキュメントを確認してください。
claude mcp list追加したサーバー名と接続方式が一覧表示されます。
claude mcp get サーバー名スコープ・接続先・設定内容が表示されます。
Claude Code のセッション内で /mcp と入力すると、現在接続されている MCP サーバーの一覧と状態が確認できます。ここに表示されていれば、設定は正しく読み込まれています。
# サーバーを削除する
claude mcp remove サーバー名
# サーバーの詳細を確認してから再設定する場合
claude mcp get サーバー名
claude mcp remove サーバー名
claude mcp add ...(再度追加)以上が、MCP サーバーを追加する基本の8ステップです。Claude Code の日常的な操作方法も合わせて参照すると、全体の使い方が把握しやすくなります。
設定ファイルとスコープの違い ― 図解で整理する
設定ファイルの関係を整理します。
Claude Code の設定構造
├── 一般設定(settings.json)
│ ├── ~/.claude/settings.json ← ユーザー全体の設定
│ ├── .claude/settings.json ← プロジェクト設定(共有可)
│ └── .claude/settings.local.json ← プロジェクト設定(ローカル限定)
│
└── MCP サーバー定義
├── ~/.claude.json ← user スコープのサーバー定義
├── ~/.claude.json ← local スコープのサーバー定義(現在のプロジェクトに紐づく)
└── .mcp.json(プロジェクトルート) ← project スコープのサーバー定義settings.json はサーバー定義を書く場所ではなく、サーバーの有効・無効の制御、権限設定、環境変数の注入に使うファイルです。たとえば、.mcp.json に書いたサーバーをすべて有効にする設定や、特定のサーバーだけ無効にする設定は settings.json の enableAllProjectMcpServers・enabledMcpjsonServers・disabledMcpjsonServers で行います。
`settings.json` でやること ― 役割を正確に把握する
settings.json は Claude Code の公式設定ファイルです。MCP に関連する部分では、以下のような制御を行います。
{
"enableAllProjectMcpServers": true
}プロジェクトスコープの .mcp.json に定義されたサーバーをすべて有効にする設定です。チームでプロジェクトを共有しているとき、.mcp.json を使うと便利ですが、使用前に承認を求めるダイアログが出ます。
{
"enabledMcpjsonServers": ["github-mcp"],
"disabledMcpjsonServers": ["notion-mcp"]
}settings.json の env フィールドでは、環境変数を Claude Code のセッションに渡せます。
{
"env": {
"MY_SERVICE_TOKEN": "${MY_SERVICE_TOKEN}"
}
}実際のトークン値はファイルに直書きしません。 ${MY_SERVICE_TOKEN} のように環境変数参照で書き、実際の値はシェルの環境変数か OS のシークレット管理に任せます。
ファイルパスやコマンドへのアクセスを許可・拒否する設定も settings.json で行います。Claude Code 側の Bash や Read などは permissions で制御できますが、MCP サーバー内部の挙動はサーバー実装と権限設計もあわせて確認してください。
Windows で設定する場合の進め方
Windows での Claude Code は、native Windows と WSL 2(Windows Subsystem for Linux 2) の2通りの環境があります。この違いを最初に把握しておくと、詰まりにくくなります。
| 比較項目 | native Windows | WSL 2 |
|---|---|---|
| サンドボックス機能 | 非対応 | 対応 |
| Git / Bash ツール | Git for Windows が必要 | Linux の Git がそのまま使える |
| Bash が見つからない場合 | PowerShell ツールが使われる | 通常通り Bash が使える |
add-from-claude-desktop コマンド | 使用不可 | 使用可能 |
~/.claude のパス解決 | %USERPROFILE%\.claude | Linux ホーム配下 |
Git for Windows をインストールしたうえで、settings.json の env に以下を追加します。
{
"env": {
"CLAUDE_CODE_GIT_BASH_PATH": "C:\\Program Files\\Git\\bin\\bash.exe"
}
}実際のパスは、Git for Windows のインストール先に合わせてください。Git が見つからない場合、Claude Code は自動的に PowerShell ツールに切り替わります。
Windows では、パス区切りにバックスラッシュ(\)を使う必要がある場面があります。設定ファイル内ではエスケープ(\\)を使って記述します。
claude mcp add-from-claude-desktop コマンドは、macOS と WSL のみで動作します。native Windows では利用できません。native Windows で Claude Desktop の設定内容を Claude Code に持ち込みたい場合は、手動で claude mcp add コマンドを使って追加してください。
WSL 2 で Claude Code を使う場合、~/.claude は Linux の home ディレクトリ配下に作成されます。Windows 側の %USERPROFILE%\.claude とは別になるため、設定ファイルの保存場所を混同しないよう注意してください。
認証情報と API キーを安全に扱う方法
MCP サーバーを設定するときに、API キーや OAuth トークンを扱う場面があります。記事内や設定ファイル内に実際のキー値を直接書くのは避けてください。 意図せず Git で公開リポジトリに上げてしまうリスクがあります。
.mcp.json では、${ENV_VAR_NAME} の形で環境変数を参照できます。
{
"mcpServers": {
"github-mcp": {
"command": "node",
"args": ["/path/to/github-mcp/index.js"],
"env": {
"GITHUB_TOKEN": "${GITHUB_TOKEN}"
}
}
}
}実際のトークン値は、シェルの設定ファイル(~/.bashrc、~/.zshrc など)に export GITHUB_TOKEN= の形で設定しておきます。
settings.json の env フィールドでも、実値ではなく環境変数参照を使います。
{
"env": {
"SOME_API_KEY": "${SOME_API_KEY}"
}
}MCP サーバーが OAuth を使う場合、クライアントシークレットは設定ファイルには保存されません。macOS では Keychain、その他の環境では専用の認証情報ファイルに安全に保存されます。ブラウザで認証フローが開くサーバーの場合は、初回接続時に画面の案内に従って認証を完了してください。
.mcp.json はプロジェクトルートに置かれるため、Git の管理対象になりやすいファイルです。トークンや API キーの実値を .mcp.json に直書きしてコミットしないよう、.gitignore の設定や環境変数参照への書き換えを徹底してください。
Claude Code MCP ができないときの確認ポイント

設定したつもりなのに MCP が動かないときは、以下の順番で確認してみてください。
Claude Code のセッション内で /mcp を実行します。追加したサーバーが一覧に出ていない場合、保存先やスコープの指定がずれている可能性があります。
claude mcp list で表示される内容と、実際のファイル(~/.claude.json や .mcp.json)の内容が一致しているか確認します。Windows では ~/.claude が %USERPROFILE%\.claude に解決されることを忘れずに。
.mcp.json に書いたサーバーは、通常は初回利用時に承認が求められます。自動で承認したい場合は、settings.json の enableAllProjectMcpServers や enabledMcpjsonServers を使います。
API キーや OAuth の認証が通っていない場合、サーバーへの接続は確立されません。環境変数が正しくシェルに設定されているかを echo $ENV_VAR_NAME で確認します。
- native Windows で
add-from-claude-desktopを実行していないか確認する - パスの区切り文字が正しいか(
\\でエスケープされているか)確認する - Git for Windows が正しくインストールされているか確認する
Claude Code 本体の設定が正しくても、接続先の MCP サーバーが停止中だったり、認証期限が切れていたりする場合もあります。個別サーバーのドキュメントやステータスも確認してみてください。
.mcp.json や settings.json の JSON が正しく書けているか確認します。カンマの位置や括弧の対応が崩れると、ファイル全体が読み込まれなくなります。
副業ブログ運営での活用例と他ツールとの役割分担
副業ブログを運営している場合、MCP をどこまで使えばよいか迷うことがあります。
Claude Code の標準ツールだけで、次のことはMCPなしでできます。
- ローカルの記事ファイル(Markdown・HTML)の読み書き・編集
- ブログ記事の下書き作成・校正・構成案の提案
- ローカルスクリプトの実行(Python・シェル等)
- Web ページの内容取得・要約(WebFetch)
AIを使ったブログ記事作成の全体像も参考にしていただくと、どの作業にAIを使うかのイメージが広がります。
副業ブログ運営で MCP を使うと効果的な場面は、次のとおりです。
- GitHub MCP:ブログのソースを GitHub で管理している場合、Issue参照・PR確認・レビュー補助などを Claude Code から進めやすくなる
- Notion MCP:記事のアイデア管理・編集カレンダーを Notion で運用している場合、Claude Code から直接読み書きできる
- Playwright MCP:公開済み記事の表示確認・スクリーンショット取得を自動化したい場合
Claude Code を使ったブログ作業の自動化・半自動化では、実際の業務フローへの組み込み方をより詳しく解説しています。
Claude Code と他の AI コーディングツールとの棲み分けを考えるうえで、Codex と Claude Code の比較記事も参考になります。
副業ブログ運営では、まず標準機能でできることを最大限に使い、特定の外部連携が必要になったタイミングで MCP を1つずつ追加していくのが、管理しやすい進め方です。最初から多くのサーバーを入れると、権限管理と認証の手間が増えます。
よくある質問
- Claude Code でMCPを使うと何が便利になりますか?
- 標準機能では直接操作できない外部サービス(GitHub・Notion・Slack など)との連携が Claude Code から直接できるようになります。ただし、できる範囲はサーバーの実装と権限設定によって変わります。「MCP を入れれば何でも自動化できる」というわけではなく、ローカルファイルや Web 操作など標準機能で足りる作業は MCP なしでも問題ありません。
- MCP サーバーの設定は `settings.json` に書けばいいですか?
- サーバーの定義を書く場所は
settings.jsonではありません。ユーザー全体で使う場合は~/.claude.json、プロジェクト固有の場合は.mcp.jsonが保存先です。settings.jsonは、権限・環境変数・プロジェクトサーバーの有効化制御などを書くファイルです。この区別が最初のつまずきポイントになりやすいので、混同しないよう注意してください。
- MCP は最初から設定したほうがいいですか?
- 必ずしもそうではありません。Claude Code には標準でファイル操作・Bash・Web 検索・Web フェッチなどのツールが組み込まれています。まずは標準機能で作業してみて、「外部の特定サービスと連携したい」という具体的な必要性が出たときに、対応するサーバーを1つ追加するのがおすすめです。
- Windows でも Claude Code の MCP は使えますか?
- native Windows でも基本的な MCP 設定は使えます。ただし、サンドボックス機能は WSL 2 のみの対応です。また、
add-from-claude-desktopコマンドは native Windows では利用できず、macOS と WSL のみで動作します。Git for Windows が入っていない環境では、PowerShell ツールが代わりに使われます。native Windows と WSL 2 ではできることの範囲が異なるため、両者の違いを確認したうえで環境を選んでください。
- Claude Desktop のMCP設定をそのまま Claude Code で使えますか?
- 直接の互換はありません。Claude Desktop のチャットアプリ用の設定ファイル(
claude_desktop_config.json)と、Claude Code が使う~/.claude.json/.mcp.jsonは別物です。Claude Desktop の Code タブと CLI は~/.claude.json/.mcp.jsonを共有しますが、チャット側のMCP設定は自動では引き継がれません。add-from-claude-desktopコマンドで macOS / WSL 環境なら取り込めますが、native Windows では使えません。
- API キーやトークンは設定ファイルに直接書いていいですか?
- 直接書くのは避けてください。
.mcp.jsonやsettings.jsonに実際のキー値を書いてしまうと、Git で誤ってコミット・公開してしまうリスクがあります。${ENV_VAR_NAME}の形で環境変数を参照するか、OS のシークレット管理(macOS の Keychain 等)を使ってください。
- MCP ができないとき、最初に何を確認すればいいですか?
- Claude Code のセッション内で
/mcpを実行し、追加したサーバーが一覧に表示されているかを最初に確認します。表示されていない場合は、保存先ファイルとsettings.jsonの有効化設定を順番に見ていきます。Windows の場合はパスの記法とadd-from-claude-desktopの非対応も原因になりえます。
- Claude Code は無料で MCP まで使えますか?
- 2026年5月27日時点の公式 docs の情報では、Claude Code を使うには Pro / Max / Team / Enterprise のいずれかの Claude プラン、または Claude Console アカウントが必要です。Claude.ai の無料プランには Claude Code アクセスは含まれていません。Claude(チャット側)の remote connector とは利用条件が異なる点に注意してください。最新のプラン情報は[Claude Code 料金解説記事](/claude-code-price-jpy)でご確認ください。
まとめ
この記事では、Claude Code の MCP 設定について次のポイントを整理しました。
- MCP は標準機能では足りない外部連携を追加する仕組み。ローカルファイル操作・Web 取得は MCP 不要で標準機能で対応できる
- 設定ファイルは役割で使い分ける。サーバー定義は
~/.claude.json/.mcp.json、権限・環境変数・有効化制御はsettings.json - Claude Desktop チャット用 MCP(
claude_desktop_config.json)と Claude Code 用設定は別物 - Windows では native と WSL 2 の違いを把握する。サンドボックスは WSL 2 のみ、
add-from-claude-desktopは native では使えない - API キーは環境変数参照で管理し、設定ファイルに実値を直書きしない
- まず
claude mcp addで1つ追加し、/mcpとclaude mcp listで動作確認するのが最小手順
副業ブログ運営では、標準機能で十分な作業は MCP なしで行い、特定の外部連携が必要になったときに必要最小限のサーバーを追加していくアプローチが管理しやすいです。
セキュリティ面では、信頼できるサーバーだけを接続することが公式からも推奨されています。外部コンテンツを取得する MCP サーバーにはプロンプトインジェクションのリスクも存在するため、サーバーの出所と権限範囲は必ず確認してから追加してください。
MCP の設定に慣れてきたら、--mcp-config を使ってプロジェクトや用途ごとに設定ファイルを切り替える応用的な使い方も検討してみてください。
