MCP Directory

MCP AOAI Web Browsing (browser-navigator)

Minimal MCP server that drives a web browser via Playwright, with an Azure OpenAI / OpenAI client bridge.

Unverified
stdio (local)
API key
Python

Add to your client

Copy the config for your MCP client and paste it into its config file.

Install / run
pip install uv && uv sync

Paste into ~/Library/Application Support/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "mcp-aoai-web-browsing-browser-navigator": {
      "command": "uv",
      "args": [
        "run",
        "fastmcp",
        "run",
        "./server/browser_navigator_server.py:app"
      ],
      "env": {
        "AZURE_OPEN_AI_ENDPOINT": "...",
        "AZURE_OPEN_AI_API_KEY": "...",
        "AZURE_OPEN_AI_DEPLOYMENT_MODEL": "...",
        "AZURE_OPEN_AI_API_VERSION": "..."
      }
    }
  }
}

Step-by-step guides: Add to Claude Desktop · Add to Cursor · Add to Windsurf

Before you start

  • Python with uv (pip install uv, then uv sync)
  • Playwright browser(s) installed
  • Azure OpenAI credentials (AZURE_OPEN_AI_ENDPOINT, AZURE_OPEN_AI_API_KEY, AZURE_OPEN_AI_DEPLOYMENT_MODEL, AZURE_OPEN_AI_API_VERSION) — or standard OpenAI (OPENAI_API_KEY, OPENAI_MODEL)

About MCP AOAI Web Browsing (browser-navigator)

A minimal MCP server/client sample that lets an LLM control a web browser through Playwright. The FastMCP server exposes navigation, interaction, and screenshot tools; a bundled client bridge converts these tools to OpenAI function-calling format for use with Azure OpenAI or OpenAI, and can also be driven by external MCP clients such as Claude Desktop, Claude Code, and VS Code over stdio.

Tools & capabilities (9)

playwright_navigate

Navigate to a URL (supports timeout and wait_until options).

playwright_screenshot

Take a screenshot of the current page or a specific element.

playwright_click

Click an element on the page by CSS selector.

playwright_fill

Fill out an input field identified by a CSS selector.

playwright_select

Select an option in a <select> element by CSS selector and value.

playwright_hover

Hover over an element on the page by CSS selector.

playwright_evaluate

Execute arbitrary JavaScript in the browser console.

extract_selector_by_page_content

Use the LLM to infer a CSS selector that best matches a user request from the current page's HTML content.

read_all_screenshots

Long-running tool that reads all screenshots from a list of file names, reporting progress.

What this server can do

MCP AOAI Web Browsing (browser-navigator) provides tools for these capabilities — tap one to see every MCP server that does the same:

When to use it

  • Letting an AI assistant navigate websites and click/fill forms to complete web tasks
  • Automated end-to-end web testing driven by natural-language instructions
  • Capturing screenshots of pages or specific elements during an agent workflow
  • Learning how to bridge an MCP server to OpenAI/Azure OpenAI function calling

Security notes

Requires Azure OpenAI (or OpenAI) credentials supplied via environment variables (e.g. AZURE_OPEN_AI_API_KEY / OPENAI_API_KEY). Keep these out of source control — rename .env.template to .env or inject them via the client's env block. The playwright_evaluate tool executes arbitrary JavaScript in the controlled browser, so only point it at trusted pages.

MCP AOAI Web Browsing (browser-navigator) FAQ

Does it work with standard OpenAI, or only Azure OpenAI?

Both. The default config targets Azure OpenAI, but the client bridge also supports standard OpenAI via get_openai_llm_config() and OPENAI_API_KEY / OPENAI_MODEL environment variables.

Can I use it with Claude Desktop or Claude Code instead of the bundled client?

Yes. The README provides mcpServers config for Claude Desktop (claude_desktop_config.json) and Claude Code (.claude/mcp.json), plus a VS Code (.vscode/mcp.json) variant, all launching the server over stdio with uv run fastmcp.

Why does it require uv specifically?

The author notes that during the December 2024 development phase the MCP CLI did not yet fully support pip or poetry, so the project is initialized and run with uv.

Is this an official Microsoft or OpenAI project?

No. It is an independent, minimal sample implementation by kimtth, licensed MIT. It wraps Playwright (Microsoft) and Azure OpenAI/OpenAI but is not maintained by those vendors.

Alternatives to MCP AOAI Web Browsing (browser-navigator)

Compare all alternatives →

Automate your existing browser with AI using your real profile, logged-in sessions, and stealth fingerprint.

Unverified
stdio (local)
No auth
Stale
TypeScript
13 tools
Updated 1 year agoRepo

All-in-one web access MCP — Web Unlocker, SERP, Scraper API, and a cloud Scraping Browser.

Verified
stdio (local)
API key
JavaScript
12 tools
Updated 26 days agoRepo

macOS screen capture, AI visual analysis, and full GUI automation for AI agents.

Unverified
stdio (local)
API key
Swift
28 tools
Updated 3 days agoRepo

Compare MCP AOAI Web Browsing (browser-navigator) with: