使い方ガイド特集:エージェント開発入門

Claude Code に MCP サーバーをつなぐ方法

リモート・ローカルの追加、共有の範囲、認証まで

MCP(Model Context Protocol)を使うと、Claude Code から外部のサービスや社内のツールを呼び出せるようになります。この記事では、公式ドキュメントに沿って、MCP サーバーの追加、チームでの共有、認証、管理のコマンドを説明します。

7分で読めますエンジニア向け難しさ:中級AIexandria編集部

MCP とは

MCP(Model Context Protocol)は、AI のアプリと外部のツールやデータをつなぐためのオープンな標準です。現在は Linux Foundation 傘下の Agentic AI Foundation が管理しています。Claude Code に MCP サーバーを追加すると、そのサーバーが提供するツール(課題管理の検索、ドキュメントの読み取りなど)を、会話の中で Claude Code が使えるようになります。

MCP サーバーには、ネット越しにつなぐ「リモート」と、自分の PC で動かす「ローカル(stdio)」があります。

リモートの MCP サーバーを追加する

公式ドキュメントで推奨されているのは HTTP での接続です。

claude mcp add --transport http <名前> <URL>

# 例:Notion
claude mcp add --transport http notion https://mcp.notion.com/mcp

API キーなどをヘッダーで渡す場合は --header を使います。

claude mcp add --transport http secure-api https://api.example.com/mcp \
  --header "Authorization: Bearer your-token"

SSE での接続(--transport sse)も使えますが、非推奨とされています。HTTP に対応しているサーバーなら HTTP を選びます。

ローカルの MCP サーバーを追加する

自分の PC でコマンドとして動かすサーバーは stdio で追加します。-- の後ろが、そのまま実行されるコマンドです。

claude mcp add [オプション] <名前> -- <コマンド> [引数...]

# 例:環境変数を渡して npx で起動
claude mcp add --env AIRTABLE_API_KEY=YOUR_KEY --transport stdio airtable \
  -- npx -y airtable-mcp-server

--env のすぐ後ろにサーバー名を書くと、名前が環境変数として読まれてエラーになります。例のように、--env と名前の間に --transport stdio などのオプションをはさみます。

使える範囲(スコープ)を選ぶ

追加するときに --scope(-s)で、どの範囲で使うかを決めます。指定しなければ local です。

スコープ 使える範囲 保存先
local(既定) 今のプロジェクトだけ。自分専用 ~/.claude.json
project 今のプロジェクト。Git でチームと共有 プロジェクト直下の .mcp.json
user 自分のすべてのプロジェクト ~/.claude.json

チーム全員で同じサーバーを使うなら project にして、.mcp.json をリポジトリに含めます。

claude mcp add --transport http shared-server --scope project https://example.com/mcp

.mcp.json に書かれたサーバーは、対話セッションで使う前に承認を求められます。承認の選択をやり直すときは claude mcp reset-project-choices を実行します。

秘密の値をファイルに書かない

.mcp.json では ${VAR} や ${VAR:-既定値} の形で環境変数を参照できます。

{
  "mcpServers": {
    "api-server": {
      "type": "http",
      "url": "${API_BASE_URL:-https://api.example.com}/mcp",
      "headers": { "Authorization": "Bearer ${API_KEY}" }
    }
  }
}

こうしておけば、API キーそのものをリポジトリに入れずに済みます。なお ANTHROPIC_API_KEY など一部の認証情報の変数は、リモートの URL やヘッダーの中では空文字に置き換えられます。他人が用意した .mcp.json から認証情報が外に送られるのを防ぐための仕組みです。

認証(OAuth)

ログインが必要なリモートサーバーは、Claude Code の中で次のコマンドを入力し、ブラウザでログインします。

/mcp

トークンは保存され、自動で更新されます。/mcp の画面では、各サーバーが接続済みか、認証が必要か、接続に失敗したかも確認できます。

一覧・確認・削除

claude mcp list          # 追加したサーバーの一覧
claude mcp get notion    # 1つのサーバーの詳細
claude mcp remove notion # 削除

注意したいこと

  • MCP サーバーは、Claude Code にツールを渡す仕組みです。信頼できる提供元のサーバーだけを追加してください。
  • 応答が遅いサーバーでは、起動のタイムアウトを MCP_TIMEOUT で、出力の上限を MAX_MCP_OUTPUT_TOKENS で調整できます。
  • 同じ名前のサーバーが複数の場所に書かれている場合は、local、project、user の順に優先されます。

出典

この記事で扱った企業

特集「エージェント開発入門」のほかの記事