Grasp is an open-source and self-hosted agentic browser. With built-in support for MCP and A2A support, it can seamlessly integrate with any other AI apps or agents.
Here’s a quick example of how Grasp works seamlessly with Claude Desktop to make planning your next Airbnb trip:
https://github.com/user-attachments/assets/b55b5f76-4faa-45b9-a5ab-4c4295dfdf19
Some of the key features include:
- Isolated browser environment. Grasp is dockerized, ensuring it never interferes with your local workspace. It can be easily hosted on your machine or in the cloud.
- Human-like automation. Grasp operates the browser just like a real human. You can even provide credentials for the agent to log in and retrieve personalized content.
- Natural language control. No code needed — simply describe what you want in plain language, and the agent will handle the rest.
Quick Start
🐳 Before you start:
Make sure Docker is installed and running on your machine.
Run the following commands to pull and start Grasp:
- Pull the image
- Run the container
Replace YOUR_ANTHROPIC_KEY with your actual Anthropic API Key.
Once the container is running, open http://localhost:3000 in your browser to access the Grasp console.
Using other providers
You can use providers other than Anthropic.
To use a different provider, copy the .env.example
file to .env
and set the corresponding environment variables. Then run Grasp using .env
file:
The supported providers are:
- Anthropic
- OpenAI
- Amazon Bedrock
- Azure OpenAI
Supporting more providers are working in progress. Free free to file an issue to request a new provider.
Enable secure auto-login
Grasp can automatically log in to websites for you. This makes it easier to retrieve personalized content or take actions on websites that require authentication. E.g. star a repo on GitHub, check in to a system, get your following list on X, etc.
The action to input your credentials is performed locally, and your password will NOT be sent to any LLM, so it's secure and safe.
To enable the auto-login:
- Copy the
.credentials.example.yml
file to.credentials.yml
and fill in your credentials for each website.
- Create a
browser-user-data
directory to store the browser's user data. This will enable the persistent mode so you don't need to login again.
- Run Grasp by mounting the
.credentials.yml
file andbrowser-user-data
directory.
Stay in the Loop
Grasp is moving fast — we're shipping new features, expanding integrations, and refining the agent experience every week. ⭐ Star the repo to stay updated and support the project!
Tutorials
- Connect Claude Desktop to Grasp: Use Grasp as a local MCP tool server and enable Claude to operate the browser.
- Connect agent to Grasp: Integrate Grasp via A2A for agent-to-agent browser automation.
Community
We’d love to hear from you。
Join the Discord to share ideas, ask questions, or just hang out.
License
Licensed under the the BSL-1.1 license.
This server cannot be installed
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
An open-source self-hosted browser agent that provides a dockerized browser environment for AI automation, allowing other AI apps and agents to perform human-like web browsing tasks through natural language instructions.
Related MCP Servers
- AsecurityFlicenseAqualityEnables AI agents to interact with web browsers using natural language, featuring automated browsing, form filling, vision-based element detection, and structured JSON responses for systematic browser control.Last updated -146Python
- -securityFlicense-qualityEnables AI agents to control web browsers via a standardized interface for operations like launching, interacting with, and closing browsers.Last updated -0JavaScript
- -securityFlicense-qualityA web browser automation server that allows AI assistants to control Chrome with persistent state management, enabling complex browsing tasks through asynchronous browser operations.Last updated -1Python
- -securityAlicense-qualityAI-driven browser automation server that implements the Model Context Protocol to enable natural language control of web browsers for tasks like navigation, form filling, and visual interaction.Last updated -1PythonMIT License