Skip to main content
Glama
aliksir

neko-browser

by aliksir

neko-browser

Dedicated browser MCP server for neko-gundan agents. Headed Playwright with persistent profile, fully isolated from daily-use Chrome.

Features

  • Persistent profile: Sessions survive restarts (cookies, localStorage, login state preserved)

  • Headed mode: GUI visible by default for debugging and human oversight

  • 23 MCP tools: Full browser automation toolkit

  • PII masking: Sensitive data (credit cards, SSNs, emails) auto-masked in responses

  • Process isolation: Runs its own Chromium instance with dedicated profile directory

  • Custom favicon: Shigoto-neko icon injected for easy identification

Related MCP server: browser-mcp-server

Tools

Tool

Description

neko_navigate

Navigate to URL, optionally in new tab

neko_click

Click element by index or coordinates

neko_type

Type text into element (keyboard events)

neko_fill

Set text via DOM (for contentEditable)

neko_press_key

Send keyboard key (Enter, Tab, etc.)

neko_get_state

Get page URL, title, interactive elements

neko_screenshot

Capture page screenshot

neko_scroll

Scroll page up/down

neko_go_back

Navigate back in history

neko_get_html

Get HTML of page or element

neko_list_tabs

List all open tabs

neko_switch_tab

Switch to tab by ID

neko_close_tab

Close tab by ID

neko_close

Close the browser

neko_upload_file

Upload files (direct input or dialog mode)

neko_evaluate

Execute JavaScript in page context

neko_select

Select dropdown option (by value/label/index)

neko_wait_for

Wait for selector state or navigation

neko_handle_dialog

Configure alert/confirm/prompt handling

neko_hover

Hover over element (tooltips, menus)

neko_check

Check/uncheck checkbox or radio

neko_double_click

Double-click element

neko_get_attribute

Get element attribute(s)

Installation

npm install
npm run build

Configuration

Environment variables:

Variable

Default

Description

NEKO_BROWSER_PROFILE

~/.neko-browser/profile

Profile directory path

NEKO_BROWSER_HEADLESS

false

Set to true for headless mode

Usage (MCP)

Add to your Claude Code MCP settings:

{
  "mcpServers": {
    "neko-browser": {
      "command": "node",
      "args": ["dist/index.js"],
      "cwd": "/path/to/neko-browser"
    }
  }
}

License

MIT

Available Tools

23 tools
neko_checkA

Check or uncheck a checkbox or radio button element.

ParametersJSON Schema
NameRequiredDescriptionDefault
indexYesElement index from neko_get_state
checkedNotrue=check, false=uncheck (default: true)

TDQS

A3.8/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 discloses that the tool changes the checked state, but does not mention any behavioral traits such as waiting, interaction requirements, or what happens if the element is already in the target state.

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 extraneous information, front-loading the core purpose effectively.

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 action tool with full schema coverage and no output schema, the description is nearly complete. It could be improved by noting radio button grouping behavior, but overall provides sufficient 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 both parameters described. The description adds minimal value beyond the schema, not providing additional semantic context for the 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?

The description clearly states the action ('check or uncheck') and the target element type ('checkbox or radio button'), effectively differentiating from siblings like neko_click (generic click) and neko_fill (text input).

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 checkboxes and radio buttons, but lacks explicit guidance on when to use this tool over alternatives like neko_click, and does not mention prerequisites or context where it is not appropriate.

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

neko_clickB

Click an element by index (from neko_get_state) or by coordinates.

ParametersJSON Schema
NameRequiredDescriptionDefault
xNoX coordinate
yNoY coordinate
indexNoElement index from neko_get_state

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 traits such as whether the click waits for navigation, what happens if element is not found, or if scrolling is performed. For a click action, this 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?

Single sentence with no waste, but it could be improved by stating that either index or coordinates must be provided.

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, no annotations. For a click action in browser automation, more context about waiting, error handling, and page transition behavior would improve completeness. Description is functional but minimal.

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 baseline is 3. Description adds minor context by clarifying the two modes (index vs coordinates) but does not specify mutual exclusivity or required conditions.

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 (click), the resource (element), and the two methods (by index from neko_get_state or by coordinates). It distinguishes from sibling tools like neko_double_click or neko_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 explicit guidance on when to use this tool versus alternatives like neko_double_click or neko_hover. The description does not specify prerequisites 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.

neko_closeA

Close the neko-browser. Session data (cookies, login state) is preserved.

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 the full burden. It discloses that session data (cookies, login state) is preserved, which is a key behavioral trait. However, it does not mention other aspects like idempotency, state changes, or side effects beyond preservation.

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?

Extremely concise at two sentences, front-loaded with the action. No wasted words; every sentence adds value (action and behavior).

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 tool with no parameters, no output schema, and no annotations, the description is fairly complete. It states what it does and a key behavioral detail. However, it could mention if the browser closes immediately or if it confirms, but given simplicity, a 4 is reasonable.

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 (0 params, schema coverage 100%). The description does not need to add parameter meaning. According to guidelines, for 0 params the baseline is 4, which is appropriate as the description simply describes the action.

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 uses a specific verb 'Close' and clearly identifies the resource 'neko-browser'. It distinguishes from siblings like neko_close_tab (which closes a tab) by specifying 'close the browser', making its purpose unique.

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 vs alternatives. The name and sibling context imply it's for closing the entire browser as opposed to tabs, but the description itself does not provide usage context or exclusions.

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

neko_close_tabA

Close a specific tab by tab_id.

ParametersJSON Schema
NameRequiredDescriptionDefault
tab_idYesTab ID from neko_list_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 the full burden. It fails to disclose behavioral traits such as what happens when the tab_id is invalid, whether unsaved data is affected, or if the action is reversible. This is insufficient for a destructive 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, efficient sentence that conveys the essential information without unnecessary words. It is front-loaded and easy to parse.

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 (one parameter, no output schema), the description is adequate but lacks details on error handling or behavior for invalid inputs. More context would improve usability, but it is not a critical gap.

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 schema already fully documents the tab_id parameter. The description adds no additional meaning beyond what the schema provides, meeting the baseline expectation.

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 ('Close'), the resource ('specific tab'), and the method ('by tab_id'). It effectively distinguishes this tool from siblings like neko_switch_tab or neko_list_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 when a specific tab needs to be closed, but lacks explicit guidance on when not to use it (e.g., cannot close the last tab) or alternatives. The parameter description provides a hint but no comprehensive usage context.

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

neko_double_clickB

Double-click an element by index or coordinates.

ParametersJSON Schema
NameRequiredDescriptionDefault
xNoX coordinate
yNoY coordinate
indexNoElement index from neko_get_state

TDQS

B3.3/5.0
Behavior2/5

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

No annotations are provided, and the description only states the action. It does not disclose any behavioral traits such as whether double-clicking triggers navigation, requires element visibility, or what happens after 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?

The description is a single sentence with no unnecessary words, making it extremely concise and to the point.

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 action with no output schema and few parameters, the description is adequate but minimal. It lacks details on post-action effects or prerequisites, which could be helpful given the sibling 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 brief descriptions. The description adds that the action can be done 'by index or coordinates', clarifying the relationship between parameters, but does not provide further semantics beyond what is 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 uses a specific verb 'double-click' and identifies the resource 'element' with two methods (index or coordinates), clearly distinguishing it from sibling tools like 'neko_click'.

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 double-click versus single click or other alternatives. Does not state when not to use it or provide context for index vs coordinates.

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

neko_evaluateA

Execute arbitrary JavaScript in the page context (page.evaluate()). Use this when neko_click cannot trigger a client-side handler, such as ASP.NET PostBack (WebForm_DoPostBackWithOptions). Returns the evaluation result as JSON.

ParametersJSON Schema
NameRequiredDescriptionDefault
argNoOptional argument passed to expression (same as Playwright page.evaluate(expr, arg))
expressionYesJavaScript expression or code to execute in the page context

TDQS

A4.3/5.0
Behavior3/5

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

No annotations provided, so description carries burden. It states the tool executes arbitrary JS and returns JSON, but does not disclose potential side effects or required permissions. For a code execution tool, this is adequate but not thorough.

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 core purpose and usage context. No redundant information.

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, it states return type (JSON). Both parameters are fully described in schema. Usage guidance relative to siblings is present. Complete for a code execution tool.

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%, so schema already documents both parameters. Description adds no extra meaning beyond mentioning expression and arg, thus 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?

Clearly states the tool executes arbitrary JavaScript in page context (page.evaluate()), with a specific verb 'execute' and resource 'JavaScript in the page context'. Distinguishes from sibling neko_click by specifying when to use this tool.

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?

Explicitly tells when to use this tool: when neko_click cannot trigger a client-side handler, giving a concrete example (ASP.NET PostBack). This provides clear guidance on alternatives.

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

neko_fillA

Set text content of an element directly via DOM (bypasses keyboard events). Use this instead of neko_type for contentEditable elements or when text contains HTML special characters like < > &.

ParametersJSON Schema
NameRequiredDescriptionDefault
htmlNoIf true, set innerHTML instead of textContent (for rich text editing)
textYesText to set
indexYesElement index from neko_get_state

TDQS

A4.5/5.0
Behavior4/5

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

No annotations exist, so description carries full burden. It discloses that it bypasses keyboard events and sets content via DOM, implying no typing events. However, it does not detail side effects (e.g., replacing content, permission needs) or required element state.

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 wasted words. Front-loaded with purpose and usage guidance. Every sentence adds value.

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?

For a simple tool with 3 well-documented parameters and no output schema, the description is complete: it covers purpose, usage, and behavioral traits. No missing critical information.

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%, so baseline is 3. The description adds no additional parameter meaning beyond what the schema already provides (e.g., the 'html' parameter is already described).

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 'Set text content of an element directly via DOM' and distinguishes itself from neko_type by specifying use cases like contentEditable elements and HTML special characters.

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?

Explicitly tells when to use this tool instead of neko_type: for contentEditable elements or when text contains HTML special characters. Provides clear context for tool selection.

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

neko_get_attributeA

Get attribute value(s) of an element. Returns all attributes if no name is specified.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoAttribute name (omit to get all attributes)
indexYesElement index from neko_get_state

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. It indicates a read operation but does not disclose error behavior, permission requirements, or return format. Adequate but not thorough.

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 no waste, front-loaded with verb and resource. Every sentence is informative and necessary.

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 read tool, description covers essential behavior. However, lack of output schema and missing return format details slightly reduce completeness. Adequate for straightforward use.

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%, establishing baseline 3. Description adds value by clarifying the behavior when name is omitted ('returns all attributes') and overall purpose, exceeding the baseline.

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 'get attribute' on an element, and differentiates itself from siblings like neko_get_state and neko_get_html by specifying the resource 'attributes'.

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?

Implies when to omit the name parameter to get all attributes, but does not explicitly state when to use this tool over siblings. However, sibling names are distinct and context clues are sufficient.

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

neko_get_htmlB

Get the HTML content of the page or a specific element.

ParametersJSON Schema
NameRequiredDescriptionDefault
selectorNoCSS selector for a specific element (optional)

TDQS

B3.1/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. It lacks statements about side effects (likely none, but not stated) or whether it is read-only. For a likely safe read operation, this omission is significant.

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 unnecessary 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 tool's simplicity (one optional param, no output schema), the description covers the basic purpose. However, it could hint at the return format (e.g., 'returns HTML as a string') to improve 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 only parameter 'selector' is documented in the schema. The description adds context by clarifying that omitting it returns the whole page, but does not provide additional meaning beyond the schema. Schema coverage is 100%, so baseline 3 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 clearly states the tool retrieves HTML content of a page or element. It is distinguishable from siblings like get_attribute (which gets a single attribute) and get_state (which gets state), though it could explicitly contrast these.

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 vs alternatives (e.g., get_attribute, evaluate). Does not mention when not to use or provide context for selection.

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

neko_get_stateA

Get the current browser state including URL, title, interactive elements, and optionally a screenshot.

ParametersJSON Schema
NameRequiredDescriptionDefault
max_elementsNoMaximum number of interactive elements to return
include_screenshotNoInclude a screenshot in the response

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 carries the behavioral disclosure burden. It accurately states the output includes URL, title, interactive elements, and optionally a screenshot, implying a read operation. However, it does not disclose potential side effects (e.g., whether the state is cached or forces a re-render) or clarify if the interactive elements are obtained via accessibility tree or DOM traversal.

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 of 18 words with no fluff. The core action ('Get the current browser state') is front-loaded, and the optional screenshot is mentioned last. Every word serves a purpose.

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 no output schema, the description adequately lists the return components: URL, title, interactive elements, and optional screenshot. It does not specify the format of interactive elements (e.g., selector, text, role), but for an agent this is sufficient to understand the tool's purpose. Slightly more detail could improve 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?

Schema coverage is 100% with descriptions for both max_elements and include_screenshot. The description does not add new parameter context beyond what the schema already provides. Baseline score of 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 clearly states the tool retrieves the current browser state including URL, title, interactive elements, and optionally a screenshot. This distinguishes it from siblings like neko_screenshot (only screenshot) and neko_get_html (only HTML). The verb 'Get' and listed components provide specificity.

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. For example, if only a screenshot is needed, neko_screenshot would be more appropriate. The description does not mention any prerequisites (e.g., page must be loaded) or exclusions.

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

neko_go_backA

Navigate back in browser history.

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?

With no annotations, the description carries full burden but only states a basic action. It does not disclose behavior when history is empty, whether it waits for page load, or if it supports multiple steps.

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 that directly states the tool's purpose without any extraneous information.

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 parameterless tool, the description is minimally viable but lacks details on error states or behavior expectations, which would be helpful for an 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?

No parameters exist, and schema coverage is 100% trivially. Baseline is 4, and description adds no parameter info, which is acceptable for a parameterless tool.

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 'Navigate' and resource 'browser history' with direction 'back'. It is distinct from sibling tools like neko_navigate which goes to a URL.

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 going back in browser history, but provides no explicit guidance on when to use versus alternatives like neko_navigate or neko_close_tab, nor any prerequisites.

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

neko_handle_dialogA

Configure automatic browser dialog handling (alert/confirm/prompt). Dialogs are auto-accepted by default. Also returns info about the last dialog that appeared.

ParametersJSON Schema
NameRequiredDescriptionDefault
actionNoSet auto-response for dialogs
prompt_textNoText to enter for prompt() dialogs

TDQS

A4.2/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It discloses that dialogs are auto-accepted by default and that it returns info about the last dialog, but does not mention side effects, permissions, or whether it handles existing dialogs or only future ones.

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, front-loaded with the main purpose, and contains no unnecessary words. Every sentence adds value.

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 the tool has 2 parameters and no output schema, the description adequately covers the tool's functionality. However, it lacks details on persistence (per-session or permanent) and the exact circumstances of when the last dialog info is returned, leaving minor gaps.

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% and each parameter already has a description. The description adds value by noting the default behavior ('auto-accepted') and the purpose of prompt_text for prompt() dialogs, complementing 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 'Configure' and the resource 'automatic browser dialog handling (alert/confirm/prompt)', and distinguishes this tool from sibling tools which focus on other browser interactions like clicking or navigating.

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 indicates that dialogs are auto-accepted by default, implying this tool is used to change that behavior, but it does not explicitly state when to use this tool versus alternatives or provide exclusions.

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

neko_hoverA

Hover over an element by index. Triggers mouseover events (for tooltips, dropdown menus, etc.).

ParametersJSON Schema
NameRequiredDescriptionDefault
indexYesElement index from neko_get_state

TDQS

A4.2/5.0
Behavior3/5

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

With no annotations, the description must fully disclose behavior. It states the primary effect (mouseover events) but omits details on failure modes, prerequisites (e.g., element visibility), or potential side effects. This is adequate but not comprehensive.

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, front-loaded with the main action, and contains no extraneous information. Every word is useful.

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 the tool's simplicity (one parameter, no output schema, no annotations), the description covers the essential aspects: what it does and when to use it. It could mention return values (if any) but is largely sufficient.

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 description explains that the 'index' parameter is 'from neko_get_state', adding context beyond the input schema's description. With 100% schema coverage, baseline is 3, and the extra context justifies 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?

The description clearly states the action ('Hover'), the target ('element by index'), and the effect ('triggers mouseover events'), with examples of use (tooltips, dropdown menus). It effectively distinguishes from sibling tools like neko_click or neko_double_click.

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 gives context for when to use the tool (to trigger hover-dependent UI elements) but does not explicitly state when not to use it or mention alternatives. However, the sibling list and tool names imply distinct use cases, so the guidance is clear.

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

neko_list_tabsA

List all open tabs in the neko-browser.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.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 does not disclose any behavioral traits beyond the basic action. It does not state whether the tool is read-only or requires specific permissions, though listing tabs is generally non-destructive.

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 is concise and front-loaded with the key action and resource. No unnecessary words.

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 parameterless list tool, the description is mostly complete. However, it lacks information about the return format or content of the list, which could be helpful.

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, so description compensation is not needed. The description correctly indicates no parameters are expected.

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 tabs in the neko-browser'. This distinguishes it from sibling tools that perform actions like clicking or navigating.

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 or not use this tool. The context is implied by its purpose as a list operation, but no exclusions or alternatives are mentioned.

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

neko_navigateA

Navigate the neko-browser to a URL. Opens a new tab if new_tab=true. Session persists across restarts.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesURL to navigate to
new_tabNoOpen in a new tab

TDQS

A3.8/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. It mentions session persistence and new_tab behavior but doesn't disclose error handling or other side effects. Adequate but not thorough.

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, front-loaded with the main action, no wasted words. Efficient and clear.

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 the simplicity of the tool (2 params, no output schema), the description is fairly complete. It adds session persistence context which is helpful. Could mention return value, but overall adequate.

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 baseline is 3. Description adds no significant meaning beyond schema; it restates the new_tab parameter behavior already documented.

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 navigates to a URL, with specific verb and resource. It distinguishes from sibling tools like neko_click or neko_fill by focusing on 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 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 vs alternatives. While sibling tools have different verbs, the description doesn't provide context or exclusions. Usage is implied but not clarified.

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

neko_press_keyA

Press a keyboard key (Enter, Tab, Escape, Backspace, ArrowDown, etc.). Uses Playwright key names.

ParametersJSON Schema
NameRequiredDescriptionDefault
keyYesKey to press (e.g. Enter, Tab, Escape, Backspace, Delete, ArrowUp, ArrowDown, ArrowLeft, ArrowRight, Home, End, F1-F12, Control+a, Shift+Tab)

TDQS

A3.5/5.0
Behavior2/5

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

No annotations provided, so the description carries full burden. It mentions 'Uses Playwright key names' but doesn't disclose behaviors like whether it waits for the action, affects focus, or has side effects. For a simple action tool, more clarity would be beneficial.

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 15 words, front-loaded with the action and examples. Every word is necessary. No redundant or filler content.

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 covers the basics but could specify context (e.g., requires a focused tab, works in browser). It doesn't mention whether it works on dialogs or if it can use special keys like modifiers.

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 detailed key description including examples. The description adds 'Uses Playwright key names' which provides extra context beyond the schema, justifying a baseline 3. No major gaps.

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 'Press a keyboard key' with explicit examples (Enter, Tab, Escape, etc.) and distinguishes from siblings like neko_type (typing) and neko_click (clicking). The verb 'Press' and resource 'keyboard key' are specific.

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 vs alternatives like neko_type or neko_fill. The description implies it's for individual key presses, but doesn't exclude scenarios like text input or combinations. No when-not or prerequisites mentioned.

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

neko_screenshotB

Take a screenshot of the current page.

ParametersJSON Schema
NameRequiredDescriptionDefault
full_pageNoCapture full page (not just viewport)
save_pathNoSave screenshot to this file path (PNG)

TDQS

B3.3/5.0
Behavior2/5

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

With no annotations provided, the description should disclose behavioral traits, but it only states 'take a screenshot'. It does not mention default behavior (e.g., viewport vs full page), outcome, 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.

Conciseness4/5

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

The description is a single, concise sentence that is front-loaded with the action. It efficiently communicates the core purpose without extra words.

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 no output schema, the description should explain the return value (e.g., image data or file saved). It does not mention this, nor does it provide usage guidance. For a simple tool with 2 params, it is 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%, so the schema already describes both parameters. The description adds no additional meaning beyond what the schema 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 'Take a screenshot of the current page' clearly states the action and resource. It uniquely distinguishes the tool from siblings, as no other tool performs screenshots.

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?

Usage is implied by the tool's name and description, but there is no guidance on when to use it versus alternatives or any prerequisites. The description does not mention exclusions or context.

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

neko_scrollB

Scroll the page up or down.

ParametersJSON Schema
NameRequiredDescriptionDefault
directionYesScroll direction

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 responsibility for behavioral disclosure. It only says 'scroll the page up or down' without specifying scroll amount, behavior at page boundaries, or whether it is animated. This leaves significant behavioral traits undocumented.

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 sentence with no wasted words, making it very concise. However, it is perhaps too minimal, missing important context that could be included without sacrificing brevity.

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, the description is adequate but incomplete. It explains the basic action but does not cover return behavior, edge cases, or confirmation of scroll action. Given the simplicity, a score of 3 is appropriate.

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 baseline is 3. The description does not add any information beyond what the schema already provides for the 'direction' parameter, as it merely restates the enum values.

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 scrolls the page up or down, which is a specific verb-plus-resource action. It is easily distinguishable from sibling tools like neko_click, neko_navigate, etc., as none of those involve scrolling.

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 like neko_go_back or neko_navigate. The description simply states what it does without any context about when it is appropriate 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.

neko_selectA

Select option(s) from a select element. Specify one of: value, label, or option_index.

ParametersJSON Schema
NameRequiredDescriptionDefault
indexYesElement index from neko_get_state
labelNoOption visible text to select
valueNoOption value attribute to select
option_indexNoZero-based index of option to select

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 states that options are selected but does not disclose behavioral details such as whether it supports multiple selection, what happens if the element is not a select, or the effect on existing selections. This is insufficient for safe invocation.

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

Conciseness4/5

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

The description is a single, concise sentence that quickly conveys the tool's purpose. It is front-loaded with the action and resource. However, it could benefit from slightly more structure, e.g., noting that 'index' is required.

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 complexity of interacting with a select element (potential for multiple selections, error states), the description is too brief. It does not mention what happens if the option is not found, whether it clears previous selections, or the return value. No output schema exists to compensate.

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 the description adds meaning by explaining that the parameters are alternatives for specifying an option. This goes beyond the schema's individual descriptions and clarifies the selection strategy.

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 'Select' and the resource 'select element', and specifies the three alternative parameters (value, label, option_index). This effectively distinguishes it from sibling tools like neko_click or neko_fill.

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 mentions that exactly one of value, label, or option_index should be specified, implying usage context but providing no explicit guidance on when to use each alternative or when to avoid this tool. No comparison with siblings is given.

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

neko_switch_tabA

Switch to a specific tab by tab_id.

ParametersJSON Schema
NameRequiredDescriptionDefault
tab_idYesTab ID from neko_list_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, and the description does not disclose error handling, side effects (e.g., does it close other tabs?), or what happens if tab_id is invalid.

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, efficient sentence with no wasted words.

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 1 parameter and no output schema, it provides basic functionality but omits important context like error behavior and return value.

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 'Tab ID from neko_list_tabs'. The description only repeats 'by tab_id', adding no extra meaning 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 verb 'switch' and the resource 'specific tab' by tab_id. This distinguishes it from sibling tools like neko_close_tab and neko_list_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 that the tab_id must come from neko_list_tabs but does not explicitly state when to use this tool vs alternatives or any prerequisites.

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

neko_typeB

Type text into an element identified by index. Sensitive data is masked in the response.

ParametersJSON Schema
NameRequiredDescriptionDefault
textYesText to type
indexYesElement index from neko_get_state

TDQS

B3.3/5.0
Behavior3/5

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

The description mentions that sensitive data is masked in the response, adding behavioral context beyond the schema. However, it does not explain other traits like whether typing replaces existing text, triggers events, or supports special keys. With no annotations, the description carries the full burden but is only partially transparent.

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, front-loaded with the purpose, and contains no unnecessary words. Every sentence adds value.

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 2 parameters and no output schema, the description is adequate but minimal. It does not explain the source of the index or any special behavior. Given the lack of annotations, more context would be helpful.

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 100% of parameters with descriptions. The description adds context about sensitive data masking but does not add meaning specific to the parameters beyond what the schema provides. Baseline score of 3 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 clearly states the tool types text into an element by index. It uses a specific verb and resource, distinguishing it from similar siblings like neko_fill or neko_press_key. However, it does not explicitly differentiate from neko_fill, which could be ambiguous.

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 like neko_fill or neko_press_key. It lacks any when-to-use or when-not-to-use instructions.

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

neko_upload_fileA

Upload file(s) to a file input element. Two modes: (1) Specify "index" for a direct element, or (2) Specify "trigger_index" for a button that opens a file chooser dialog. If both are given, "index" takes priority.

ParametersJSON Schema
NameRequiredDescriptionDefault
indexNodata-mcp-index of <input type="file"> element (direct mode)
file_pathsYesAbsolute path(s) of file(s) to upload
trigger_indexNodata-mcp-index of button that opens file chooser dialog (dialog mode)

TDQS

A4.6/5.0
Behavior4/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It explains the two modes and their priority, which is good. However, it does not mention potential error behavior (e.g., file not found) or permission requirements, leaving minor gaps.

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 only two sentences, front-loaded with the purpose, and every sentence adds value. 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 tool with 3 parameters and no output schema, the description covers the main usage scenarios and parameter relationships. It does not describe return values or errors, but given the simplicity, it is mostly 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 by explaining the two modes and the priority rule, enriching beyond the schema's per-parameter descriptions. It could go further by indicating which mode is typical or recommended.

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's action ('Upload file(s) to a file input element') and distinguishes it from sibling tools like neko_click or neko_fill by focusing on file upload. The two modes are explicitly described, making the purpose unmistakable.

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 each mode (index for direct input, trigger_index for dialog button) and clarifies priority if both are given. This helps the agent choose correctly.

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

neko_wait_forB

Wait for a CSS selector to reach a state, or wait for navigation to complete.

ParametersJSON Schema
NameRequiredDescriptionDefault
stateNoTarget statevisible
timeoutNoMax wait time in ms (default 10000)
selectorNoCSS selector to wait for
navigationNoWait for next navigation instead of selector

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 must carry the full behavioral disclosure. It states the waiting function but fails to mention critical behaviors like timeout errors, what happens if the selector is not found, or whether it blocks the agent. The timeout parameter is documented in the schema but not explained in the description.

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, clear sentence that efficiently conveys the tool's two modes. It is well-structured and front-loaded, though it could benefit from slightly more detail without becoming verbose.

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 and no output schema, the description provides basic intention but lacks information about return values (e.g., whether it resolves with a boolean or void) and error handling. It is complete enough for a wait operation but could be more thorough.

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?

With 100% schema description coverage, the schema already documents each parameter (state, timeout, selector, navigation). The description does not add extra meaning beyond the schema, such as valid selector syntax or interaction between navigation and selector. Baseline 3 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 clearly states the tool waits for a CSS selector to reach a state or for navigation to complete. It uses specific verbs and resources, distinguishing it from action-oriented siblings like neko_click or neko_fill, though it could be more explicit about how it differs from neko_check.

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 scenarios (waiting for conditions) but does not provide explicit guidance on when to use this tool versus alternatives. Siblings like neko_check could potentially be used for similar state evaluation, and no exclusions or prerequisites are mentioned.

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. 23 tool updatesv0.1.1
    • First observedneko_check
    • First observedneko_click
    • First observedneko_close
    • First observedneko_close_tab
    • First observedneko_double_click
    • First observedneko_evaluate
    • First observedneko_fill
    • First observedneko_get_attribute
    • First observedneko_get_html
    • First observedneko_get_state
    • First observedneko_go_back
    • First observedneko_handle_dialog
    • First observedneko_hover
    • First observedneko_list_tabs
    • First observedneko_navigate
    • First observedneko_press_key
    • First observedneko_screenshot
    • First observedneko_scroll
    • First observedneko_select
    • First observedneko_switch_tab
    • First observedneko_type
    • First observedneko_upload_file
    • First observedneko_wait_for

TDQS

A3.9/5.0
Disambiguation5/5

Each tool has a distinct purpose clearly differentiated by verb and object (e.g., neko_click vs neko_double_click, neko_type vs neko_fill). Even similar actions like typing and filling are explicitly distinguished in descriptions.

Naming Consistency5/5

All tools follow the 'neko_' prefix + lower_snake_case verb or verb_noun pattern. The naming is uniform and predictable, aiding intuitive selection.

Tool Count4/5

23 tools is on the higher side but justifiable for a full browser automation suite. Each tool serves a specific, warranted function without redundancy.

Completeness5/5

Covers nearly all browser interaction needs: navigation, clicking, typing, form handling, file upload, screenshots, scrolling, JavaScript execution, dialog handling, tab management, and state retrieval. The inclusion of neko_evaluate fills any edge cases.

Maintenance

ActivitySlowing
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

  • A
    license
    B
    quality
    D
    maintenance
    A browser automation server providing Playwright capabilities for controlling web browsers, capturing screenshots, extracting content, and performing complex interactions through an MCP interface.
    6
    Apache 2.0
  • A
    license
    B
    quality
    D
    maintenance
    A universal browser automation MCP server using Playwright, enabling programmatic control of Chrome with 63 tools for navigation, interaction, media control, and CDP-based diagnostics.
    63
    24
    2
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    A comprehensive browser automation MCP server using Playwright, offering 50+ tools for page control, element interaction, content extraction, and more across multiple browser engines.
    21
    1
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    A fully local MCP server for browser automation using Playwright, providing 25 tools for navigation, content extraction, mouse, form, and keyboard interactions.
    1,414
    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/aliksir/neko-browser'

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