Skip to main content
Glama
RawKnuck

microsoft-edge-mcp

by RawKnuck

Microsoft Edge MCP Server (microsoft-edge-mcp)

A native TypeScript/Node.js Model Context Protocol (MCP) server that provides low-level, high-performance control over the Microsoft Edge browser. Built using raw WebSockets (ws) to talk directly to Edge's Chrome DevTools Protocol (CDP) port, bypassing heavy automation layers like Playwright or Puppeteer.


Features

🌟 Core CDP Capabilities

Full parity with chrome-devtools-mcp but optimized for Edge:

  • Navigation: navigate_page (url, back, forward, reload)

  • Interaction: click, fill, fill_form (multi-field), hover, drag, press_key, type_text

  • Page Management: list_pages, new_page, select_page (reconnects active target), close_page

  • Observation: take_screenshot (viewport/full page/element clip), take_snapshot (Accessibility Tree + lightweight DOM outline fallback)

  • Execution: evaluate_script (JS execution in page context)

  • Console & Network: list_console_messages, get_console_message, list_network_requests, get_network_request (captures response bodies)

  • Tracing & Performance: performance_start_trace, performance_stop_trace, performance_analyze_insight

πŸŒ€ Edge-Exclusive Capabilities

Dedicated integration hooks exploiting Microsoft Edge's unique feature set:

  • edge_open_sidebar β€” Opens specific sidebar panels (e.g., Copilot, Tools, Shopping) using internal Edge hooks or keyboard shortcuts.

  • edge_toggle_ie_mode β€” Toggles Internet Explorer mode for legacy compatibility testing.

  • edge_list_sleeping_tabs / edge_wake_tab β€” Exposes Edge's sleeping/discarded tab management states.

  • edge_add_to_collections β€” Adds the current page to the user's Edge Collections.

  • edge_add_to_reading_list β€” Integrates with Edge's reading list.

  • edge_web_capture β€” Triggers Edge's native web clipping tool (Ctrl+Shift+S).

  • edge_open_settings β€” Direct deep-links to browser internal settings page (edge://settings/<path>).

  • edge_check_compat β€” Inspects the active document for IE/EdgeHTML compatibility meta tags and rendering modes.


Related MCP server: mcp-playwright

Enforced Design Principles (Ponytail senior dev style)

  • Zero Automation Wrappers: No Puppeteer, Playwright, or Selenium. Automation goes through raw CDP JSON-RPC over WebSockets.

  • Binary Search Sequence: Finds Edge by searching EDGE_PATH env var ➑️ OS Registry (Windows) ➑️ OS-specific default paths ➑️ which msedge.

  • Dynamic Port Allocation: Launches debugging on port 9222. If busy, it automatically increments to 9223, using isolated port-specific user-data profiles to avoid locking conflicts.

  • Best-Effort Edge Tools: Where Edge lacks native CDP hooks for UI features, fallback keyboard shortcut injections (Input.dispatchKeyEvent) or Runtime.evaluate scripts are used, marked cleanly with ponytail: comments mapping ceilings and upgrade paths.


File Structure

microsoft-edge-mcp/
β”œβ”€β”€ package.json
β”œβ”€β”€ tsconfig.json
β”œβ”€β”€ README.md
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ index.ts           # MCP server entry, stdio transport, tool registrations
β”‚   β”œβ”€β”€ edge.ts            # Binary detection + auto-launch + port scanning
β”‚   β”œβ”€β”€ cdp.ts             # Raw WebSocket CDP client & connection utilities
β”‚   └── tools/
β”‚       β”œβ”€β”€ navigation.ts  # navigate_page
β”‚       β”œβ”€β”€ interaction.ts # click, hover, drag, press_key, type_text
β”‚       β”œβ”€β”€ capture.ts     # take_screenshot, take_snapshot
β”‚       β”œβ”€β”€ evaluate.ts    # evaluate_script
β”‚       β”œβ”€β”€ network.ts     # list_network_requests, get_network_request
β”‚       β”œβ”€β”€ console.ts     # list_console_messages, get_console_message
β”‚       β”œβ”€β”€ pages.ts       # list_pages, new_page, select_page, close_page
β”‚       β”œβ”€β”€ forms.ts       # fill, fill_form
β”‚       β”œβ”€β”€ perf.ts        # performance_*
β”‚       └── edge/          # Edge-exclusive tool handlers
β”‚           β”œβ”€β”€ sidebar.ts
β”‚           β”œβ”€β”€ ie_mode.ts
β”‚           β”œβ”€β”€ sleeping_tabs.ts
β”‚           β”œβ”€β”€ collections.ts
β”‚           β”œβ”€β”€ reading_list.ts
β”‚           β”œβ”€β”€ web_capture.ts
β”‚           β”œβ”€β”€ settings.ts
β”‚           └── compat.ts
└── self-check.ts          # Dependency-free integration tests

Installation & Setup

Prerequisites

  • Node.js (Latest LTS recommended)

  • Microsoft Edge installed on the host machine

One-Line Auto-Install (Via GitHub)

To automatically download, compile, and configure this MCP server inside your Antigravity and Claude Desktop config files in a single command, run:

npx -y github:RawKnuck/microsoft-edge-mcp --install

Local Installation & Registration (Cloned)

If you have cloned the repository locally, you can build the project and auto-register it with both Antigravity and Claude Desktop by running:

npm run configure

Alternatively, to manually build and test:

  1. Install dependencies:

    npm install
  2. Compile TypeScript:

    npm run build
  3. Run Automated Self-Checks:

    node build/self-check.js

Agent Setup & Compatibility

This MCP server is built using standard Model Context Protocol stdio transport, ensuring compatibility with all major agentic platforms.

1. Antigravity (Google DeepMind Agentic IDE)

  • Automatic Configuration: Run the one-line install command above. It automatically registers the server in ~/.gemini/config/mcp_config.json.

  • Manual Configuration: Open your ~/.gemini/config/mcp_config.json (or select "Manage MCP Servers" -> "View raw config" in the agent panel) and add:

    {
      "servers": {
        "microsoft-edge-mcp": {
          "command": "npx",
          "args": ["-y", "github:RawKnuck/microsoft-edge-mcp"]
        }
      }
    }

2. Claude Desktop

  • Automatic Configuration: Run the one-line install command above. It automatically registers the server in your claude_desktop_config.json.

  • Manual Configuration: Add the following to your claude_desktop_config.json:

    {
      "mcpServers": {
        "microsoft-edge-mcp": {
          "command": "npx",
          "args": ["-y", "github:RawKnuck/microsoft-edge-mcp"]
        }
      }
    }

3. Cursor

  1. Go to Settings > Features > MCP.

  2. Click + Add New MCP Server.

  3. Fill in the following fields:

    • Name: microsoft-edge-mcp

    • Type: command

    • Command: npx -y github:RawKnuck/microsoft-edge-mcp

  4. Click Save.

4. Windsurf

  1. Go to Settings > Advanced > MCP.

  2. Click Add Server.

  3. Fill in the following fields:

    • Name: microsoft-edge-mcp

    • Type: command

    • Command: npx -y github:RawKnuck/microsoft-edge-mcp

  4. Click Save.

5. Cline / Roo Code (VS Code Extensions)

Open your extension settings file (e.g., cline_mcp_settings.json or roo_code_mcp_settings.json) and append:

{
  "mcpServers": {
    "microsoft-edge-mcp": {
      "command": "npx",
      "args": ["-y", "github:RawKnuck/microsoft-edge-mcp"]
    }
  }
}

6. Aider

Create or update your .aider.conf.yml file to include:

mcp-servers:
  microsoft-edge-mcp:
    command: npx
    args: ["-y", "github:RawKnuck/microsoft-edge-mcp"]

7. Claude Code (CLI Agent)

Run the following command in your terminal to register the server:

/plugin add github:RawKnuck/microsoft-edge-mcp
F
license - not found
-
quality - not tested
A
maintenance

Maintenance

–Maintainers
–Response time
–Release cycle
1Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    -
    quality
    D
    maintenance
    A Model Context Protocol server implementation that enables browser automation through standardized MCP clients, supporting features like navigation, element interaction, and screenshots across Chrome, Firefox, and Edge browsers.
    Last updated
    1,065
    MIT
  • A
    license
    B
    quality
    C
    maintenance
    πŸš€ Active Fork of executeautomation/mcp-playwright This repository is an actively maintained continuation of the original MCP Playwright server: >πŸ‘‰ https://github.com/executeautomation/mcp-playwright A Model Context Protocol server that provides browser automation capabilities using Playwright.
    Last updated
    32
    22,383
    1
    MIT
  • A
    license
    B
    quality
    C
    maintenance
    An MCP server based on Puppeteer and Chrome DevTools Protocol for advanced browser debugging, performance analysis, and memory detection. It enables users to inspect DOM elements, monitor console errors, capture screenshots, and perform heap snapshot analysis through persistent browser connections.
    Last updated
    10
    41
    1
    MIT

View all related MCP servers

Related MCP Connectors

  • MCP server for understanding Javascript internals from ECMAScript specification.

  • A TypeScript MCP server for Home Assistant, enabling programmatic management of entities, automati…

  • Managed LinkedIn MCP server for AI agents: search, connect, message and enrich on accounts you own.

View all MCP Connectors

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/RawKnuck/microsoft-edge-mcp'

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