Skip to main content
Glama

Scout

Browser MCP server that connects to your existing browser. Your sessions, passwords, extensions — all preserved. No bot detection because it IS your real browser.

Gives AI agents a visually-grounded, semantically-precise view of any web page through hybrid A11y + Set-of-Marks grounding.

Why Scout?

Most browser automation launches a clean, disposable browser — no cookies, no history, no extensions. Every site detects it as a bot. Scout flips this: it connects to the browser you're already using via Chrome DevTools Protocol (CDP).

  • Connect to your browser — attach to Chrome with --remote-debugging-port, reuse all your logged-in sessions

  • Accessibility tree extraction — scans the DOM for interactive elements, assigns each a stable numeric ID, returns a compact markdown summary

  • Set-of-Marks badges — overlays numbered badges on a compressed screenshot so the agent can see what it's clicking

  • Non-blocking human handoff — agent returns immediately, polls for completion. CAPTCHAs, MFA, SMS codes — you solve them in your own browser

  • State healer — every action captures before/after state, telling the agent what changed

The result: agents reference elements by ID (scout_click(3)), not by CSS selector or pixel coordinate. No hallucination, no token bloat, no bot detection.

Related MCP server: kilo-computer-use

Quick start

# 1. Start your browser with remote debugging enabled
google-chrome --remote-debugging-port=9222

# 2. Install and run Scout
npm install
SCOUT_MODE=connect SCOUT_CONNECT_URL=http://localhost:9222 npm run dev

Scout auto-discovers your browser and connects. All your open tabs, sessions, and saved passwords are available.

Launch a fresh browser

npm install
npx playwright install chromium
npm run dev

Claude Desktop / Claude Code

Add to your MCP config:

{
  "mcpServers": {
    "scout": {
      "command": "npx",
      "args": ["tsx", "src/index.ts"],
      "cwd": "/path/to/scout",
      "env": {
        "SCOUT_MODE": "connect",
        "SCOUT_CONNECT_URL": "http://localhost:9222"
      }
    }
  }
}

Docker

docker build -t scout .
docker run -it scout

Environment variables

Connection

Variable

Default

Description

SCOUT_MODE

auto

connect (attach to your browser), launch (start fresh), auto (try connect, fallback to launch)

SCOUT_CONNECT_URL

Explicit browser debug URL, e.g. http://localhost:9222

Browser

Variable

Default

Description

SCOUT_HEADLESS

false

Run browser in headless mode (only applies to launch mode)

SCOUT_BROWSER

chromium

Browser engine for launch mode (chromium or firefox)

SCOUT_CDP_PORT

9229

Debug port when launching a fresh browser

SCOUT_VIEWPORT_WIDTH

1280

Browser viewport width

SCOUT_VIEWPORT_HEIGHT

800

Browser viewport height

SCOUT_MAX_ELEMENTS

1000

Max elements per snapshot

SCOUT_MAX_TABS

10

Max open tabs

SCOUT_PROFILE_DIR

Persistent browser profile path (launch mode only)

SCOUT_LOGIN_ENABLED

false

Enable scout_login tool for automated platform auth

SCOUT_LCP_PORT

Enable HTTP dispatch server on this port

Tools (27)

Navigation

Tool

Params

Description

scout_navigate

url

Navigate and return full snapshot

scout_back

Browser back

scout_forward

Browser forward

scout_refresh

Reload current page

Observation

Tool

Params

Description

scout_snapshot

Full snapshot: numbered element list + badged screenshot

scout_elements

Element list only (faster, no screenshot)

scout_screenshot

Plain screenshot without badges

scout_console_logs

clear?

Last 100 browser console logs/errors

Interaction

Tool

Params

Description

scout_click

id

Click element by snapshot ID

scout_type

id, text, clear?

Type into input (React-safe keyboard events)

scout_select

id, value

Select dropdown option

scout_hover

id

Hover over element

scout_press_key

key

Press keyboard key (Enter, Escape, etc.)

scout_drag

sourceId, targetId

Drag one element onto another

scout_scroll

direction, pixels?

Scroll up/down/left/right

Human-in-the-loop

Tool

Params

Description

scout_handoff

instruction, timeout?

Show banner asking user to take manual action. Returns immediately with handoff_id — does NOT block.

scout_handoff_check

handoff_id

Poll whether handoff is completed/expired

scout_handoff_cancel

handoff_id

Cancel handoff and remove banner

Tabs

Tool

Params

Description

scout_tabs

List all open tabs

scout_switch_tab

index

Switch active tab

scout_new_tab

url?

Open a new tab

Sessions

Tool

Params

Description

scout_save_session

name

Save cookies + localStorage to ~/.scout-sessions/<name>.json

scout_load_session

name

Restore a saved session (restarts browser context)

scout_list_sessions

List saved sessions

Performance

Tool

Params

Description

scout_wait

condition, value?, timeout?

Wait for navigation, network_idle, selector, or timeout

scout_block_resources

types

Block resource types (e.g. ["image", "media"])

Login (opt-in)

Tool

Params

Description

scout_login

platform, username, password

Automated social login with challenge detection. Requires SCOUT_LOGIN_ENABLED=true.

How it works

Typical agentic loop

scout_navigate(url)
  → read numbered element list + badged screenshot
  → scout_click(3)          # healer returns stateChange
  → scout_snapshot()        # re-snapshot after state change
  → scout_type(7, "hello")
  → scout_handoff("Solve the CAPTCHA, then click Done")
  → scout_handoff_check(handoff_id)   # poll until completed

Connection modes

Connect mode (SCOUT_MODE=connect) — attaches to your running browser via CDP. Your open tabs, sessions, and passwords are all available. Start your browser with:

google-chrome --remote-debugging-port=9222

Scout auto-discovers the browser, or set SCOUT_CONNECT_URL=http://localhost:9222 explicitly. The browser stays running independently — Scout just connects to it.

Launch mode (SCOUT_MODE=launch) — starts a fresh Chromium instance. Use SCOUT_PROFILE_DIR for persistent cookies across restarts.

Auto mode (SCOUT_MODE=auto, default) — tries to discover a running browser first. If none found, launches a fresh one. Best of both worlds.

Browser persistence

In connect mode, Scout reconnects to your browser automatically if the MCP process restarts — the browser stays running.

In launch mode, Scout writes the CDP port to ~/.scout-browser.port and reconnects on restart if the browser is still alive.

Non-blocking handoff

Unlike blocking human-in-the-loop approaches, scout_handoff returns immediately with a handoff_id. The agent polls scout_handoff_check on its own schedule. The handoff banner re-injects across page navigations and auto-expires after timeout.

This matters because MCP tool calls often have timeouts (30-60s). A CAPTCHA that takes the user 2 minutes would kill a blocking approach.

HTTP dispatch server (optional)

Set SCOUT_LCP_PORT=8091 to expose an HTTP API alongside the MCP stdio transport. Useful for integrating Scout with non-MCP systems:

GET  /lcp/health              # Server status
POST /lcp/dispatch             # Execute tool operations
GET  /lcp/stream               # SSE event stream

Security: The LCP server has no built-in authentication by default. Set SCOUT_LCP_SECRET to require an X-Scout-Secret header on all mutation endpoints. Do not expose the LCP port on a public network without authentication — it provides full control over the connected browser session.

License

MIT

Available Tools

31 tools
scout_backC

Go back in browser history.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

C2.9/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, and the description fails to disclose any behavioral traits. For example, it does not specify what happens if browser history is empty, whether it reloads the page, or if it respects session boundaries.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise at one sentence, which is efficient for a simple action. However, it could benefit from slightly more detail without losing conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no parameters and no output schema, the description is minimally sufficient. But it lacks behavioral details like error states or effect on page state, which an agent might need.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has no parameters and schema coverage is 100%, so the description does not need to add parameter meaning. Baseline 4 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Go back in browser history' clearly states the action and resource. It distinguishes from siblings like scout_forward by direction, but does not explicitly contrast with other navigation tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 scout_navigate or scout_forward. Missing context for when not to use it (e.g., no history available).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

scout_block_resourcesA

Block certain resource types to speed up loading (e.g. image, media, stylesheet, font, script).

ParametersJSON Schema
NameRequiredDescriptionDefault
typesYesResource types to block

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description explains the core behavior (blocking resource types to speed up loading) with examples, but fails to disclose important behavioral details such as persistence (e.g., per-navigation or session), reversibility, or side effects on page content. With no annotations, the description carries the full burden and is incomplete.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, well-structured sentence that front-loads the action and provides illustrative examples. Every word contributes to understanding the tool's purpose, with no fluff or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

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 essential purpose and parameter semantics. It lacks details on scope and persistence, but given its simplicity, the description is largely adequate for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The sole parameter 'types' has a schema description 'Resource types to block', and the tool description adds specific examples (image, media, stylesheet, font, script), which adds value. However, it does not specify allowed values or behavior if an invalid type is provided. With 100% schema coverage, the baseline is 3, and the examples justify a 4.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the tool blocks specific resource types to speed up loading, with concrete examples (image, media, stylesheet, font, script). This is a specific verb-resource combination that distinguishes it from sibling tools like scout_click or scout_navigate, none of which involve resource blocking.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage when you want to improve load speed by blocking non-essential resources, but does not explicitly state when not to use it or mention alternatives among siblings. There is no guidance on potential trade-offs or prerequisites, leaving room for ambiguity.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

scout_clickA

Click an element by its snapshot ID. Returns healer result describing what changed. If stateChange is 'navigation', element IDs are now stale — call scout_snapshot before using any IDs again. Use force=true to bypass overlay elements (shadow DOM, modals) that intercept clicks.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesElement ID from the last snapshot
forceNoBypass overlay interception (default: false). Use when shadow DOM or modal overlays block normal clicks.

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It discloses that clicking returns a healer result, may cause navigation (rendering IDs stale), and that force bypasses overlay interception. However, it does not explicitly state potential side effects like page navigation or data changes beyond mentioning navigation as a possible state change.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, each providing essential information without redundancy. The description is front-loaded with the primary action, followed by return value, then usage condition and force parameter explanation.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers key aspects: action, return value, stale ID handling, and force parameter. While it doesn't explicitly mention prerequisites (e.g., needing a snapshot), it is implied by 'snapshot ID'. For a tool with no output schema and moderate complexity, it is sufficiently complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so baseline is 3. The description adds meaning beyond the schema by explaining that 'id' is an element ID from the last snapshot, and 'force' bypasses overlay interception for shadow DOM or modals. This enhances understanding.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool clicks an element by its snapshot ID and returns a healer result. It distinguishes itself from sibling tools like scout_drag, scout_hover, etc., by specifying the action and result.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit guidance on when to use force=true (shadow DOM, modals) and warns that if stateChange is 'navigation', element IDs become stale and require a new snapshot. This helps the agent decide when to use the tool and when to call scout_snapshot instead.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

scout_console_logsB

Get the last 100 browser console logs and errors.

ParametersJSON Schema
NameRequiredDescriptionDefault
clearNoClear logs after reading (default: false)

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, and description does not address side effects or safety. It does not explain whether reading logs affects browser state or if the clear parameter's default (false) means logs persist. Minimal behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence with no redundancy. Every word contributes to the purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given simplicity (1 param, no output schema), the description is adequate but lacks details on output format, timing, or default clearing behavior. Agents may need more context for effective use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% for the single parameter, so baseline is 3. Description adds no extra meaning beyond schema's 'Clear logs after reading (default: false)'; does not clarify implications or usage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states 'Get the last 100 browser console logs and errors', specifying verb, resource, and quantity. It effectively distinguishes from sibling tools like scout_screenshot or scout_evaluate.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool or when to prefer alternatives. Lacks context for integration with other scout tools, such as checking logs after interactions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

scout_delete_postC

Delete one of your posts on a platform.

ParametersJSON Schema
NameRequiredDescriptionDefault
platformYesPlatform: linkedin, x, medium
post_idYesPost ID or URL to delete

TDQS

C2.9/5.0
Behavior2/5

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 action 'delete' but does not disclose whether it is irreversible, requires authentication, or what happens on failure. For a destructive operation, this lack of transparency is a significant gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence that front-loads the action. It is efficient with no wasted words, but could be slightly more informative without losing conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (two parameters, no output schema), the description leaves out important context such as error behavior, success indication, and whether deletion is permanent. It is not complete enough for an agent to use confidently.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The tool description adds the notion of 'your posts', implying ownership, but does not add further meaning beyond what the schema already provides. Thus it meets the baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it deletes a post on a platform. The verb 'delete' and resource 'post' are specific. However, it does not differentiate from sibling tools beyond the action, but given siblings like scout_post (create) and scout_my_posts (list), the purpose is implicitly distinct.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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, nor any prerequisites or exclusions. Users must infer usage from the tool name alone, which is insufficient for an AI agent selecting among similar sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

scout_dragB

Drag one element onto another.

ParametersJSON Schema
NameRequiredDescriptionDefault
sourceIdYesID of element to drag
targetIdYesID of element to drop onto

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided. Description does not disclose behavioral details such as whether elements need to be visible, if mouse events are simulated, or what constitutes a valid drop target.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Description is very concise with one sentence and no fluff. However, it could be slightly more informative while remaining brief.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (2 parameters, no output schema), the description is somewhat complete but lacks behavioral context that would fully inform an AI agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, with both parameters described. The description adds no extra meaning beyond the schema, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the action of dragging one element onto another, using a specific verb and resource. It distinguishes from siblings like scout_click and scout_hover.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use drag versus other interaction tools like click or hover. No context on prerequisites or alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

scout_elementsA

Get the current page's accessibility tree (numbered elements) without taking a screenshot. Faster than scout_snapshot.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Discloses that it does not take a screenshot and is faster, which adds behavioral context beyond the tool name. Given no annotations, it provides good transparency about its side-effect-free nature.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences, front-loaded with the action and key differentiator. No unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema and zero parameters, the description adequately explains what it does, its output (accessibility tree), and its advantage over a sibling.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

No parameters are defined, and schema coverage is 100%. The description is sufficient as it does not need to explain parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states it gets the accessibility tree as numbered elements, and explicitly contrasts with scout_snapshot, distinguishing it from siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides clear context for when to use this tool (faster than scout_snapshot), but does not explicitly state when not to use it or list alternatives beyond one sibling.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

scout_evaluateA

Execute JavaScript in the current page and return the result. Use for: reading page state, clicking elements blocked by shadow DOM overlays, interacting with Web Components, or any DOM operation not covered by other tools. The code runs in the page context with full DOM access. Returns the serialized result.

ParametersJSON Schema
NameRequiredDescriptionDefault
codeYesJavaScript code to execute in the page. Must be a valid expression or IIFE. The return value is serialized to JSON.

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. Says code runs with full DOM access and returns serialized result, but does not disclose potential destructive side effects or error handling, leaving some behavioral ambiguity.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with a bullet-point list, front-loaded with the main action. Every sentence is informative and non-redundant.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers purpose, use cases, and behavior. No output schema, but mentions serialized return. Could mention error handling or async limitations for completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline 3. Description adds value by specifying 'valid expression or IIFE' and noting JSON serialization, providing more guidance than the schema alone.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states it executes JavaScript and returns the result. Lists specific use cases like reading page state and interacting with shadow DOM, distinguishing from siblings like scout_click or scout_type.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says 'Use for:' and enumerates scenarios. Implies when not to use by mentioning 'any DOM operation not covered by other tools', but lacks explicit exclusion examples.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

scout_forwardA

Go forward in browser history.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, and the description does not disclose behavioral traits such as what happens if there is no forward history, side effects, or error conditions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence with no wasted 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.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the absence of parameters, output schema, and annotations, the description is minimal but adequate for a trivial action. However, it could mention potential failure cases.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There are no parameters, and the schema coverage is 100% (trivially). The description adds no param info, but baseline is 4 for zero-parameter tools.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Go forward in browser history' clearly states the verb 'Go' and resource 'browser history', distinguishing it from siblings like scout_back (go backward) and scout_navigate (URL navigation).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidelines are provided on when to use this tool versus alternatives like scout_back or scout_navigate. The description does not mention prerequisites or context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

scout_handoffA

Inject a banner in the live browser asking the user to take a manual action. Returns IMMEDIATELY with a handoff_id — does NOT block. Poll scout_handoff_check(handoff_id) every 5-10 seconds until status is 'completed'. Use for: CAPTCHAs, SMS codes, authenticator app prompts, email verification.

ParametersJSON Schema
NameRequiredDescriptionDefault
instructionYesPlain-language instruction shown to the user in the browser
timeoutNoMax wait in ms (default: 300000 = 5 min)

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Discloses async return with handoff_id and polling requirement; lacks details on timeout expiration or cancellation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, front-loaded, no waste.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers essential info for agent decision (async, polling, use cases); no output schema, but not needed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema covers 100% with good descriptions; description adds no extra meaning beyond 'manual action' context.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states tool injects a banner for manual action (CAPTCHAs, SMS, etc.), distinguishes from siblings by mentioning polling scout_handoff_check.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly lists use cases and polling interval; could add when not to use (e.g., automated steps).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

scout_handoff_cancelA

Cancel a pending handoff and remove the banner from the browser.

ParametersJSON Schema
NameRequiredDescriptionDefault
handoff_idYesThe handoff_id returned by scout_handoff

TDQS

A3.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must carry the burden. It states cancellation and banner removal, but does not disclose error scenarios (e.g., invalid handoff_id, handoff already completed) or whether the operation is idempotent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with no wasted words. Every part is informative and front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple cancel tool with one parameter and no output schema, the description covers the core action and result. Lacks error handling info but is largely complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with a clear description for handoff_id. The description adds no further semantic value beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Cancel') and the resource ('pending handoff'), and adds the specific effect ('remove the banner from the browser'). It distinctly separates from sibling tools like scout_handoff (initiate) and scout_handoff_check (check status).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

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 (e.g., waiting for handoff to complete or checking status first). The context implies it is for cancellation, but not stated explicitly.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

scout_handoff_checkA

Check whether a pending handoff has been completed by the human. Returns immediately. Call this every 5-10 seconds after scout_handoff until status is 'completed' or 'expired'.

ParametersJSON Schema
NameRequiredDescriptionDefault
handoff_idYesThe handoff_id returned by scout_handoff

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries burden. States 'Returns immediately' and hints at possible statuses ('completed', 'expired'), but does not disclose full response format, error handling, or all possible statuses.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, no fluff, front-loaded with purpose. Every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple polling tool with one parameter and no output schema, the description is mostly complete. Lacks response format and error details, but adequate for the tool's simplicity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with the parameter described as 'The handoff_id returned by scout_handoff'. The description adds no additional meaning beyond the schema, so baseline score of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool checks whether a pending handoff has been completed, specifying the resource (handoff) and action (check). It distinguishes from siblings like scout_handoff (which initiates) and scout_handoff_cancel (which cancels).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states polling interval ('every 5-10 seconds after scout_handoff') and stopping conditions ('until status is completed or expired'). Gives clear when-to-use context but no explicit when-not.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

scout_hoverB

Hover over an element by its snapshot ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesElement ID from the last snapshot

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations exist, and the description does not disclose behavioral traits like whether the hover triggers side effects or what happens if the element is invalid, leaving the agent with minimal context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, clear sentence with no extraneous words, effectively communicating the tool's purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple one-parameter tool with no output schema, the description is minimally adequate but lacks details on prerequisites or error handling, leaving gaps in completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema covers the single parameter with a description, but the tool description does not add any additional meaning beyond what the schema already provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

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 resource (element by snapshot ID), distinguishing it from sibling tools like scout_click or scout_type.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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, such as when hovering is preferred over clicking or when prerequisites like a snapshot are needed.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

scout_list_sessionsA

List all saved browser sessions.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, and the description does not elaborate on side effects or read-only nature. However, 'list' implicitly suggests a read operation, and the tool has no parameters, limiting behavioral complexity.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single sentence that is concise and front-loaded with the key action and resource, wasting no words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given zero parameters, no output schema, and a simple listing purpose, the description fully covers what the tool does without needing further detail.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters and 100% schema coverage, so the description adds no additional meaning. Baseline score of 4 for no-parameter tools applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'List' and the resource 'all saved browser sessions', distinguishing it from siblings like scout_save_session and scout_load_session.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

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, but the purpose is self-explanatory given the sibling context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

scout_load_sessionA

Load a saved browser session. This will restart the browser context.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesName of the session to load

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Discloses that loading a session restarts the browser context, which is a key behavioral trait. No annotations provided, so the description covers this well.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences, front-loaded, with no extraneous information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Adequate for a simple load operation with one parameter and no output schema; mentions side effect. Could be considered complete given the context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema has 100% coverage for the single parameter 'name' with description; the tool description adds no further meaning.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Load' and the resource 'saved browser session', and distinguishes from sibling tools like scout_save_session and scout_list_sessions.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Implies usage for loading previously saved sessions but does not explicitly state when to use or when not to use it, nor mention alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

scout_my_postsC

Get your recent posts on a platform.

ParametersJSON Schema
NameRequiredDescriptionDefault
platformYesPlatform: linkedin, x, medium
limitNoMax posts to return (default: 10)

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must fully disclose behavior. It only states 'get your recent posts' without mentioning authentication requirements, return format, pagination, or potential errors. This lack of detail leaves the agent uncertain about side effects or constraints.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence, which is concise, but it omits crucial information. While brevity is valued, here it compromises clarity and completeness, resulting in a moderate score.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (2 parameters, no output schema), the description is incomplete. It fails to explain what 'recent' means, how the default limit works, or what response to expect. Without annotations, this leaves significant gaps for the AI agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with descriptions for both parameters. The description adds no additional meaning beyond what the schema already provides (e.g., platform values, limit default). Thus, it meets the baseline but does not enhance understanding.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the verb 'Get' and resource 'your recent posts on a platform', clearly indicating its function. While it distinguishes from siblings like scout_post (create) and scout_search_posts (search), it does not explicitly clarify that it retrieves the authenticated user's own posts, which could be confused with a general search.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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. The description does not mention prerequisites, such as authentication, or specific contexts where this tool is preferred over scout_search_posts.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

scout_navigateA

Navigate to a URL. Returns {url, title} by default (lean). Set snapshot=true for full accessibility tree + screenshot (expensive — use only when you need to discover page structure).

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesURL to navigate to
snapshotNoInclude full A11y scan + screenshot (default: false). Only use when you need to discover unknown page structure.

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Discloses return format ({url, title}) and cost of snapshot. Without annotations, description covers key behavioral traits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two efficient sentences, front-loaded with purpose, no wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Complete for a simple tool with two parameters and no output schema. All aspects covered.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, but description adds value by explaining snapshot's purpose and cost, beyond schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action 'Navigate to a URL' and specifies return values. It distinguishes from sibling tools like scout_click and scout_hover.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit guidance for when to use snapshot (expensive, only when discovering page structure) and implies lean default. No explicit alternatives for navigation, but context is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

scout_new_tabA

Open a new browser tab, optionally navigating to a URL.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlNoURL to open in the new tab

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must cover behavioral traits. It mentions optionality of the URL but does not disclose side effects (e.g., whether focus shifts to new tab, whether it waits for page load, or if any errors are returned). The description provides basic transparency but lacks depth.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, clear sentence with no extraneous words. It efficiently communicates the tool's purpose and optional behavior.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (1 optional param, no output schema), the description is minimal but incomplete. It does not explain what happens when no URL is provided (e.g., opens a blank tab or default page), nor does it describe any return value or confirmation. This could lead to uncertainty for the agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema covers 100% of parameters with a description for 'url'. The description adds the key nuance that navigation is optional, which is not explicit in the schema. This clarifies the parameter's optional nature and typical usage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Open a new browser tab') and the resource (new tab), with optional navigation. It effectively distinguishes from sibling tools like scout_navigate (which navigates current tab) and scout_switch_tab (which switches to existing tabs).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 over alternatives like scout_navigate or scout_switch_tab. The description lacks context about appropriate scenarios or prerequisites, which is particularly important given the number of related sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

scout_postA

Compose and publish a post on a social platform (linkedin, x, medium). Uses the platform adapter pattern — handles shadow DOM, selectors, and compose flows automatically. The browser must be logged into the platform.

ParametersJSON Schema
NameRequiredDescriptionDefault
platformYesPlatform: linkedin, x, medium
textYesPost text. For Medium, first line becomes the title.
submitNoActually submit the post (default: true). Set false for dry run — text is typed but not posted.

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden. It discloses the login requirement and dry-run behavior for the submit parameter. However, it does not detail error states, post limits, or side effects like irreversible publishes.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences long with no extraneous words. It front-loads the core action and then adds technical context. Every sentence serves a purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description lacks information about the tool's return value or success/failure response. Given no output schema, this is a gap. It also does not connect to other post-management tools, though the context is adequate for the action itself.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description adds value by specifying that for Medium, the first line becomes the title, and for the submit parameter, it explains the dry-run behavior. This expands on the schema's description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description explicitly states 'Compose and publish a post on a social platform (linkedin, x, medium).' This clearly identifies the verb (compose/publish) and resource (post on social platforms), and distinguishes it from sibling tools like scout_delete_post or scout_my_posts.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use the tool (for posting on specific platforms) but does not explicitly contrast with alternatives or state when not to use it. It mentions automatic handling of platform-specific flows, but no exclusion criteria are provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

scout_press_keyB

Press a keyboard key (e.g. Enter, Escape, ArrowDown, Backspace).

ParametersJSON Schema
NameRequiredDescriptionDefault
keyYesKey name from Playwright (Enter, Escape, etc.)

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. It does not disclose side effects (e.g., whether it simulates keydown/keyup, if it requires element focus, or what happens if the key is invalid). Minimal behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence with no fluff. All content is essential and front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple 1-param tool, the description is sufficient but could be improved by mentioning that the key is pressed on the currently focused element or page, and optionally listing common use cases. As-is, it leaves questions unanswered but is not critically incomplete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with a clear description. The tool description adds a few more examples (ArrowDown, Backspace) but does not significantly enhance meaning beyond the schema. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states 'Press a keyboard key' with examples (Enter, Escape, ArrowDown, Backspace). The verb-and-resource construction is specific, and it clearly distinguishes from siblings like scout_type (types text) and scout_click (clicks mouse).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 (e.g., scout_type for typing, scout_click for clicking). It does not specify if the key is pressed on the current page or a focused element, or list any prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

scout_refreshB

Refresh the current page.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It only states 'refresh' without disclosing potential side effects (e.g., loss of unsaved data, whether it waits for page load) or safety profile. This is insufficient for an agent to assess impact.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single short sentence with no waste. It is appropriately sized for a tool with zero parameters and a straightforward action.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple 0-param tool, the description covers the basic action. However, it does not mention the return value or behavior (e.g., whether it resolves after load), and with no output schema, the agent lacks full context. Adequate but minimal.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

No parameters exist. With 0 parameters and 100% schema coverage, the baseline is 4. The description adds no parameter details, which is acceptable given the absence of parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Refresh the current page' clearly states a specific action and resource, and it distinguishes from sibling navigation tools like scout_back and scout_forward. However, it adds little beyond the tool name itself.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 scout_navigate or scout_wait. The agent is not informed about scenarios where refresh is appropriate or when other tools are better suited.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

scout_save_sessionA

Save the current browser session (cookies, localStorage) to a named file.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesName of the session

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description must cover behavioral traits. It states the basic operation but does not mention whether overwriting occurs, error handling, or file system permissions. The behavioral impact is minimal, but more detail would improve clarity.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, front-loaded with key action and resource, no unnecessary words. Efficiently communicates the tool's purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

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 is minimally sufficient. However, given no annotations, it would benefit from mentioning overwrite behavior or file extension. It meets basic needs but lacks completeness in behavioral context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with one parameter 'name' described as 'Name of the session'. The description adds 'to a named file', which aligns with the schema. Baseline 3 is appropriate as no significant additional meaning is provided.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the action ('Save'), the resource ('current browser session (cookies, localStorage)'), and the destination ('to a named file'). It distinguishes from sibling tools like scout_load_session (load) and scout_list_sessions (list).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Implies usage for persisting session state but provides no explicit guidance on when to use vs alternatives (e.g., scout_load_session). No when-not or prerequisite information.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

scout_screenshotA

Take a plain screenshot of the current page without element badges.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior2/5

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 only mentions the output characteristic (no badges) but does not describe side effects, safety (e.g., whether it modifies the page), whether it opens a save dialog, or the return format. For a simple tool, this is somewhat lacking.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with no wasted words. It is front-loaded and efficiently conveys the core purpose and differentiator.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (no parameters, no output schema), the description is adequate but could be improved by mentioning what happens after capture (e.g., returns image data, saves to file). The lack of any output schema or annotation means the agent has to guess the tool's behavior beyond the screenshot action.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There are zero parameters, so the baseline is 4. The description does not need to add parameter meaning since there are none. It correctly implies no configuration is needed.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly specifies the action ('Take a plain screenshot'), the target ('current page'), and a key differentiator ('without element badges'), which distinguishes it from sibling tools like scout_snapshot that may include badges. This provides a specific verb+resource+scope.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies a use case (screenshot without badges) but does not explicitly state when to use this tool over alternatives like scout_snapshot or when not to use it. No explicit usage context or exclusions are provided, leaving the agent to infer.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

scout_scrollA

Scroll the page or a specific element (modal, dialog) in a direction. Use element_id to scroll within a container instead of the whole page.

ParametersJSON Schema
NameRequiredDescriptionDefault
directionYesScroll direction
pixelsNoPixels to scroll (default: 400)
element_idNoElement ID to scroll within (e.g. a modal or dialog). If omitted, scrolls the page.

TDQS

A4.1/5.0
Behavior3/5

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 correctly states that the tool scrolls the page or an element, but it does not mention any side effects (e.g., non-destructive nature), error handling (e.g., invalid element_id), or scrolling behavior (e.g., smooth vs instant). For a simple scroll action, this is adequate but could be improved.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise with two sentences, no wasted words. It is front-loaded with the main purpose and quickly provides the key differentiation with element_id.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the low complexity (3 parameters, simple action), the description covers the action and parameter usage well. However, there is no output schema, and the description does not mention what the tool returns (e.g., success status or page state), which is a minor gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so baseline is 3. The description adds value by explaining that element_id is used to scroll within a container instead of the whole page, which clarifies its role beyond the schema description. Direction and pixels are sufficiently explained in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

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 ('page or a specific element'). It distinguishes itself by specifying when to use element_id for scrolling within containers, which differentiates it from other sibling tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context on when to scroll the whole page versus a specific element using element_id. However, it does not explicitly mention when not to use this tool or list alternative tools, but given there is no other scroll tool among siblings, the guidance is sufficient.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

scout_search_postsC

Search for posts on a platform.

ParametersJSON Schema
NameRequiredDescriptionDefault
platformYesPlatform: linkedin, x, medium
queryYesSearch query
limitNoMax results (default: 10)

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must fully convey behavioral traits. It only states 'search for posts' without disclosing whether it is read-only, how results are returned, or any side effects. This 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.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is only one sentence, which is concise but underspecified. It lacks necessary information, making it ineffective rather than concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

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 no annotations, the description is incomplete. It doesn't explain return format, pagination, or search behavior across platforms.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% (all 3 parameters have descriptions). The tool description adds no additional meaning beyond the schema, so a baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Search for posts on a platform' provides a verb and resource, but is vague. It doesn't specify which platforms or distinguish from sibling tools like 'scout_my_posts' or 'scout_post'. The input schema adds platform specifics, but the description itself lacks clarity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given on when to use this tool versus alternatives like 'scout_my_posts'. There is no mention of when not to use it or any context for selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

scout_selectB

Select an option from a dropdown/select element by its snapshot ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesElement ID from the last snapshot
valueYesOption value or label to select

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided. Description does not disclose effects on page, whether element must be visible, or error conditions. Lacks behavioral detail beyond the action.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single, front-loaded sentence with no wasted words. Highly concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema. Description is minimal but functional for simple selection action. Could mention success indicators or side effects.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with clear descriptions for both parameters. Description rephrases 'by its snapshot ID' but adds no new meaning beyond schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states verb (select), resource (option from dropdown/select), and method (by snapshot ID). Distinguishes from siblings like scout_click and scout_type.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use vs alternatives such as scout_click for buttons or scout_type for text. Does not mention prerequisites or context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

scout_snapshotA

Take a snapshot of the current page. Returns accessibility tree (numbered elements). Set lite=true to skip the screenshot (saves ~50K+ tokens). Use full snapshot only when you need to visually see the page.

ParametersJSON Schema
NameRequiredDescriptionDefault
liteNoSkip screenshot + badge overlay (default: false). Use true when you only need element IDs, not vision.

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, but description discloses that lite mode skips a screenshot saving tokens, and full mode includes visual page. No side effects mentioned, but operation is likely read-only.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, no waste. First sentence states purpose, second provides guidance on lite mode with token savings, third reinforces when to use full. Perfectly front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With only one parameter and no output schema, the description covers the tool's behavior and parameter usage adequately. Could mention format of accessibility tree, but 'numbered elements' is sufficient for the intended use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with a description for the param. The description adds practical value: explains lite=true saves tokens and when to use each mode, beyond the schema's simple boolean description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it takes a snapshot and returns an accessibility tree with numbered elements. This differentiates it from siblings like scout_screenshot, which likely only captures visual screenshots.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit guidance on when to use lite=true (skip screenshot, save tokens) vs full snapshot (when visual is needed). No explicit when-not or sibling comparison, but context is strong.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

scout_switch_tabA

Switch to a browser tab by index (from scout_tabs).

ParametersJSON Schema
NameRequiredDescriptionDefault
indexYesTab index from scout_tabs

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It only states the action without disclosing side effects, permissions, error conditions (e.g., out-of-bounds index), or whether the tool returns anything.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One sentence, 12 words, no redundancy. Very concise, though this conciseness slightly trades off comprehensiveness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

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 is adequate. It conveys the essential purpose and parameter source, though it could hint at error cases.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The single parameter is fully covered by the schema description. The tool description merely restates 'Tab index from scout_tabs', adding no new meaning beyond what the schema already provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Switch'), resource ('browser tab'), and the key parameter ('index'), and distinguishes it from sibling tools like scout_new_tab or scout_tabs.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage after scout_tabs to get indices, but provides no when-not-to-use or alternatives guidance. For a simple tool, this is adequate but lacks exclusion criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

scout_tabsA

List all open browser tabs with their index, URL, title, and which is active.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It indicates a read-only, non-destructive operation (listing tabs) but omits details like permissions, rate limits, or side effects. The behavior is adequately described for a simple list operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that front-loads the action and resource. Every word is necessary; no redundancy or irrelevant information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given zero parameters, no output schema, and no annotations, the description sufficiently explains the tool's function and output fields. It lacks edge-case handling (e.g., empty tab list) but is complete for its simplicity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has zero parameters with 100% coverage, so the description is not required to add param details. It correctly implies no filters are available. Per guidelines, 0 parameters warrants a baseline of 4.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'List' and the resource 'all open browser tabs', specifying the fields returned (index, URL, title, active). This distinguishes it from sibling tools like scout_switch_tab or scout_new_tab, which have different purposes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for listing tabs but provides no explicit guidance on when to use this tool versus alternatives like scout_switch_tab or scout_snapshot. There are no exclusions or contextual hints.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

scout_typeA

Type text into an input element by its snapshot ID. Uses React-safe keyboard events. If stateChange is 'navigation', call scout_snapshot before using any IDs again.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesElement ID from the last snapshot
textYesText to type
clearNoClear field before typing (default: false)

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description must fully convey behavior. Mentions 'React-safe keyboard events' and the re-snapshot condition, but omits details like side effects, waiting behavior, or error handling.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences with no wasted words. Purpose is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers the re-snapshot requirement, but lacks details on return values, timeouts, or focus behavior, which would be helpful given no output schema and no annotations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

All parameters have schema descriptions, so baseline is 3. Description does not add new meaning beyond the schema, and the mention of 'stateChange' is not a parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the action ('Type text into an input element') and method ('by its snapshot ID'). It distinguishes from some siblings like scout_click but does not explicitly differentiate from scout_press_key or scout_select.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides a specific condition for re-snapshotting ('If stateChange is "navigation"...'), but lacks general guidance on when to use this tool versus alternatives like scout_press_key.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

scout_waitC

Wait for a page condition.

ParametersJSON Schema
NameRequiredDescriptionDefault
conditionYesWhat to wait for
valueNoSelector string or timeout in ms
timeoutNoMaximum wait time in ms (default: 30000)

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, and the description lacks behavioral details such as blocking behavior, effect on page state, or any side effects. It does not disclose that wait blocks until condition is met or timeout, which is critical for an AI agent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very concise (one sentence), but it provides only the bare minimum. It's not verbose, but it lacks structure and fails to front-load key details like parameter dependencies or return behavior.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

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 no annotations, the description is insufficient. It does not explain return value, blocking nature, or interactions with other tools. The agent would need to infer too much from the schema alone.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema covers all three parameters with descriptions, so the schema carries the burden. The description adds no extra meaning beyond what the schema provides, resulting in a baseline score of 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Wait for a page condition' clearly identifies the action (wait) and resource (page condition), distinguishing it from other page manipulation tools like click or navigate. However, it's somewhat vague and doesn't specify the types of conditions beyond the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 scout_navigate or scout_click. There is no mention of prerequisites, typical use cases, 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.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 31 tool updatesv0.1.0
    • First observedscout_back
    • First observedscout_block_resources
    • First observedscout_click
    • First observedscout_console_logs
    • First observedscout_delete_post
    • First observedscout_drag
    • First observedscout_elements
    • First observedscout_evaluate
    • First observedscout_forward
    • First observedscout_handoff
    • First observedscout_handoff_cancel
    • First observedscout_handoff_check
    • First observedscout_hover
    • First observedscout_list_sessions
    • First observedscout_load_session
    • First observedscout_my_posts
    • First observedscout_navigate
    • First observedscout_new_tab
    • First observedscout_post
    • First observedscout_press_key
    • First observedscout_refresh
    • First observedscout_save_session
    • First observedscout_screenshot
    • First observedscout_scroll
    • First observedscout_search_posts
    • First observedscout_select
    • First observedscout_snapshot
    • First observedscout_switch_tab
    • First observedscout_tabs
    • First observedscout_type
    • First observedscout_wait

TDQS

B3.4/5.0
Disambiguation4/5

Tools mostly have distinct purposes, but scout_elements and scout_snapshot overlap in returning accessibility trees. scout_click and scout_type both mention navigation state changes, potentially confusing. Overall, most tools are well-defined.

Naming Consistency5/5

All tools follow a consistent scout_verb_noun pattern in snake_case, making them predictable and easy to understand.

Tool Count3/5

With 31 tools, the server is quite heavy. While each tool serves a clear purpose, the count is on the high side for typical MCP servers, bordering on excessive.

Completeness4/5

The tool set covers browser navigation, interaction, session management, and social platform posting well. Missing are file upload and popup management, but core workflows are fully supported.

Maintenance

ActivityInactive
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • -
    license
    Not graded
    quality
    Not graded
    maintenance
    MCP server that connects AI agents to a real Chrome browser via a WebSocket extension bridge, enabling over 40 browser control tools without debug mode or profile isolation.
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    MCP server that lets AI assistants browse the web through your real Chrome with your cookies, sessions, and fingerprint, avoiding bot detection and CAPTCHAs. Enables web browsing, content extraction, and multi-step workflows via persistent tabs.
    6
    3
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    MCP server that gives AI coding assistants direct access to the browser — navigate, click, fill forms, run JavaScript, take screenshots, and read page content.
    11
    23
    1
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Lautrek/Scout'

If you have feedback or need assistance with the MCP directory API, please join our Discord server