MCP サーバーチュートリアル 2026:導入・設定・稼働まで
- MCP(Model Context Protocol)はオープンな標準仕様で、Claude Code が外部ツール — データベース、ブラウザ、API など — を一貫した JSON-RPC インターフェイスで呼び出せるようにします。サーバーはローカルプロセスとして動作し、Claude は stdio 経由で呼び出します。
- 設定は
.claude/settings.json(プロジェクト単位)または~/.claude/settings.json(グローバル)に置きます。各サーバーエントリには command、args、認証情報用の環境変数が必要です。 - 最初に入れるべきサーバーは 5 つ:Filesystem、Memory、GitHub、Playwright、Fetch。それぞれ素の Claude Code では埋まらない、固有の機能ギャップを埋めます。
MCP とは何か
Model Context Protocol は Anthropic が 2024 年 11 月に公開した仕様です。言語モデルが外部ツールを呼び出すための、そして外部ツールがモデルに自身を公開するための、標準的な手段を定めています。MCP 以前は、AI ツール統合はすべて個別実装でした。MCP によって、統合は組み合わせ可能になります。
アーキテクチャは名前から想像するより素直です。MCP サーバーはマシン上(ホスト型サーバーの場合はリモート上)で動作するプロセスです。Claude Code が起動すると、設定された各 MCP サーバーを立ち上げ、そのサーバーが提供するツール一覧を受け取り、以降のセッションでツールを名前で呼び出せるようになります。すべての通信は stdin/stdout 上の JSON-RPC 2.0 で行われます。HTTP もポートも、ローカルサーバーにはネットワーク設定も不要です。
概念的により深く理解したい方は、MCP とは何かの入門解説をご覧ください。本記事は実用的な構築手順に集中します。
設定ファイルの所在
MCP サーバー設定は settings.json ファイルに置きます。場所は 2 つです。
~/.claude/settings.json— グローバル設定。このマシン上のすべての Claude Code セッションに適用されます.claude/settings.json(プロジェクトディレクトリ内) — プロジェクト単位の設定。Claude Code がそのディレクトリで起動されたときのみ適用され、同名キーについてはグローバル設定を上書きします
プロジェクト固有のサーバー(プロジェクトの接続文字列に紐づくデータベースサーバーなど)はプロジェクト単位ファイルに、どこでも使いたいサーバー(Fetch、GitHub)はグローバルファイルに置くのが基本です。
プロジェクトディレクトリ内の .claude/settings.json に認証情報が含まれる場合、必ず .gitignore に追加してください。CVE-2026-21852 の事例では、このファイル経由で認証情報が npm に紛れ込みました。詳細は認証情報漏洩防止ガイドをご覧ください。
基本的な設定構造
settings.json の mcpServers キーは、サーバー名からサーバー設定への対応表です。各サーバー設定には、サーバープロセスの起動方法を指定します。
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-filesystem",
"/path/to/allowed/directory"
]
},
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": {
"GITHUB_TOKEN": "ghp_your_fine_grained_token_here"
}
},
"memory": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-memory"]
}
}
}
この構造についていくつか補足します。
- npx の
-yフラグは、未インストールのパッケージを自動でインストールします。セットアップ時には便利ですが、初回起動はやや遅くなります。バージョン固定で回避することも可能です:@modelcontextprotocol/server-filesystem@0.6.0。 - 認証情報は
envオブジェクトに置き、コマンドライン引数では渡さないでください。args はログに残りますが、環境変数は(既定では)残りません。 - サーバー名(キー)は任意です。エラーメッセージや Claude のツール記述で参照されるだけです。
最初に入れるべき 5 つのサーバー
Claude Code に、特定ディレクトリに対するファイル読み書きアクセスを与えます。これがないと、Claude Code は会話に明示的に貼られたファイルか、作業ディレクトリにすでにあるファイルしか読めません。導入後は、Claude がファイルツリーを辿り、任意のパスからファイルを読み、ディスクに書き込めるようになります。
パッケージ名のあとに渡すパス引数が、許可ルートになります。プロジェクト単位での導入ならプロジェクトルートを渡してください。広い範囲で Claude にナビゲートさせる必要がある場合のみホームディレクトリを渡し、その際はセキュリティ上の含意を理解した上で行ってください。
セッションをまたいで保持されるローカル知識グラフを追加します。Claude は事実、関係、観測を保存でき、後のセッションでソースファイルを再読込せずに取り出せます。既定では ~/.claude-memory/ 以下に JSON として保存されます。
Memory サーバーは、Claude Code がプロジェクトを「覚えている」ことに最も近い仕組みです。自動ではありません — Claude が明示的に観測を保存する必要があります — が、いったん設定すれば、間を空けてプロジェクトに戻ったときの探索オーバーヘッドを大きく削減します。
Claude に GitHub API へのアクセスを与えます。issue や PR の読み取り、コード検索、issue 作成、コメント投稿、ブランチ管理が可能です。Claude にアクセスさせたいリポジトリにスコープを限定したファイングレインドな個人アクセストークンが必要です。
{
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": {
"GITHUB_TOKEN": "github_pat_..."
}
}
}
PAT は最小限のリポジトリにスコープを絞ってください。アカウント内のすべてのリポジトリへの書き込み権限を持つ PAT は、強力な認証情報です — デプロイキーと同等の慎重さで扱ってください。
Claude に Playwright 経由の本物のブラウザを与えます。ページの遷移、クリック、フォーム入力、スクリーンショット、ページ構造の抽出が可能です。Fetch サーバーとは別物で、Playwright は JavaScript をレンダリングしますが、Fetch はしません。
{
"playwright": {
"command": "npx",
"args": ["-y", "@playwright/mcp@latest"]
}
}
ブラウザは必要に応じて起動し、Claude Code セッションが終了すると閉じます。既定ではヘッドレス起動で目には見えません — 動作を見たい場合は args に "--headed" を追加してください。
Web コンテンツを取得し Markdown に変換します。JavaScript レンダリングを必要としないページ — ドキュメントサイト、GitHub の README、ブログ記事 — に対しては、Playwright より軽量です。Anthropic 公式リファレンスセットの一部です。
{
"fetch": {
"command": "uvx",
"args": ["mcp-server-fetch"]
}
}
このサーバーは uvx(Astral 製の Python パッケージランナー)を必要とします。pip install uv でインストールするか、Astral のインストール手順に従ってください。Node に統一したい場合はコミュニティ製の npm ラッパーもありますが、公式版は Python 製です。
Septim Vault — $29 買い切り
事前構築済みの MCP 設定パック:settings.json に貼り付けるだけの 8 サーバー設定、認証情報テンプレート、パス許可リストの指針、各サーバー用の検証チェックリスト。サーバーごとのセットアップドキュメント探しに費やす時間を不要にします。
Septim Vault を入手 — $29 → あるいは Septim Tether($19)で最小構成のツールキットを →サーバーの動作確認
settings.json を編集したあと、新しい Claude Code セッションを開始してください。プロンプトで、利用可能なツールを Claude に問い合わせます。
What MCP tools do you have access to?
Claude は設定したサーバーと利用可能なツールを一覧化するはずです。サーバーが見当たらない場合、原因はおおむね以下 3 つのいずれかです。
- パッケージが未インストール。npx の
-yフラグは自動インストールしますが、npm レジストリが遅い、あるいはネットワークにファイアウォールがあると、初回実行が失敗することがあります。npx コマンドをターミナルで手動実行し、エラーを確認してください。 - パスが誤っている。Filesystem サーバーは絶対パスを取ります。相対パスやタイポのあるパスは起動失敗の原因になります。Claude Code は MCP サーバーエラーを
~/.claude/logs/に記録するので、まずそこを確認してください。 - 認証情報が無効。サーバーは起動するもののツールがエラーを返す場合、最も多いのは API キーの期限切れや設定ミスです。MCP 層をデバッグする前に、curl やプロバイダの API プレイグラウンドで認証情報を直接テストしてください。
プロジェクト単位 vs グローバル設定
Septim でよく使うパターンはこうです。グローバル設定には Fetch、Memory、Playwright — どのプロジェクトでも有用なサーバーを配置します。プロジェクト単位設定には Filesystem(プロジェクトルートを許可パスに)、プロジェクトのデータベースサーバー、GitHub(プロジェクトのリポジトリにスコープ)を配置します。
この構造なら、任意のプロジェクトディレクトリに移動するだけで、Claude Code が手動切替なしに適切なサーバーを自動的に拾ってくれます。プロジェクト単位ファイルは同名サーバーについてグローバル設定を上書きするため、プロジェクトごとに異なるデータベース接続を、互いに干渉させずに保てます。
リモート MCP サーバー
Anthropic は 2026 年初頭、リモート MCP サーバー(stdio ではなく SSE 経由)のサポートを追加しました。設定では command と args の代わりに url キーを使います。
{
"mcpServers": {
"stripe": {
"url": "https://mcp.stripe.com",
"headers": {
"Authorization": "Bearer sk_live_..."
}
}
}
}
リモートサーバーは、自前のホスト型 MCP エンドポイントを運用するサービス(Stripe ほか複数あります)では便利です。トレードオフは、ツール呼び出しごとのネットワーク往復と、認証情報がネット越しに送られる点です。HTTPS 限定のリモートのみを使い、認証ヘッダは環境変数の API キーと同じ慎重さで扱ってください。
サーバーを増やす前に押さえるべきセキュリティ
追加するサーバーごとに、Claude Code セッションの攻撃面は広がります。MCP サーバー脆弱性チェックリストには 24 項目の評価フレームワークが載っています。チュートリアル向けの短縮版はこちらです。
- 活動的な組織メンテナーや支援企業のあるサーバーのみ導入する
- 導入前にソース内のツール記述を読む — ツールメタデータに埋め込まれた悪意ある指示は、文書化された攻撃ベクトルです(arXiv 2603.22489)
- 認証情報のスコープは最小に — 1 リポジトリの読み取り用 GitHub トークンに、全リポジトリへの書き込み権限を持たせない
- 認証情報を含む
.claude/settings.jsonは git 管理から外す
運用に値するサーバーの厳選一覧と、それぞれのセキュリティ留意点は、2026 年版 best MCP serversにまとめてあります。
Septim Vault — $29 · 事前構築 MCP 設定 8 種
8 つのサーバー設定、認証情報テンプレート、パス許可リスト指針、検証チェックリスト。CVE-2026-21852 の記事に掲載した settings.json セキュリティ強化ガイドも同梱します。買い切り型です。
Septim Vault を購入 — $29 → Septim Tether($19) — 最小構成 MCP ツールキット →