# 有効にする

> 全体を止めるスイッチ、endpoint が待ち受けるポート、そしてそれをローカルに留める 4 つのこと。

入れたばかりのアプリは、エージェントに何も名乗りません。エージェントアクセスはスイッチ 1 つ先にあり、そのスイッチは、認証の代わりに立つ 3 つの関門の 1 つ目です。全体を止めるスイッチ、範囲ごとの切り替え、そして記録の 3 つです。

## スイッチとポート {#the-switch-and-the-port}

全体を止めるスイッチは、既定で**オフ**です。**エージェント**のページで有効にしてください（このページを開くには、ローカルのロールにエージェントを管理する権限が要ります）。すると、endpoint が Streamable HTTP で `http://127.0.0.1:<port>/mcp` を待ち受けます。アプリが通知領域に隠れて動いている間も、エージェントは接続できます。

| 設定 | 何をするか | 受け付ける値 | 既定 |
| --- | --- | --- | --- |
| エージェントアクセスを有効にする（MCP） | endpoint を開始、または停止します。オフなら、endpoint はなく、何も名乗りません。 | オン／オフ | オフ |
| ポート | endpoint が待ち受けるローカルのポートです。変えるとエージェントアクセスが再起動し、ページのすべての接続の例もそれに合わせて変わります。 | 1024～65535 です。エージェントアクセスが移れないポートは、何かが保存される前に拒否されます。理由が欄の下に出て、欄は今効いているポートへ戻り、何も再起動しません。拒否されるのは次の 6 つです。範囲の外の値は「1024 から 65535 までの数値を入力してください。」で拒否されます。[リモートアクセス](remote-access) で設定する Web サーバーのポートは「ポート N はすでに Web サーバーが使っています。別のポートを選ぶか、先に Web サーバーを移してください。」で拒否されます。[構成](connector-opcua-configuration) の OPC UA サーバーのポートは、サーバーが動いていても止まっていても「ポート N はすでに OPC UA サーバーが使っています。別のポートを選ぶか、先にサーバーを移してください。」で拒否されます。Connector のページにある [Modbus サーバー](connector-modbus-server) のポートは、サーバーがオンでもオフでも「ポート N はすでに Modbus サーバーが使っています。別のポートを選ぶか、先に Modbus サーバーを移してください。」で拒否されます。Connector のページにある [MQTT ブローカー](connector-mqtt-broker) のポートは、ブローカーがオンでもオフでも「ポート N はすでに MQTT ブローカーが使っています。別のポートを選ぶか、先に MQTT ブローカーを移してください。」で拒否されます。このコンピューターでほかの何かがすでに押さえているポートは「ポート N はこのコンピューターで使用中です。使っているものを閉じるか、別のポートを選んでください。」で拒否されます。 | 18181 |

スイッチの横には状態のラベルがあり、スイッチがオフの間は**封印**、オンの間は**開放**と出ます。endpoint の状態は、このラベルでひと目で読めます。

endpoint の下には、見出しを持たない集計があり、ページのもっと下にある**許可する範囲**の切り替えをまとめます。1 行目は 4 つの段階のそれぞれについて、オンになっている範囲の数を示します。数の前の点は、その段階の範囲が 1 つでもオンの間はその段階の色で灯り、1 つもオンでない間は灰色です。範囲がすべてオンなら、5 **読み取り**、6 **構成**、4 **操作**、1 **復元** と出ます。その下の行はそれを合計して「機能グループ 16 件のうち 16 件が開いています」と出し、操作か復元の範囲が 1 つでもオンの間は、開いているグループのうち実際の設備に書き込めるものの数を「実時間の書き込み 5 件」と続けます。数えるのは範囲の切り替えだけなので、このステーションがどれだけ開いているかをひと目で読めます。全体を止めるスイッチがオフの間、この集計は endpoint やポートといっしょに灰色になりますが、保存された状態を保つ切り替えを読み続けます。つまり、スイッチをまたオンにしたときにエージェントアクセスが開くものを示しています。

全体を止めるスイッチがオフの間、endpoint の下の**URL をコピー**と**ポート**は灰色になり、どちらかにポインターを置くと理由が出ます：「エージェントアクセスは無効です。先にアクセスのセクションで有効にしてください。」**許可する範囲**のカードも、灰色になったスイッチの上に同じ文を出します。

このページのものはすべて自動で保存されます。保存のボタンはありません。

## endpoint を守っているもの {#how-the-endpoint-is-protected}

- **loopback だけ。**ソケットは `127.0.0.1` に結び付き、ネットワークのインターフェースには決して結び付きません。プラントネットワークからは届きません。
- **ブラウザーからの要求は拒否されます。**結び付けだけでは、悪意のある Web ページが自分のドメインを 127.0.0.1 に付け替えるのを止められないので、endpoint は、ブラウザーが偽れない 2 つのヘッダーも調べます。`Host` がローカルでない要求と、ローカルでない `Origin` を運ぶ要求は、セッションを開く前に 403 で拒否されます。この拒否はどれも[イベント](events)の**Agent**の領域に記録されるので、ブラウザーのタブから探られたステーションは足あとを残します。
- **endpoint の認証はありません。意図してそうしています。**関門は、全体を止めるスイッチ、範囲ごとの切り替え、そして記録です。もしトンネル越しに endpoint を公開するなら、認証はそのトンネルの側になければなりません（[ChatGPT とそのほかの
クラウド経由のクライアント](agent-clients)を見てください）。
- **ツールの一覧は、有効な範囲そのものです。**切れている範囲のツールは、まったく名乗られません。「いいえ」と答えるのではなく、そこにないのです。どれかの切り替えを変えると endpoint が再起動するので、エージェントに見えるものは、いつでも許したものと一致します。ただ 1 つの例外は 2 つのヘルプのツールです。アプリのドキュメントを読むだけでステーションのことは何も読まないので、切り替えがどうであれ endpoint とともに現れます（[ヘルプ](agent-tools#help)）。
