
How to add MCP AOAI Web Browsing (browser-navigator) to Cursor
Minimal MCP server that drives a web browser via Playwright, with an Azure OpenAI / OpenAI client bridge. Paste the config into ~/.cursor/mcp.json and restart Cursor.
Last updated June 14, 2026 · 33★ · stdio · apikey
Cursor config for MCP AOAI Web Browsing (browser-navigator)
pip install uv && uv sync{
"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": "..."
}
}
}
}Setup steps
- 1Open Cursor → Settings → MCP → Add new MCP server (or edit ~/.cursor/mcp.json directly).
- 2Paste the MCP AOAI Web Browsing (browser-navigator) config below into the "mcpServers" object.
- 3Fill in placeholder secrets, then save.
- 4Cursor reloads MCP servers automatically — check Settings → MCP for a green status dot.
- 5Ask Cursor to use one of MCP AOAI Web Browsing (browser-navigator)'s tools to confirm it's connected.
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)
What MCP AOAI Web Browsing (browser-navigator) can do in Cursor
playwright_navigateNavigate to a URL (supports timeout and wait_until options).
playwright_screenshotTake a screenshot of the current page or a specific element.
playwright_clickClick an element on the page by CSS selector.
playwright_fillFill out an input field identified by a CSS selector.
playwright_selectSelect an option in a <select> element by CSS selector and value.
playwright_hoverHover over an element on the page by CSS selector.
playwright_evaluateExecute arbitrary JavaScript in the browser console.
extract_selector_by_page_contentUse the LLM to infer a CSS selector that best matches a user request from the current page's HTML content.
Security
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) + Cursor FAQ
Where is the Cursor config file?
Cursor reads MCP servers from ~/.cursor/mcp.json. Paste the MCP AOAI Web Browsing (browser-navigator) config there under the "mcpServers" key and restart the client.
Is MCP AOAI Web Browsing (browser-navigator) safe to use with Cursor?
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.
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.