neko-browser
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| NEKO_BROWSER_PROFILE | No | Profile directory path | ~/.neko-browser/profile |
| NEKO_BROWSER_HEADLESS | No | Set to true for headless mode | false |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| neko_navigateA | Navigate the neko-browser to a URL. Opens a new tab if new_tab=true. Session persists across restarts. |
| neko_clickB | Click an element by index (from neko_get_state) or by coordinates. |
| neko_typeB | Type text into an element identified by index. Sensitive data is masked in the response. |
| 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 < > &. |
| neko_press_keyA | Press a keyboard key (Enter, Tab, Escape, Backspace, ArrowDown, etc.). Uses Playwright key names. |
| neko_get_stateA | Get the current browser state including URL, title, interactive elements, and optionally a screenshot. |
| neko_screenshotB | Take a screenshot of the current page. |
| neko_scrollB | Scroll the page up or down. |
| neko_go_backA | Navigate back in browser history. |
| neko_get_htmlB | Get the HTML content of the page or a specific element. |
| neko_list_tabsA | List all open tabs in the neko-browser. |
| neko_switch_tabA | Switch to a specific tab by tab_id. |
| neko_close_tabA | Close a specific tab by tab_id. |
| 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. |
| 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. |
| neko_selectA | Select option(s) from a select element. Specify one of: value, label, or option_index. |
| neko_wait_forB | Wait for a CSS selector to reach a state, or wait for navigation to complete. |
| 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. |
| neko_hoverA | Hover over an element by index. Triggers mouseover events (for tooltips, dropdown menus, etc.). |
| neko_checkA | Check or uncheck a checkbox or radio button element. |
| neko_double_clickB | Double-click an element by index or coordinates. |
| neko_get_attributeA | Get attribute value(s) of an element. Returns all attributes if no name is specified. |
| neko_closeA | Close the neko-browser. Session data (cookies, login state) is preserved. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 23 tools
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.
All tools follow the 'neko_' prefix + lower_snake_case verb or verb_noun pattern. The naming is uniform and predictable, aiding intuitive selection.
23 tools is on the higher side but justifiable for a full browser automation suite. Each tool serves a specific, warranted function without redundancy.
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.