ハンドラーの中で
ハンドラーの引数はクライアントから渡されます。それ以外にハンドラーが読み取れるものと、実行中にできることは、すべてここにまとめてあります。
読み取れるもの:
- Context は、どのハンドラーでも要求できる唯一の追加パラメーターです。処理中のリクエスト、そのヘッダー、セッション、そして進捗通知と変更通知のための操作を提供します。
- 依存関係 は、モデルからは決して見えないパラメーターです。
Resolveを使って自分の関数で値を埋めます。 - ライフスパン では、サーバーが起動時に一度だけ構築する状態と、ハンドラーが
Contextを通じてそれにアクセスする方法を扱います。
実行中にできること:
- エリシテーション(elicitation) と、それを運ぶ 2026-07-28 のパターンである マルチラウンドトリップ(multi-round-trip)リクエスト を使って、ユーザーに追加の入力を求めます。
- サンプリングとルート(roots) を使って、クライアントに LLM の補完やワークスペースのフォルダーを要求します。非推奨ですが、引き続き提供されています。
- 時間のかかる処理について 進捗 を報告します。
- ロギング でログを書き出します(サーバーを運用する人に向けて、標準エラーに出力します)。
- サブスクリプション で、購読中のクライアントに変更があったことを伝えます。
まだハンドラーを登録していない場合は、ツール から始めてください。ここにあるページはどれも、ハンドラーが 1 つあることを前提にしています。