Shade Browser Security MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| HEADED | No | Set to 1 to force a visible browser window regardless of DISPLAY/WAYLAND_DISPLAY. | |
| BW_SESSION | No | Bitwarden session token used when SHADE_INGEST_BW=1; passed only through the MCP/Brave launcher environment. | |
| SHADE_INGEST_BW | No | Set to 1 to run ~/bin/bw-ensure.sh when BW_SESSION is absent and pass the resulting BW_SESSION through to the browser launcher. | |
| SHADE_PROFILE_MODE | No | Set to 'persistent' to use persistent per-slot profiles that survive launches. | default |
| SHADE_BUILD_REVISION | No | Immutable build revision injected into the server for runtime identity checks via browser_runtime_status. | unknown |
| SHADE_DASHBOARD_TOKEN | No | Bearer token required to authenticate with the Shade Fleet Console (dashboard command). Read from this environment variable. |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| browser_os_input_clickC | Click via OS input on a private per-slot X display only. |
| browser_network_requestsA | Get recent network requests (useful for debugging API calls). |
| form_scanC | Scan the current page for fillable form fields and gate controls. |
| browser_leak_checkA | Check for IP, DNS, and WebRTC leaks. Run after every tunnel assignment. |
| browser_use_tunnelB | Launch a browser slot through a Shade VPN tunnel. |
| browser_use_residentialA | Launch a browser slot through a residential proxy in a chosen region (premium). |
| browser_solve_challengeA | Solve a detected Cloudflare Turnstile challenge via an external solver (premium). |
| browser_use_torA | Launch a browser slot through Tor for .onion browsing. |
| browser_rotate_ipB | Rotate to a new tunnel exit IP. Optionally preserves session state. |
| browser_apply_personalityB | Apply or regenerate a stealth personality profile for a browser slot. |
| browser_cdp_commandC | Execute a raw CDP command. |
| browser_network_interceptA | Capture network requests with full request/response bodies. |
| browser_ws_monitorB | Install WebSocket monitoring. Logs all WS frames via prototype patching. |
| browser_web3_monitorA | Install window.ethereum monitoring. Logs all wallet RPC calls. |
| browser_inject_signerB | Inject a minimal EIP-1193 wallet provider. No MetaMask needed. |
| browser_webauthn_bypassA | Create a virtual WebAuthn authenticator via CDP. Bypasses most WebAuthn. |
| browser_passive_reconC | Run passive reconnaissance against a domain. |
| browser_inject_passkeyC | Inject a Bitwarden passkey into an isolated slot and keep it alive. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/Atlas-X-AI/shade-browser-security'
If you have feedback or need assistance with the MCP directory API, please join our Discord server