Blinkwire
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| BLINKWIRE_HOST | No | Host where Chrome exposes CDP | 127.0.0.1 |
| BLINKWIRE_PORT | No | Port where Chrome exposes CDP | 9222 |
| BLINKWIRE_DEBUG | No | Emit timings into _meta | false |
| BLINKWIRE_LAUNCH | No | Spawn Chrome if nothing is listening | false |
| BLINKWIRE_PREFIX | No | Tool-name prefix | browser_ |
| BLINKWIRE_HEADLESS | No | Run browser in headless mode (only used with launch) | false |
| BLINKWIRE_MATCH_URL | No | Which existing tab to attach to by URL | |
| BLINKWIRE_OUTPUT_DIR | No | Where filename arguments are written | |
| BLINKWIRE_MATCH_INDEX | No | Which existing tab to attach to by index | |
| BLINKWIRE_MATCH_TITLE | No | Which existing tab to attach to by title | |
| BLINKWIRE_CDP_ENDPOINT | No | Full endpoint, e.g. http://127.0.0.1:9222 | |
| BLINKWIRE_CONSOLE_LEVEL | No | Minimum console severity | info |
| BLINKWIRE_SNAPSHOT_MODE | No | interactive | full | minimal | interactive |
| BLINKWIRE_USER_DATA_DIR | No | Profile dir (only used with launch) | |
| BLINKWIRE_SNAPSHOT_BOXES | No | Add [box=x,y,w,h] to every node | false |
| BLINKWIRE_TIMEOUT_SETTLE | No | Max ms to wait for the page to settle | 500 |
| BLINKWIRE_EXECUTABLE_PATH | No | Chrome/Edge binary path | |
| BLINKWIRE_IMAGE_RESPONSES | No | omit to suppress inline images | allow |
| BLINKWIRE_NETWORK_CAPTURE | No | Enable the Network domain (slower, but needed for browser_network_requests) | false |
| BLINKWIRE_MAX_OUTPUT_TOKENS | No | Hard cap on any single response | 6000 |
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
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| browser_navigateA | Navigate to a URL and wait for the page to settle. Resolves on the load event (or the SPA history event) instead of a fixed sleep. |
| browser_navigate_backA | Go back to the previous page in the history. |
| browser_navigate_forwardA | Go forward to the next page in the history. |
| browser_reloadA | Reload the current page. |
| browser_wait_forA | Wait for text to appear or disappear, or for a fixed time. Uses a MutationObserver, so it returns the instant the text shows up. |
| browser_snapshotA | Capture a compact, ref-tagged snapshot of the page. This is the primary way to read a page — cheaper and more reliable than a screenshot. Refs ([ref=eN]) are what you pass to click/type/hover. |
| browser_findA | Search the current snapshot for text or a regex and return matching lines with their refs. Far cheaper than re-reading the whole snapshot when you only need to locate one element. |
| browser_snapshot_diffA | Show only what changed since the last snapshot. The cheapest way to check the effect of an action — usually a handful of lines instead of a whole tree. |
| browser_clickA | Click an element. Pass a ref from browser_snapshot (e.g. "e4") or a CSS selector. Four CDP calls total — no polling. |
| browser_hoverA | Move the mouse over an element. Use it to reveal hover menus before clicking. |
| browser_typeA | Type text into an editable element. Fast path focuses and inputs text in bulk (Input.insertText) without per-character key events — use slowly:true only when the page needs real per-key events. |
| browser_press_keyA | Press a key or a modifier combo, e.g. "Enter", "ArrowLeft", "Control+A", "Shift+Tab". |
| browser_select_optionA | Select one or more options in a . One CDP call — sets the value and fires input/change. |
| browser_dragA | Drag and drop from one element to another. |
| browser_dropA | Drop files or MIME-typed data onto an element, as if dragged in from outside the page. |
| browser_file_uploadA | Set files on a file input. Point target at the input, or omit it to use the first file input on the page. |
| browser_handle_dialogA | Accept or dismiss a pending JavaScript dialog (alert, confirm, prompt or beforeunload). Call it right after the action that opened the dialog. |
| browser_fill_formA | Fill many form fields in ONE call. This is the fastest way to complete a form — one MCP round-trip and one settle for the whole form. |
| browser_mouse_move_xyA | Move the mouse to viewport coordinates (CSS pixels). |
| browser_mouse_click_xyA | Click at viewport coordinates. Prefer browser_click with a ref — coordinates break when the layout shifts. |
| browser_mouse_drag_xyC | Drag from one viewport coordinate to another. |
| browser_mouse_wheelA | Dispatch a wheel event. Prefer browser_scroll — it is a single round-trip instead of a synthetic scroll animation. |
| browser_scrollA | Scroll the page or an element. ONE round-trip (no synthetic wheel events), and it reports whether you hit the end. |
| browser_take_screenshotA | Capture the page as an image. Screenshots cost a lot of context — prefer browser_snapshot, and use this only when you need to see pixels. |
| browser_pdf_saveA | Print the current page to a PDF file. |
| browser_console_messagesA | Return console output captured since the last navigation. Filter by level or regex to keep it short. |
| browser_network_requestsA | List requests made since the page loaded. Off by default — restart with --network-capture if you need it (the Network domain is expensive). |
| browser_network_requestA | Show the headers and body of a single request, by the number printed by browser_network_requests. |
| browser_evaluateA | Run JavaScript in the page. Pass an arrow function as a string: "() => document.title". With target, the function receives the element. |
| browser_tabsA | List, create, close or select a browser tab. Prefer select over new when a matching tab already exists. |
| browser_closeA | Close the current tab. The browser itself is left running — Blinkwire does not own it. |
| browser_resizeA | Resize the browser window. Uses the real window bounds when a browser-level CDP connection is available, otherwise emulates the viewport. |
| browser_connectA | Attach Blinkwire to a Chrome instance exposing the DevTools Protocol. Use this to switch browsers or tabs without restarting the server. |
| browser_installA | Nothing to install. Blinkwire attaches to a Chrome you already run, so there is no browser download. Prints the exact setup steps. |
| browser_statusA | Show the attached browser, active target and buffer sizes. Cheap diagnostic — call it first when something looks wrong. |
| browser_get_configA | Return the resolved configuration after merging CLI flags and environment variables. |
| browser_cookie_listA | List cookies for the current page, optionally filtered by domain or path. |
| browser_cookie_getA | Read one cookie by name. |
| browser_cookie_setA | Create or overwrite a cookie on the current page. |
| browser_cookie_deleteC | Delete one cookie by name. |
| browser_cookie_clearA | Delete every cookie in the browser. |
| browser_localstorage_listA | List all localStorage key-value pairs for the current origin. |
| browser_localstorage_getB | Read one localStorage key. |
| browser_localstorage_setA | Write one localStorage key. |
| browser_localstorage_deleteC | Remove one localStorage key. |
| browser_localstorage_clearA | Remove every localStorage key for the current origin. |
| browser_sessionstorage_listA | List all sessionStorage key-value pairs for the current origin. |
| browser_sessionstorage_getC | Read one sessionStorage key. |
| browser_sessionstorage_setC | Write one sessionStorage key. |
| browser_sessionstorage_deleteA | Remove one sessionStorage key. |
| browser_sessionstorage_clearA | Remove every sessionStorage key for the current origin. |
| browser_network_state_setA | Go offline or back online. Useful for testing error paths. |
| browser_routeA | Stub responses for URLs matching a pattern. Restart mocking by re-adding the route. |
| browser_route_listA | Show the active mocked routes. |
| browser_unrouteA | Remove one mocked route, or all of them when no pattern is given. |
| browser_batchA | Run several Blinkwire actions in ONE call. This is the biggest latency and context win available: you pay one round-trip instead of N. Each step is {tool, args}. Tool names may be bare ("click") or prefixed (e.g. with your server prefix). By default only failures (and the last step) have their full output inlined — use |
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/81117105108108/Blinkwire'
If you have feedback or need assistance with the MCP directory API, please join our Discord server