AI GitHub
Playwright MCP for agent browser tools
Expose browser navigation and interaction through a Model Context Protocol server.
Key Takeaways
- The server gives an MCP client browser actions and can expose structured accessibility snapshots.
- Use a supported MCP client and set an explicit browser profile policy.
- Connect it to an MCP client and interact with a local fixture page.
- Browser tools can operate with active credentials.
How it works
The server gives an MCP client browser actions and can expose structured accessibility snapshots. A client can choose an action based on the page structure and inspect the updated state.
What you need
Use a supported MCP client and set an explicit browser profile policy. The server exposes actions to that client, which must decide what the agent may call.
What to try first
Connect it to an MCP client and interact with a local fixture page. Test an element with an accessible label and another with ambiguous structure to see what the model receives.
Change an accessible name while leaving screen layout untouched. The resulting snapshot helps show how much an automation depends on semantic labels.
Where to look for failures
Browser tools can operate with active credentials. Use isolated profiles for evaluation and enforce action permissions at the client and browser boundaries.
Related Franklin pages
Hold the browser task constant and compare the observation and action layers. An explicit selector, a structured browser snapshot and a model-chosen action fail in different ways.
- Let a model navigate a browser and act on page elements. Browser Use for model-driven web tasks
- Combine explicit browser steps with natural-language actions, extraction and observation. Stagehand for code and model-assisted browser automation
For an agent interface that reaches mobile apps, see Franklin’s guide to Phone-Use. Phone-Use
Project documentation
Try it for your workflow
Explore the project’s documentation for setup and usage, or save this page to a collection for later.
Read the project documentation ↗