Claude Code MCP設定ガイド — サーバーの追加から実用5選まで【2026年版】
Claude Code MCPの設定方法をゼロから解説。MCPサーバーの追加・削除・スコープ管理、Filesystem・GitHub・Brave Search・Puppeteer・自作サーバーの実用5選、よくあるエラーと対処法まで網羅。
エンジニアのゆとです。
Claude Codeを使い込んでいくと、必ずMCPにたどり着く。
MCP(Model Context Protocol)は、Claude Codeに「外部ツールへの接続口」を生やす仕組みだ。デフォルトのClaude Codeはファイル操作・シェル実行・Git操作くらいしかできないが、MCPサーバーを追加することで「GitHubのIssueを直接取得する」「ブラウザを操作してスクレイピングする」「社内のSlackチャンネルを読む」といったことができるようになる。
自販機に例えるなら、MCPを追加するのは「新しい商品スロットを増設する」感じ。素のClaude Codeという自販機に、自分の用途に合ったスロットを差し込んでいく作業。
ただ、MCP周りの日本語情報がまだ少ない。公式ドキュメントを読んでも「Anthropicが何かを提供している」という事実は分かるが、「じゃあ実際にどう設定して何が使えるか」まで踏み込んだ記事がほぼなかった。
この記事では、MCPの設定方法からよく使われるサーバー5選、トラブルシューティングまでまとめた。
MCPの基本を5分で理解する
MCPはAnthropicが策定したオープンプロトコルで、AIモデルと外部ツール・データソースをつなぐための標準仕様だ。
構造はシンプルで、「MCPサーバー」と「MCPクライアント(Claude Code)」の2つがある。サーバー側が「自分はこんな機能を提供できる」と宣言して、Claude Codeがそれを呼び出す。
重要なのはMCPはAnthropicが管理しているものではないという点。プロトコルの仕様はオープンで、誰でもMCPサーバーを作れる。GitHub・Slack・PostgreSQL・Brave Search等の主要ツール向けサーバーが公式・コミュニティから多数公開されている。
MCPサーバーの追加方法
Claude CodeへのMCPサーバー追加は、コマンド一発でできる。
claude mcp add <name> <command> [args...]
たとえばFilesystemサーバー(ローカルファイルへのアクセスを提供)を追加する場合:
claude mcp add filesystem npx -y @modelcontextprotocol/server-filesystem /Users/yourname/projects
/Users/yourname/projects の部分はClaude Codeがアクセスを許可するディレクトリ。セキュリティ上、最小権限の原則で必要なディレクトリだけを指定するのが無難だ。ホームディレクトリ全体を渡すと、Claude Codeが意図せずプライベートなファイルを参照するリスクがある。
スコープの指定
MCPサーバーを追加する際、スコープが指定できる。
# ローカル(カレントディレクトリのプロジェクトのみ)
claude mcp add --scope local filesystem npx -y @modelcontextprotocol/server-filesystem ./
# グローバル(すべてのプロジェクトで使える)
claude mcp add --scope global filesystem npx -y @modelcontextprotocol/server-filesystem ~/projects
デフォルトはローカルスコープ。グローバルにするのは「どのプロジェクトでも使うサーバー(GitHub・Slackなど)」に限定するのがよい。
設定を確認する
# 現在のMCPサーバー一覧
claude mcp list
# 特定サーバーの詳細
claude mcp get filesystem
設定ファイルは ~/.claude/settings.json(グローバル)または .claude/settings.json(ローカル)に保存される。中身はこんな感じ:
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/Users/yourname/projects"]
}
}
}
JSONを直接編集してもいいが、claude mcp add 経由の方がtypoやパーミッションの問題が起きにくい。
サーバーの削除
claude mcp remove filesystem
実用MCP 5選
数百のMCPサーバーが公開されているが、実際に日常業務で使いやすいものに絞った。
1. Filesystem — ローカルファイルの読み書き
claude mcp add filesystem npx -y @modelcontextprotocol/server-filesystem ~/projects
素のClaude Codeでもファイル操作はできるが、FilesystemサーバーはClaude Codeがより詳細なファイルシステム操作(再帰的なディレクトリ探索・バイナリファイル操作等)をできるようにする。
使いどころ: 「src/配下のすべてのTypeScriptファイルを横断して、deprecated関数の使用箇所を洗い出して」みたいな指示が安定して動くようになる。
2. GitHub — Issue・PR・コードを直接操作
claude mcp add github npx -y @modelcontextprotocol/server-github
環境変数 GITHUB_TOKEN が必要。
export GITHUB_TOKEN=ghp_xxxxxxxxxxxx
このサーバーが入ると、Claude Codeに「このリポジトリのopenなIssueを全部読んで、対応優先度を整理して」と頼めるようになる。ブラウザでGitHubを開く必要がなくなる。
PRのコードレビューも自然に組み込める。「先週マージされたPR一覧を取得して、自分のコメントに返信がついているものだけ抽出して」といった使い方が現実的にできる。
フリーランスで複数クライアントのリポジトリを管理している場合、これだけでGitHubのブラウザ操作がかなり減る。
3. Brave Search — ウェブ検索をClaude Codeに組み込む
claude mcp add brave-search npx -y @modelcontextprotocol/server-brave-search
環境変数 BRAVE_API_KEY が必要(無料プランあり)。
このサーバーがあると、Claude Codeが「最新のNext.js 15のリリースノートを調べて、今のプロジェクトへの影響を分析して」みたいな指示に答えられるようになる。学習データのカットオフを超えた情報が取れるのが強み。
ただし、Brave SearchのAPIは無料プラン(月2,000クエリ)に制限がある。Claude Codeが1セッションで大量にSearch APIを叩く可能性があるので、使うなら上限に注意が必要だ。
4. Puppeteer — ヘッドレスブラウザ操作
claude mcp add puppeteer npx -y @modelcontextprotocol/server-puppeteer
Puppeteerが入ると、Claude Codeにブラウザ操作を指示できる。「このURLのページをスクリーンショットして」「このフォームに値を入れて送信して」といった自動化が自然言語で書けるようになる。
フロントエンド開発のe2eテスト生成で特に便利だ。「このコンポーネントのUIテストをPlaywright形式で書いて。実際にブラウザで操作して要素セレクターを確認しながら」という指示が通る。ただし、Puppeteerのインストールには依存関係が多く、環境によっては追加のセットアップが必要なこともある。
5. PostgreSQL — SQLクエリを自然言語で
claude mcp add postgres npx -y @modelcontextprotocol/server-postgres postgresql://localhost/yourdb
DBの接続文字列を渡すだけで、Claude Codeに「先月のアクティブユーザー数と前月比を出して」と聞けるようになる。SQLを書かなくていい。
注意点: 本番DBには絶対につなぐな。読み取り専用のレプリカか、開発環境のDBに限定することを強く推奨する。Claude Codeが意図せずUPDATEやDELETEを実行するリスクがゼロではない。
CLAUDE.mdにMCPの使い方を書いておく
MCPサーバーを追加しただけでは、Claude Codeが「いつそのサーバーを使うか」を適切に判断できないことがある。
CLAUDE.mdに「このプロジェクトで使うMCPサーバーとその用途」を書いておくと、Claude Codeが迷わなくなる。
# CLAUDE.md
## 使用中のMCPサーバー
- filesystem: src/ ディレクトリの操作に使う
- github: このリポジトリ(owner/repo)のIssue・PR管理
- postgres: 開発DB(localhost:5432/dev_db)のクエリのみ。本番DBには絶対アクセスしない
## MCPに関するルール
- DBへの書き込みクエリ(INSERT/UPDATE/DELETE)は事前に確認を求める
- GitHub APIは1回のセッションで20リクエスト以内に収める
CLAUDE.mdの設計が出力品質に直結するのはHooksでも同じで、MCPも例外ではない。

よくあるエラーと対処法
MCP server not found / サーバーが起動しない
npx 経由で追加したサーバーが見つからない場合、まずnpxのキャッシュを疑う。
npx --yes @modelcontextprotocol/server-filesystem --version
これで直接バージョンが返ってくればサーバー自体は問題ない。claude mcp list で表示されているコマンドとパスが一致しているか確認する。
サーバーを追加したのにClaude Codeから見えない
Claude Codeを再起動すると反映されることが多い。セッションを維持したまま設定変更した場合、その変更は次回起動まで反映されない。
環境変数が渡らない
GITHUB_TOKEN 等の環境変数は、シェルのプロファイル(~/.zshrc 等)に書いておく必要がある。ターミナルで一時的に export しただけでは、LaunchAgent経由で起動したClaude Codeには渡らないことがある。
# ~/.zshrc に追加
export GITHUB_TOKEN=ghp_xxxxxxxxxxxx
export BRAVE_API_KEY=BSAxxxxxxxxxxxx
自作MCPサーバーを作る(概要)
既成のサーバーで対応できない場合、自作もそこまで難しくない。
MCPサーバーの最小実装はTypeScript/Pythonで書けて、Anthropicが公式のSDKを提供している。
// 最小構成の例(TypeScript)
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
const server = new McpServer({
name: "my-custom-server",
version: "1.0.0"
});
server.tool("get-sales-data", "今週の売上データを取得", {}, async () => {
// 自社APIやDBから取得するロジック
const data = await fetchFromInternalAPI();
return { content: [{ type: "text", text: JSON.stringify(data) }] };
});
const transport = new StdioServerTransport();
await server.connect(transport);
社内APIやプロプライエタリなデータソースに接続するサーバーを自作して、Claude Codeに「今週のKPIダッシュボードを読んで、前週比で落ちている指標をまとめて」みたいな指示を通すのが現実的な用途だと思う。
自動化パイプライン全体の設計については、こちらの記事が詳しい。

使い始めるなら何から?
MCPを初めて使うなら、この順番がおすすめだ。
まずgithubサーバーから入る。設定がシンプルで、GitHubをすでに使っているエンジニアなら恩恵を即座に感じられる。Issueをターミナルで完結して扱えるようになるだけで、コンテキストスイッチが減る。
次に作業ドメインに合わせて追加する。フロントエンドが多いならpuppeteer、データ分析が多いならpostgres、情報収集が多いならbrave-searchという感じで。
全部一気に追加するよりも、1つ追加→実際に使い込む→次に進む、のサイクルの方が確実に定着する。
MCPを使いこなせるようになると、Claude Codeの活用範囲がぐっと広がる。「Claude Codeはコーディングツール」という認識から「全部こなせるエージェントのOS」という認識に変わってくる。そのくらい、MCPが使えるかどうかはClaude Codeの体験を変える。
Claude Code全体の使いこなし方については、実践テクニックをまとめた記事もある。
