octobrowser-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| OCTO_HOST | No | Host running Octo Browser (remote/Docker) | localhost |
| OCTO_PORT | No | Local API port | 58888 |
| OCTO_API_URL | No | Cloud API base URL; point at a mirror if the main host is fenced off | https://app.octobrowser.net/api/v2/automation |
| OCTO_PASSWORD | No | Account password for auto sign-in | |
| OCTO_USERNAME | No | Account email for auto sign-in | |
| OCTO_API_TOKEN | No | Cloud API token (search, tags, proxies) | |
| OCTO_LOG_LEVEL | No | Logging level: DEBUG / INFO / WARNING / … (logs go to stderr) | WARNING |
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 | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| octo_health_checkA | Check that the Octo Browser API is reachable. Call this first to verify the app is running. |
| octo_list_profilesA | List the profiles currently running on this machine, with UUID, title and ws_endpoint. |
| octo_start_profileA | Start a profile by UUID and return the ws_endpoint for the CDP connection. If the profile is already running, its current data is returned instead. |
| octo_stop_profileA | Stop a running Octo Browser profile by UUID. |
| octo_start_one_time_profileA | Create and start a one-time (temporary) profile. It is removed once stopped and starts faster than a regular profile, which suits scraping. |
| octo_find_profile_by_nameA | Find a profile by title. The API matches from the beginning of the title. Requires OCTO_API_TOKEN. |
| octo_start_profile_by_nameA | Find a profile by title and start it (find + start in one call). Requires OCTO_API_TOKEN. |
| octo_search_profilesB | Search profiles by title prefix or tags. Several tags mean AND. Requires OCTO_API_TOKEN. |
| octo_get_profileA | Get full profile data by UUID: fingerprint, proxy, extensions, description, tags. |
| octo_get_extensionsA | List the team's browser extensions with name, version and UUID. |
| octo_delete_extensionsA | Delete team extensions by UUID. Extensions in use by a running profile come back once that profile stops. |
| octo_get_tagsA | List all profile tags with name, color and UUID. |
| octo_get_proxiesA | List all saved proxies with type, host, port and UUID. |
| browser_connectA | Connect to a running Octo Browser profile over CDP. Call after octo_start_profile. |
| browser_disconnectA | Disconnect from the browser (does not stop the Octo profile). |
| browser_navigateC | Navigate to a URL. |
| browser_get_urlA | Get the current page URL. |
| browser_go_backA | Go back in browser history. |
| browser_go_forwardB | Go forward in browser history. |
| browser_reloadA | Reload the current page. |
| browser_clickA | Click an element by CSS selector, or click at (x, y) coordinates. |
| browser_typeA | Type text. With a selector the value is filled instantly; without one the text is typed key by key into the focused element. |
| browser_press_keyB | Press a keyboard key (Enter, Tab, Escape, ArrowDown, ...). |
| browser_scrollA | Scroll the page, or a specific element when a selector is given. |
| browser_hoverA | Hover over an element (useful for dropdowns and tooltips). |
| browser_selectB | Select an option in a dropdown. |
| browser_screenshotA | Take a screenshot of the page or of a single element. Returns a PNG. |
| browser_get_textB | Get the text content of an element. |
| browser_get_htmlA | Get the HTML of the page or of an element. |
| browser_get_attributeB | Get an attribute value from an element. |
| browser_query_selector_allC | Find all elements matching a selector and return their metadata. |
| browser_wait_for_selectorB | Wait for an element to reach a given state. |
| browser_evaluateA | Run JavaScript on the page and return the result. |
| browser_list_tabsA | List the open tabs with title, URL and active flag. |
| browser_switch_tabC | Switch to a tab by index. |
| browser_new_tabA | Open a new tab, optionally navigating to a URL. |
| browser_close_tabA | Close the current tab. |
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 37 tools
Most tools are clearly separated by resource and action, and the octo_/browser_ prefixes help organize the set. The only real confusion risk is among find_profile_by_name, search_profiles, and start_profile_by_name, though their descriptions do distinguish them.
The set mostly follows a verb_noun pattern with octo_ for profile management and browser_ for page automation. Minor deviations like octo_health_check and the overloaded behavior of browser_type keep it from being perfectly consistent.
37 tools is well beyond the typical well-scoped range and exceeds the 25+ threshold, making the surface heavy to reason about. The count is somewhat justified by combining profile management with browser automation, but as a single server it feels overgrown.
Browser automation is well covered with navigation, interaction, extraction, waiting, tabs, and JavaScript evaluation. Profile management, however, lacks create/update/delete for persistent profiles, and extensions/proxies/tags only support read or delete operations, leaving notable gaps.