Claude CodeでMCP連携を使う方法|業務開発を自動化する手順

梶田洋平
この記事を書いた人:梶田 洋平(AIzen株式会社 代表)
AIzenは、AIの知見を活かしたWebマーケティング・開発支援会社です。
中小企業から大手企業まで、累計100社以上のAI・DX支援実績があります。
SEO/AIO対策、広告運用、AI開発、サイト改善、業務効率化まで、必要な施策を「定額」で代行します。
「マーケに詳しい人が社内にいない」
「AIやAIOも気になるが、何から始めればいいかわからない」
そんな企業様に、負担の少ない形でプロの知見をご提供します。

本記事を読めば、Claude CodeにMCPサーバーを接続する設計と設定手順がわかり、GitHub・DB・SaaSをまたぐ開発調査や実装工数を削減できるようになります

AIzen株式会社は、AIエージェントを活用した業務アプリ開発や社内ツール連携を支援する中で、MCPは「便利な接続口」である一方、認証・スコープ・共有ルールの設計が欠かせないと考えています。

本記事では、Claude CodeでMCP連携を安全に使う実務手順を解説します。

目次

Claude Codeで使うMCPとは

MCPはModel Context Protocolの略で、AIエージェントが外部ツールやデータソースへ接続するための共通プロトコルです。Claude Codeでは、MCPサーバーを追加することで、GitHub、データベース、SaaS、社内APIなどを開発作業の文脈から扱えるようになります。

重要なのは、MCPを単なる拡張機能ではなく、Claude Codeに社内ツールを安全に渡すための接続レイヤーとして設計することです。

MCPで接続できる外部ツール

MCPで接続できる対象は、ファイルシステム、GitHub、データベース、Sentry、Asana、社内APIなど多岐にわたります。Claude Code公式ドキュメントでも、MCPサーバーは外部ツールやデータソースをClaude Codeへ接続する仕組みとして説明されています。開発現場では、リポジトリ調査、障害調査、仕様確認、DBスキーマ確認、チケット参照などに使われます。

たとえば、GitHub MCPをつなぐと、PR一覧やIssueを確認しながら実装方針を整理できます。DB系MCPを読み取り専用でつなぐと、スキーマやデータ傾向を確認しながら影響範囲を見られます。

GitHub・DB・SaaS連携の用途

GitHub連携の主な用途は、PRレビュー、Issue確認、ブランチ状況の把握、変更差分の調査です。Claude Code単体でもローカルリポジトリの読み取りはできますが、GitHub上のレビューコメントやIssue本文まで含めて扱うにはMCP連携が役立ちます。開発者はブラウザとターミナルを往復せず、Claude Code上で背景情報を参照できます。

DB連携では、特に読み取り専用の接続設計が重要です。本番DBに対して書き込み可能な権限を渡すのではなく、スキーマ確認や集計用の限定ユーザーを用意します。SaaS連携も同様で、必要な操作だけをMCPサーバーに持たせます。MCP連携の価値は、広い権限を渡すことではなく、開発に必要な情報へ最小権限でアクセスできる状態を作ることです。

通常のAPI連携との違い

通常のAPI連携は、アプリケーションが特定のエンドポイントを呼び出す実装です。一方、MCPはAIエージェントが使うツールとして外部機能を公開します。つまり、MCPでは「Claude Codeがどの操作をツールとして認識し、どの入力で呼び出せるか」を設計します。

この違いにより、MCPではAPI仕様だけでなく、ツール名、説明文、認証方式、スコープ、出力サイズ、承認フローまで考える必要があります。AIzen株式会社がMCP導入を支援する際も、まず「AIに渡すべき業務操作」と「渡さない操作」を棚卸しします。

MCPサーバーの接続方法

Claude CodeでMCPサーバーを接続する方法は、サーバーの種類によって変わります。ローカルプロセスとして起動するstdio、リモート接続するHTTP、既存互換として残るSSEなどがあります。公式ドキュメントではSSEは非推奨とされ、利用できる場合はHTTPサーバーが推奨されています。実務では、まず接続方式を決め、認証情報と共有範囲を分けて設定します。

stdioサーバーの設定

stdioサーバーは、Claude Codeがローカルコマンドを起動し、標準入出力でMCPサーバーと通信する方式です。開発中の社内MCPサーバーや、ローカル環境で動かすファイル・DB補助ツールに向いています。公式ドキュメントでは、claude mcp add でサーバー名、コマンド、引数を指定する例が示されています。

実務で注意したいのは、コマンドの実行環境です。npx や python を使う場合、チーム全員のNode.jsやPythonのバージョンが揃っていないと動作が変わります。プロジェクトで共有するなら、Docker、mise、volta、uvなどで実行環境を固定するか、セットアップ手順をREADMEに残します。stdioは手軽ですが、ローカル環境差分の影響を受けやすい方式です。

HTTPサーバーの設定

HTTPサーバーは、Claude CodeからリモートのMCPエンドポイントへ接続する方式です。SaaS公式のMCPサーバーや、社内でホストしたMCPサーバーに向いています。設定では、URL、ヘッダー、タイムアウト、OAuth情報などを指定します。GitHubやSentryのように認証が必要なサービスでは、固定トークンかOAuthフローを使う設計になります。

HTTP方式では、ネットワーク境界と認証情報の管理が重要です。社内APIをMCP化する場合、MCPサーバー自体を社内ネットワーク内に置くのか、認証付きで外部公開するのかを決めます。Claude Codeから見えるURLにするだけでなく、監査ログ、レート制限、アクセス元制限もセットで検討すべきです。

接続後の動作確認

MCPサーバーを追加したら、まずClaude Code内で /mcp を使い、接続状態や認証状態を確認します。次に、最小の読み取り操作を実行し、期待したツールが見えているか、出力形式が大きすぎないか、認証エラーが出ないかを確認します。いきなり書き込み系操作を試すのではなく、読み取り専用の検証から始めるのが安全です。

接続確認では、サーバーが有効か、ツール名が意図通りか、認証情報が渡っているか、出力が長すぎないかを見ます。出力が大きい場合は、MCPサーバー側でページングやフィールド制限を入れると扱いやすくなります。

OAuth・スコープ設定の注意点

MCP連携で最も重要なのは、認証と権限範囲です。Claude Codeは開発支援のために外部ツールへアクセスしますが、外部ツールの権限を広げすぎると、誤操作や情報露出のリスクが増えます。OAuthやトークンを使う場合は、誰の権限で、どの範囲を、どの期間使うのかを明確にします。

OAuth認証の流れ

Claude Code公式ドキュメントでは、認証が必要なリモートMCPサーバーに対して、/mcp コマンドからブラウザでログインする流れが説明されています。OAuth対応サーバーでは、Claude Codeが認証状態を管理し、必要に応じてトークンを安全に保存・更新します。ブラウザが開かない場合は、表示されたURLを手動で開く運用も想定されています。

OAuthを使うメリットは、個人ごとの権限管理や失効がしやすいことです。一方で、CIや共有端末での利用には向かない場合があります。チーム導入では、個人利用、共有開発環境、CI環境で認証方式を分け、同じトークンを全員で使い回さないルールを作る必要があります。

アクセススコープの最小化

MCPサーバーに渡すスコープは、最小限にします。GitHub連携なら、全リポジトリへのフルアクセスではなく対象リポジトリだけ、DB連携なら書き込み権限ではなく読み取り専用、SaaS連携なら管理者権限ではなく必要な読み取り権限から始めます。

最初から書き込み権限を渡すと、MCP連携の便利さよりリスクのほうが目立ちます。まず読み取り中心で運用し、必要な書き込みだけ承認フロー付きで追加するのが現実的です。

トークン管理と更新ルール

トークンは、設定ファイルへ直接書かず、環境変数やシークレット管理に寄せます。.mcp.json にはキー名だけを残し、実値は各メンバーやCIのシークレットストアで管理します。

退職者や異動者のトークン、使われなくなったMCPサーバー、長期間更新されていないPATは定期的に見直します。MCPは便利な接続口だからこそ、トークンの発行者、保存場所、有効期限、失効手順を台帳化しておくべきです。

.mcp.jsonの共有ルール

.mcp.json は、Claude CodeでMCPサーバー設定をプロジェクト共有するための中心ファイルです。ただし、共有できるのはサーバー構成や環境変数名であり、秘密情報そのものではありません。ここを混同すると、APIキーの漏えいや、メンバーごとの環境差分による接続失敗につながります。

local・project・userスコープの違い

Claude CodeのMCP設定には、local、project、userといったスコープがあります。projectスコープはプロジェクトルートの .mcp.json に保存され、チームで共有する用途に向いています。userスコープはユーザー個人の設定に保存され、複数プロジェクトで個人的に使うツールに向いています。localスコープはその環境だけで使う設定として扱います。

使い分けの基本は、チーム全員が同じ用途で使うMCPはproject、個人作業の補助はuserまたはlocalです。たとえば、プロジェクト共通のIssue参照MCPはproject、個人のメモアプリ連携はuserに分けます。共有すべきでない個人トークンをprojectに入れないことが重要です。

共有できる設定と秘匿すべき値

共有できる設定は、MCPサーバー名、コマンド、URL、必要な環境変数名、基本のタイムアウト、読み取り専用であることを示す説明などです。秘匿すべき値は、APIキー、OAuthクライアントシークレット、GitHub PAT、DB接続パスワード、Webhook URLなどです。

.mcp.json を共有する場合は、実値のトークンをコミットしない、環境変数名だけをREADMEに記載する、書き込み系ツールには承認フローを用意する、というルールを徹底します。

チーム導入時の承認フロー

projectスコープのMCPサーバーは、リポジトリに設定が残るため、追加時にレビューが必要です。レビュー観点は、接続先、権限範囲、認証方式、ツール一覧、出力内容、ログの扱いです。便利そうだから追加するのではなく、開発フロー上の用途が明確なものから採用します。

また、Claude CodeはプロジェクトスコープのMCPサーバーを使う前に承認を求める設計があります。これはチームにとって重要な安全策です。承認時には、MCPサーバーが何をできるのか、どの情報へアクセスするのかを確認し、怪しいサーバーや用途不明のサーバーは使わない判断が必要です。

弊社エンジニアからのコメント:

MCP連携は、最初に「社内ツールを全部つなぐ」より、GitHub参照と読み取り専用DB確認の2つに絞って始めると定着しやすいです。以前、SaaS連携を一気に増やしたケースでは、どのMCPがどのトークンを使っているか追いづらくなりました。導入初期は用途、権限、所有者を1行で説明できるMCPだけに限定するのが安全です。

MCP連携が動かないときの確認方法

MCP連携が動かない場合、原因はサーバー起動、認証、スコープ、出力サイズ、ネットワークのいずれかに集約されます。闇雲に設定を書き換えるより、接続方式ごとに切り分けるほうが早く解決できます。ここでは、実務でよくある確認順を整理します。

サーバー起動エラーの確認

stdioサーバーでは、ローカルコマンドが起動できているかを最初に確認します。npx のパッケージが見つからない、Pythonの依存関係がない、実行権限がない、相対パスがずれている、といった原因が多いです。Claude Code上のエラーだけで判断せず、同じコマンドをターミナルで単体実行し、標準エラーを確認します。

HTTPサーバーでは、URL、TLS、認証ヘッダー、社内ネットワークからの到達性を確認します。社内VPNが必要なMCPサーバーを自宅環境から使おうとして失敗するケースもあります。サーバー側のアクセスログが見られる場合は、Claude Codeからリクエストが届いているかを確認してください。

認証エラーとスコープ不足の確認

認証エラーでは、トークンが無効、期限切れ、ヘッダー名が誤り、OAuth認証が未完了といった原因があります。スコープ不足では、接続自体はできても特定のツールだけ失敗します。たとえばPR一覧は読めるがコメント投稿はできない、DBスキーマは見えるがテーブル内容が読めない、といった状態です。

切り分けでは、まず読み取り系ツールを実行し、次に必要な権限のツールを試します。すべての権限を一度に広げるのではなく、失敗した操作に必要なスコープだけを追加します。MCPの認証トラブルは、権限を広げる前にログとスコープを照合することが大切です。

ツール出力が大きい場合の対策

MCPツールの出力が大きすぎると、Claude Codeが扱いづらくなり、応答遅延や要約抜けの原因になります。DBの全件取得、Issueの大量一覧、ログの長大出力は避けるべきです。MCPサーバー側で、件数制限、ページング、期間指定、必要フィールドだけの返却を入れます。

開発用途では、最初から「Claudeに全部渡す」のではなく、「Claudeが判断に必要な範囲だけ渡す」設計が重要です。検索条件を必須にする、デフォルト件数を20件程度にする、長いログは要約して返す、といった工夫で安定します。

AIzen株式会社では、社内ツール連携を設計する際、MCPサーバーの実装だけでなく、AIが扱いやすい出力設計まで含めて支援しています。

まとめ

Claude CodeのMCP連携は、GitHub・DB・SaaSをまたぐ開発調査や実装支援を効率化できる強力な仕組みです。要点は次の3つです。

  • stdioとHTTPの違いを理解し、用途と実行環境に合わせて接続方式を選ぶ
  • OAuth、スコープ、トークン管理を最小権限で設計し、秘密情報を .mcp.json に入れない
  • チーム導入ではproject/user/localのスコープを分け、承認フローと所有者を明確にする

AIzen株式会社では、Claude CodeやCodexを使った開発環境整備、MCPサーバー設計、社内API・DB・SaaS連携を含むAI開発支援を行っています。MCPを使って開発調査や実装を効率化したい場合は、接続対象の棚卸しと権限設計から無料でご相談ください。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

ITコンサル・SEとして経営層直下での全社横断プロジェクトを多数主導。経営課題を起点としたKPI設計、ROI最適化、プロジェクトガバナンスの構築に精通。単なるシステム導入に留まらず、BIツールを用いた意思決定支援や、属人化を排除するBPR(業務再設計)を通じて、再現性のある事業基盤の構築を得意とする。「経営層のビジョン」を「現場のオペレーション」へと翻訳し、データドリブンな組織変革を支援している。

コメント

コメントする

目次