Notte-MCP: Browser Control for LLM Agents via the Model Context Protocol
A lightweight MCP server that gives LLMs full browser automation powers — from web scraping to form-filling and multi-step workflows.
Large Language Models (LLMs) like Claude and tools like Cursor are powerful — but inherently limited. Without external tools, they can't interact with the real web, access live data, or perform complex multi-step tasks. That’s where the Model Context Protocol (MCP) comes in.
MCP allows AI systems to break free from their limitations by interfacing with external services through dedicated servers. Notte builds on this, enabling browser control capabilities.
What Is Notte?
Notte is a full-stack framework for building, deploying, and scaling web-native AI agents. We transform the internet into an agent-friendly environment, turning any website into a structured, navigable map described in natural language.
At the core of our platform is a unique perception layer that enables AI agents to "see" and understand web interfaces just like a human would. With a single API, you can power intelligent agents capable of acting, navigating, and extracting data from any web page.
Why MCP Exists: A Universal Interface for LLMs
What if LLMs could use any tool without custom code?
That’s what the Model Context Protocol (MCP) unlocks — a shared protocol that allows LLMs like Claude or ChatGPT to interact with external tools without custom engineering. Today, tool-augmented LLMs like Perplexity or ManusAI are powerful but brittle. Each tool requires its own integration. As the toolset grows, so does the engineering overhead.
MCP changes that — it acts as a standard interface, making tools interoperable and stackable.
Introducing the Notte-MCP Server
To bridge LLMs and browser control, we've developed the Notte-MCP server — a lightweight implementation of the MCP protocol, purpose-built for browser automation. This allows systems like Claude and Cursor to act on your behalf directly from a chat interface.
By integrating with our server, LLMs gain real browser control capabilities, including:
Creating instant browser sessions
Running automated agents
Observing and acting on websites
Securing and managing credentials
This mirrors the capabilities of the Notte-API and enables AI systems to handle more complex tasks.
Notte API vs. Notte-MCP: Granular Control vs. High-Level Intent
Notte offers three ways to interact with the web:
Notte API — granular end-points like /observe to get the current state of a page and its available actions, /step to take actions on a page, and /scrape to extract structured data from a page.
These are ideal when you want full control, similar to using a remote control for a TV — where you manually press each button in sequence.
Notte SDK — a Python wrapper around the API that simplifies usage.
Notte-MCP — a higher-level abstraction.
Instead of manually calling each endpoint, MCP lets you issue a single intent (e.g., "log into Stripe and download last month’s invoice") and it handles the chaining under the hood. Think of it like using voice commands for a TV: “Put on Channel 5 and raise volume by 10.” The system figures out the sequence for you.
MCP abstracts away the step-by-step logic and lets AI systems operate at the level of intentions.
The Power of Standardisation
Without an MCP server, every time an LLM wants to use a tool, someone has to manually write the code. Tools don’t talk the same language. With MCP, all tools follow a shared format — like USB for hardware or HTML for webpages. That standardisation is the unlock:
LLMs can read schemas like manuals
Tools can plug-and-play into multi-agent systems
Real-World Use Cases
With Notte-MCP, LLMs can:
Provide enhanced coding assistance by fetching real-time documentation
Pull answers from Stack Overflow or discussions from Hacker News
Complete repetitive forms using built-in authentication
Download files and resources from websites
Collect data from sites without public APIs
Automate multi-step research workflows
Browser Support and Execution Modes
Notte-MCP supports both Chromium and Firefox, giving developers flexibility in their environment. Agents can operate in either headless or visual mode, depending on your use case — ideal for debugging or stealth automation.
Built-in Retry Logic
Failures happen. Whether it's a slow-loading page or an interrupted session, Notte-MCP includes robust retry logic to handle transient issues and ensure more reliable automation.
How It Works: Technical Setup
Setting up the Notte-MCP server is straightforward and requires minimal configuration for existing Claude or Cursor users. The implementation integrates seamlessly with AI workflows and provides a consistent API interface.
To get started:
export NOTTE_API_KEY="your-api-key"
pip install notte-mcp
python -m notte_mcp.server #start the MCP server
This launches a local server on port 8000
. You can then configure Claude Desktop or Cursor to connect to it using:
{
"mcpServers": {
"notte-mcp": {
"url": "http://localhost:8000/sse",
"env": {
"NOTTE_API_KEY": "your-notte-api-key"
}
}
}
}
Follow the official docs for more detailed setup:
Workflow Example
Let’s say you want Claude to:
Search Hacker News for “LangChain”
Click the top result
Scrape the comment section
Save it to Notion
Using Notte-MCP, this entire workflow can be run from a single natural-language prompt, with Notte handling the browser steps and page structure automatically. You get structured data and semantic action support out of the box.
Looking Forward
As we continue developing Notte, we see tremendous potential for integration with various AI systems. The ability to control browsers opens up new possibilities for automation, research, and assistance that weren't previously possible with standalone LLM systems.
We aim to bridge with gap through open-source, reflecting our commitment to collaborative development and community-driven innovation. We believe these tools reach their full potential when developers can freely build upon and extend them.
Explore Further
[This article was last updated on May 27, 2025. For the latest features and improvements, check the version releases or our changelog via twitter.]
Would love to hear more about real-world application/use-cases. A demo or even workflow summary would be really useful - particularly if referenced against competitors to highlight to competitive advantage of notte.
Would also be great to hear if there’s a specific niche or area that your team are planning to target with future development work.