ie-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| IE_PYDEPS | No | Extra sys.path dir for vendored selenium. | ../.pydeps |
| IE_NO_LOCK | No | Set to 1/true/yes to disable the single-browser lock. | |
| IE_LOG_FILE | No | If set, also append [ie-mcp] logs to this file. | |
| IE_EDGE_PATH | No | Path to msedge.exe. | C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe |
| IE_LOCK_FILE | No | Cross-process single-browser lock file. | %TEMP%\ie_mcp.lock |
| IE_SITE_LIST | No | Path to an Edge IE-mode site-list XML. | |
| IE_DEFAULT_URL | No | URL ie_open uses when none is given. | about:blank |
| IE_DRIVER_PATH | No | Path to IEDriverServer.exe. | per-user cache path |
| IE_PAGE_TIMEOUT | No | Per-page load timeout (seconds). | 30 |
| IE_ATTACH_RETRIES | No | IEDriver attach attempts. | 3 |
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 |
|---|---|
| ie_openB | Start (or reuse) an Edge IE-mode session and navigate to a URL (default IE_DEFAULT_URL). Keeps the session alive for later calls. |
| ie_gotoC | Navigate the current IE-mode session to a new URL. |
| ie_statusA | Session state as JSON: active/alive, title, url, window_handles, and the interaction mode, session identity/directory, and owned browser PIDs/profile. |
| ie_browsersA | List ALL Edge IE-mode windows and IEDriver processes open on the machine, flagging which one THIS session owns (mine=true) and which are orphans. Use to see leftover browsers from prior/other runs. |
| ie_kill_orphansA | Terminate only IE-mode Edge / IEDriver processes recorded for crashed ie-mcp sessions. Never kills browsers owned by live agents or unknown processes. |
| ie_framesA | List the frames/iframes of the current page (index, name, id, src). Use the index or name with the 'frame' arg of other tools. |
| ie_textC | Get visible text of the page or of a specific frame. |
| ie_htmlC | Get the HTML source of the page or of a specific frame. |
| ie_clickB | Click an element (auto-waits). 'by' is id/css/xpath/name/link_text/tag/class. action: click (default) | double | right. |
| ie_fillC | Type text into an input/textarea element (auto-waits). |
| ie_uploadC | Set a file by sending a local file path. |
| ie_dialogA | Handle a JS dialog (alert/confirm/prompt). action: accept (default) | dismiss | text | sendkeys (with text). Note: OS-level IE modals may be unreachable. |
| ie_jsC | Execute JavaScript in the page or a frame and return the result. |
| ie_screenshotA | Capture a PNG screenshot of the IE-mode window, or of a single element if by/value are given (returned as an image; optionally saved to save_path). |
| ie_wait_textA | Poll until a specific substring appears in the page text (for slow async content). Scans all frames unless 'frame' is given; returns which frame matched + a preview. For 'is the page loaded?' use ie_wait_ready instead. |
| ie_wait_readyA | Wait until the page finishes loading: every same-origin frame's document.readyState is 'complete' AND the DOM stops changing for a few polls (content settled). Handles slow async/frameset content. Use THIS to know content is ready, then search the data separately. Do NOT wait for a specific value to detect load — if it's absent you can't tell 'still loading' from 'not present'. Returns loaded=true/false with frame count, text length, element count and a content sample. |
| ie_selectC | Select an in a dropdown, by label (visible text), option_value, or index. Provide exactly one of label/option_value/index. |
| ie_press_keyA | Press a key on an element (if by/value given) or the active element. Key names: Enter, Tab, Escape, Space, Backspace, Delete, Up/Down/Left/Right, Home, End, PageUp, PageDown, F5 — or a literal character. |
| ie_backC | Navigate back in browser history. |
| ie_forwardC | Navigate forward in browser history. |
| ie_hoverC | Hover the mouse over an element (for menus/tooltips). |
| ie_resizeB | Resize the browser window (useful for consistent screenshots). |
| ie_getC | Read an element's text (default), its 'value', or a named attribute/property. Set attr=text|value|. |
| ie_wait_elementA | Wait for an element (by/value) to appear — or, with gone=true, to disappear. Use before acting on slow-rendering content. |
| ie_scrollA | Scroll: bring an element into view (by/value), scroll page/container to top|bottom (to=...), or by pixels (dx/dy). Needed for virtualized grids. |
| ie_gridA | Extract a tabular grid as structured rows. Auto-picks the table with the most multi-cell rows (or pass table_id). Returns headers + rows (header-keyed dicts when the header row is detected/given). App-agnostic. |
| ie_sleepA | Sleep for N seconds (last resort; prefer ie_wait_ready / ie_wait_text). |
| ie_closeA | Close the IE-mode session and quit the browser. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 28 tools
Each tool targets a distinct action or state in browser automation, with clear separation between navigation, waiting, interaction, and data extraction. No two tools have overlapping purposes that would cause confusion for an agent.
All tools follow the 'ie_' prefix with a consistent verb_noun pattern (e.g., ie_press_key, ie_wait_element). No mixing of naming conventions, making the set predictable.
28 tools is on the high side, but each tool addresses a specific need in IE-mode automation (e.g., waiting, scrolling, grids). The count feels justified given the complexity of the domain.
The tool set covers the full lifecycle of browser automation: navigation, page state, element interaction, waiting, dialogs, JavaScript, screenshots, and structured data extraction. No obvious gaps for typical web automation tasks.