Claude CodeでMCPサーバーを設定する:実践的スターターガイド

Claude CodeでMCPサーバーを設定する:実践的スターターガイド

ドキュメント検索からブラウザテストまで、AIアシスタントに不足しているツールを追加する

AIコーディングアシスタントの有用性は、利用できるツールによって決まります。導入直後の状態でもファイルの読み書きや編集は可能ですが、最新のライブラリドキュメントを調べたり、ブラウザを操作したり、エラートラッカーを確認したりすることはできません。MCPサーバーはそのギャップを埋めるものであり、セットアップはほんの数分で完了します。

今日は2026年10月26日です。各チームはAIツールの導入を進め続けていますが、新しいツールを導入するたびに当然の疑問が生じます。それは、「このツールはどこにアクセスできるのか、そしてどのように安全性を確保すればよいのか」という点です。コマンドを盲目的に貼り付けるのではなく、MCPのセットアップの仕組みを学ぶ価値があるのは、まさにこの疑問があるからです。

MCPサーバーとは何か

MCPはModel Context Protocolの略です。MCPサーバーは、アシスタントに対して一連のツールを公開する軽量なプログラムです。あるサーバーはドキュメントを検索し、別のサーバーはWebブラウザを操作し、また別のサーバーはデータベースにクエリを実行するかもしれません。アシスタントはこれらのツールを認識し、タスクで必要になった際に呼び出します。

サーバーの実行方法には主に2通りあります:

  • ローカル(stdio): アシスタントがマシン上でプログラムを起動します。通常は npx または uvx.
  • リモート(http): アシスタントがURLに接続し、OAuthまたはAPIキーを使用してサインインします。

ステップ1:スコープを決定する

Claude Codeでは、主に2つの場所にサーバー設定を保存できます:

  • ユーザースコープ: マシン上のすべてのプロジェクトで利用可能。
  • プロジェクトスコープ: 次の .mcp.json ファイルとしてプロジェクトフォルダに保存されるため、設定はプロジェクトとともに引き継がれます。

はじめのセットアップとしては、プロジェクトスコープを選択するのがより適切です。そのフォルダを開いた全員が同じツールを利用できます。

ステップ2:コマンドラインでサーバーを追加する

基本的なパターンは claude mcp addの後に名前、そしてサーバーを起動するコマンドを指定します。以下はAPIキーを必要としないサーバーの例です:

claude mcp add -s project context7 -- npx -y @upstash/context7-mcp
claude mcp add -s project playwright -- npx -y @playwright/mcp@latest --headless
claude mcp add -s project filesystem -- npx -y @modelcontextprotocol/server-filesystem /path/to/project
claude mcp add -s project --transport http sentry https://mcp.sentry.dev/mcp

Context7はアシスタントに最新のライブラリドキュメントを提供します。Playwrightを使用すると、ページを開いて実際のブラウザでテストできるようになります。Filesystemサーバーは、指定したフォルダ内でのみ読み書きを行います。Sentryはリモートであるため、初回時にサインインを求められます。

キーを必要とするサーバーも同様に動作し、キーは環境変数として渡されます:

claude mcp add -s project firecrawl -e FIRECRAWL_API_KEY=$FIRECRAWL_API_KEY -- npx -y firecrawl-mcp

ステップ3:または構成ファイルを直接記述する

上記のコマンドは単に次の .mcp.json ファイルを作成(書き込み)するだけです。手動で作成することも可能で、その方がレビューしやすく、バージョン管理での保持も容易になります:

{
  "mcpServers": {
    "context7": {
      "command": "npx",
      "args": ["-y", "@upstash/context7-mcp"]
    },
    "playwright": {
      "command": "npx",
      "args": ["-y", "@playwright/mcp@latest", "--headless"]
    },
    "sentry": {
      "type": "http",
      "url": "https://mcp.sentry.dev/mcp"
    }
  }
}

ステップ4:すべてが正常に接続されたか確認する

プロジェクトフォルダでClaude Codeを再起動します。このファイルが初めて認識された際、プロジェクトサーバーの承認を求められます。その後、ターミナルで claude mcp list を実行するか、セッション内で /mcp を実行します。各サーバーと、それらが接続されているかどうかが表示されます。Sentryなどのリモートサーバーは、その同じ画面からサインインを完了します。

ステップ5:認証情報が必要なサーバーを追加する

基本的な動作を確認できたら、プロジェクトで実際に必要なものを追加します:

  • GitおよびGitHub: uvx mcp-server-git ローカルリポジトリ向け、または個人用アクセストークンを使用するGitHubのリモートサーバー向け。
  • 検索: ExaまたはBrave Search(いずれも無料枠あり)。
  • データベース: PostgresサーバーまたはSupabaseサーバー。
  • インフラストラクチャ: Kubernetes、Docker、AWS、Cloudflareのサーバー。

重要な安全管理の習慣

  • シークレットを構成ファイルに含めないでください。 .mcp.json は ${VAR} の展開をサポートしているため、キーを直接貼り付けるのではなく環境変数を参照してください。次のコマンドの使用後はファイルを確認してください: -e KEY=$KEY。リテラル値がそのまま書き込まれてしまう可能性があるためです。
  • 可能な限り読み取り専用アクセスを使用する。 読み取り専用のデータベースロールや、権限を制限したクラウド認証情報を使用することで、誤操作による被害を最小限に抑えられます。
  • 可能な限り最小限のフォルダ のみをfilesystemサーバーに公開してください。
  • 使用するものだけをインストールする。 サーバーを追加するたびに、そのツールのリストがアシスタントのコンテキストに追加されます。これによりコンテキスト容量が消費され、ツールの選択精度が低下する原因になります。
  • メモリ使用量に注意する。 ヘッドレスブラウザは負荷が高くなります。大規模な処理は一度に1つずつ実行してください。

まとめ

MCPサーバーの追加は、わずかなセットアップで大きなメリットをもたらします。まずはプロジェクトスコープの .mcp.json を用意してキー不要のサーバーをいくつか登録し、接続を確認した上で、認証情報が必要なサーバーを追加してください。承認する前に、各サーバーが何にアクセスできるかを確認しましょう。

メリット

  • 最新のドキュメント、ブラウザテスト機能、エラー情報をアシスタントに提供できます。
  • プロジェクトの .mcp.json ファイルにより、チームの誰もが同じ設定を再現できるようになります。
  • 多くのサーバーが無料、あるいは無料枠を用意しています。
  • サーバーの追加や削除が数秒で完了します。

デメリット

  • サーバーごとにアシスタントのコンテキストサイズが増加します。
  • データベースやクラウドアカウントへの書き込み権限を持つサーバーは、誤用された場合に重大な損害を与えるリスクがあります。
  • パッケージ名やフラグは時間の経過とともに変更されるため、コマンドが古くなることがあります。
  • リモートサーバーはサードパーティの稼働状況やサインインフローに依存します。

注意点

本記事は教育目的で提供されています。パッケージ名、URL、フラグは筆者の把握している限り正確ですが、頻繁に変更されるため、インストール前に各サーバーの公式ドキュメントをご確認ください。プレースホルダーのパス、トークン、プロジェクト参照はすべて独自の値に置き換え、本番のキーは決してコミットせず、サーバーを承認する前にアクセス範囲を必ず確認してください。

よくある質問

  • MCPサーバーとは何ですか? — ドキュメントの検索やブラウザの制御など、AIアシスタントに追加のツールを提供する軽量プログラムまたはリモートサービスです。
  • Claude CodeはMCP設定をどこに保存しますか? — ユーザー設定、またはプロジェクトスコープを使用する場合はプロジェクトフォルダ内の .mcp.json ファイルに保存されます。
  • MCPサーバーにはAPIキーが必要ですか? — すべてに必要なわけではありません。Context7、Playwright、Filesystem、Sentryはキーなしで動作しますが、Firecrawl、Exa、Braveにはキーが必要です。
  • サーバーが正常に動作しているか確認するにはどうすればよいですか? — ターミナルで claude mcp list を実行するか、セッション内で /mcp を実行して接続ステータスを確認します。
  • 次のファイルにAPIキーを含めても安全ですか: .mcp.json? — いいえ。ファイルを安全に共有またはコミットできるように、環境変数の参照を使用してください。
  • MCPサーバーが多すぎると動作が遅くなりますか? — はい。サーバーごとにツールの説明がコンテキストに追加されるため、実際に使用するものだけをインストールしてください。
  • stdioサーバーとhttpサーバーの違いは何ですか? — stdioサーバーはユーザーが起動するローカルプロセスとして実行されます。httpサーバーは接続先のリモートURLであり、多くの場合OAuthを使用します。
  • データベースサーバーに書き込み権限を付与すべきですか? — 書き込みがどうしても必要な場合を除き読み取り専用ロールを優先し、まずは本番環境以外のレプリカやコピーでテストしてください。

タグ

#MCP #ModelContextProtocol #ClaudeCode #AITools #DeveloperTools #Playwright #Context7 #Automation #Productivity #CodingAssistant

Free field guide

Prompt-Injection Defense Checklist

The controls that actually reduce the blast radius when your app feeds untrusted text to an LLM. Enter your email — you'll get the PDF instantly, plus new posts on AI, security & Linux.