MCP設定ガイド

August 7, 2026 · View on GitHub

LocalMCPChatClientは、stdioとStreamable HTTPのMCPサーバーへ接続できます。旧SSE transport、OAuth、Resources、Promptsは初期版では対象外です。

設定を開く

  1. メイン画面で「設定」を選択する
  2. 「MCP接続」タブを開く
  3. 「+ stdio」または「+ HTTP」を選択する
  4. 接続情報を入力する
  5. 「保存」を選択する

保存前に「接続テスト」で入力内容を確認できます。「接続」は選択中のプロファイルを現在のセッションで接続します。

JSONからインポート

「MCP接続」タブの「JSONからインポート」から、既存ツールが出力したMCP設定JSONをそのまま読み込めます。ルートにserversまたはmcpServersオブジェクトを持つ形式に対応します。

{
  "servers": {
    "localRenderer": {
      "type": "http",
      "url": "http://127.0.0.1:8777/mcp",
      "headers": {
        "Authorization": "Bearer <token>"
      }
    }
  }
}

インポート時の動作は次の通りです。

  • type: "http"streamable-httpをStreamable HTTPとして読み込む
  • type: "stdio"、またはcommandを持つ設定をstdioとして読み込む
  • commandargscwdenvurlheaders、有効状態、タイムアウトを変換する
  • 同じ表示名の既存設定がある場合は、サーバーIDを維持したまま置き換える
  • Authorization、名前にtoken・secret・password・API keyなどを含む値は、Windows Credential Managerへ保存する
  • Authorization: "Bearer ${env:TOKEN_NAME}"は「Bearerトークンの環境変数名」へ変換する
  • 旧SSEなど未対応の設定は実行せず、インポート結果の警告として表示する
  • JSONから読み込んだHTTP接続では、明示指定がない限りstandalone GETを無効にする

秘密値をCredential Managerへ移しても、インポート元のJSONファイル自体は変更されません。Authorizationやトークンを含むファイルは、インポート後も安全な場所で管理してください。

共通項目

項目説明
有効アプリ起動時に自動接続するか
表示名UIに表示する任意の名前
接続開始タイムアウト初期化とTools一覧取得の待機秒数
ツール実行タイムアウト1回のツール呼び出しの上限秒数

サーバーIDは内部で一意に管理されます。モデルへ渡すツール名は<serverId>__<toolName>形式になり、異なるサーバーに同名ツールがあっても衝突しません。

stdioサーバー

項目入力例
stdio commandnpxpython、または実行ファイルの完全パス
引数1行に1引数
作業ディレクトリサーバーを起動するディレクトリ
環境変数NAME=VALUEを1行ずつ
秘密の環境変数保存後にWindows Credential Managerへ移す値

コマンドと引数はシェル文字列として連結されません。例えば次のコマンドは、各要素を別々に入力します。

npx -y @modelcontextprotocol/server-filesystem D:\Work
stdio command:
npx

引数:
-y
@modelcontextprotocol/server-filesystem
D:\Work

stdioサーバーへ渡す環境変数は制限された既定セットと、プロファイルへ明示した値から構成されます。

Streamable HTTPサーバー

項目説明
URLMCPエンドポイント。リモートはHTTPS必須、HTTPはループバックだけ許可
standalone GETサーバー通知用のGETストリームを使う場合に有効化
Content-Lengthchunked requestを受け付けないサーバーで有効化
Bearerトークンの環境変数名値ではなく、トークンを保持する環境変数の名前
HTTPヘッダーNAME=VALUEを1行ずつ入力
秘密のHTTPヘッダーWindows Credential Managerへ保存するヘッダー

「Bearerトークンの環境変数名」を使う場合、接続時にその環境変数を読み取り、値へBearer が付いていなければ自動付与してAuthorizationヘッダーを作ります。環境変数を追加・変更した後は、LocalMCPChatClientを再起動してください。

MCP C# SDK 2.1.0が最新のプロトコルを優先し、旧サーバーには自動的にフォールバックするため、通常はMCP-Protocol-Versionを指定しません。旧サーバー向けに明示した場合は、一般の追加ヘッダーとして重複送信せず、SDKのプロトコル固定値として扱います。

D3D12LookDevPTの設定

shaderjp/D3D12LookDevPTは、Direct3D 12 / DXR LookDevパストレーサーを操作する別アプリです。実行中のレンダラーを参照・操作するStreamable HTTP形式のローカルMCPサーバーを備えています。

D3D12LookDevPTのレンダラー画面とMCP Serverパネル

4枚目の画像は接続先となるMCPサーバーアプリの画面であり、LocalMCPChatClientの配布物には含まれません。ビルド、アセット、GPU要件は同リポジトリの日本語READMEを確認してください。

同サーバーの現在の仕様では、127.0.0.1だけで待ち受け、POST /mcp、Bearer認証、MCP Protocol 2026-07-282025-11-252025-06-18に対応します。LocalMCPChatClientは最新のstateless方式を自動交渉します。resource subscription用SSEはPOST subscriptions/listenのresponseであり、standalone GET /mcpは実装されていないため、この接続では「standalone GET」を無効にします。

サーバー側の準備

  1. D3D12LookDevPTを起動する
  2. 「MCP Server」パネルを開く
  3. Portを8777、Request Timeoutを120秒にする
  4. Access Modeを選択する。最初は変更操作をサーバー側でも確認できるconfirm_mutationsを推奨
  5. 「Copy Token」でBearerトークンを取得する
  6. 「Start Server」を選択し、表示がhttp://127.0.0.1:8777/mcpになったことを確認する

トークンはREADME、スクリーンショット、チャット、Git管理ファイルへ記載しないでください。環境変数方式を使う場合は、Windowsのユーザー環境変数D3D12LOOKDEVPT_MCP_TOKENへトークンだけを設定し、LocalMCPChatClientを完全に終了してから起動し直します。

環境変数を使わない場合は、「Bearerトークンの環境変数名」を空にし、「秘密のHTTPヘッダー」へAuthorization=Bearer <token>を入力できます。この値はWindows Credential Managerへ保存されます。2つの方式は同時に設定しないでください。

クライアント側の入力

D3D12LookDevPTリポジトリにあるconfig/LocalMCPChatClient.mcp.jsonを「JSONからインポート」で読み込むと、次の設定が追加されます。

[mcp_servers.d3d12_lookdev_pt]
url = "http://127.0.0.1:8777/mcp"
bearer_token_env_var = "D3D12LOOKDEVPT_MCP_TOKEN"
http_headers = {}
enabled = true
startup_timeout_sec = 10
tool_timeout_sec = 120
UI項目入力値
種類+ HTTP
表示名D3D12LookDevPT
有効オン
Streamable HTTP URLhttp://127.0.0.1:8777/mcp
standalone GETオフ
Content-Lengthオフのままで可
Bearerトークンの環境変数名D3D12LOOKDEVPT_MCP_TOKEN
HTTPヘッダー追加なし
接続開始タイムアウト10
ツール実行タイムアウト120

トークンそのものを「Bearerトークンの環境変数名」欄へ貼り付けないでください。「接続テスト」後、「保存」を選びます。接続できると、メイン画面右上のMCP表示に接続数と取得したTool数が反映されます。利用できるToolはD3D12LookDevPTのビルドに依存するため、画面に表示された数を確認してください。

アプリ内部の保存形式の参考例はmcp-profile-examples.jsonにも収録しています。インポート対象は、この内部形式ではなく、ルートにserversまたはmcpServersを持つ外部ツール向け形式です。

サーバーの起動からチャットで露出を変更するまでの詳しい流れはD3D12LookDevPTとの連携例を参照してください。サーバー側のTools、Resources、Promptsの完全な一覧は、同リポジトリのMCPサーバー文書が正です。LocalMCPChatClientの初期版は、そのうちToolsだけをモデルへ公開します。

秘密情報の扱い

  • 通常の「環境変数」「HTTPヘッダー」に入力した値はsettings.jsonへ平文保存されます。
  • 「秘密の環境変数」「秘密のHTTPヘッダー」に入力した値はWindows Credential Managerへ保存されます。
  • settings.jsonには秘密値ではなくsecretRefだけが残ります。
  • Bearerトークン環境変数方式では、トークン値はプロファイルへ保存されません。

秘密情報をプロンプト、ツール引数、作業ディレクトリ名へ含めないでください。

ツール実行時の安全境界

  1. 接続済みサーバーからToolsを取得する
  2. モデルがツール名とJSON引数を生成する
  3. 引数をツールのJSON Schemaで検証する
  4. 保存済み承認ルールを評価し、必要なら確認画面を表示する
  5. 許可された呼び出しだけを実行する
  6. 結果をモデルと画面へ返す

1ターンの推論・ツール反復は最大8回です。ツール結果は最大256 KiBで切り詰められます。複数のTool Callは順番に承認・実行されます。