Tool Discovery
Claudezilla can load its MCP tool catalog lazily or eagerly. Choose the mode that matches how your MCP client discovers tools. ## Lazy discovery (`lazy`) Lazy mode is the default for Claude Code. The server initially exposes only `firefox_activate`, saving approximately 6,400 context tokens when browser automation is not immediately needed. After activation, the server sends `notifications/tools/list_changed`, allowing a client with dynamic discovery to refresh its tool list. Call the gateway before a category-specific tool: ```js firefox_activate({ category: "core" }) ``` ## Eager discovery (`all`) Use eager mode for omp, Hermes Agent, Pi Agent, and standard mcp clients that discover tools once during startup. Enable it with any of these equivalent settings: ```bash node /path/to/claudezilla/mcp/server.js --all-tools node /path/to/claudezilla/mcp/server.js --tools all CLAUDEZILLA_TOOL_MODE=all node /path/to/claudezilla/mcp/server.js ``` CLI arguments take precedence over `CLAUDEZILLA_TOOL_MODE`; absent either setting, the mode is `lazy`. In eager mode, `firefox_activate` remains in the catalog as a backward-compatible no-op that reports the already-active categories. ## `firefox_activate` schema ```json { "name": "firefox_activate", "arguments": { "category": "core" } } ``` `category` is optional and defaults to `core`. Activation is additive: later calls can load additional categories. | Category | Includes | |---|---| | `core` | Navigation, clicking, typing, scrolling, screenshots, page state, and tabs | | `devtools` | Console logs, network requests, JavaScript evaluation, accessibility | | `inspection` | Page content, element details, waits, and page-state diffs | | `multiagent` | Tab-space requests, grants, and reservations | | `loop` | Focus-loop start, stop, and status | | `config` | Viewport, privacy, consent, and window configuration | | `diagnose` | Connection health diagnostics | | `all` | Every category | Category groups include `core` automatically for `devtools`, `inspection`, `multiagent`, `loop`, and `config`; `diagnose` is standalone, and `all` expands to the full catalog. ## Why tools may appear missing If only `firefox_activate` appears, the tools are not missing. The server is running in lazy mode and has not loaded the requested category yet. Call `firefox_activate`, or configure eager mode with `--all-tools` for a startup-only discovery client.Claudezilla can load its MCP tool catalog lazily or eagerly. Choose the mode that matches how your MCP client discovers tools.
Lazy discovery (lazy)
Section titled “Lazy discovery (lazy)”Lazy mode is the default for Claude Code. The server initially exposes only firefox_activate, saving approximately 6,400 context tokens when browser automation is not immediately needed. After activation, the server sends notifications/tools/list_changed, allowing a client with dynamic discovery to refresh its tool list.
Call the gateway before a category-specific tool:
firefox_activate({ category: "core" })Eager discovery (all)
Section titled “Eager discovery (all)”Use eager mode for omp, Hermes Agent, Pi Agent, and standard mcp clients that discover tools once during startup. Enable it with any of these equivalent settings:
node /path/to/claudezilla/mcp/server.js --all-toolsnode /path/to/claudezilla/mcp/server.js --tools allCLAUDEZILLA_TOOL_MODE=all node /path/to/claudezilla/mcp/server.jsCLI arguments take precedence over CLAUDEZILLA_TOOL_MODE; absent either setting, the mode is lazy. In eager mode, firefox_activate remains in the catalog as a backward-compatible no-op that reports the already-active categories.
firefox_activate schema
Section titled “firefox_activate schema”{ "name": "firefox_activate", "arguments": { "category": "core" }}category is optional and defaults to core. Activation is additive: later calls can load additional categories.
| Category | Includes |
|---|---|
core | Navigation, clicking, typing, scrolling, screenshots, page state, and tabs |
devtools | Console logs, network requests, JavaScript evaluation, accessibility |
inspection | Page content, element details, waits, and page-state diffs |
multiagent | Tab-space requests, grants, and reservations |
loop | Focus-loop start, stop, and status |
config | Viewport, privacy, consent, and window configuration |
diagnose | Connection health diagnostics |
all | Every category |
Category groups include core automatically for devtools, inspection, multiagent, loop, and config; diagnose is standalone, and all expands to the full catalog.
Why tools may appear missing
Section titled “Why tools may appear missing”If only firefox_activate appears, the tools are not missing. The server is running in lazy mode and has not loaded the requested category yet. Call firefox_activate, or configure eager mode with --all-tools for a startup-only discovery client.