MCP サーバーの転送方式、設定フィールド、スコープ、および権限
MCP(Model Context Protocol)により、Qoder CLI はサードパーティのツールやサービスに接続できます。本ページは MCP サーバー構成の完全なリファレンスです。利用ガイドについては MCP サーバー を参照してください。
MCP サーバーは
MCP サーバーは
MCP サーバーは複数のレベルで構成できます:
同名のサーバーは以下の順序で上書きされます(後者が前者を上書き):ユーザーレベル → プロジェクトレベル
複数の MCP サーバーが接続されている場合、既定では起動時にすべてのツールスキーマが登録され、初回のプロンプトトークンを多く消費する可能性があります。
遅延読み込み(
インタラクティブセッションで
転送方式
MCP サーバーは type フィールドでトランスポートプロトコルを指定します:
| タイプ | 説明 |
|---|---|
stdio(既定) | サブプロセスを起動し、stdin/stdout を介して対話します。 |
sse | Server-Sent Events を介した HTTP 接続。 |
http / streamable-http | HTTP(JSON-RPC + オプションのストリーミング)を介した接続。 |
ws | WebSocket / TCP を介した接続。 |
sdk | 組み込み SDK レベルのサーバー(プロセス内)。 |
設定フィールド
MCP サーバーは settings.json の mcpServers フィールド配下で構成され、各キーがサーバー名となります:
stdio タイプ
| フィールド | タイプ | 説明 |
|---|---|---|
command | string | サーバーを起動するコマンド。 |
args | string[] | コマンドに渡す引数。 |
env | object | サブプロセスに渡す環境変数。 |
cwd | string | サブプロセスの作業ディレクトリ。 |
sse タイプ
| フィールド | タイプ | 説明 |
|---|---|---|
url | string | SSE エンドポイント URL。 |
type | "sse" | 転送タイプの識別子。 |
headers | object | HTTP リクエストヘッダー(認証情報を含む場合あり)。 |
http / streamable-http タイプ
| フィールド | タイプ | 説明 |
|---|---|---|
url | string | HTTP エンドポイント URL。 |
type | "http" | 転送タイプの識別子。 |
headers | object | HTTP リクエストヘッダー。 |
ws タイプ(TCP)
| フィールド | タイプ | 説明 |
|---|---|---|
tcp | object | TCP 接続パラメーター(host/port)。 |
type | "ws" | 転送タイプの識別子。 |
共通オプションフィールド
| フィールド | タイプ | 説明 |
|---|---|---|
timeout | number | 接続/リクエストのタイムアウト(ミリ秒)。 |
type | string | 転送タイプを明示的に指定。 |
description | string | サーバーの説明。管理ビューに表示されます。 |
trust | boolean | サーバーを信頼し、そのツール呼び出し時の確認をスキップします。 |
includeTools | string[] | 列挙されたツールのみを登録します。 |
excludeTools | string[] | 列挙されたツールを除外します。 |
disabled | boolean | サーバーを無効にします(構成は削除せずに保持)。 |
alwaysAllow | string[] | 確認不要で常に許可されるツール名のリスト。 |
oauth | object | OAuth 認可の構成(フィールドには enabled、clientId、clientSecret、authorizationUrl、tokenUrl、scopes、callbackPort などが含まれます)。 |
設定スコープ
MCP サーバーは複数のレベルで構成できます:
| レベル | 場所 | 説明 |
|---|---|---|
| ユーザーレベル | ~/.qoder/settings.json → mcpServers | すべてのプロジェクトで利用可能。 |
| プロジェクトレベル | <プロジェクト>/.qoder/settings.json → mcpServers | 承認後に利用可能(セキュリティ上の理由)。 |
| プロジェクトレベル | <プロジェクト>/.mcp.json | 最上位の mcpServers キーが必要。承認後に利用可能。 |
| ローカルレベル | <プロジェクト>/.qoder/settings.local.json → mcpServers | ローカルマシンの現在のプロジェクトのみ。-s の既定のスコープであり、ディレクトリが信頼されている場合にのみ読み込まれます。 |
| プラグイン | プラグインディレクトリ内の .mcp.json または mcp.json | プラグインのインストールに伴い読み込まれます。 |
| CLI 引数 | --mcp-config <path>、--settings | 現在のセッションのみ有効。 |
settings.json → プロジェクトレベル .mcp.json → ローカルレベル → CLI 引数。
プロジェクトレベルの MCP サーバーは、既定では個別に承認する必要があります。以下の方法でスキップできます:
mcp.enableAllProjectMcpServers: true:すべてのプロジェクトレベルサーバーを自動承認します。mcp.enabledProjectMcpServers:許可リスト。名前ごとに承認します。
settings.json の mcp グループ配下に記述します(変更後は再起動が必要です):
アクセス許可とセキュリティ
- MCP ツールは組み込みツールと同様にアクセス許可システムによって管理され、呼び出し前にユーザーの確認が必要です(
autoまたはbypass_permissionsモードを使用する場合を除く)。 --allowed-mcp-server-names:指定された名前の MCP サーバーのみを読み込むように制限します。--strict-mcp-config:厳格モード。--mcp-configで指定されたファイル内のサーバーのみを読み込みます。mcp.allowed/mcp.excluded:構成内で許可または除外するサーバーのリストを制御します。
遅延読み込みモード
複数の MCP サーバーが接続されている場合、既定では起動時にすべてのツールスキーマが登録され、初回のプロンプトトークンを多く消費する可能性があります。
遅延読み込み(mcp.lazyLoad: true または QODER_MCP_LAZY=1)を有効にすると、CLI は 3 つのメタツール(mcp_list / mcp_get / mcp_call)のみを公開し、必要に応じて実際のツールを読み込むことで、トークンの消費を抑えます。
管理コマンド
インタラクティブセッションで /mcp スラッシュコマンドを使用して MCP サーバーを管理します:
/mcp— 接続済みのサーバーリストとステータスを表示します。/mcp reload(エイリアス/mcp refresh)— MCP サーバーとツールを再検出します。構成の追加または変更後に使用します。
qoder mcp サブコマンドを使用して非対話型管理を行います:
qoder mcp add <name> -- <command>— stdio サーバーを追加します。qoder mcp list— 構成済みのサーバーを一覧表示します。qoder mcp remove <name>— サーバーを削除します。
次のステップ
- MCP 利用ガイド:MCP サーバー。
- 構成項目の全一覧:構成項目、環境変数、およびファイルパス。
- 拡張機能のトラブルシューティング:フック、MCP、およびプラグインの問題。