Skip to main content
Glama
wukaka

camoufox-jsreverser-mcp

by wukaka

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
LLM_API_KEYNoAPI key for the chosen LLM provider.
LLM_BASE_URLNoBase URL for openai-compatible provider; optional for others.
LLM_PROVIDERNoLLM provider: 'openai', 'anthropic', or 'openai-compatible'. Leave empty to disable LLM tools.
CAMOUFOX_PATHNoPath to Camoufox binary. Default: /Applications/Camoufox.app/Contents/MacOS/camoufox (macOS)
GECKODRIVER_PATHNoPath to geckodriver binary. Default: /usr/local/bin/geckodriver. Apple Silicon: /opt/homebrew/bin/geckodriver
LLM_DEFAULT_MODELNoDefault model ID for LLM tools.

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
check_browser_healthA

Verify Firefox is connected and BiDi reports ready.

list_pagesB

List browsing contexts (tabs and iframes) currently open in Firefox.

new_pageC

Open a new browsing context (tab).

select_pageB

Set the active browsing context for subsequent tool calls.

navigate_pageC

Navigate the current context to a URL, or perform reload / back / forward.

list_framesA

List frames (top + iframes) under the active page as a flat array.

select_frameB

Set the active frame (iframe) context for subsequent tool calls. Pass empty string to clear.

take_screenshotC

Take a screenshot of the active page as base64 PNG.

get_performance_metricsA

Get W3C performance metrics from the active page (navigation timing + paint). M3 adds engine-level metrics behind the same tool.

list_scriptsA

List script resources loaded on the active page (URL + size). Does not include inline blocks; M3 RDP version will.

get_script_sourceA

Get the source of a script by URL. Fetches via the page (BiDi limitation; CORS may block cross-origin). Cached.

find_in_scriptA

Find string or regex pattern in a single cached script. Use get_script_source first to populate the cache.

search_in_scriptsA

Search a string or regex across ALL cached scripts. Populate the cache with get_script_source first.

search_in_sourcesA

Alias of search_in_scripts. M3 RDP version differentiates by including dynamically-evaluated sources too.

create_hookB

Create a hook definition. Use inject_hook to attach it to the page or workers.

inject_hookC

Inject a created hook into the page or worker(s). target: "page" | "worker:" | "all-workers" (default "page").

get_hook_dataB

Read collected samples for a hook. Optionally limit count and filter by timestamp.

list_hooksA

List all registered hooks with their injection status and sample count.

remove_hookC

Remove a hook and its preload script registration.

hook_functionB

Create and inject a hook in one call. Convenience wrapper around create_hook + inject_hook.

unhook_functionC

Alias for remove_hook (kept for compatibility with the original CDP project naming).

trace_functionA

Trace a function: hook with capture preset [args, return, stack]. Convenience wrapper for call-chain debugging.

list_network_requestsA

List network requests collected since session start. Filter by URL substring, method, or response presence.

get_network_requestA

Get full details of a single network request by ID. Optionally fetch its body via networkObserver.getData.

get_request_initiatorB

Get the initiator info for a request. Returns BiDi initiator + (when M3 initiatorTracer is wired) normalized {type, stack[{scriptUrl,line,column,functionName?}]}.

break_on_xhrB

Install a hook that issues debugger; when XHR/fetch URL matches the pattern. v1 fires only if DevTools is open; M3 RDP wires the actual debugger pause.

remove_xhr_breakpointA

Remove an XHR/fetch breakpoint registered by break_on_xhr.

get_storageA

Read cookies, localStorage, sessionStorage, and IndexedDB names for the active page.

save_session_stateB

Snapshot cookies + localStorage + sessionStorage of all known window realms into an in-memory snapshot.

restore_session_stateC

Restore a previously saved snapshot back into the browser (cookies + localStorage + sessionStorage).

dump_session_stateB

Export a named snapshot as a JSON string (for writing to disk).

load_session_stateC

Load a snapshot from a JSON string (previously produced by dump_session_state).

list_session_statesA

List all named session snapshots in memory.

delete_session_stateB

Delete a named session snapshot from memory.

get_dom_structureA

Get a flattened summary of the DOM tree (up to depth 4, 20 children per node).

query_domC

CSS selector query against the active page. Returns shared node references.

find_clickable_elementsB

Find all clickable elements (links, buttons, role=button, onclick, submit inputs) on the active page.

click_elementC

Click a DOM element identified by its sharedId.

type_textC

Type text into a DOM element identified by its sharedId.

wait_for_elementC

Wait for a CSS selector to match an element on the active page.

list_console_messagesC

Return console log entries from the active session. Optionally limit and filter by level.

get_console_messageA

Get a single console entry by index.

evaluate_scriptC

Evaluate a JS expression in a window realm of the active (or specified) context.

monitor_eventsC

Start a monitor for RDP resource types (console-message, error-message, network-event, source, document-event, etc.).

stop_monitorA

Stop a monitor previously started by monitor_events.

list_websocket_connectionsC

List active WebSocket connections detected on the page.

get_websocket_messageC

Get a single frame by wsid + frameIndex.

get_websocket_messagesC

Get multiple frames for a wsid with optional filters.

analyze_websocket_messagesC

Cluster frames by byte-signature heuristic. v1 local-only; no LLM.

list_workersA

List workers (dedicated, shared, service) visible on the active page. M3 RDP version adds offline worker detection.

select_workerA

Set the active worker realm. Pass empty string to clear. Used as default target by hook tools.

set_breakpointA

Set a breakpoint by source URL + line (+ optional column). columnTolerance > 0 enables multi-hit auto-resume until the paused column falls within ± tolerance of the requested column.

set_breakpoint_on_textA

Set a breakpoint by searching for a text string in cached sources (+ optional sourceUrl filter). columnTolerance > 0 enables multi-hit auto-resume.

remove_breakpointB

Remove an existing breakpoint by its bpId.

list_breakpointsA

List all currently registered breakpoints.

pauseA

Pause script execution in the debugger thread.

resumeA

Resume script execution after a pause.

step_overC

Step over the current statement (skips into function calls).

step_intoC

Step into the current function call.

step_outA

Step out of the current function, resuming until the caller.

get_paused_infoA

Get information about the current paused state (callframe, location, why). Fails if not paused.

evaluate_on_callframeA

Evaluate a JavaScript expression in the context of the current paused callframe. Throws if not paused.

inspect_objectC

Inspect an RDP object grip: preview + prototype + own properties (+ optional internal slots).

set_javascript_enabledA

Enable or disable JavaScript execution for a browsing context. Per-context scope via BiDi emulation.setScriptingEnabled — does not affect other tabs.

set_csp_enabledA

Enable or disable CSP enforcement for a browsing context. Per-context scope via BiDi browsingContext.setBypassCSP — when enabled=false, bypass is set so inline injections succeed.

inject_stealthC

Apply a stealth preset via BiDi preload. Default: firefox-default.

inject_stealth_hookA

Render a stealth-hardened wrap (Function.toString masking + channel-emitting Proxy) over one or more dotted global paths, optionally with performance.now/Date.now timing neutralisation, then install via BiDi preload. Main world only — use inject_stealth_to_workers for worker realms.

inject_stealth_to_workersA

Push a stealth preset (default firefox-default) into every dedicated/shared worker realm via post-start eval. With watch:true (default) subscribes to new-worker events for the rest of the session.

list_stealth_featuresB

List the stealth features the capability knows about.

list_stealth_presetsB

List the stealth presets the capability knows about.

inject_preload_scriptB

Inject arbitrary preload JavaScript via BiDi script.addPreloadScript. Source runs before page scripts.

set_user_agentC

Override the User-Agent string for a browsing context via BiDi emulation.setUserAgentOverride.

understand_codeB

Use an LLM to explain what a JS snippet does. Returns LlmNotConfigured cleanly when no provider is set.

summarize_codeC

Use an LLM to produce a bullet-list summary of a JS snippet. Returns LlmNotConfigured when no provider is set.

deobfuscate_codeB

Apply local AST transforms (constant fold / string array decrypt / dead-code / control-flow hint) to deobfuscate a JS snippet.

detect_cryptoB

Run static crypto-algorithm signature rules (AES/RC4/MD5/SHA*/Base64/HMAC/RSA/SM*) against inline source or a cached script.

analyze_targetC

Summarize cached scripts: crypto signature hits + sensitive API usage. Filter by URL substring.

risk_panelB

Aggregate risk signals across cached scripts: crypto, exfil, fingerprint, storage writes, dynamic eval. Returns weighted score.

collect_codeC

Fetch and cache the source of every script URL on the active page. If urls/urlSubstring given, only those are collected.

export_rebuild_bundleC

Bundle cached scripts + hook samples + network samples + env probes into artifacts/tasks//.

diff_env_requirementsA

Diff two pip-style requirement files. Returns added / removed / changed / unchanged buckets plus counts.

record_reverse_evidenceC

Append a reverse-engineering evidence record to artifacts/tasks//runtime-evidence.jsonl.

export_session_reportA

Render a Markdown summary of the current session (scripts / requests / hooks / evidence) into artifacts/tasks//report.md.

collection_diffB

Diff two keyed collections (scripts / requests / hooks). Items with the same key but different hash become "changed". Used by evidence comparisons.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

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/wukaka/camoufox-jsreverser-mcp'

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