NegotiationLogger
in package
MCP のネゴシエーション内容を記録する
クライアントがどの世代(Modern / Legacy)でどのプロトコルバージョンを 要求してきたかを残す事で、クライアント側の移行を検知できるようにする。 常駐プロセスの死活監視が不要になった代わりに、これが運用時の主要な 確認手段になる。
引数やトークンの中身は記録しない。
Table of Contents
Methods
- describe() : array<string|int, mixed>
- 記録する内容を組み立てる
- log() : void
- ネゴシエーション内容をログに記録する
- readRecent() : array<string|int, mixed>
- 直近の接続状況をログから読み出す
Methods
describe()
記録する内容を組み立てる
public
static describe(array<string|int, mixed> $mcpRequest, string $protocolVersionHeader) : array<string|int, mixed>
Modern(2026-07-28 以降)はリクエストごとの _meta でバージョンを伝え、 Legacy は initialize の params でバージョンを伝える。
Parameters
- $mcpRequest : array<string|int, mixed>
-
MCP リクエスト
- $protocolVersionHeader : string
-
MCP-Protocol-Version ヘッダの値
Return values
array<string|int, mixed>log()
ネゴシエーション内容をログに記録する
public
static log(array<string|int, mixed> $mcpRequest, string $protocolVersionHeader) : void
Parameters
- $mcpRequest : array<string|int, mixed>
-
MCP リクエスト
- $protocolVersionHeader : string
-
MCP-Protocol-Version ヘッダの値
readRecent()
直近の接続状況をログから読み出す
public
static readRecent([int $limit = 10 ][, string|null $logFile = null ]) : array<string|int, mixed>
管理画面で「クライアントがどの世代で接続しているか」を確認できるようにする。
Parameters
- $limit : int = 10
-
取得件数
- $logFile : string|null = null
-
ログファイルのパス(テスト用)
Return values
array<string|int, mixed> —新しい順の接続状況