Claude Code特集2026年10月更新

Claude Code MCPの使い方|Claude Code自体をMCPサーバーとして動かす構成ガイド【2026年最新】

公開日: 2026/04/24
更新日: 2026/10/17
Claude Code MCPの使い方|Claude Code自体をMCPサーバーとして動かす構成ガイド【2026年最新】

この記事のポイント

Claude Codeを公式の claude mcp serve でMCPサーバーにし、Claude Desktop・Cursor・別のClaude Codeから呼ぶ手順を2026年10月時点の仕様で整理。公開されるツール一覧(v2.1.302で実機確認)、アーカイブされた @steipete/claude-code-mcp の扱い、claude -p やAgent SDKとの使い分け、確認がクライアント側の責任になる点などセキュリティの注意もまとめました。

Claude Code を MCP サーバーとして動かすには、Claude Code 本体に入っている claude mcp serve コマンドを使います。2026年10月時点では、これが公式に案内されている唯一の方法です。以前よく紹介されていたサードパーティ製の @steipete/claude-code-mcp は、2026年5月15日に GitHub リポジトリがアーカイブ(読み取り専用)になりました。README 自身も claude mcp serve へ移るよう案内しています。

この記事でわかること

  • claude mcp serve で Claude Code を MCP サーバーにする仕組みと、通常の使い方との向きの違い
  • Claude Desktop・Cursor・別の Claude Code から接続する設定手順
  • 現行バージョン(Claude Code v2.1.302)で実際に公開されるツールの一覧(編集部で確認)
  • claude -p・Claude Agent SDK・Claude Desktop の Code タブなど、ほかの手段との使い分け
  • 確認ダイアログが接続する側のクライアント任せになる点など、セキュリティと組織での管理方法
  • spawn claude ENOENT・何も表示されない・長時間コマンドが切れる、といったトラブルの対処

この記事は、Claude Code(Pro / Max / Team / Enterprise / API)を使っていて、Claude Desktop や Cursor など別の AI クライアントから Claude Code のツールを呼びたい開発者・AI エンジニア向けの実務ガイドです。古い手順で設定済みの人が、2026年10月時点の仕様に合わせて見直す用途にも使えます。

Claude CodeをMCPサーバーとして動かすとは

claude mcp serve を実行すると、Claude Code は「ツールを呼ぶ側(MCP クライアント)」から「ツールを提供する側(MCP サーバー)」に役割が変わります。 Claude Desktop や Cursor から、Claude Code のファイル読み書き・編集・コマンド実行などのツールを MCP 経由で使えるようになります。

MCP(Model Context Protocol)は、AI アプリと外部ツール・データをつなぐための共通仕様です。Anthropic が 2024年11月に公開し、現在は OpenAI や Google の製品も対応しています。基本は MCPとは?仕組み・できること・対応ツール・セキュリティ で解説しています。

Model Context Protocolの基本構成図(MCPクライアントとMCPサーバーの関係)

出典: Model Context Protocol 公式

2つの向きを整理する

使い方

Claude Code の役割

コマンド

典型例

通常の MCP 連携

MCP クライアント

claude mcp add

Claude Code から GitHub MCP・Notion MCP などを呼ぶ

Claude Code をサーバーにする構成

MCP サーバー

claude mcp serve

Claude Desktop・Cursor・別の Claude Code から、Claude Code のツールを呼ぶ

この2つは同時に成り立ちます。ただし、Claude Code に接続している MCP サーバー(GitHub MCP など)が、上位のクライアントにそのまま中継されることはありません。公式ドキュメントは「この MCP サーバーが MCP クライアントに公開するのは Claude Code のツールだけ」と説明しています。GitHub MCP を Claude Desktop からも使いたいなら、Claude Desktop にも GitHub MCP を別途登録します。

逆向きの「Claude Code に外部ツールをつなぐ」設定は Claude Code MCP連携ガイド(GitHub・Slack・Notion・freee) にまとめています。

なぜClaude Code自体をMCPサーバーとして動かすのか

普段使っている AI クライアントの画面から離れずに、Claude Code のファイル操作やコマンド実行を使いたいときに向く構成です。Claude Code 本体はターミナルで動くので、ターミナルを開かずに済ませたい場面で役に立ちます。

Anthropic公式サイトのトップ画像

出典: Anthropic 公式サイト

1. Claude Desktop のチャットからローカルのファイルを扱える

Claude Desktop のチャット(Chat タブ)に Claude Code を MCP サーバーとして登録すると、会話の中で手元のファイルを読む・書き換える・コマンドを実行する、といった操作ができます。公式ドキュメントに載っている設定例も、この Claude Desktop との組み合わせです。

2. Cursor など別の IDE から Claude Code のツールを使える

Cursor は MCP クライアントとして動くため、claude mcp serve を登録すれば Claude Code の Read・Edit・Bash・WebFetch などをツールとして呼べます。Cursor と Claude Code の違いそのものは Cursor vs Claude Code 徹底比較 で整理しています。

3. Claude Code から別の Claude Code を呼べる

claude mcp add で claude mcp serve を登録すれば、Claude Code の中から、作業ディレクトリや設定が異なるもう1つの Claude Code のツールを使えます。

コストについての注意

「Max プランの定額枠に寄せれば Cursor の課金を減らせる」という説明を見かけることがありますが、2026年10月時点の仕組みでは成り立ちにくい考え方です。claude mcp serve が公開するのは Claude Code のツールで、何をするか判断して文章を組み立てるのは、呼び出す側(Claude Desktop や Cursor)のモデルです。Read や Bash の実行そのものはツール処理であり、呼び出し側のトークン消費が Claude Code 側に移るわけではない、と考えるのが自然です。ただし、Agent ツールでサブエージェントを起動したときの課金の計上先は公式に明記されていません。正確な扱いは公式料金ページで確認してください。

2つのアプローチ: 公式 vs サードパーティ

2026年10月時点で新しく組むなら、公式の claude mcp serve 一択です。 以前は2つの方法がありましたが、サードパーティ版はメンテナンスが止まっています。

比較項目

公式 claude mcp serve

サードパーティ @steipete/claude-code-mcp

提供元

Anthropic(Claude Code 本体の機能)

個人開発の OSS(MIT ライセンス)

現在の状態

Claude Code の更新とあわせて修正が続いている(2026年10月も修正あり)

2026年5月15日に GitHub リポジトリがアーカイブ。npm の最終版は v1.11.0(2025年5月24日)

起動方法

claude mcp serve

npx -y @steipete/claude-code-mcp@latest

公開されるツール

Claude Code のツール群(Read / Edit / Bash / Agent など)

claude_code 1つ(プロンプトを渡して Claude Code に丸ごと任せる)

権限の確認

接続する側のクライアントが実装する(公式明記)

permissionMode を指定しないと --dangerously-skip-permissions 付きで起動

通信方式

stdio のみ

stdio

追加料金

なし(Claude Code の契約内)

なし(Claude Code の契約は別途必要)

新規導入

推奨

非推奨

アーカイブされたsteipete/claude-code-mcpのGitHubリポジトリ

出典: steipete/claude-code-mcp GitHub

アーカイブ後は不具合や脆弱性が見つかっても修正されません。README にも「OS レベルのサンドボックスではない」と書かれており、既定では確認なしで Claude Code を動かす作りでした。すでに使っている場合は、次のどれかに移行するのが安全です。

  • MCP クライアントから Claude Code のツールを使いたい → claude mcp serve
  • プロンプトを1本渡して、Claude Code に作業を丸ごと任せたい → claude -p "<指示>" --output-format json(ヘッドレス実行)または Claude Agent SDK
  • claude mcp serve の中でまとめて任せたい → 公開される Agent ツールでサブエージェントを起動する

なお、@leo000001/claude-code-mcp・@kunihiros/claude-code-mcp などの派生実装は、編集部ではメンテナンス状況を確認できていません。業務で使うのは避け、公式の手段を優先してください。

公開されるツール一覧(v2.1.302で実機確認)

claude mcp serve が公開するツールは、Claude Code が普段使っているツールとほぼ同じです。 編集部が 2026年10月17日に macOS 上の Claude Code v2.1.302 で claude mcp serve を起動し、MCP の tools/list を送って確認したところ、25個のツールが返ってきました。

分類

ツール名

できること

ファイル・コード

Read / Write / Edit / NotebookEdit

ファイルの読み取り・新規作成・部分編集、Jupyter ノートブックの編集

コマンド実行

Bash / Monitor / TaskStop

シェルコマンドの実行、バックグラウンド処理の監視と停止

Web

WebFetch / WebSearch

URL の取得、Web 検索

エージェント

Agent / SendMessage / ListAgents / Workflow / Skill

サブエージェントの起動・やり取り、Skills の実行

ワークツリー

EnterWorktree / ExitWorktree

Git ワークツリーの作成・切り替え

スケジュール

CronCreate / CronDelete / CronList / ScheduleWakeup

定期実行の登録・削除・一覧

その他

ToolSearch / ReportFindings / DesignSync / RemoteTrigger / PushNotification

ツール検索、結果の報告など

サーバー情報は claude/tengu(バージョン 2.1.302)、MCP プロトコルは 2025-06-18 で応答しました。

設定ファイルや Hooks でツール名を指定するときは、次の点に気をつけてください。

  • 古い解説記事に出てくる View・GrepTool・GlobTool・dispatch_agent という名前は、現行の一覧にはありません。古い名前でツールを指定している設定は動きません
  • 今回の環境では Glob・Grep も一覧に出ませんでした。ツールの並びはログイン方法・設定・OS・バージョンで変わる可能性があります。自分の環境では、クライアント側のツール一覧で確認してください

Skills の使い方は Claude Code Skills 使い方完全ガイド、サブエージェントは Claude Code サブエージェント 使い方 で詳しく扱っています。

セットアップ手順①: 公式 claude mcp serve を使う

Claude Code公式ドキュメントのMCP接続ページ

出典: Claude Code Docs「Connect Claude Code to tools via MCP」

Claude Code が入っていれば、追加のインストールは要りません。 クライアントの設定ファイルに claude mcp serve を起動するコマンドを書くだけです。

前提条件

  • Claude Code がインストール済み(claude --version で確認)。現在の推奨はネイティブインストーラ(macOS / Linux / WSL は curl -fsSL https://claude.ai/install.sh | bash)で、この場合 Node.js は不要です。npm で入れる場合は Node.js 22 以上が必要です
  • Pro / Max / Team / Enterprise いずれかのプラン、または Claude Console(API)のアカウント。無料プランでは Claude Code を使えません
  • Claude Desktop・Cursor など、stdio 接続に対応した MCP クライアント

インストール方法の詳細は Claude Codeの使い方ガイド を参照してください。

手順 1: 起動だけ試す(何も表示されないのが正常)

ターミナルで次を実行します。

claude mcp serve

実行しても何も表示されず、入力待ちのまま止まったように見えます。これが正常な状態です。公式ドキュメントも「stdio の MCP サーバーは標準入出力で通信するので、何も出ずに止まっていれば、クライアントからの接続を待っている」と説明しています。確認できたら Ctrl + C で終了します。実際にはクライアントが自動で起動するので、普段は手で立ち上げません。

手順 2: claude の絶対パスを調べる

Claude Desktop や Cursor などの GUI アプリは、ターミナルで設定した PATH を引き継がないことがあります。設定ファイルには絶対パスを書くのが確実です。

# macOS / Linux / WSL
which claude
# 例: /Users/username/.local/bin/claude

# Windows(PowerShell)
where.exe claude

ネイティブインストーラで入れた場合、macOS / Linux の既定の場所は ~/.local/bin/claude です。

手順 3: Claude Desktop の設定ファイルに追記する

設定ファイルの場所は macOS が ~/Library/Application Support/Claude/claude_desktop_config.json、Windows が %APPDATA%\Claude\claude_desktop_config.json です。次のように追記します(公式ドキュメントの例に絶対パスを入れたもの)。

{
  "mcpServers": {
    "claude-code": {
      "type": "stdio",
      "command": "/Users/username/.local/bin/claude",
      "args": ["mcp", "serve"],
      "env": {}
    }
  }
}

command を "claude" のままにすると、PATH が通っていない環境では spawn claude ENOENT で起動に失敗します。

手順 4: クライアントを再起動して接続を確かめる

Claude Desktop を完全に終了してから起動し直し、ツール(コネクタ)の一覧に claude-code が出ていれば接続できています。チャットで「~/projects/sample/README.md を読んで要約して」のように指示すると、Claude Code の Read ツールが呼ばれます。

最初は書き換えやコマンド実行を伴わない、読み取りだけの指示で試すのがおすすめです。

セットアップ手順②: Cursor・Claude Codeから呼ぶ

Cursor も別の Claude Code も、claude mcp serve を stdio サーバーとして登録する点は同じです。 違うのは設定ファイルの場所と書き方だけです。

Cursor公式サイトのトップ画像

出典: Cursor 公式サイト

Cursor から使う

Cursor の MCP 設定は、全プロジェクト共通なら ~/.cursor/mcp.json、プロジェクト単位なら .cursor/mcp.json に書きます。

{
  "mcpServers": {
    "claude-code": {
      "type": "stdio",
      "command": "/Users/username/.local/bin/claude",
      "args": ["mcp", "serve"]
    }
  }
}

Cursor の公式ドキュメントでは、stdio サーバーは type と command が必須で、args・env・envFile は任意です。環境変数は ${env:VAR} の形で参照できます。Cursor は既定で MCP ツールの実行前に承認を求めます。承認を省く自動実行の設定にすると Bash や Write が確認なしで動くことになるので、この設定は Claude Code のツールには使わないでください。

Claude Code から別の Claude Code を呼ぶ(入れ子構成)

Claude Code に stdio サーバーとして登録します。-- の後ろがサーバーを起動するコマンドです。

claude mcp add --transport stdio claude-sub -- claude mcp serve

チームで共有したい場合は、--scope project を付けるとプロジェクト直下の .mcp.json に保存されます。

スコープ

保存場所

適用範囲

共有

local(既定)

~/.claude.json

今のプロジェクトだけ

しない

project

プロジェクト直下の .mcp.json

今のプロジェクト

Git で共有できる

user

~/.claude.json

全プロジェクト

しない

同じ名前のサーバーが複数のスコープにあると、local → project → user → プラグイン → claude.ai コネクタの順で優先されます。設定項目どうしはマージされず、エントリごと上書きされます。

入れ子にしたときは、次の動作を覚えておくと迷いません。

  • stdio サーバーには、プロジェクトのルートを示す環境変数 CLAUDE_PROJECT_DIR が渡されます(v2.1.139 以降)。env で手書きする必要はありません
  • .mcp.json を編集した後は、Claude Code の中で /mcp → Reconnect を実行すれば再起動せずに反映されます(v2.1.139 以降)
  • claude mcp serve の Agent ツールで子側のサブエージェントを起動できます。ただし、v2.1.302 で多くの場面で既定オンになった fork サブエージェントは、claude mcp serve では提供されません

.mcp.json で使える環境変数展開

command・args・env・url・headers の中では ${VAR} や ${VAR:-既定値} が使えます。

{
  "mcpServers": {
    "claude-sub": {
      "type": "stdio",
      "command": "${CLAUDE_BIN:-claude}",
      "args": ["mcp", "serve"]
    }
  }
}

なお url・headers の中では、ANTHROPIC_API_KEY などの認証用の変数は空として扱われます。.mcp.json 経由で認証情報が外部に送られないようにするための仕組みです。

v2.1系 主要MCPアップデート(2026年4月〜10月)

2026年9〜10月に、claude mcp serve の使い勝手に直結する修正が続けて入りました。 半年前に設定したまま止まっている環境は、claude update で最新にしておくと安心です。

claude mcp serve に直接関係する変更

バージョン

公開日(npm)

内容

2.1.101

2026-04-10

出力スキーマを検証するクライアントで "Tool execution failed" になる問題を修正

2.1.271

2026-09-14

実行中のツール呼び出しが30秒ごとに進捗を送るようになり、出力の出ない長いコマンドがクライアント側のタイムアウトで切れにくくなった

2.1.288

2026-10-02

Agent ツールが常に「利用できるエージェントがない」と返す不具合を修正

2.1.295

2026-10-08

バックグラウンド実行した Bash の結果に出力ファイルのパス(backgroundOutputPath)が入るよう修正

2.1.302

2026-10-16

fork サブエージェントを各所で既定オンにしたが、claude mcp serve では提供しないと明記

MCP 全般の変更(入れ子構成・組織運用に関係するもの)

バージョン

公開日(npm)

内容

2.1.118

2026-04-22

Hooks から type: "mcp_tool" で MCP ツールを呼べるようになった

2.1.121

2026-04-27

サーバー単位の alwaysLoad オプションを追加

2.1.139

2026-05-11

stdio サーバーに CLAUDE_PROJECT_DIR を渡す//mcp の Reconnect で .mcp.json の編集を反映

2.1.149

2026-05-22

allowAllClaudeAiMcps(managed-mcp.json と claude.ai コネクタの併用)

2.1.259

2026-09-02

managedMcpServers(組織がリモート MCP サーバーを全員に配布)

2.1.287

2026-10上旬

"alwaysLoad": false が「そのサーバーの全ツールを遅延読み込み」の意味に変更。ツール単位の指定も追加

2.1.292

2026-10-06

stdio 接続で MCP プロトコル 2026-07-28 を既定で使うようになった

公開日は npm の公開時刻(UTC)を基にしています。CHANGELOG 本体には日付が書かれていません。

alwaysLoad オプションと Tool Search の関係

Claude Code は既定で Tool Search を有効にしており、MCP ツールの詳しい定義は必要になった時点で読み込みます(遅延読み込み)。接続する MCP サーバーが増えても、コンテキストを圧迫しにくくするための仕組みです。

{
  "mcpServers": {
    "claude-sub": {
      "type": "stdio",
      "command": "/Users/username/.local/bin/claude",
      "args": ["mcp", "serve"],
      "alwaysLoad": true
    }
  }
}
  • "alwaysLoad": true: そのサーバーのツールを常に読み込みます。起動時に接続を最大5秒待ちます
  • "alwaysLoad": false: そのサーバーの全ツールを遅延読み込みにします(v2.1.287 で意味が変わりました)
  • 環境変数 ENABLE_TOOL_SEARCH は、未設定・true・auto・auto:N・false から選べます
  • Tool Search が動くのは Opus 4・Sonnet 4・Haiku 4.5 以降のモデルです。ANTHROPIC_BASE_URL に Anthropic 以外のエンドポイントを指定すると無効になります

Hooks から MCP ツールを直接呼び出す高度な構成

Hooks に type: "mcp_tool" を書くと、Claude Code のツール実行の前後に、MCP サーバーのツールを自動で呼べます(v2.1.118 以降)。公式ドキュメントの例は次のとおりです。

{
  "hooks": {
    "PostToolUse": [
      {
        "matcher": "Write|Edit",
        "hooks": [
          {
            "type": "mcp_tool",
            "server": "my_server",
            "tool": "security_scan",
            "input": { "file_path": "${tool_input.file_path}" }
          }
        ]
      }
    ]
  }
}

ファイルを書き換えた直後に、my_server の security_scan ツールへ対象ファイルのパスを渡す設定です。古い解説記事で見かける次の書き方は、現行の仕様では動きません。

  • "tool": "View" → 現行の Claude Code に View ツールはありません。claude mcp serve を相手にするなら Read などの現行名を使います
  • ${workingDir} → 公式には書かれていない変数です。入力値は、Hook が受け取る JSON のパス(例: ${tool_input.file_path})で指定します

既定のタイムアウトは600秒です。SessionStart・Setup のタイミングでは MCP サーバーがまだつながっていないため、mcp_tool の Hook は実行されません。Hooks 全体の書き方は Claude Code Hooks 使い方 で解説しています。

エージェント・イン・エージェント構成の実務パターン

claude mcp serve が向く場面は、「別のクライアントから Claude Code のツールを使いたい」ときに限られます。 目的によっては、ほかの公式手段のほうが簡単です。

やりたいこと別の選び方

やりたいこと

おすすめの手段

理由

Claude Desktop や Cursor から Claude Code のツールを使う

claude mcp serve

ツール単位で呼べる

スクリプトや CI から、プロンプトを渡して結果だけ受け取る

claude -p "<指示>" --output-format json

エージェントの作業を丸ごと任せられる。公式も「CLI を -p と --output-format json でサブプロセスとして実行する」方法を案内

自作アプリに Claude Code と同じエージェントを組み込む

Claude Agent SDK(Python / TypeScript)

API キー認証で組み込める

GUI で Claude Code を使いたい(非エンジニアを含む)

Claude Desktop の Code タブ

ローカル・クラウド・SSH のセッション、差分の確認まで画面上でできる。MCP の自作構成が要らない

同じセッションの中で調査や作業を並列に進める

組み込みのサブエージェント

起動の手間が少なく、コンテキストも分けられる

ツール実行の前後で決まった処理を挟む

Hooks(mcp_tool を含む)

毎回の手作業を自動化できる

旧来の「Cursor から重い一括タスクを Claude Code に丸投げする」使い方は、2026年10月時点なら claude -p か Agent SDK、もしくは claude mcp serve の Agent ツールで置き換えるのが妥当です。なお Agent SDK で作ったプロダクトを他人に提供する場合、Anthropic が事前に認めていない限り、claude.ai のログインやプランの利用枠を使わせることはできません。課金の考え方は Claude Agent SDK 課金変更の解説 も参考にしてください。

パターン A: Claude Desktop のチャットから手元のファイルを扱う

  • 構成: Claude Desktop(Chat)→ MCP → claude mcp serve(同じ PC)
  • 向く作業: 議事録や社内ドキュメントの整理、Markdown 原稿の一括修正、ログファイルの要約
  • ポイント: コードの修正や差分の確認が中心なら、Code タブのほうが向いています

パターン B: Cursor から Claude Code のツールを使う

  • 構成: Cursor → MCP → claude mcp serve
  • 向く作業: Cursor の作業中に WebFetch でドキュメントを取得する、Claude Code の Skills を呼ぶなど
  • ポイント: Cursor の承認ダイアログは残したまま使います

パターン C: Claude Code から別の Claude Code を呼ぶ

  • 構成: 親の Claude Code → MCP → 子の Claude Code(claude mcp serve)
  • 向く作業: 別ディレクトリや別の設定で動く Claude Code のツールを、親セッションから使う
  • ポイント: 子側に接続した MCP サーバーは親から見えません。同じセッションで並列に作業したいだけなら、組み込みのサブエージェントで足ります

パターン D: 長時間コマンドをバックグラウンドで回す

  • 構成: クライアント → claude mcp serve の Bash(バックグラウンド実行)
  • 向く作業: テスト全件実行、ビルド、データ変換
  • ポイント: 完了してもクライアントには通知が届きません(公式明記)。公式は npm test; echo DONE のように最後に目印を出力させ、結果 JSON の backgroundOutputPath に書かれた出力ファイルを確認する方法を勧めています
Anthropic Claude Codeの公式GitHubリポジトリ

出典: anthropics/claude-code GitHub

セキュリティ上の注意点

Claude Code公式ドキュメントのセキュリティページ

出典: Claude Code Docs「Security」

claude mcp serve では、ツールを実行してよいかを確かめる役目が、接続する側のクライアントに移ります。 「通常の Claude Code と同じく承認プロンプトが出る」と説明している解説もありますが、公式ドキュメントの記述は逆です。公式ドキュメントには「この MCP サーバーは Claude Code のツールを公開するだけなので、個々のツール呼び出しの確認は、利用する側のクライアントが実装する必要がある」とあります。

1. クライアント側の承認を必ず有効にする

  • Cursor など承認機能のあるクライアントでは、Bash・Write・Edit の自動実行(許可リスト登録など)を避けます
  • 承認の仕組みを持たない自作クライアントから claude mcp serve を呼ぶと、ファイルの書き換えやコマンド実行が確認なしで走ります
  • Claude Code の settings.json にある許可・拒否ルールが claude mcp serve 経由の呼び出しにどこまで適用されるかは、公式に記載がありません。それを頼りにせず、クライアント側で止める前提で設計します

2. プロンプトインジェクションへの備え

公式は MCP 全般について「接続する前に、そのサーバーを信頼できるか確かめること。外部のコンテンツを取得するサーバーは、プロンプトインジェクションの危険を持ち込む」と注意しています。WebFetch で取得したページや GitHub の Issue に悪意ある指示が含まれていると、それを読んだモデルが Bash で危険なコマンドを実行しようとすることがあります。

  • Git 管理下のディレクトリで使い、意図しない変更を戻せるようにする
  • 認証情報や個人情報が置かれたディレクトリで動かさない
  • 信頼できない外部コンテンツを扱うときは、書き込みやコマンド実行の承認を毎回人が確認する
  • 本格的に隔離したい場合は、コンテナや VM の中で動かす

ほかの対策は Claude Codeのセキュリティと安全な使い方 で詳しく扱っています。

3. --dangerously-skip-permissions 前提の旧構成を残さない

アーカイブされた @steipete/claude-code-mcp は、既定で --dangerously-skip-permissions 付きで Claude Code を起動する作りでした。設定ファイルに残っている場合は削除し、claude mcp serve か claude -p に置き換えてください。

4. .mcp.json と認証情報の扱い

  • トークンを設定ファイルに直接書かず、${VAR} で環境変数から読み込む
  • プロジェクトの .mcp.json に書かれたサーバーは、対話セッションでは初回に承認が求められます。クローンしたリポジトリが自分で自分のサーバーを承認することはできません
  • 一方、claude -p や Agent SDK で動かすと、.mcp.json のサーバーは承認なしで読み込まれます。読み込ませたくないものは disabledMcpjsonServers で止めます

5. 組織での管理には managed-mcp.json を使う

会社で Claude Code を配る場合は、管理者が managed-mcp.json で使える MCP サーバーを固定できます。

項目

内容

配置先

macOS /Library/Application Support/ClaudeCode/managed-mcp.json、Linux / WSL /etc/claude-code/managed-mcp.json、Windows C:\Program Files\ClaudeCode\managed-mcp.json

排他制御

このファイルを置くと、書かれたサーバーだけが使える。{"mcpServers": {}} なら MCP を無効化

許可・拒否リスト

allowedMcpServers / deniedMcpServers で serverUrl(ワイルドカード可)・serverCommand(コマンドの完全一致)・serverName を指定

注意

serverName は名前を変えれば回避できるため、公式も「セキュリティ制御にはならない」と警告している

管理者のリストだけに限る

allowManagedMcpServersOnly: true

入れ子構成を社内で許可・禁止したいなら、serverCommand に ["claude", "mcp", "serve"] を指定する設計が考えられます(公式の照合ルールを当てはめた例です)。なお managedMcpServers で全員に配れるのは HTTP / SSE のリモートサーバーだけで、claude mcp serve のような stdio サーバーは配布できません。

個人の試用から一歩進んで、社内の実データや既存の業務システムにつないで使う段階になると、権限の分け方・ログの残し方・障害時に誰が直すかといった設計が別途必要になります。そのとき何を準備すればよいかは AIで作ったアプリを開発会社へ引き継ぐには で整理しています。

制約と現時点でできないこと

claude mcp serve は、同じ PC の中で stdio 接続するための仕組みです。 リモート公開や監査を前提にした機能は持っていません。

制約

詳細

stdio のみ

claude mcp serve --help のオプションは -d/--debug・--verbose・-h だけで、HTTP で待ち受ける機能はない。クライアントと同じマシンで起動する

MCP の中継はできない

Claude Code に接続した GitHub MCP などは上位のクライアントに公開されない。必要なら上位側でも個別に登録する

確認はクライアント任せ

承認ダイアログはクライアント側が実装する(公式明記)

完了通知がない

バックグラウンドで実行したコマンドが終わっても、クライアントに通知は届かない

fork サブエージェントは使えない

v2.1.302 で既定オンになった fork サブエージェントは claude mcp serve では提供されない

監査ログ

claude mcp serve 単体に監査ログ機能はない。組織では OpenTelemetry(OTEL_LOG_TOOL_DETAILS=1)で MCP 利用を記録できるが、claude mcp serve 経由の呼び出しも記録されるかは公式に記載がない

ツール一覧の環境差

ログイン方法・設定・バージョンで公開されるツールが変わる可能性がある

Windows はネイティブ環境と WSL のどちらでも Claude Code を使えます。ネイティブ環境ではサンドボックスが使えず、WSL 2 なら使えます。Git for Windows が入っていれば Bash ツールは Git Bash で動き、入っていなければ PowerShell ツールが使われます。サードパーティ版の解説でよく見る cmd /c npx の書き方は、claude mcp serve では不要です。

トラブルシューティング

spawn claude ENOENT が出る

クライアントが claude コマンドを見つけられていません。which claude(Windows は where.exe claude)で調べた絶対パスを command に書けば直ります。nvm などで Node.js のバージョンを切り替えていて npm 版の Claude Code を使っている場合は、バージョンを切り替えるとパスが変わる点にも注意します。

起動しても何も表示されない

正常です。stdio サーバーは、クライアントから接続されるまで何も出力せずに待ちます。ターミナルで手動起動したときに止まって見えるのは不具合ではありません。

クライアントにツールが出てこない

  • 設定ファイルの JSON の書式に誤りがないか(末尾のカンマなど)を確かめる
  • クライアントを完全に終了してから起動し直す
  • claude mcp serve --debug に切り替えて起動し、ログを確認する
  • 古いツール名(View など)で絞り込む設定をしていないか見直す

長いコマンドの途中で切れる

v2.1.271 以降は、実行中のツール呼び出しが30秒ごとに進捗を送るため、出力のない長いコマンドでも切れにくくなっています。まず claude update で最新版にしてください。それでも切れる場合は、バックグラウンド実行に切り替え、完了の目印と出力ファイルで終わりを確認します。

v2.1.292 以降に接続できなくなった

v2.1.292 から、stdio 接続で新しい MCP プロトコル(2026-07-28)を既定で使うようになりました。古いクライアントと相性が悪い場合は、環境変数 MCP_PROTOCOL_NEGOTIATION=legacy を指定すると以前の方式に戻せます。

Agent ツールが「利用できるエージェントがない」と返す

v2.1.288 で修正された不具合です。Claude Code を最新版に更新してください。

.mcp.json を編集したのに反映されない

Claude Code の中で /mcp を開き、Reconnect を実行します(v2.1.139 以降)。Claude Desktop や Cursor の設定ファイルを変えた場合は、そのアプリを再起動します。

Claude Codeのサブエージェント機能との使い分け

Claude Code の中だけで作業を分けたいなら、組み込みのサブエージェントで十分です。 claude mcp serve は、Claude Code の外のクライアントから呼ぶ必要があるときに使います。

用途

おすすめの手段

同じセッションで調査・実装を並列に進めたい

組み込みのサブエージェント

Claude Desktop や Cursor から Claude Code のツールを呼びたい

claude mcp serve

作業を丸ごと任せて結果だけ受け取りたい

claude -p(ヘッドレス実行)または Claude Agent SDK

別の設定・別ディレクトリの Claude Code を親から使いたい

Claude Code 同士を claude mcp serve で入れ子にする

ツール実行の前後に処理を挟みたい

Hooks(type: "mcp_tool")

古い解説に出てくる dispatch_agent は旧名で、現行のツール名は Agent です。サブエージェントの作り方と使い分けは Claude Code サブエージェント 使い方 で解説しています。

こんな人におすすめ

  • Claude Desktop や Cursor で作業していて、Claude Code のツールも同じ画面で使いたい人: ターミナルとの行き来が減ります
  • Claude Code 同士を入れ子にして、設定や作業ディレクトリを分けたい人: 親から子のツールを呼べます
  • 自作の MCP クライアントやエージェント基盤から、ファイル操作・コマンド実行の部品として Claude Code を使いたい開発者: 承認の仕組みを自分で用意できることが条件です
  • 旧 @steipete/claude-code-mcp からの移行先を探している人: 公式の手段に寄せることで、今後の修正を受けられます

おすすめしない人

  • GUI で Claude Code を使いたいだけの人: Claude Desktop の Code タブのほうが設定も少なく、差分の確認もしやすいです
  • スクリプトから作業を丸ごと任せたい人: claude -p や Agent SDK のほうが素直に組めます
  • 承認機能のないクライアントから呼ぶ予定の人: ファイルの書き換えやコマンド実行が確認なしで走ります
  • リモートのサーバーとして社外や他の PC に公開したい人: stdio 専用で、公式の公開手順はありません
  • 監査ログが必須の業務環境: claude mcp serve 単体には記録機能がありません

料金プランごとの違いは Claude Code料金 を参考にしてください。2026年10月時点の公式料金は、Pro が月20ドル(年払いなら月17ドル相当)、Max が月100ドル〜、Team Standard が1席あたり月25ドル(年払い20ドル)です。claude mcp serve 自体に追加料金はかかりません。

よくある質問

Q1. claude mcp serve を動かしている間、通常の Claude Code は使えなくなる?

使えます。claude mcp serve はクライアントが起動する別のプロセスで、ターミナルで普段どおり claude を起動しても衝突しません。ただし、両方から同じファイルを同時に書き換えると内容が食い違うことがあるので、作業するディレクトリは分けたほうが安全です。

Q2. 無料の Claude アカウントでも試せる?

試せません。公式の案内では、無料プランには Claude Code の利用が含まれていません。Pro 以上のプランか、Claude Console(API)のアカウントでログインした Claude Code が必要です。Amazon Bedrock・Google Cloud・Microsoft Foundry 経由で Claude Code を使っている場合も、同じように claude mcp serve を起動できます。

Q3. 別の PC やクラウドから接続できる?

公式の手段はありません。claude mcp serve は stdio 専用で、ポートを開いて待ち受けるオプションがないため、クライアントと同じマシンで起動します。リモートの開発環境で Claude Code を使いたいなら、Claude Desktop の Code タブにある SSH セッションやクラウドセッションを検討してください。

Q4. Claude Code に登録済みの MCP サーバー(GitHub など)を、Claude Desktop からも使える?

claude mcp serve 経由では使えません。公開されるのは Claude Code 自身のツールだけです。Claude Desktop にも GitHub の MCP サーバーやコネクタを別途追加してください。

Q5. 設定したのに View や GrepTool が見つからないと言われる

古いツール名です。現行の Claude Code(v2.1.302 で確認)では、ファイルの読み取りは Read で、View・GrepTool・GlobTool・dispatch_agent という名前のツールは公開されていません。Hooks やクライアントの許可リストに古い名前が残っていないか見直してください。

Q6. @steipete/claude-code-mcp はまだ動く?

npm からインストールすれば動く可能性はありますが、2026年5月15日にリポジトリがアーカイブされ、更新は止まっています。既定では確認なしで Claude Code を動かす作りだったこともあり、業務での利用はおすすめしません。claude mcp serve か claude -p に移行してください。

Q7. MCP サーバーとして動いている Claude Code は、どのモデルを使う?

Read や Bash などのツールを実行するだけなら、Claude Code 側のモデルは使いません。何をするか考えるのは、呼び出す側(Claude Desktop や Cursor)のモデルです。Agent ツールでサブエージェントを起動したときは Claude Code 側でモデルが動くと考えられますが、どのモデルがどの利用枠で使われるかは公式に明記されていません。

まとめ

Claude Code を MCP サーバーとして動かすなら、2026年10月時点では公式の claude mcp serve を使います。サードパーティの @steipete/claude-code-mcp は 2026年5月にアーカイブされたので、新しく導入するのは避けてください。

  • 設定は、クライアントの設定ファイルに claude の絶対パスと ["mcp", "serve"] を書くだけ。起動しても何も表示されないのが正常
  • 公開されるのは Read・Edit・Bash・Agent など Claude Code 自身のツールで、接続済みの MCP サーバーは中継されない
  • ツール実行の確認はクライアント側の責任。承認をオフにした自動実行では使わない
  • 作業を丸ごと任せたいなら claude -p や Agent SDK、GUI で使いたいなら Claude Desktop の Code タブのほうが向くこともある

claude mcp serve には 2026年9〜10月にも長時間コマンドや Agent ツールまわりの修正が入っています。設定済みの環境も、claude update で最新版にしてから使ってください。

関連記事

このツールを自社のシステムや業務にどう組み込むか、ご提案します

この記事の著者

AI革命

AI革命

編集部

AI革命株式会社の編集部です。最新のAI技術動向から実践的な導入事例まで、企業のデジタル変革に役立つ情報をお届けしています。豊富な経験と専門知識を活かし、読者の皆様にとって価値のあるコンテンツを制作しています。

AI・システム開発は、開始価格を公開しています

既存システムの改修 100万円〜・PoC 300万円〜(税別)。相談内容を送っていただくと、2営業日以内に担当者からご返信します