baserCMS クラスリファレンス

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>

新しい順の接続状況

On this page

Search results