llm-wiki-chrome
LLM Wiki for Chrome
公開された、コンテンツフリーな実行基盤。ターゲットに特化したllm-wikiアダプタ向け。 1つのChrome拡張機能、1つの許可リスト登録済みNative Messagingホスト、プライベートUnixソケットリレー、およびバージョン管理された型付きジョブ契約を提供します。
拡張機能とローカルコネクタのソースは公開されています。ブラウザの許可、ページデータ、認証情報、プライベート結果スロット、ランタイムソケットはローカルに留まり、リポジトリのコンテンツになることはありません。公開ソースの提供は、Chromeウェブストアリリースやユーザーデータ公開の許可を意味するものではありません。
これは自律的な自然言語ブラウザエージェントではありません。小規模な構造化エージェントツールサーフェス(共有タブ、アクセシビリティスナップショット、ビューポートスクリーンショット、セマンティッククリック、プライベートテキスト挿入、キーコード、スクロール)を公開し、すべての呼び出しを同じ正確なターゲット型付きプロトコルにコンパイルします。任意のJavaScript、生のCDPメソッド、ダウンロードされたコード、環境ブラウザアクセス、ページ作成のアクションは受け入れません。プロバイダ固有のアダプタは、重要なワークフローに対して、より強力なルーティング、認証、ジャーナル、リカバリ、冪等性、最終読み返し検証を引き続き担当します。

インストール、コラボレーション、セキュリティ、トラブルシューティングガイド →
クリックしてコラボレーションするフロー
拡張機能は永続的なサイトアクセスやページごとのChromeホスト登録を必要としません。ユーザーはHTTPSページを開き、拡張機能のアクションをクリックします。Chrome上での名称はLLM Wiki for Chromeです。ブラウザ実行基盤の用語は、内部プロトコルと実装のみに限定されます。 そのChromeユーザージェスチャにより、正確なタブ、URL、オリジンに紐付いた、新しい一時的なコラボレーション許可が作成されます。追加のタブをクリックすると、最大16の許可からなる明示的なワークスペースが構築されます。実行基盤は無関係なタブを列挙することはありません。同一オリジン内のナビゲーションにより、正確な許可IDとURLが更新され、古いプログラムはクローズド状態で失敗します。タブがオリジンから離れたり、閉じられた場合、またはユーザーがサイドパネルでそのタブまたはワークスペース全体を停止した場合、許可は取り消されます。
アクティブな許可は、ページ上の固定された緑色のアウトラインと「LLM WIKI • CONTROLLED」のピル、および「ON」のアクションバッジとして表示されます。このマーカーはパッケージ化されており、非インタラクティブ、コンテンツ非依存であり、拡張機能のクリック後にのみ注入されます。許可が取り消されると削除され、ページやジョブのコンテンツを受け取ることはありません。
アクションリスナーはChromeのactiveTab許可を受け取り、その正確なタブのサイドパネルを同期的に開きます。パネル読み込み時に、アクションによって作成された許可を確認します。リレーされたパネルメッセージは、パネルを開こうとしたり、ユーザージェスチャを偽造しようとしたりすることはありません。その接続ボタンはステータス/再試行コントロールであり、activeTab権限を作成するツールバージェスチャの代わりにはなりません。接続状態は、許可がライブローカルコネクタを通じて公開されたことを意味し、エージェントはユーザーに拡張機能の内部を調べさせることなく、browser_statusで準備完了を検出できます。
ローカルエージェントとターゲットアダプタは、ネイティブソケットを通じてプライベートワークスペースを取得します。直接エージェントは、最初にクリックされた正確な許可をリストし、すべてのツール呼び出しで1つのコラボレーションIDを指定する必要があります。サーバーは固定の型付きプログラムをコンパイルし、許可やページが変更された場合はクローズド状態で失敗します。クリックは、その正確なタブに対する制限付き読み取りと構造化インタラクションを許可します。環境ブラウザアクセスを許可することはありません。重要なプロバイダワークフローは、より強力な前提条件と独立した検証のために、ターゲットアダプタを引き続き使用します。
アダプタコードは、一度インストールして信頼する必要があります。コラボレーション許可は、ブラウザUIを通じて検査および検証できるワークフローに対してのみ、リソースごとの登録とプロバイダOAuthを置き換えます。ターゲットアダプタは、オプションのより強力な検証パスとして、ファーストパーティAPIを保持することができます。
ミューテーションプログラムは、assert_ax_private_sha256を使用して、プロバイダ所有のリビジョンフィンガープリントをバインドできます。実行基盤は、制御されたミューテーション境界の直前に、公開された正確なタブ上の制限付きアクセシビリティプロジェクションを再計算し、ドリフトがあればクローズド状態で失敗します。期待されるハッシュはプライベート値のままです。プロジェクションされたページコンテンツもハッシュもサイドパネルには表示されません。
プロバイダアダプタは、バンドルされたクライアントを直接使用します。
from browser_executor.client import BrowserExecutorClient
executor = BrowserExecutorClient()
collaboration = executor.collaboration_for_url(expected_url)
if collaboration is None:
raise RuntimeError("click the extension on the target page")
# Bind collaboration_id, url, and origin into the signed typed program.
result = executor.run(program, private_values=private_values)Codexやその他のMCPクライアントは、プログラムを自分で構築する代わりに、プロバイダニュートラルな直接コラボレーションサーフェスを使用します。
.venv/bin/python adapter.py mcp-serverMCPサーバーは、明示的なタブライフサイクル、正確な同一オリジンナビゲーション、待機、アクセシビリティスナップショット、ビューポート/領域/全ページスクリーンショット、要素ジオメトリ、クリック/ホバー/タイプ/選択/ドラッグ/キー/スクロール、制限付き診断、登録済みルートファイル転送、パスワードマネージャーUIアクティベーション、インメモリワークフロードラフトを含む、固定された構造化ツールインベントリを公開します。任意のプログラム、CSSセレクタ、スクリプト、自然言語実行ツール、無関係なタブのクエリはありません。ページコンテンツは、アクティブなリクエストの呼び出し元ローカルエージェントにのみ返され、このリポジトリによって永続化されたり、サイドパネルに表示されたりすることはありません。
Related MCP server: Chrome MCP Control Center
開発状態
現在の開発ブランチは、0.0.1の基盤を最初の制限付き実行スライスで拡張します。
厳密なプログラムハッシュ化と検証;
PythonクライアントとMV3バリデータのためのクロス言語ポリシー決定テスト;
正確なHTTPSターゲットと制限付きアクション宣言;
永続的なホスト権限のない、クリックで作成されたactiveTab許可;
プライベートな正確なURLルックアップを備えた、制限付きマルチタブコラボレーションワークスペース;
ローカルクライアントによって集約されたChromeインスタンスごとのネイティブソケット。これにより、複数のChromeプロファイルやプロセスが互いの共有タブを上書きできません;
どのタブが制御されているかを正確に示す、固定されたページアウトライン/ピルとツールバーバッジ;
明示的な許可のみを含む緑色の「LLM Wiki」タブグループ;
同一オリジンでの開く/ナビゲート/履歴/リロード、正確なタブのフォーカス/クローズ、セマンティック待機、ホバー、オプション選択、ドラッグ&ドロップ、スクロールから要素へのプリミティブ;
アタッチされた子フレームターゲット全体にわたる平坦化され制限されたアクセシビリティコレクション。セッションにバインドされたジオメトリとインタラクションを備えています。セマンティックAX発見は、開かれたシャドウツリーもカバーしますが、任意のDOMトラバーサルは許可しません;
領域と寸法が制限された全ページスクリーンショット、セマンティック要素ジオメトリ、制限されたパフォーマンスメトリクス;
realpathチェック、ダウンロード完了検証、危険状態の強制、ストリーミングハッシュ、暗黙のファイルシステム権限なしを備えた、マシンローカルのアップロード/ダウンロードルート;
手動、承認済み計画、自動の制限付き認可モード。保護されたアクションは常にローカル確認とコンテンツフリーなセッション決定カウンターにフォールバックします;
コンテンツフリーな完了/注意通知;
キャンセル可能なインメモリ読み取り専用スナップショットスケジュール。そのプライベート結果は一度取得され、権限はMCPプロセスまたはタブ許可とともに期限切れになります;
すでに入力されたエージェントアクションを、ハッシュバインドされ、レビュー必須で、意図的に再生不可能なプロバイダドライバードラフトにインメモリ記録;
認証情報の値を受け取らないパスワードマネージャーUIアクティベーション;
ターゲットアダプタを正確な許可、承認済み計画ハッシュ、1つのミューテーションコールバック、アダプタ所有の事後条件検証にバインドするプロバイダドライバーSDK;
アクションリスナータブ許可、サイドパネルのステータス/再試行コントロール、コンテンツフリーなエージェント準備完了ツール;
コンテンツフリーなサイドパネルワークスペース、進行状況メーター、タブごとの取り消し、キャンセル;
個別の読み取りとミューテーション機能;
Pythonクライアント内の1つの制御されたミューテーションコールバック;
安定した拡張機能IDと正確なネイティブホストオリジン;
プライベートローカル状態、短いソケットパス、メッセージ制限、1つのアクティブジョブ;
正確なタブアクティベーションとレビュー済み同一オリジンナビゲーション;
拡張機能のクリックを即座に検出可能かつエージェントが制御可能にする直接ローカルMCPエージェントサーフェス。プロバイダOAuth許可は不要;
許可リストに登録されたDOMおよびアクセシビリティツリーの読み取り、待機、プライベート抽出;
実行基盤側での永続化を伴わない、バイト制限付きプライベートビューポートJPEGキャプチャ;
制限付きビューポートスクロール、重複排除による長いリストの収集、プライベートAXリンク/説明抽出;
プライベート結果スロットを通じた制限付き正確なタブのブラウザログキャプチャ;
クエリ文字列を除去し、ヘッダー、ボディ、クッキー、イニシエーター、セキュリティ詳細を無視する、制限付き正確なタブのリクエストメタデータキャプチャ;
スカラー引数のみを保持し、リモートオブジェクトを評価または逆参照しない、制限付き正確なタブのコンソールAPIキャプチャ;
型付きクリック、フォーカス、キーコード、プライベートテキスト挿入アクション;
キャンセル、ターゲットフォーカスドリフト検出、結果サイズ制限、ベストエフォートのデバッガクリーンアップ(キャンセルは次の制限付きアクションで停止し、すでに開始されたミューテーションをロールバックできません);
プロバイダ効果の前の1回限りの事前ミューテーション認可;
ルートフリーのllm-wikiセルフテストマニフェスト;
接続、実行中、認可、失敗状態を備えたコンテンツフリーな拡張機能ステータスパネル。
このブランチはリリースやインストール済みプロバイダの代替ではありません。ターゲットアダプタのシャドウラン、プロバイダ所有の検証、アップグレード/ロールバックテスト、明示的なリリース承認は、統合された0.1.0の前に引き続き必要です。
リポジトリの境界
追跡が許可される材料:
実行可能コードと拡張機能アセット;
プロトコルスキーマとセキュリティ文書;
合成フィクスチャと決定論的テスト。
実際のリソースURLや識別子、ページテキスト、スクリーンショット、キャプチャ、計画、レシート、抽出結果、クッキー、認証情報、ブラウザストレージ、プロバイダコーパスをコミットしてはいけません。ランタイムの入力と出力は、ターゲットアダプタの別途制御されるデータプレーンに留まり、可能な限りメモリ内に保持されるべきです。
アーキテクチャ
local agent through fixed MCP tools OR a targeted provider adapter
-> select one exact user-created click grant from the private collaboration workspace
-> deterministic typed program + exact approved plan hash
-> BrowserExecutorClient over a private Unix socket
-> allowlisted Native Messaging host
-> shared MV3 extension on the exact user-exposed tab
-> one-shot before-mutation challenge when required
-> private result slots returned only to the targeted adapterllm-wikiは、このリポジトリのルートフリーなself-testアダプタマニフェストを参照する可能性がありますが、外部の編集やリサーチリクエストを直接実行基盤にルーティングすることはありません。
パッケージングとインストール
インストール可能な製品は、Chromeのセキュリティ境界で分割されます。
llm-wiki-chromeネイティブコンパニオン: Pythonクライアント、固定MCPサーバー、Native Messagingホスト、インストーラー、診断、パッケージ化された拡張機能アセット;LLM Wiki for Chrome: 公開ソースのMV3拡張機能ZIP。Chromeウェブストアへの公開は、明示的な承認が必要な別のリリースステップです。アンパックされたパスを読み込むことは、開発ワークフローのままです。
開発専用のHomebrew Formulaは、HEADビルドとしてnvk/tapから利用可能です。これは意図的に安定リリースではありません:
brew install --HEAD nvk/tap/llm-wiki-chrome
llm-wiki-chrome install
llm-wiki-chrome doctorinstallは、正確なオリジンのNative Messaging登録を書き込みます。デーモンはインストールしません。Chromeはオンデマンドでホストを起動し、標準入出力を介して通信します。各Chromeホストは、決定論的な/tmp/llm-wiki-chrome-<uid>/ランタイムディレクトリの下に、プライベートなプロセスごとのソケットを作成します。CLI、MCPサーバー、ターゲットアダプタは、それらのソケットを自動的に発見します。通常のソケット引数、ポート、ペアリングコード、環境変数はありません。既存の環境オーバーライドは、例外的なサンドボックス化または開発セットアップの場合にのみ残されています。
アンパックされた開発インストールの場合、パッケージに正確なパスを問い合わせます:
llm-wiki-chrome extension-pathchrome://extensionsからそのディレクトリを読み込み、llm-wiki-chrome doctorを実行します。healthy: trueはパッケージとNative Messaging登録を確認します。connected: trueは、Chromeが拡張機能のネイティブポートを開いている間に表示されます。ネイティブコンパニオンの登録のみをアンインストールするには:
llm-wiki-chrome uninstallファイル転送はデフォルトで無効です。~/.config/llm-wiki/browser-executor.jsonで明示的なマシンローカルルートのみを有効にします:
{
"upload_roots": ["/absolute/private/staging/uploads"],
"download_roots": ["/absolute/private/staging/downloads"]
}すべてのパスは最終的なシンボリックリンクを拒否し、その親チェーンを解決し、登録されたルート内に留まらなければなりません。アップロード値はプライベートスロットのみを移動します。ダウンロードは完了し、Chromeによって安全であると受け入れられ、登録されたルート内にあり、呼び出し元に返される前にローカルコンパニオンによってハッシュ化されなければなりません。
サイドパネルでは、Manual(手動)、Approved plan(承認済み計画)、Automatic bounded jobs(自動バウンドジョブ)を選択できます。デフォルトはApproved planです。ファイルアップロード、ダイアログ処理、およびcredential-brokerの有効化は、引き続き保護されたアクションであり、常にローカルでの手動確認が必要です。認証履歴は、ページコンテンツのログではなく、コンテンツフリーのセッションカウンターです。
ワークフロー記録は、固定されたMCPサーフェスを通じて既に要求されたタイプ操作のみをキャプチャします。browser_record_stopは、メモリ内のハッシュバインドされたレビュー必須のドラフトを返します。汎用エグゼキュータはこれを決して再生しません。対象アダプタが、バージョン管理されたプロバイダワークフローをレビュー、コンパイル、認可、ジャーナリング、および独立して検証する必要があります。直接サーフェスは、正確なグラントとMCPプロセスがアクティブである間、読み取り専用スナップショットのバウンドされたメモリ内スケジューリングのみを許可します。永続的または定期的なスケジューリング、変更、リカバリ、およびジャーナルは、対象アダプタまたは外部スケジューラに残り、拡張機能のインテントレイヤーには決して残りません。
対象アダプタは、browser_executor.driver.ProviderDriverSessionを使用して実行境界を集中管理できます。これにより、計画ハッシュまたは正確なグラントのドリフトが拒否され、アダプタ所有のstatus: verified事後条件が必要になります。
公開せずに、決定論的なコンテンツフリーのChrome Web Store ZIPをビルドします。
python3 scripts/package_extension.pyこれらのビルドコマンドによって、リリース、タグ、ストアへのアップロード、またはインストール済みのアップグレードは実行されません。
開発
python3 -m venv .venv
.venv/bin/python -m unittest discover -s tests -v
.venv/bin/python -m compileall -q adapter.py browser_executor tests
node --check extension/service-worker.js
node --check extension/protocol.mjs
node --check extension/executor.mjs
node --check extension/sidepanel.js決定論的なスイートは、分離された実際のブラウザを使用したスモークテストによって補完されます。これには、一致するChrome for TestingとChromeDriverのペア、および実行時に提供される正確な承認済みの読み取りターゲットが必要です。通常のChromeプロファイルには触れず、キャプチャされたビューポートを印刷、永続化、または返しません。
LLM_WIKI_BROWSER_E2E_TARGET_URL='<exact approved HTTPS target>' \
.venv/bin/python tests/chrome/run_extension_e2e.py \
--chrome '/path/to/Google Chrome for Testing' \
--chromedriver '/path/to/chromedriver'ハーネスは、展開された拡張機能を一時ディレクトリにコピーし、テスト専用の拡張機能ページを追加し、署名された読み取りプログラムをヘッドレスChromeで実行し、コンテンツフリーのカウンターのみを返します。リポジトリによってChromeバイナリがダウンロードまたはインストールされることはありません。
セルフテストはコンテンツフリーです。
.venv/bin/python adapter.py describe
.venv/bin/python adapter.py execute --request /private/request.json \
--response /private/response.jsonソースチェックアウトのネイティブホストを一度インストールし、そのMCPコマンドを登録します。
.venv/bin/python adapter.py install
codex mcp add llm-wiki-browser \
-- .venv/bin/python adapter.py mcp-server登録後にエージェントセッションを再起動すると、固定されたツールインベントリが利用可能になります。ユーザーが特定のHTTPSタブで拡張機能をクリックするまで、Chromeは何も公開しません。コラボレーションを停止すると、グラントは取り消されます。プライベートなデフォルトの/tmpディレクトリにアクセスできない例外的なランタイムは、両方のコマンドに対して一貫してLLM_WIKI_BROWSER_EXECUTOR_NATIVE_SOCKETを設定する場合がありますが、これはパッケージ化されたユーザーフローの一部ではありません。
browser-installは、正確なオリジンのNative Messagingマニフェストとランチャーを書き込みます。明示的なインストールまたは移行タスクの間にのみ使用してください。展開された拡張機能の読み込み、通常のChromeプロファイルの変更、インストール済みコピーのアップグレードはテストスイートの一部ではなく、明示的なユーザーの指示が必要です。
セキュリティモデル
エグゼキュータは、正規のプログラムハッシュ、計画ハッシュ、アクティブなコラボレーションID、固定されたドライバーID/バージョン、正確なターゲット、機能、制限、アクション語彙、プライベートスロット、および結果の許可リストを、Pythonと拡張機能の両方で独立して検証します。永続的なホスト権限、<all_urls>アクセス、またはコンテンツスクリプトはありません。ChromeのactiveTabグラントは、ユーザーが拡張機能をクリックしたときにのみ作成されます。インタプリタは固定されたCDPメソッド許可リストを持ち、Runtime.evaluate、生のメソッド、スクリプト、またはページ生成アクションを受け入れません。
固定されたCDP許可リストには、ペアのLog.enable/Log.disableおよびNetwork.enable/Network.disableウィンドウも含まれます。後者は、バウンドされたプライベートリクエストメソッド、オリジン/パス、リソースタイプ、ステータス、MIME、キャッシュ、および失敗スカラーのみを保持し、クエリ文字列を削除し、ヘッダー、ボディ、クッキー、イニシエーター、セキュリティ詳細、またはリクエストIDを決して保持しません。どちらの機能も、生の診断メソッドやリクエストインターセプトを公開しません。別のペアのRuntime.enable/Runtime.disableウィンドウは、バウンドされたプライベートなRuntime.consoleAPICalledの型、タイムスタンプ、およびスカラー引数のみを保持します。コンテキスト、スタック、説明、プレビュー、オブジェクトIDを無視し、評価、コンパイル、関数呼び出し、スクリプト実行、またはプロパティアクセスを決して許可しません。各Chromeネイティブホストプロセスは、設定されたベースパスの下に一意のプライベートソケットをバインドします。クライアントは厳密に名前付けられたそれらのソケットのみを検出し、それらの明示的なコラボレーションワークスペースを集約し、ジョブを正確なグラントを所有する単一のホストにルーティングします。これにより、複数のChromeプロファイルが互いのリレーを置き換えるのを防ぎながら、ジョブごとに1つの正確なタブを維持します。
エグゼキュータは信頼されたローカルコードであり、オペレーティングシステムのサンドボックスではありません。対象アダプタは、すべての結果的なプロバイダ効果を認可し、プロバイダの最終状態を独立して証明する責任を引き続き負います。直接の変更ツールは、内部の1回限りの境界を越えますが、意図的にプロバイダのトランザクション保証を主張しません。SECURITY.mdを参照してください。
Available Tools
34 toolsbrowser_clickB
Click one uniquely identified accessibility-tree control in an explicitly shared tab.
| Name | Required | Description | Default |
|---|---|---|---|
| locator | Yes | A semantic accessibility-tree locator; arbitrary CSS and executable scripts are not accepted. | |
| collaboration_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It fails to describe what happens on success or failure, whether the tool waits for an element, any side effects (e.g., navigation, state changes), or required permissions. The single sentence offers no transparency beyond the basic action.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that immediately states the verb and resource. It contains no filler or redundant text, and every word adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (nested locator object with many properties), lack of output schema, and no annotations, the description is too sparse. It omits critical context: how to uniquely identify a control, definition of 'explicitly shared tab', expected return values, and error scenarios. An agent would need additional knowledge to use this tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds no parameter-level information. The schema covers 50% of parameters (locator has a schema description; collaboration_id has only a regex pattern). The description does not explain how to construct the locator, the meaning of 'unique', or the purpose of collaboration_id, leaving the agent to infer from the schema alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Click') and the resource ('accessibility-tree control'), with specific qualifiers ('uniquely identified', 'explicitly shared tab') that distinguish it from sibling tools like browser_hover or browser_select.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives (e.g., browser_hover, browser_click vs. browser_select) and does not mention prerequisites, error conditions, or when not to use it. The only contextual hint is 'explicitly shared tab', which is insufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_closeC
Close one exact explicitly shared tab through a governed mutation boundary.
| Name | Required | Description | Default |
|---|---|---|---|
| collaboration_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must fully disclose behavioral traits. It mentions a mutation boundary but does not explain what that entails (e.g., permissions, side effects, reversibility). The agent cannot assess safety or impact.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence. However, it sacrifices clarity for brevity. Every word should earn its place, but jargon like 'governed mutation boundary' adds little.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (single required param, no output schema), the description should clarify return behavior, error conditions, and prerequisites. It fails to do so, leaving the agent guessing about success signals.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and there is only one parameter (collaboration_id) with a regex pattern. The description adds no meaning to this parameter—it does not explain what a collaboration_id is, how to obtain it, or why it is needed for closure.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'Close one exact explicitly shared tab through a governed mutation boundary.' The verb 'Close' and resource 'tab' are clear. It distinguishes from siblings like browser_open, but the meaning of 'governed mutation boundary' is somewhat vague.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives like browser_navigate, browser_focus, or closing via dialogs. The 'exactly explicitly shared' phrasing is confusing and doesn't help an agent decide contextually.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_credential_fillA
Focus a field and invoke a local password-manager UI without receiving the secret.
| Name | Required | Description | Default |
|---|---|---|---|
| broker | Yes | ||
| locator | Yes | A semantic accessibility-tree locator; arbitrary CSS and executable scripts are not accepted. | |
| collaboration_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the disclosure burden. It reveals a critical behavioral trait: the tool never receives the secret. This goes beyond typical expectations and is valuable safety information, though it does not detail what happens after the UI is invoked (e.g., blocking behavior, user interaction required).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence of 14 words conveys the core action and safety constraint. Every word earns its place with no fluff or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has nested objects and an enum, with no output schema. The description covers purpose and the key safety aspect, but omits expected behavior after invoking the UI (immediate return vs. waiting for user action) and potential failure modes. Adequate but with clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33%, and the description provides no additional parameter explanations. The locator's schema description is helpful, but the description overall does not compensate for the low coverage—broker choices and collaboration_id semantics are left entirely to the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: "Focus a field and invoke a local password-manager UI" — a specific verb and resource. It also distinguishes itself from siblings by adding the key constraint "without receiving the secret," which sets it apart from browser_type or browser_focus.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for credential filling without exposing secrets, providing clear context. However, it does not explicitly name alternatives (e.g., browser_type, browser_focus) or state when not to use the tool, so guidance is implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_diagnosticsC
Capture bounded logs, scalar console events, request metadata, and performance metrics.
| Name | Required | Description | Default |
|---|---|---|---|
| duration_ms | No | ||
| collaboration_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description partially discloses behavior by listing the captured data types. However, it does not state whether the operation is read-only, whether it has side effects, or what the output format is. 'Bounded logs' is ambiguous.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence (10 words) with a clear verb at the start. However, its brevity sacrifices necessary detail, making it efficient but incomplete.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has two parameters, no output schema, and no annotations, the description fails to cover return values, parameter roles, or how the diagnostic data is provided. It is materially incomplete for reliable agent use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description adds no information about the two parameters (collaboration_id, duration_ms). The agent is left to infer their meaning from names and schema constraints alone, which is insufficient.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Capture' and lists distinct resources (logs, console events, request metadata, performance metrics). It clearly distinguishes from sibling browser tools that focus on interaction (click, navigate, type) rather than diagnostics.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives (e.g., browser_record_start, browser_snapshot). There is no mention of prerequisites, context, or exclusions, leaving the agent without decision criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_dialogB
Accept or dismiss a browser modal dialog; prompt text stays in a private slot.
| Name | Required | Description | Default |
|---|---|---|---|
| accept | Yes | ||
| prompt_text | No | ||
| collaboration_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It states the tool accepts or dismisses dialogs and notes prompt text is stored privately, which hints at immutability, but doesn't disclose side effects (e.g., what happens to the page after dismissal, or if the operation is destructive). Some behavioral context is added beyond what the schema provides.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise at one sentence with two clear actions. It is front-loaded with purpose, and every part adds information, though the 'private slot' phrase could be more straightforward.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description provides a basic understanding for a modal dialog tool, but lacks completeness for a 3-parameter tool with no output schema. It doesn't explain what 'accept' boolean does (true=accept, false=dismiss), when 'prompt_text' is needed, or the return behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate for the 3 parameters. It mentions 'accept' and 'prompt text' implicitly through context, but doesn't explain the role of 'collaboration_id' or when to provide 'prompt_text'. The description adds minimal value beyond what the schema shows (e.g., boolean accept, string prompt_text).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with specific verbs ('accept or dismiss') and resource ('browser modal dialog'). It distinguishes from siblings by focusing on dialog handling, which is unique among the listed tools. The mention of 'prompt text stays in a private slot' adds specificity but could be clearer.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for browser modal dialogs, but provides no explicit guidance on when to use it versus alternatives (e.g., no mention of checking for a dialog first or handling timeouts). No when-not-to-use or sibling differentiation is stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_downloadC
Click a semantic download control and verify completed files against registered roots.
| Name | Required | Description | Default |
|---|---|---|---|
| locator | Yes | A semantic accessibility-tree locator; arbitrary CSS and executable scripts are not accepted. | |
| timeout_ms | No | ||
| collaboration_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It mentions clicking and verifying downloads but does not disclose side effects, timeout behavior, return values, or what happens on failure. This is insufficient for a mutation-like tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no redundant words. It efficiently conveys the core action and verification step.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite the tool's apparent complexity (nested locator, download verification, no output schema), the description omits essential context such as expected return format, error handling, and the meaning of 'registered roots'. It is far from complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33%, and the tool description adds no parameter-specific meaning. The locator schema is described as semantic, but the description does not explain how parameters like 'locator' or 'timeout_ms' are used in the download context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool clicks a semantic download control and verifies completed files, with a specific verb and resource. It distinguishes itself from generic browser_click by adding download verification, though 'registered roots' is ambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like browser_click or browser_upload. The description does not mention prerequisites, exclusions, or specific scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_dragC
Drag one semantic element to another using bounded pointer steps.
| Name | Required | Description | Default |
|---|---|---|---|
| steps | No | ||
| locator | Yes | A semantic accessibility-tree locator; arbitrary CSS and executable scripts are not accepted. | |
| destination | Yes | A semantic accessibility-tree locator; arbitrary CSS and executable scripts are not accepted. | |
| collaboration_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must fully disclose behavior. It mentions 'using bounded pointer steps' but does not explain what steps are, whether DOM events are triggered, visual effects, error conditions, or performance implications. The phrase is insufficient for an agent to anticipate side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence with no redundancy. Every word earns its place, though it could benefit from a second sentence covering usage constraints without sacrificing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 4 parameters including two complex nested objects, no output schema, and no annotations, a one-sentence description is far from complete. It omits failure modes, behavior when elements are not found, step granularity, and return value. Significant gaps remain for the agent to safely invoke this tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 50% (locator/destination have inline descriptions). The description adds no new information about parameters. The 'steps' parameter lacks any semantic guidance beyond its numeric bounds. The description fails to compensate for the uncovered half.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('drag') and the operands ('one semantic element to another') using a specific verb and resource. No other sibling tool performs drag, so it is well-differentiated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives, no prerequisites (e.g., source/target must be visible), and no exclusion criteria. The agent must infer usage context entirely from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_focusA
Focus one explicitly shared tab without reading or mutating its page.
| Name | Required | Description | Default |
|---|---|---|---|
| collaboration_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It clearly states the tool does not read or mutate the page, which is valuable. However, it does not disclose other behavioral traits such as whether focus fails silently if the tab is not shared, whether it toggles focus, or any error conditions. Additional context would improve transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single 11-word sentence that is front-loaded with the action and efficiently conveys the core purpose and key non-behaviors. Every word earns its place, with no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one parameter and no output schema, the description covers the basic purpose and safety profile (no read/mutate). However, it omits explanation of the parameter, prerequisites (what qualifies as 'explicitly shared'), error handling, and return behavior, leaving gaps for an AI agent that needs to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description does not mention the sole parameter 'collaboration_id' at all. It only vaguely references 'one explicitly shared tab' without linking to the parameter. The agent must infer meaning solely from the parameter name and its pattern, which is insufficient for a tool that requires correct identification of a shared tab.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states the verb 'Focus' and the resource 'one explicitly shared tab', and clarifies it does not read or mutate the page. This distinguishes it from sibling tools like browser_open (opens new tab), browser_tabs (list tabs), and browser_click (interacts), making its purpose highly specific and clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for bringing a shared tab into focus without side effects, but does not explicitly state when to use it versus alternatives (e.g., browser_open for creating a new focused tab, or browser_click to bring a tab into focus via interaction). No exclusions or prerequisites are provided, so usage guidance is only implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_full_page_screenshotB
Capture a dimension- and byte-capped full-page JPEG from an explicitly shared tab.
| Name | Required | Description | Default |
|---|---|---|---|
| quality | No | ||
| collaboration_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses the output format (JPEG) and existence of caps, but omits critical behavioral details: whether scrolling occurs automatically, how dynamic content is handled, error states (e.g., tab not shared), or side effects. The phrase 'explicitly shared tab' is vague and does not clarify the sharing mechanism or prerequisites.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single 13-word sentence with no redundancy. It is front-loaded with the action verb and uses minimal words to convey the core function and constraints. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 2 parameters and no output schema, the description is too sparse. It lacks information about prerequisites (how to share a tab), the meaning of dimension/byte caps, return format details, and potential failure modes. Sibling tool names hint at full-page capture, but integration context is insufficient for reliable use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so description must compensate. It explains collaboration_id implicitly as the identifier for the 'explicitly shared tab', which adds meaning beyond the pattern. However, the quality parameter is completely unaddressed. The description partially covers one of two parameters, earning a middle score.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description uses a specific verb ('Capture') and resource ('full-page JPEG from an explicitly shared tab'). It clearly distinguishes from siblings like browser_screenshot (viewport) and browser_region_screenshot (region) by specifying 'full-page'. The constraints 'dimension- and byte-capped' further clarify the tool's scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. The mention of 'explicitly shared tab' hints at a prerequisite but does not explain it. There is no indication of when not to use it, what sibling tools are better suited for other scenarios, or any usage context beyond the core action.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_geometryC
Return bounded private geometry for semantic elements in an explicitly shared tab.
| Name | Required | Description | Default |
|---|---|---|---|
| locator | Yes | A semantic accessibility-tree locator; arbitrary CSS and executable scripts are not accepted. | |
| max_items | No | ||
| collaboration_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It only states the return value but fails to disclose important traits such as authentication requirements (e.g., must the tab be part of a collaboration session?), error handling for non-shared tabs, rate limits, or the meaning of 'private' and 'bounded.' Minimal transparency for a tool with complex prerequisites.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single 12-word sentence, making it concise and efficient. It front-loads the key action and output. However, the brevity comes at the cost of completeness; a second sentence clarifying the geometry type or prerequisite would improve it without losing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (nested schema, 3 parameters, no output schema, no annotations, many sibling tools), the description is significantly incomplete. It does not explain what 'bounded private geometry' means operationally, how the collaboration_id is obtained, how the locator is constructed, or what the return format looks like. The agent lacks enough context to use this tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% (only the locator field has a description). The tool description adds no explanation for any of the three parameters (collaboration_id, locator, max_items). It does not clarify how collaboration_id relates to sharing, how locator filters elements, or the purpose of max_items. The description fails to compensate for the low schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Return') and resource ('bounded private geometry for semantic elements') with context ('explicitly shared tab'). This distinguishes it from visual capture tools like browser_screenshot or browser_snapshot. However, the term 'bounded private geometry' could be more explicit (e.g., bounding boxes or coordinates) to remove ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like browser_snapshot, browser_screenshot, or browser_diagnostics. It only mentions 'explicitly shared tab' as a prerequisite but does not state when the agent should prefer this tool or what conditions exclude its use. No explicit when-not or alternative tools are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_historyC
Go back or forward only when the caller supplies the exact expected same-origin URL.
| Name | Required | Description | Default |
|---|---|---|---|
| direction | Yes | ||
| expected_url | Yes | ||
| collaboration_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It reveals a key constraint: the tool only performs the action if the supplied URL exactly matches and is same-origin. However, it does not disclose what happens when the condition fails (error, no-op), nor does it mention any side effects like changing the history stack. The single constraint is useful but incomplete.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence of 12 words, front-loading the core action and constraint. It is concise and avoids redundancy. However, it could be restructured to also cover parameter roles or usage context without losing brevity. A slightly expanded version would improve completeness while maintaining conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has 3 required parameters, no output schema, and no annotations. The description is extremely brief and does not explain return values, error handling, prerequisites (e.g., a page must be loaded), or the effect of the tool on browser state. Given the tool's simplicity, a short description is acceptable, but it lacks essential details for confident invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate for undocumented parameters. It only mentions 'expected_url' implicitly but does not explain the meaning or allowed values of 'direction' (back/forward), the role of 'collaboration_id', or the format constraints for 'expected_url'. The description adds minimal value beyond the schema's enum and patterns.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: navigating browser history back or forward. The condition 'only when the caller supplies the exact expected same-origin URL' adds specificity. It distinguishes from siblings like browser_navigate (which goes to a new URL) and browser_reload (reloads current page). The verb 'go back or forward' paired with 'browser history' is clear, though slightly terse.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no explicit guidance on when to use this tool versus alternatives. It does not mention when not to use it, prerequisites, or compare with sibling tools such as browser_navigate, browser_reload, or browser_scroll. The implied usage (back/forward navigation) is clear but lacks any exclusionary context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_hoverB
Hover one uniquely identified semantic element in an explicitly shared tab.
| Name | Required | Description | Default |
|---|---|---|---|
| locator | Yes | A semantic accessibility-tree locator; arbitrary CSS and executable scripts are not accepted. | |
| collaboration_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full responsibility for disclosing behavioral traits. It only states 'hover' without explaining whether the action triggers side effects (tooltips, hover styles), is reversible, or requires specific element states (visible, enabled). No constraints or side effects are mentioned.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that immediately conveys the core action and constraints. Every word is necessary; no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with a complex locator schema and no output schema, the description is too sparse. It does not explain hover behavior, return values (if any), failure scenarios, or how the locator is used. The complex nested locator object would benefit from usage examples or parameter guidance.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 50% (locator has a helpful description about being a semantic accessibility-tree locator; collaboration_id has none). The tool-level description adds no parameter meaning beyond the schema. Baseline 3 is appropriate since coverage is not low, but the description does not compensate for the missing collaboration_id guidance.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('hover') and the target ('one uniquely identified semantic element in an explicitly shared tab'). This specific verb+resource combination distinguishes browser_hover from sibling tools like browser_click, browser_focus, and browser_scroll.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use hover versus alternative interaction methods (click, focus) or what preconditions must be met (e.g., element visibility). The description does not mention when not to use this tool or suggest alternative tools for related tasks.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_keyC
Dispatch one bounded key chord to an explicitly shared tab. Modifier and Enter/Tab chords can commit or submit a focused form; this crosses the governed mutation boundary.
| Name | Required | Description | Default |
|---|---|---|---|
| keys | Yes | ||
| collaboration_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must disclose behavioral traits, but it only offers vague hints about committing or submitting focused forms. Key traits like whether the key chord is sent synchronously, what happens if the tab is not shared, or whether this is destructive to any state are missing. The phrase 'governed mutation boundary' is jargon without explanation, leaving the agent unaware of side effects or limitations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long, which is concise, but the second sentence is dense and uses jargon ('governed mutation boundary') without payoff. The first sentence clearly states the core action. It is not bloated, but the structure does not front-load critical usage information for quick scanning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given two parameters, no output schema, no annotations, and a moderately complex action (key chord dispatch with boundary crossing), the description is incomplete. It fails to mention return values (e.g., success indicator), error conditions (e.g., invalid key, unshared tab), or behavior with modifier keys. The agent has to guess whether this tool supports backspace, arrow keys, or control sequences beyond Enter/Tab.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate, but it provides no detail about each parameter. The keys parameter is not explained (e.g., accepted key names, chord formatting), and collaboration_id's meaning is left undefined. With two required parameters and zero schema documentation, the description adds no semantic value beyond 'keys exist'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool dispatches a bounded key chord to an explicitly shared tab. It uses specific verbs and resources (dispatch key chord, shared tab) and distinguishes from sibling tools that handle other actions like clicking, typing, or navigation. However, the phrase 'Modifier and Enter/Tab chords can commit or submit a focused form' is somewhat ambiguous and could be clearer about the primary action.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit guidance on when to use this tool versus alternatives like browser_type or browser_click. The description mentions crossing a 'governed mutation boundary' but does not clarify prerequisites (e.g., tab must be explicitly shared via browser_open?) or exclusions. The context around form submission is hinted but not actionable for an AI agent deciding between sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_openB
Open and explicitly grant a new tab on the same origin as an existing shared tab.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | ||
| collaboration_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full responsibility for disclosing behavioral traits. It states the constraint of same origin but does not explain what happens if the URL is invalid, whether the new tab gains focus, or the meaning of 'explicitly grant'. Key behaviors like error handling and permissions are omitted.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence of 15 words, front-loading the key action and constraint. There is no redundancy or unnecessary detail; every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of annotations, output schema, and schema descriptions, the description should compensate by explaining parameters, return values, and side effects. It only covers the core purpose and constraint, leaving significant gaps that an agent needs to use the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must explain the parameters. The 'url' parameter is partially inferred (the URL to open), but 'collaboration_id' is completely unexplained—its purpose (identifying the shared tab) is not mentioned. The description adds minimal value beyond the raw schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Open' and the resource 'new tab', with a specific constraint 'on the same origin as an existing shared tab'. This distinguishes it from siblings like browser_navigate (which works on the current tab) and browser_tabs (which lists tabs). The purpose is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies that the tool should be used to open a new tab on the same origin as an existing shared tab, but it does not explicitly state when to use it versus alternatives like browser_navigate or browser_focus. No exclusions or prerequisites are provided, leaving the agent to infer context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_record_startC
Start an in-memory typed workflow draft.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden for behavioral disclosure. It only says 'Start' and provides no information about side effects, prerequisites, persistence, return values, or what happens if a recording is already in progress. The phrase 'in-memory' hints at non-persistence but is insufficiently elaborated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise five-word sentence with no wasted words. It is front-loaded and structurally efficient, though the brevity harms other dimensions.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (0 parameters), a short description could suffice, but this one lacks essential context about the workflow draft lifecycle, how to stop/stall it, or what 'typed' means. With no output schema and ambiguous terms, an agent cannot confidently infer behavior. Sibling tools like 'browser_record_stop' exist but are not referenced, leaving the workflow incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the schema is empty (100% coverage). The description does not need to document parameters, and the baseline for 0-parameter tools is 4. No additional parameter semantics are required.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a verb ('Start') and a resource ('in-memory typed workflow draft'), which is not a tautology. However, 'typed workflow draft' is ambiguous and provides little context for what the tool actually accomplishes in a browser automation context. It trivially differentiates from sibling 'record_stop' and 'record_status' by being the start action, but this is not explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool versus alternatives. It does not mention sibling tools like 'browser_record_stop' or 'browser_record_status', nor does it specify any prerequisites or scenarios. Usage context is entirely implied by the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_record_statusC
Return content-free recording state.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden for behavioral disclosure. It states 'content-free recording state' but doesn't explain what 'recording state' means, whether it's read-only or mutating, or what happens if recording is not active. This is a significant gap for state retrieval.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short sentence, which is concise and front-loaded. It uses minimal words but could be more informative without losing brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that there are no parameters, no output schema, and no annotations, the description should provide more context about what the returned recording state looks like (e.g., is it a boolean, a status string?) and how it relates to other recording tools. The description is incomplete for a standalone tool among 34 siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters and 100% schema description coverage (since there are no params to describe). The description adds clarity by indicating the tool returns 'recording state' but is 'content-free,' which helps set expectations. Since there are no parameters, no additional parameter details are needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says 'Return content-free recording state,' which gives a vague purpose. It mentions 'recording state' but doesn't specify what 'content-free' means or what the tool does with respect to recording, making it unclear how it differs from other browser tools like browser_record_status or browser_record_start.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like browser_record_start or browser_record_stop. The description does not mention any prerequisites or exclusions, leaving the agent to infer usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_record_stopA
Stop recording and return a review-required workflow draft.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description bears full responsibility for disclosing behavior. It mentions returning a 'review-required workflow draft' but omits side effects (e.g., whether the recording session ends permanently) or error conditions (e.g., no active recording). The behavioral impact is inadequately communicated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that efficiently conveys the action and result with no extraneous words. Every part is essential.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter tool with no output schema, the description is minimally adequate. It states the main action and return value but lacks important context such as prerequisites (e.g., must have an active recording) and implications of 'review-required'. More details would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has no parameters, and the schema coverage is 100%. The baseline score for zero parameters is 4, and the description does not need to add parameter details. It correctly handles the absence of inputs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Stop recording') and the result ('return a review-required workflow draft'). It uses specific verbs and a distinct resource, effectively distinguishing it from siblings like browser_record_start and browser_record_status.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not provide guidance on when to use or not use this tool. It lacks explicit prerequisites (e.g., 'use after starting a recording') or exclusions (e.g., 'not for checking status'). The sibling context alone is insufficient for clear usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_region_screenshotC
Capture one bounded document region from an explicitly shared tab.
| Name | Required | Description | Default |
|---|---|---|---|
| x | Yes | ||
| y | Yes | ||
| width | Yes | ||
| height | Yes | ||
| quality | No | ||
| collaboration_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must fully disclose behavioral traits. It mentions 'explicitly shared tab' but does not state whether the operation is read-only, what the output format is, or any side effects. The description is too sparse to provide adequate transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, making it concise. However, it is under-specified for the complexity of the tool (6 parameters, no schema descriptions). The brevity sacrifices necessary detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the high parameter count, lack of output schema, and many sibling tools, the description is far from complete. It does not explain the coordinate system, the meaning of 'explicitly shared tab', the quality parameter, or the return value. The agent would have insufficient context to use the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, meaning the schema provides no parameter descriptions. The tool description does not explain any parameters (x, y, width, height, quality, collaboration_id). The phrase 'bounded document region' weakly implies the meaning of coordinates and dimensions, but it is insufficient to guide proper parameter usage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action 'Capture one bounded document region from an explicitly shared tab', using a specific verb and resource. It implicitly distinguishes from sibling tools like browser_screenshot or browser_full_page_screenshot by specifying 'bounded document region', but it does not explicitly name alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like browser_screenshot or browser_full_page_screenshot. It does not mention prerequisites (e.g., tab must be shared) or scenarios where this tool is not appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_reloadA
Reload one explicitly shared exact tab, optionally bypassing cache.
| Name | Required | Description | Default |
|---|---|---|---|
| ignore_cache | No | ||
| collaboration_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description bears full responsibility for behavioral disclosure. It explains the effect (reloads a tab) and the optional bypass-cache behavior. However, it does not mention whether unsaved form data is lost, whether pending downloads are interrupted, or if any permissions are needed. It covers the core action but lacks depth on side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with 9 words, with no filler. Every word serves a purpose: 'reload' (action), 'one explicitly shared exact tab' (scope), 'optionally bypassing cache' (modifier). This is exemplary conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given zero schema coverage, no annotations, and a simple 2-parameter tool, the description provides a minimal viable specification. It explains what the tool does and the optional behavior, but lacks parameter-level detail for the required collaboration_id and does not explain the return value (since no output schema). It is sufficient for a simple tool but not rich.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It mentions 'bypassing cache' implicitly for ignore_cache, but does not explain how the bypass works or the implications. The required parameter collaboration_id is not explained at all – the agent must infer its meaning (identifying the tab to reload) from context. This is a moderate gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('reload'), the target ('one explicitly shared exact tab'), and the optional modifier ('bypass cache'). This unequivocally distinguishes the tool from siblings like browser_navigate (which changes URL) and browser_open (which opens new tabs).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use it ('reload an explicitly shared exact tab'). However, it does not provide explicit exclusions or direct comparison to alternatives, such as when to use browser_navigate with the same URL versus reload, or when to use ignore_cache. This leaves some ambiguity for the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_schedule_cancelC
Cancel one pending in-memory read-only schedule.
| Name | Required | Description | Default |
|---|---|---|---|
| schedule_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description must fully disclose behavioral traits. It states the schedule is 'pending in-memory read-only,' implying non-persistent and safe to cancel, but does not address what happens after cancellation (e.g., is the schedule removed entirely? can it be recreated?). It lacks details on side effects, such as whether associated resources are affected.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence that conveys the essential action and scope with no extraneous words. It is front-loaded and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of a cancellation tool with no annotations, output schema, or sibling differentiation, the description is incomplete. It lacks explanation of return values, error states, or interaction with other browser scheduling tools. The agent would not know if cancellation is idempotent or what success looks like.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has one parameter (schedule_id) with no description and 0% schema description coverage. The tool description does not explain what a 'pending in-memory read-only schedule' is or how to obtain the schedule_id. However, the parameter name is self-explanatory and the regex pattern provides implicit guidance. The baseline is 1 due to no schema coverage, but the description partially compensates by clarifying the schedule type.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies a specific verb (Cancel) and resource (pending in-memory read-only schedule), making its function distinct. It differentiates this tool from siblings like browser_schedule_snapshot or browser_schedule_status by focusing on cancellation. However, it could be slightly more specific about what type of schedule is being cancelled (e.g., a snapshot schedule).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like browser_schedule_status or browser_schedule_result. It does not mention prerequisites (e.g., the schedule must exist), when to avoid use, or how it relates to other scheduling tools. This is a critical gap for a cancellation action.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_schedule_resultC
Retrieve and remove one completed private read-only scheduled result.
| Name | Required | Description | Default |
|---|---|---|---|
| schedule_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full responsibility for behavioral disclosure. The phrase 'Retrieve and remove' implies a destructive action, but it does not specify what happens upon removal, error handling, idempotency, or authentication requirements. The description is insufficient for an agent to understand side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, making it technically concise. However, the brevity comes at the cost of missing critical information. It is not appropriately sized for the tool's complexity and lack of supporting annotations.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of annotations, output schema, and any parameter descriptions, the description is the sole source of context. It fails to explain the return value, side effects, error conditions, or prerequisites. The tool's behavior is inadequately specified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0% description coverage for the single parameter schedule_id. The description does not mention the parameter at all, leaving the agent to infer meaning solely from the name and pattern. The description adds no value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Retrieve and remove') and the resource ('completed private read-only scheduled result'), which gives a specific verb+resource pairing. However, it does not differentiate this tool from siblings like browser_schedule_status or browser_schedule_cancel, which could also involve 'scheduled result' in different ways.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. No context, prerequisites, or conditions are mentioned. The description is a single sentence without any usage instructions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_schedule_snapshotC
Schedule one in-memory read-only snapshot while the exact grant and MCP process remain live.
| Name | Required | Description | Default |
|---|---|---|---|
| max_items | No | ||
| delay_seconds | Yes | ||
| collaboration_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must fully disclose behavior. It mentions 'in-memory read-only' but does not explain what happens if the process ends, how to retrieve the snapshot, whether a previous scheduled snapshot is replaced, or any rate limits. The vague phrase about 'exact grant and MCP process' is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, which is concise, but it leaves out essential details. Conciseness is not a virtue when it sacrifices completeness; the sentence does not earn its place because it is too vague to be useful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (scheduling, 3 parameters, no output schema, no annotations), the description is severely incomplete. It does not explain the snapshot lifecycle, parameter semantics, or how to use the result. The tool is part of a family (snapshot, schedule, status, cancel, result), but the description isolates it without context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, yet the description adds no information about the three parameters (collaboration_id, delay_seconds, max_items). It does not clarify their purpose, format, or constraints beyond what parameter names imply. This is a critical gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as scheduling a snapshot ('schedule one... snapshot'), distinguishing it from the immediate 'browser_snapshot' sibling. However, the phrase 'while the exact grant and MCP process remain live' is unclear and reduces precision.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use scheduling versus immediate snapshot, or how this tool relates to sibling tools like browser_schedule_status, browser_schedule_cancel, or browser_schedule_result. The description does not mention prerequisites, alternatives, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_schedule_statusA
Return content-free state for in-memory read-only schedules.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It states the tool is 'read-only' and returns a 'content-free state', which indicates no side effects. However, it does not disclose potential error conditions, rate limits, or what the 'state' values look like.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence of eight words. Every word is necessary and there is no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a parameterless tool with no output schema, the description is mostly adequate but could be improved by listing possible state values (e.g., 'active', 'completed') to fully inform the agent of what the 'content-free state' entails.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters, so baseline is 4. The description adds value by clarifying that the tool returns a 'content-free state', giving the agent expectation beyond the empty schema. This is more than a mere restatement of the name.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Return' and resource 'content-free state for in-memory read-only schedules'. It is specific enough to distinguish this tool from siblings like browser_schedule_result and browser_schedule_snapshot, which return full result data or take snapshots respectively.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use cases (checking schedule state without full content) but does not explicitly state when to use this tool versus alternatives like browser_schedule_result, nor does it mention prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_screenshotC
Capture the current viewport of one explicitly shared tab as a private JPEG result.
| Name | Required | Description | Default |
|---|---|---|---|
| quality | No | ||
| collaboration_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full responsibility for behavioral disclosure. It reveals basic behavior ('capture current viewport', 'private JPEG result') but omits important traits: whether it works on background/inactive tabs, permission requirements, error behavior if no tab is shared, impact on page state, or the actual dimensions captured.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, focused sentence with no redundancy. It front-loads the action and key constraints. However, the brevity sacrifices necessary detail, making it efficient but not fully informative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 2 unannotated parameters, no output schema, and 33 siblings including multiple screenshot tools, the description is incomplete. It fails to clarify the return format (beyond 'private JPEG'), error handling, or differences from tools like browser_snapshot and browser_full_page_screenshot.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description does not mention either parameter ('quality' or 'collaboration_id'). The agent receives no explanation that collaboration_id identifies the shared tab or that quality controls JPEG compression, forcing reliance on parameter names alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Capture'), the resource ('current viewport of one explicitly shared tab'), and the output format ('private JPEG result'). It distinguishes this tool from siblings like browser_full_page_screenshot and browser_region_screenshot by specifying 'viewport' and 'one explicitly shared tab'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives (e.g., full_page_screenshot, region_screenshot, snapshot). It mentions 'explicitly shared tab' but does not explain prerequisites, limitations, or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_scrollC
Scroll the viewport of one explicitly shared tab by a bounded distance.
| Name | Required | Description | Default |
|---|---|---|---|
| direction | Yes | ||
| distance_px | No | ||
| collaboration_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the full behavioral burden. It mentions 'bounded distance' but does not disclose whether the scroll is smooth or instant, what happens if the page is shorter than the distance, or how collaboration_id validity is handled. No return value or side effects are described.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single 10-word sentence, which is concise. However, conciseness comes at the cost of missing critical information. It earns its place by stating the purpose but does not provide enough content for a tool with 3 parameters and no annotations.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 3 parameters, no output schema, no annotations, and 31 sibling tools, the description is severely incomplete. It does not address the collaboration_id requirement, contrast with browser_scroll_to, or explain return behavior. The agent would lack sufficient context to use this tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It only hints at distance_px via 'bounded distance' but fails to explain direction (up/down) or collaboration_id. The schema provides enums and constraints but no descriptions, and the tool description adds no meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'scroll' and the resource 'viewport of one explicitly shared tab', with 'bounded distance' hinting at the distance_px parameter. This distinguishes it from sibling tools like browser_scroll_to, which likely scrolls to a specific element. However, the phrase 'explicitly shared tab' is vague and could be clarified.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like browser_scroll_to, or on prerequisites such as ensuring the tab is 'explicitly shared'. The description does not mention when not to use it or any context-specific recommendations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_scroll_toC
Scroll one semantic element into view in an explicitly shared tab.
| Name | Required | Description | Default |
|---|---|---|---|
| locator | Yes | A semantic accessibility-tree locator; arbitrary CSS and executable scripts are not accepted. | |
| collaboration_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions scrolling a semantic element into view but does not describe what happens if the element is not found, how scrolling behaves (smooth vs instant), whether it modifies the browser state, or any error conditions. The phrase 'explicitly shared tab' is vague and lacks operational detail.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence of 10 words, which is concise. However, it is so brief that it omits important details. It could be expanded to include key behavioral and usage notes without becoming verbose. The structure is front-loaded but not sufficiently informative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of the locator parameter (nested object with many properties) and the absence of an output schema or annotations, the description is too sparse. It fails to explain what constitutes a 'semantic element', how the locator should be constructed, or how the tool interacts with the browser's accessibility tree. The sibling 'browser_scroll' exists but no differentiation is provided. The description is not complete enough for an agent to use the tool effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 50%; the locator object already has a good schema description ('A semantic accessibility-tree locator; arbitrary CSS and executable scripts are not accepted.'). The tool description adds the context 'explicitly shared tab' which hints at the role of collaboration_id. However, it does not further explain the locator's properties or how to use them effectively. Overall, the description provides marginal added value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Scroll one semantic element into view in an explicitly shared tab.' It specifies the verb (scroll), the object (one semantic element), and the context (explicitly shared tab). This is specific enough to distinguish from generic scrolling, though it does not explicitly differentiate from the sibling tool 'browser_scroll'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like 'browser_scroll' or 'browser_focus'. There is no mention of prerequisites, conditions for use, or when not to use it. The agent is left to infer usage context from the name and schema alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_selectC
Open a semantic selector and choose one semantic option.
| Name | Required | Description | Default |
|---|---|---|---|
| locator | Yes | A semantic accessibility-tree locator; arbitrary CSS and executable scripts are not accepted. | |
| option_locator | Yes | A semantic accessibility-tree locator; arbitrary CSS and executable scripts are not accepted. | |
| collaboration_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must fully disclose behavioral traits. It only states the basic action but omits critical details: does it wait for the selector to appear? What happens if the option is not found? Is state mutated? No error behavior, timing, or side effects are mentioned, making the tool opaque for safe invocation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, short sentence that communicates the core action efficiently. It is front-loaded and free of redundancy. However, it may be too terse for a tool with nested parameters and no annotations, sacrificing necessary detail for brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has no output schema, three parameters (including two complex nested objects), and no annotations, the description is severely incomplete. It does not explain return values, error states, or the lifecycle of the selector (e.g., does it close after selection?). The agent lacks critical context to use the tool reliably.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 67% (2 of 3 parameters have descriptions). The description adds value by explaining that locator and option_locator accept only semantic accessibility-tree locators and reject CSS/scripts, which is not apparent from the property names alone. However, collaboration_id lacks description and the added semantic constraint is minimal. Baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool opens a semantic selector and chooses a semantic option. It uses specific verbs ('open' and 'choose') and identifies the resource (semantic selector/option). However, it does not explicitly differentiate from sibling tools like browser_click, which could also interact with selectors, leaving some ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives such as browser_click or browser_hover. The description lacks any mention of prerequisites, typical use cases, or when not to use this tool, leaving the agent without decision-making support.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_snapshotB
Read a bounded accessibility-tree projection from one explicitly shared tab.
| Name | Required | Description | Default |
|---|---|---|---|
| max_items | No | ||
| collaboration_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full responsibility for behavioral disclosure. It states 'Read' (non-destructive), 'bounded' (with a max_items parameter), and 'accessibility-tree projection' (structured output, not screenshot). However, it doesn't describe what happens if the collaboration_id is invalid, whether the operation is expensive, if there are rate limits, or if the tool modifies any state. The description provides basic safety context but lacks depth for a tool with no other metadata.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, short sentence that front-loads the key action and subject. Every word contributes meaning: 'Read' (non-destructive), 'bounded' (size-limited), 'accessibility-tree projection' (structured output), 'explicitly shared tab' (scope). There is no wasted text, but the sentence could be slightly more readable by breaking or adding context. It earns a 4 for being efficient yet clear enough.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 2 parameters, no output schema, and no annotations, the description is incomplete for safe and effective use. It doesn't describe the return format, error conditions, prerequisites (e.g., needing a valid collaboration_id from a prior tool), or how this projection differs from a full accessibility tree. The browser_tabs sibling likely provides tab IDs, but the link is missing. A tool reading shared tab state needs more context about lifecycle and dependencies.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, meaning the JSON schema has no textual descriptions for parameters. The description adds meaning: 'collaboration_id' is identified as identifying 'one explicitly shared tab', and 'max_items' is contextualized as a 'bounded' constraint on the projection. However, it doesn't explain what max_items unit is (items=nodes?), what a reasonable value range implies, or how collaboration_id is obtained. The baseline for 0% coverage is low, and the description partially compensates but leaves gaps.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses specific verbs ('Read') and nouns ('accessibility-tree projection', 'shared tab'), clearly indicating the tool reads a structured accessibility view from a specific context. However, it doesn't distinguish this tool from siblings like browser_diagnostics, browser_screenshot, or browser_schedule_snapshot, which could also relate to capturing information from a tab. The term 'bounded' and 'explicitly shared' adds clarity, but the exact scope (vs other read tools) is ambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No context is provided about when to use this tool versus alternatives such as browser_screenshot (visual capture), browser_status (general status), or browser_schedule_snapshot (scheduled counterpart). There is no indication of prerequisites (e.g., must call browser_open first, or collaboration_id must be valid) or when not to use it. The agent making a choice among many sibling tools is left with minimal decision guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_statusA
Check whether the local connector is online and how many tabs are explicitly shared.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for transparency. It clearly indicates this is a read-only check (no side effects) and what specific information it provides (online status, explicit tab count). The description adds value beyond what annotations would typically provide by naming the exact outputs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence that front-loads the key action ('Check') and concisely states the two outputs (online status, explicit tab count). Every word earns its place with no wasted text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has zero parameters and no output schema, the description adequately covers its purpose and behavior. It tells the agent exactly what to expect. The only minor gap is not mentioning what 'online' means in terms of response status, but that's likely implicit in the return value.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has no parameters (0 required, 100% coverage by default), so the description does not need to explain param details. It correctly implies no user input is needed, which is exactly right for a status check. The score is elevated because the description makes it clear what the tool returns despite having no output schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states what the tool does: check the local connector's online status and count of explicitly shared tabs. It uses a specific verb 'check' and names the resource 'local connector' and feature 'explicitly shared tabs'. This differentiates it from sibling tools like browser_tabs (which likely lists all tabs) or browser_diagnostics (which may do more comprehensive checks).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies this tool is for checking connectivity and tab-sharing state, but it does not explicitly state when to use it versus alternatives like browser_diagnostics or browser_tabs. No guidance is given on prerequisites (e.g., connector must be configured) or scenarios where this tool is ideal vs. others.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_tabsA
List only HTTPS tabs the user explicitly shared by clicking the LLM Wiki Browser Executor extension. Call this first; never infer or fabricate a collaboration ID.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden. It discloses key behavioral traits: the tool only returns HTTPS tabs that were explicitly shared, and warns against fabricating IDs. It does not mention side effects or return format, but the behavior is well-specified for a read operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no waste. The main action ('List only HTTPS tabs...') is front-loaded. Every phrase adds value, and the structure is minimal yet complete.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter tool with no output schema, the description covers essential aspects: what is listed, constraints, and ordering. Lacking return format specification is a minor gap, but the tool's simplicity mitigates this.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist, and schema coverage is 100% (vacuously). The description adds context about the tool's purpose but cannot add parameter semantics. Baseline is 4, as there is no need for parameter details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists only HTTPS tabs explicitly shared via a specific extension, with a strong focus on distinguishing from sibling tools by specifying constraints like 'HTTPS' and 'explicitly shared'. It also includes a clear directive about not inferring or fabricating a collaboration ID.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit guidance: 'Call this first' and 'never infer or fabricate a collaboration ID.' While it doesn't name alternative tools, the context of sibling tools makes it clear this is the tab-listing tool. The instruction is actionable and sets clear boundaries.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_typeC
Focus one semantic control and insert private text in an explicitly shared tab; this does not submit the form.
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | ||
| locator | Yes | A semantic accessibility-tree locator; arbitrary CSS and executable scripts are not accepted. | |
| replace_all | No | ||
| collaboration_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It only states 'this does not submit the form', which is one behavioral trait. Missing are details about effects on focus, behavior on failure, what 'private text' means, and whether the action is atomic or reversible.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short (one sentence) and front-loaded with the action. However, it is overly terse, sacrificing clarity and completeness. It earns a 3 for being concise but not well-structured for quick comprehension.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (4 parameters, nested locator object, no output schema, many sibling tools), the description is severely incomplete. It does not explain the required collaboration_id, the meaning of 'private text', the effect of replace_all, or the locator's role. The description is insufficient for an agent to use the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is low (25%), and the tool description adds no parameter-level information. None of the four parameters are explained in the description. The locator's schema description is present but not repeated in the tool description. The description does not compensate for the low coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action: focus a semantic control and insert text. It distinguishes from siblings like browser_click or browser_key by specifying the combination of focusing and typing. The phrase 'private text' is confusing but does not obscure the core purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description lacks any guidance on when to use this tool versus alternatives. It mentions 'explicitly shared tab' as a context but does not explain prerequisites, when not to use it, or compare to sibling tools like browser_key or browser_focus.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_uploadC
Set one file input from paths inside machine-local registered upload roots.
| Name | Required | Description | Default |
|---|---|---|---|
| paths | Yes | ||
| locator | Yes | A semantic accessibility-tree locator; arbitrary CSS and executable scripts are not accepted. | |
| collaboration_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. The description does not disclose behavioral traits such as whether the tool overwrites the current file input, whether it supports multiple files (though the schema allows up to 16 paths), whether it waits for upload completion, or what happens if a path is invalid. It also lacks any mention of authentication or permissions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short at one sentence, which is efficient. However, it lacks front-loading of critical constraints and could be better organized with additional context at the expense of length.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of the tool (3 parameters including a complex locator object, no annotations, no output schema), the description is severely incomplete. It does not explain how paths map to file inputs, what 'registered upload roots' are, or what the return value indicates. The agent would likely need to guess or fail, especially without documentation on collaboration_id usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 33% (only the 'locator' field has a description). The description does not add meaning for 'paths' or 'collaboration_id' beyond what the schema provides (e.g., format of paths, relationship to upload roots). Since coverage is low, the description should compensate but does so only minimally by mentioning 'machine-local registered upload roots'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('set one file input') and the resource ('paths inside machine-local registered upload roots'). It distinguishes from sibling tools like browser_download and browser_click, as uploading files via file input is a distinct operation. However, it could more explicitly contrast with other file-related tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool vs alternatives. It does not mention prerequisites like needing a pre-existing file input element on the page, or that the upload roots must be pre-registered. No 'when not to use' or alternative tool suggestions are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_waitB
Wait for one bounded semantic condition in an explicitly shared tab.
| Name | Required | Description | Default |
|---|---|---|---|
| locator | Yes | A semantic accessibility-tree locator; arbitrary CSS and executable scripts are not accepted. | |
| timeout_ms | No | ||
| collaboration_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It does not mention that the tool is non-destructive, if it modifies state, or what happens on timeout (e.g., error vs. return). The term 'bounded' is vague and could imply a limit, but the description does not clarify how the condition is enforced or what behavior occurs when it is not met.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that immediately conveys the core purpose and context ('explicitly shared tab'). It avoids unnecessary details and front-loads the key action. The word 'bounded' could be replaced with a more common term like 'limited' for clarity, but overall it is efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 3 parameters, no output schema, and complex nested locator object, the description is minimal but covers the essential purpose and use case. However, it lacks details on return behavior, timeout handling, and interaction with the browser state, which a tool with a nested schema and no annotations should ideally provide. Adequate but not comprehensive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The parameter locator has a description explaining it is a 'semantic accessibility-tree locator' and explicitly excludes CSS and scripts, adding meaning beyond the schema structure. timeout_ms and collaboration_id rely entirely on schema defaults and patterns. With schema coverage at 33% (only locator has description), the description partially compensates by clarifying the locator's nature.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses 'wait' as a specific verb and 'bounded semantic condition' as the resource, distinguishing it clearly from other browser tools like 'click' or 'navigate'. The phrase 'explicitly shared tab' adds context about the target environment. However, 'bounded' is somewhat technical and could be clarified.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is used for waiting on a condition in a shared tab, but does not explicitly state when to use this tool versus alternatives like browser_snapshot or browser_dialog for checking page states. No 'when not to use' guidance is provided, and there are no sibling references for differentiation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
34 tool updates
v0.0.1- First observed
browser_click - First observed
browser_close - First observed
browser_credential_fill - First observed
browser_diagnostics - First observed
browser_dialog - First observed
browser_download - First observed
browser_drag - First observed
browser_focus - First observed
browser_full_page_screenshot - First observed
browser_geometry - First observed
browser_history - First observed
browser_hover - First observed
browser_key - First observed
browser_navigate - First observed
browser_open - First observed
browser_record_start - First observed
browser_record_status - First observed
browser_record_stop - First observed
browser_region_screenshot - First observed
browser_reload - First observed
browser_schedule_cancel - First observed
browser_schedule_result - First observed
browser_schedule_snapshot - First observed
browser_schedule_status - First observed
browser_screenshot - First observed
browser_scroll - First observed
browser_scroll_to - First observed
browser_select - First observed
browser_snapshot - First observed
browser_status - First observed
browser_tabs - First observed
browser_type - First observed
browser_upload - First observed
browser_wait
TDQS
Scored across 34 tools
Every tool targets a distinct browser action, from navigation and interaction to recording and scheduling. Detailed descriptions clearly differentiate similar operations like screenshots vs. snapshots, making confusion unlikely.
All tools follow the browser_verb or browser_verb_noun pattern in lowercase snake_case, with no mixing of conventions. The naming is predictable and uniform across all 34 tools.
34 tools cover a wide range of browser automation tasks, including diagnostics, recording, and scheduling. While on the higher side, each tool serves a distinct purpose and the count is reasonable for the domain's scope.
The tool set covers core browser workflows: navigation, interaction, screenshot, form handling, upload/download, and tab management. Minor omissions like direct JavaScript execution or page source retrieval are likely intentional for security, so the surface is well-scoped for its constrained environment.
Maintenance
Related MCP Connectors
Browser MCP for logged-in tasks. Uses your Chrome — credentials stay local. Zero-token replay.
Hyperbrowser MCP — wraps the Hyperbrowser AI-agent browsing API
MCP server for your apps' tools and custom tools, plus hosted AI agents and approval-gated workflows
MCP server for Firecrawl — web search, scraping, and biomedical/arXiv paper search.
Related MCP Servers
- AlicenseAqualityDmaintenanceAgent-native browser control MCP server that enables AI agents to browse and interact with web pages via accessibility tree snapshots and ref ID-based commands.152MIT
- FlicenseCqualityAmaintenanceEnables safe automation of Chrome browser through a local MCP server and Chrome extension, allowing LLMs to control browser tabs, pages, and computer-use actions with permission controls.50-
- FlicenseNot gradedqualityCmaintenanceMCP server that wraps agent-browser to let LLMs control a real browser, providing tools for navigation, interaction, reading page content, accessibility snapshots, screenshots, and session management.1-

browser-relayofficial
AlicenseNot gradedqualityCmaintenanceMCP server that drives a user's real Chrome browser via a WebSocket-connected MV3 extension, enabling tab management, navigation, page interaction, screenshots, and script evaluation through natural language.7 npmMIT