Skip to content

Configuration Reference

All jshookmcp parameters have built-in defaults — most users need no extra configuration. To override, choose the method that matches your installation:

Configuration Methods

npx / MCP Users (No .env file needed)

Pass environment variables in your MCP client config's env field:

json
{
  "mcpServers": {
    "jshook": {
      "command": "npx",
      "args": ["-y", "@jshookmcp/jshook@latest"],
      "env": {
        "MCP_TOOL_PROFILE": "workflow",
        "PUPPETEER_HEADLESS": "true"
      }
    }
  }
}

Source Developers

After cloning the repo, create a .env file in the project root (see .env.example). Runtime auto-loads it; unset variables fall back to built-in defaults in src/utils/config.ts.

.env.example is only a template — it is not auto-loaded at runtime. The process reads the repository-root .env file.

Full configuration reference

Runtime configuration is defined by src/utils/config.ts. The current runtime does not read DEFAULT_LLM_PROVIDER, OPENAI_*, or ANTHROPIC_* variables that appeared in older documentation.

1. Browser and Puppeteer

VariablePurposeDefault / Typical value
PUPPETEER_HEADLESSControls whether browsers launch in headless mode.code default false
PUPPETEER_TIMEOUTDefault Puppeteer timeout in milliseconds.30000
PUPPETEER_EXECUTABLE_PATHExplicit browser executable path.no default
CHROME_PATHAlternate browser executable path variable.no default
BROWSER_EXECUTABLE_PATHAnother alternate browser executable path variable.no default
CAPTCHA_SCREENSHOT_DIRFallback directory for CAPTCHA screenshots../screenshots/captcha
MCP_SCREENSHOT_DIRRoot directory for regular screenshots../screenshots
MCP_DEBUGGER_SESSIONS_DIRDirectory used for persisted debugger sessions../debugger-sessions
MCP_EXTENSION_REGISTRY_DIRPersistent directory for extension registry state../artifacts/extension-registry
MCP_TLS_KEYLOG_DIRDirectory used for generated TLS key log files../artifacts/tmp
MCP_REGISTRY_CACHE_DIRLocal cache directory for remote extension indexes.~/.jshookmcp/cache
CAPTCHA_PROVIDERDefault CAPTCHA solving provider.manual
CAPTCHA_API_KEYAPI key for automatic CAPTCHA solving providers.no default
CAPTCHA_SOLVER_BASE_URLBase URL for the external CAPTCHA solver service.no default
CAPTCHA_2CAPTCHA_BASE_URLAlternate base URL for 2Captcha-compatible solvers.no default
CAPTCHA_DEFAULT_TIMEOUT_MSDefault CAPTCHA wait timeout.180000
CAPTCHA_MIN_TIMEOUT_MSMinimum CAPTCHA timeout.5000
CAPTCHA_MAX_TIMEOUT_MSMaximum CAPTCHA timeout.600000
CAPTCHA_MAX_RETRIESMaximum CAPTCHA solve retries.5
CAPTCHA_DEFAULT_RETRIESDefault CAPTCHA solve retries.2

2. Server identity and logging

VariablePurposeDefault / Typical value
MCP_SERVER_NAMEPublic server name announced by the process.jshookmcp
MCP_SERVER_VERSIONPublic server version announced by the process.0.1.8 (example value)
LOG_LEVELLogging verbosity.info
RUNTIME_ERROR_WINDOW_MSRecovery window length for runtime error counting.60000
RUNTIME_ERROR_THRESHOLDRecoverable error threshold inside the runtime error window.8
SHUTDOWN_TIMEOUT_MSGraceful shutdown timeout in milliseconds.20000

3. Profiles, search, and tool selection

VariablePurposeDefault / Typical value
MCP_TOOL_PROFILESelects the tool profile: search, workflow, or full.default: search
MCP_TOOL_DOMAINSExplicit domain allowlist; overrides MCP_TOOL_PROFILE when set.no default
SEARCH_INTENT_TOOL_BOOST_RULES_JSONJSON override for explicit intent-to-tool ranking boosts.no default
MCP_DEFAULT_PLUGIN_BOOST_TIERDefault tier for plugin auto-registration during boost.full
SEARCH_AUTO_ACTIVATE_DOMAINSAuto-activate a domain when its tool is searched.true
SEARCH_VECTOR_ENABLEDMaster switch for embedding-based search signal (BGE-micro-v2).true
SEARCH_VECTOR_MODEL_IDHuggingFace model ID for embedding inference.Xenova/bge-micro-v2
SEARCH_VECTOR_COSINE_WEIGHTInitial weight of the vector cosine signal in RRF fusion.0.69
SEARCH_VECTOR_DYNAMIC_WEIGHTSelf-tune vector weight based on tool-call feedback.true
SEARCH_VECTOR_LEARN_UPWeight step-up when selected tool is in vector top-N.0.07
SEARCH_VECTOR_LEARN_DOWNWeight step-down when selected tool is outside vector top-N.0.02
SEARCH_VECTOR_LEARN_TOP_NRank threshold separating "hit" from "miss" for learning.6

4. Transport, HTTP, and security

VariablePurposeDefault / Typical value
MCP_TRANSPORTSelects transport mode: stdio or http.stdio
MCP_HOSTHTTP bind host.127.0.0.1
MCP_PORTHTTP bind port.3000
MCP_AUTH_TOKENEnables Bearer token auth.no default
MCP_ALLOW_INSECUREAllows insecure HTTP binding behavior on non-localhost.disabled by default
MCP_MAX_BODY_BYTESMaximum HTTP JSON request body size.10 * 1024 * 1024
MCP_RATE_LIMIT_WINDOW_MSHTTP rate limit window size.60000
MCP_RATE_LIMIT_MAXMaximum requests per rate limit window.60
MCP_HTTP_REQUEST_TIMEOUT_MSHTTP request timeout.30000
MCP_HTTP_HEADERS_TIMEOUT_MSHTTP headers timeout.10000
MCP_HTTP_KEEPALIVE_TIMEOUT_MSHTTP keep-alive timeout.60000
MCP_HTTP_FORCE_CLOSE_TIMEOUT_MSForce-close grace timeout.5000
MCP_RATE_LIMIT_ENABLEDSet to false / 0 to disable HTTP rate limiting.enabled by default
MCP_TRUST_PROXYSet to true / 1 to trust X-Forwarded-For header.disabled by default
MCP_HEALTH_VERBOSESet to true / 1 for verbose health-check output.disabled by default

5. Extension roots, signatures, and registry

VariablePurposeDefault / Typical value
MCP_PLUGIN_ROOTSComma-separated plugin roots.typical example: ./plugins,./dist/plugins
MCP_WORKFLOW_ROOTSComma-separated workflow roots.typical example: ./workflows
MCP_PLUGIN_ALLOWED_DIGESTSPre-import SHA-256 allowlist for plugin files.no default
MCP_PLUGIN_SIGNATURE_REQUIREDRequires plugin signatures.stricter by default in production
MCP_PLUGIN_SIGNATURE_SECRETHMAC secret used for plugin signature verification.no default
MCP_PLUGIN_STRICT_LOADEnables strict extension loading behavior.stricter by default in production
EXTENSION_REGISTRY_BASE_URLBase URL for browse_extension_registry and install_extension.https://raw.githubusercontent.com/vmoranv/jshookmcpextension/master/registry

6. Bridges and platform endpoints

VariablePurposeDefault / Typical value
BURP_MCP_SSE_URLBurp official MCP SSE bridge URL.http://127.0.0.1:9876/sse
GHIDRA_BRIDGE_URLGhidra REST bridge endpoint.http://127.0.0.1:18080
IDA_BRIDGE_URLIDA Pro bridge endpoint.http://127.0.0.1:18081
DEFAULT_DEBUG_PORTDefault debug port used for remote-debugging launches.9222

7. Cache, token budget, and performance

VariablePurposeDefault / Typical value
ENABLE_CACHEEnables disk-backed caching.code default false
CACHE_DIRCache directory..cache
CACHE_TTLCache TTL in seconds.3600
CACHE_GLOBAL_MAX_SIZE_BYTESMaximum total cache size.524288000
TOKEN_BUDGET_MAX_TOKENSMaximum token budget.200000
DETAILED_DATA_DEFAULT_TTL_MSDefault TTL for detailed data entries.1800000
DETAILED_DATA_MAX_TTL_MSMaximum TTL for detailed data entries.3600000
DETAILED_DATA_SMART_THRESHOLD_BYTESThreshold for auto-summarizing detailed data.51200
MAX_CONCURRENT_ANALYSISMax concurrent analysis jobs.3
MAX_CODE_SIZE_MBMax code payload size for analysis.10
jshook_IO_CONCURRENCYI/O concurrency limit.4
jshook_CPU_CONCURRENCYCPU concurrency limit.2
jshook_CDP_CONCURRENCYCDP concurrency limit.2

8. Worker pool and parallel scheduling

VariablePurposeDefault / Typical value
WORKER_POOL_MIN_WORKERSMinimum worker count.2
WORKER_POOL_MAX_WORKERSMaximum worker count.4
WORKER_POOL_IDLE_TIMEOUT_MSWorker idle timeout.30000
WORKER_POOL_JOB_TIMEOUT_MSWorker job timeout.15000
PARALLEL_DEFAULT_CONCURRENCYDefault parallel execution width.3
PARALLEL_DEFAULT_TIMEOUT_MSDefault parallel timeout.60000
PARALLEL_DEFAULT_MAX_RETRIESDefault parallel retry count.2
PARALLEL_RETRY_BACKOFF_BASE_MSBase retry backoff for parallel jobs.1000

9. External tools, sandboxing, and symbolic execution

VariablePurposeDefault / Typical value
EXTERNAL_TOOL_TIMEOUT_MSTotal external tool timeout.30000
EXTERNAL_TOOL_PROBE_TIMEOUT_MSExternal tool probe timeout.5000
EXTERNAL_TOOL_PROBE_CACHE_TTL_MSProbe cache TTL for external tools.60000
EXTERNAL_TOOL_FORCE_KILL_GRACE_MSGrace period before force-killing an external tool.2000
EXTERNAL_TOOL_MAX_STDOUT_BYTESMax stdout bytes captured from external tools.10485760
EXTERNAL_TOOL_MAX_STDERR_BYTESMax stderr bytes captured from external tools.1048576
SANDBOX_EXEC_TIMEOUT_MSSandbox execution timeout.5000
SANDBOX_MEMORY_LIMIT_MBSandbox memory limit.128
SANDBOX_STACK_SIZE_MBSandbox stack size.4
SANDBOX_TERMINATE_GRACE_MSSandbox termination grace timeout.2000
SYMBOLIC_EXEC_MAX_PATHSMaximum symbolic execution path count.100
SYMBOLIC_EXEC_MAX_DEPTHMaximum symbolic execution depth.50
SYMBOLIC_EXEC_TIMEOUT_MSSymbolic execution timeout.30000
PACKER_SANDBOX_TIMEOUT_MSPacker sandbox timeout.3000

10. LLM token budgets for analysis routines

VariablePurposeDefault / Typical value
ADV_DEOBF_LLM_MAX_TOKENSMax tokens for advanced deobfuscation prompts.3000
VM_DEOBF_LLM_MAX_TOKENSMax tokens for VM deobfuscation prompts.4000
DEOBF_LLM_MAX_TOKENSMax tokens for general deobfuscation prompts.2000
CRYPTO_DETECT_LLM_MAX_TOKENSMax tokens for crypto detection prompts.2000

11. Workflow batch and bundle cache tuning

VariablePurposeDefault / Typical value
WORKFLOW_BATCH_MAX_RETRIESDefault max retries for workflow batch operations.3
WORKFLOW_BATCH_MAX_TIMEOUT_MSDefault max timeout for workflow batch operations.300000
WORKFLOW_BUNDLE_CACHE_TTL_MSWorkflow bundle cache TTL.300000
WORKFLOW_BUNDLE_CACHE_MAX_BYTESWorkflow bundle cache size cap.104857600

12. Memory operations

VariablePurposeDefault / Typical value
MEMORY_READ_TIMEOUT_MSMemory read timeout.10000
MEMORY_MAX_READ_BYTESMax bytes for one memory read.16777216
MEMORY_WRITE_TIMEOUT_MSMemory write timeout.10000
MEMORY_MAX_WRITE_BYTESMax bytes for one memory write.16384
MEMORY_DUMP_TIMEOUT_MSMemory dump timeout.60000
MEMORY_SCAN_TIMEOUT_MSMemory scan timeout.120000
MEMORY_SCAN_MAX_BUFFER_BYTESMax buffer bytes used during memory scan.52428800
MEMORY_SCAN_MAX_RESULTSMax memory scan results.10000
MEMORY_SCAN_MAX_REGIONSMax scanned memory regions.50000
MEMORY_SCAN_REGION_MAX_BYTESMax bytes per scanned region.16777216
MEMORY_INJECT_TIMEOUT_MSInjection timeout.30000
MEMORY_MONITOR_INTERVAL_MSMemory monitor polling interval.1000
MEMORY_VMMAP_TIMEOUT_MSMemory map query timeout.15000
MEMORY_PROTECTION_QUERY_TIMEOUT_MSMemory protection query timeout.15000
MEMORY_PROTECTION_PWSH_TIMEOUT_MSPowerShell memory protection query timeout.30000
NATIVE_ADMIN_CHECK_TIMEOUT_MSNative admin privilege check timeout.5000
NATIVE_SCAN_MAX_RESULTSMax native scan results.10000
PROCESS_LAUNCH_WAIT_MSWait after launching a debug process.2000
WIN_DEBUG_PORT_POLL_ATTEMPTSWindows debug-port poll attempts.20
WIN_DEBUG_PORT_POLL_INTERVAL_MSWindows debug-port poll interval.500
ENABLE_INJECTION_TOOLSEnable memory injection tools.true

13. ADB bridge and binary instrumentation

VariablePurposeDefault / Typical value
ADB_PATHPath to adb binary.adb (from PATH)
ADB_DEFAULT_TIMEOUT_MSDefault ADB command timeout.30000
ADB_SHELL_TIMEOUT_MSADB shell command timeout.60000
ADB_WEBVIEW_HTTP_TIMEOUT_MSADB WebView HTTP timeout.5000
ADB_WEBVIEW_WS_TIMEOUT_MSADB WebSocket timeout.10000
ADB_VERSION_CHECK_TIMEOUT_MSADB version check timeout.5000
UNIDBG_JARPath to Unidbg JAR file for emulation.no default
JAVA_HOMEJava runtime path (used by Unidbg/Ghidra).no default
FRIDA_TIMEOUT_MSFrida instrumentation timeout.15000
GHIDRA_TIMEOUT_MSGhidra analysis timeout.120000
UNIDBG_TIMEOUT_MSUnidbg emulation timeout.60000

14. Domain-specific tuning

VariablePurposeDefault / Typical value
GRAPHQL_MAX_PREVIEW_CHARSMax preview chars for GraphQL responses.4000
GRAPHQL_MAX_SCHEMA_CHARSMax schema size for introspection.120000
GRAPHQL_MAX_QUERY_CHARSMax query length.12000
NETWORK_REPLAY_TIMEOUT_MSNetwork request replay timeout.30000
NETWORK_REPLAY_MAX_BODY_BYTESMax body size for replayed requests.512000
NETWORK_REPLAY_MAX_REDIRECTSMax redirects for replayed requests.5
WASM_TOOL_TIMEOUT_MSWASM tool general timeout.60000
WASM_OFFLINE_RUN_TIMEOUT_MSWASM offline run timeout.10000
WASM_OPTIMIZE_TIMEOUT_MSWASM optimization timeout.120000
EMULATOR_FETCH_GOTO_TIMEOUT_MSEmulator page navigation timeout.30000
DEBUGGER_WAIT_FOR_PAUSED_TIMEOUT_MSTimeout waiting for debugger paused state.30000
WATCH_EVAL_TIMEOUT_MSWatch expression evaluation timeout.5000

15. Platform, security, and schema

VariablePurposeDefault / Typical value
JSHOOK_REGISTRY_PLATFORMOverride platform detection (win32/linux/darwin).auto-detected
JSHOOK_REDACTION_LEVELOutput redaction level (none/standard/strict).standard
JSHOOK_ENABLE_MOJO_IPCEnable Chromium Mojo IPC monitoring.disabled by default
JSHOOK_FORCE_LINUX_FALLBACKForce Linux browser fallback behavior.disabled by default
ALLOW_LOCAL_SSRFAllow local-network SSRF targets.disabled by default
MCP_COMPACT_SCHEMAUse compact tool schema output.true
DISCOVERY_STRICTStrict mode for domain manifest discovery.disabled by default
JSHOOK_CONNECT_TIMEOUT_MSBrowser connection timeout.60000

Released under AGPL-3.0-only