microsoft-edge-mcp
A native TypeScript/Node.js MCP server providing low-level, high-performance control over Microsoft Edge via raw CDP WebSockets, bypassing heavy automation layers like Playwright or Puppeteer.
README
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.
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_PATHenv var ā”ļø OS Registry (Windows) ā”ļø OS-specific default paths ā”ļøwhich msedge. - Dynamic Port Allocation: Launches debugging on port
9222. If busy, it automatically increments to9223, 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) orRuntime.evaluatescripts are used, marked cleanly withponytail: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:
- Install dependencies:
npm install - Compile TypeScript:
npm run build - 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
- Go to Settings > Features > MCP.
- Click + Add New MCP Server.
- Fill in the following fields:
- Name:
microsoft-edge-mcp - Type:
command - Command:
npx -y github:RawKnuck/microsoft-edge-mcp
- Name:
- Click Save.
4. Windsurf
- Go to Settings > Advanced > MCP.
- Click Add Server.
- Fill in the following fields:
- Name:
microsoft-edge-mcp - Type:
command - Command:
npx -y github:RawKnuck/microsoft-edge-mcp
- Name:
- 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
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.