Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
PROXY_PASSNoPassword for proxy authentication
PROXY_USERNoUsername for proxy authentication
PROXY_SERVERNoThe proxy server URL (e.g., http://1.2.3.4:8080 or socks5://1.2.3.4:1080)

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

CapabilityDetails
tools
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
list_pagesB

List all open browser pages/tabs

new_pageC

Create a new browser page/tab, optionally navigating to a URL

select_pageC

Set a page as the active page for subsequent operations

close_pageC

Close a browser page/tab

navigate_pageC

Navigate to a URL or go back/forward/reload

take_snapshotC

Take a text snapshot of the page with interactive element UIDs for targeting

take_screenshotC

Take a screenshot of the page or a specific element

evaluate_mainworldA

Execute JavaScript in the page's MAIN execution context (same as browser DevTools console).

USE THIS TOOL WHEN YOU NEED TO:

  • Access window globals like window.NUXT, window.NEXT_DATA, window.APP_STATE

  • Read framework hydration state (Next.js, Nuxt.js, Vue, React, etc.)

  • Access variables/functions defined by the page's own scripts

  • Interact with third-party libraries loaded by the page (jQuery, etc.)

CRITICAL LIMITATIONS:

  • NO async/await support - scripts must be SYNCHRONOUS only

  • NO Promise, fetch(), setTimeout callbacks

  • Script will be REJECTED if it contains async patterns

EXAMPLES:

  • "window.NUXT" → Returns Nuxt.js state

  • "window.NEXT_DATA" → Returns Next.js props

  • "typeof jQuery !== 'undefined' ? jQuery.fn.jquery : null" → Check jQuery version

evaluate_isolatedA

Execute JavaScript in an ISOLATED context (sandboxed, separate from page scripts).

USE THIS TOOL WHEN YOU NEED TO:

  • Make async operations (fetch, setTimeout, Promises)

  • Query/manipulate the DOM without affecting page state

  • Run code that shouldn't interfere with page scripts

  • Perform async data extraction or waiting

LIMITATIONS:

  • CANNOT access window globals (window.NUXT, etc. will be undefined)

  • CANNOT call functions defined by page scripts

  • Only has access to DOM and standard browser APIs

EXAMPLES:

  • "await fetch('/api/data').then(r => r.json())" → Make API calls

  • "document.querySelectorAll('.item').length" → Count elements

  • "await new Promise(r => setTimeout(r, 1000))" → Wait/delay

get_framework_stateC

Extract Next.js/Nuxt.js hydration state from the page

clickC

Click an element by its UID from snapshot

hoverC

Hover over an element by its UID

fillC

Fill a form field (input, textarea, select) by its UID

fill_formC

Fill multiple form fields at once

press_keyC

Press a keyboard key or combination

dragC

Drag an element to another element

wait_forC

Wait for text or selector to appear on the page

wait_for_navigationC

Wait for page navigation to complete

dismiss_popupsA

Dismiss cookie consent popups and overlays

get_page_textC

Extract text content from the page

reload_settingsC

Reload settings from config file

get_config_pathsB

Get all config file paths (user config, package default, active)

init_user_configA

Initialize user config directory (~/.config/camoufox-mcp) with default settings

start_recordingC

Start recording user interactions (clicks, scrolls, inputs)

stop_recordingC

Stop recording and return captured actions

get_recording_statusC

Get current recording status

start_network_captureC

Start capturing network requests

stop_network_captureB

Stop capturing network requests

get_network_logsC

Get captured network request logs

clear_network_logsC

Clear captured network logs

intercept_networkC

Intercept and block/modify network requests

remove_interceptC

Remove network intercept rules

start_console_captureC

Start capturing browser console messages

stop_console_captureB

Stop capturing console messages

get_console_logsC

Get captured console messages

clear_console_logsB

Clear captured console logs

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

B3.1/5.0

Scored across 36 tools

Disambiguation3/5

Most tools have distinct purposes, but there is some overlap that could cause confusion. For example, 'evaluate_isolated' and 'evaluate_mainworld' both execute JavaScript but in different contexts, which is clarified in descriptions, yet their similar names might lead to misselection. Tools like 'fill' and 'fill_form' also have overlapping functionality, though 'fill_form' handles multiple fields. Overall, descriptions help differentiate, but some boundaries are unclear.

Naming Consistency4/5

Tool names largely follow a consistent verb_noun pattern (e.g., 'clear_console_logs', 'get_page_text', 'start_recording'), making them predictable and readable. There are minor deviations, such as 'evaluate_isolated' and 'evaluate_mainworld' using adjectives instead of nouns, and 'init_user_config' using 'init' instead of a more standard verb like 'initialize'. However, the overall naming scheme is coherent and easy to follow.

Tool Count2/5

With 36 tools, the count is excessive for a browser automation server, leading to potential cognitive overload and reduced usability. A typical well-scoped server in this domain should have 10-20 tools; this set includes many granular operations (e.g., separate tools for starting/stopping console and network capture) that could be consolidated. The high number makes the tool surface feel heavy and less intuitive for agents.

Completeness5/5

The tool set provides comprehensive coverage for browser automation, including navigation, interaction (click, hover, drag), form handling, JavaScript execution, logging, network control, and state management. It supports full CRUD-like operations for logs and captures, and there are no obvious gaps—tools like 'wait_for' and 'wait_for_navigation' ensure robust workflow support. The domain is well-covered without dead ends.

Maintenance

ActivityInactive
ResponsivenessNo issues