# babelwrap-mcp [Health: Active]

**Category:** 📂 Browser Automation  
**Repository:** https://github.com/babelwrap/babelwrap-mcp  
**GitHub Stars:** 0  
**Views:** 0  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/babelwrap-mcp

## Description
MCP server for BabelWrap — give AI agents web browsing superpowers.

## Tools
Capabilities this server exposes over MCP:

- **babelwrap_new_session** — Create a new browser session for web interaction.
- **babelwrap_close_session** — Close and clean up a browser session.
- **babelwrap_navigate** — Navigate to a URL and get a structured snapshot of the page.
- **babelwrap_snapshot** — Get the current page state as a structured snapshot without taking any action.
- **babelwrap_click** — Click an element on the page using a natural language description.
- **babelwrap_fill** — Fill an input field with a value.
- **babelwrap_submit** — Submit a form on the current page.
- **babelwrap_extract** — Extract structured data from the current page using a natural language query.
- **babelwrap_screenshot** — Take a screenshot of the current page (for debugging).
- **babelwrap_press** — Press a keyboard key on the current page.
- **babelwrap_upload** — Upload a file to a file input element on the page.
- **babelwrap_hover** — Hover over an element on the page.
- **babelwrap_back** — Navigate back in the browser history.
- **babelwrap_forward** — Navigate forward in the browser history.
- **babelwrap_scroll** — Scroll the page up or down.
- **babelwrap_wait_for** — Wait for a condition on the page before proceeding.

Useful after clicking a button that triggers async loading, SPA navigation,
or any action where you need to wait for specific content to appear.
- **babelwrap_list_pages** — List all open pages (tabs/popups) in this browser session.

Use this to discover tabs opened by popups or target="_blank" links,
then switch to them with babelwrap_switch_page.
- **babelwrap_switch_page** — Switch to a different page (tab/popup) within this session.

Use babelwrap_list_pages first to see available pages and their indices.

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `uvx` (confidence: high):

```json
"mcpServers": {
  "babelwrap-mcp": {
    "command": "uvx",
    "args": ["babelwrap-mcp"],
    "env": {
      "BABELWRAP_API_KEY": "",
      "BABELWRAP_API_URL": ""
    }
  }
}
```

**Requires environment variables:** `BABELWRAP_API_KEY`, `BABELWRAP_API_URL` — the values above are empty placeholders; fill in real credentials before running (see the repository for what each one is for).

## Documentation

## What babelwrap-mcp MCP server does

The babelwrap-mcp MCP server gives an MCP-compatible AI client access to browser sessions provided by the BabelWrap API. Agents can open and close sessions, visit URLs, inspect the current page state, and perform common browser actions. Supported interactions include clicking elements, filling and submitting forms, pressing keyboard keys, scrolling, hovering, waiting for conditions, and navigating backward through browser history.

The server also supports structured extraction and screenshots. File uploads are available through a dedicated tool, and multi-tab workflows can use page listing and page switching. This makes the server relevant for browser tasks that require a sequence of observations and actions, such as completing a web form, collecting page data, or inspecting several open pages.

## How it works

An MCP client starts the `babelwrap-mcp` command and communicates with the server through MCP. The server uses the supplied BabelWrap API key to connect to BabelWrap’s API, whose default base URL is `https://api.babelwrap.com/v1`. Browser state is organized around sessions: an agent creates a session, performs navigation or interaction operations, reads page state or extracted data, and closes the session when finished.

The available tools cover the browser lifecycle and page operations separately. `babelwrap_snapshot` reports the current page state, while action tools such as `babelwrap_click`, `babelwrap_fill`, and `babelwrap_submit` change the page. `babelwrap_wait_for` can pause an operation until a condition is met. `babelwrap_list_pages` and `babelwrap_switch_page` support workflows involving multiple tabs.

## Setup and configuration

Install the package with one of these supported approaches:

- Run it without a local package installation using `uvx babelwrap-mcp`.
- Install it with `pip install babelwrap-mcp`.
- Install it in an isolated environment with `pipx install babelwrap-mcp`.

A BabelWrap account and API key are required. Set the key as `BABELWRAP_API_KEY` in the MCP client environment. `BABELWRAP_API_URL` is optional and changes the API base URL; when omitted, the server uses BabelWrap’s documented default.

For Claude Desktop, add an MCP server entry that runs either `uvx` with `babelwrap-mcp` as its argument or the installed `babelwrap-mcp` executable. Claude Code can add the server with `claude mcp add babelwrap -- uvx babelwrap-mcp`, followed by setting the API key in the environment. The same command-based setup can be adapted for other MCP-compatible clients.

## Tools and capabilities

The server exposes tools for:

- Creating and closing browser sessions.
- Navigating to URLs and using browser history.
- Reading page state and extracting structured data.
- Clicking, hovering, scrolling, waiting, and pressing keys.
- Filling and submitting forms.
- Uploading files and taking screenshots.
- Listing and switching between open pages.

## Limitations and notes

A BabelWrap API key is required to use the server. Those implementation details should be checked in BabelWrap’s MCP documentation before building a workflow that depends on them.

The server is licensed under MIT. The README explicitly names Claude Desktop, Cursor, and Claude Code, and states that it works with MCP-compatible clients.

_Full upstream README: https://allmcps.com/mcp/babelwrap-mcp/readme_

