Skip to main content
Glama
ch-yousafali

Multilogin Browser MCP

by ch-yousafali

Multilogin Browser MCP

A FastAPI service that drives Multilogin X anti-detect browser profiles over CDP and exposes them to AI agents through a streamable HTTP MCP server.

Features

  • Profile management — list, search, create, and remove Multilogin profiles (batch create is supported without an artificial cap).

  • Browser sessions — start a profile, connect Playwright over CDP, and manage the session lifecycle.

  • Browser action catalog — navigate, click, type, evaluate JS, screenshots, tabs, cookies, scroll, hover, and more.

  • Dual interface — REST API for integrations and MCP for agent frameworks.

  • Session watchdog — 15-minute max TTL and idle timeout cleanup.

  • Railway-readyPORT and .env driven.

Related MCP server: BrowserPilot

Requirements

  • Python 3.12+

  • Multilogin desktop app / agent running locally (exposes the launcher at https://launcher.mlx.yt:45001, resolving to 127.0.0.1)

  • A Multilogin automation token, or username + password

Installation

python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt

No playwright install is required — we connect over CDP to the browser Multilogin launches.

Configuration

Copy the example and fill in the values:

cp .env.example .env
# Option A: automation token (recommended for servers)
MULTILOGIN_AUTOMATION_TOKEN=your_token

# Option B: username + password
# MULTILOGIN_USERNAME=you@example.com
# MULTILOGIN_PASSWORD=your_password

# Optional overrides
# MULTILOGIN_API_URL=https://api.multilogin.com
# MULTILOGIN_LAUNCHER_URL=https://launcher.mlx.yt:45001
# PORT=8000
# SESSION_MAX_TTL_SECONDS=900
# SESSION_IDLE_TIMEOUT_SECONDS=300

Run

python main.py
# or
uvicorn app.main:app --host 0.0.0.0 --port 8000 --reload
  • REST docs: http://localhost:8000/docs

  • MCP endpoint: http://localhost:8000/mcp/ (POST; GET /mcp redirects here)

REST API

Method

Path

Purpose

GET

/api/v1/profiles/

List/search profiles

POST

/api/v1/profiles/search

Search profiles

GET

/api/v1/profiles/statuses

Running profiles (launcher)

POST

/api/v1/sessions/

Launch a session (start profile + connect)

GET

/api/v1/sessions/

List active sessions

GET

/api/v1/sessions/{id}

Session status/expiry

DELETE

/api/v1/sessions/{id}

Close session + stop profile

GET

/api/v1/browser/actions

List available browser actions

POST

/api/v1/browser/sessions/{id}/action

Run an action on a session

Example flow

# 1. list profiles
curl http://localhost:8000/api/v1/profiles/

# 2. launch a session
curl -X POST http://localhost:8000/api/v1/sessions/ \
  -H 'content-type: application/json' \
  -d '{"profile_id":"<pid>","folder_id":"<fid>"}'

# 3. drive it
curl -X POST http://localhost:8000/api/v1/browser/sessions/<sid>/action \
  -H 'content-type: application/json' \
  -d '{"action":"navigate","params":{"url":"https://example.com"}}'

# 4. close (auto-closes after 15 min anyway)
curl -X DELETE http://localhost:8000/api/v1/sessions/<sid>

MCP Tools

Point any streamable-HTTP MCP client at http://localhost:8000/mcp/.

Discovery

  • list_profiles

  • search_profiles

Profile management

  • create_profile — create one profile

  • create_profiles — create any number of profiles in one call (no artificial limit)

  • remove_profiles

Sessions

  • launch_session

  • session_status

  • list_sessions

  • close_session

Browser

  • browser_action — run any action by name

  • list_browser_actions — see the full catalog

The full action catalog includes: navigate, click, type_text, press_key, get_text, get_html, get_url, screenshot, wait_for, evaluate_js, list_tabs, switch_tab, new_tab, close_tab, go_back, go_forward, reload, scroll, hover, select_option, set_checked, upload_file, cookies.

Example client config

{
  "mcpServers": {
    "multilogin-browser": {
      "url": "http://localhost:8000/mcp/"
    }
  }
}

Deployment

Railway

  1. Push the repo.

  2. Set the environment variables from .env in Railway.

  3. Set the start command to python main.py (or uvicorn app.main:app --host 0.0.0.0 --port $PORT).

Note on the launcher

The Multilogin desktop launcher currently resolves to 127.0.0.1. For remote hosts (e.g. Railway), the launcher must either run on the same host or be reachable through a tunnel / VPN.

License

MIT

F
license - not found
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables AI to control browsers via natural language for web automation, testing, and data scraping. Supports Chrome-based browsers and integrates with any MCP-compatible AI tool.
    2
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI agents to control a CamoFox anti-detect browser via MCP tools, supporting navigation, clicking, typing, and more through a REST API wrapper.
    4
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Provides a real browser that bypasses bot detection (Cloudflare, Turnstile) for AI agents, enabling navigation, clicking, typing, screenshots, and data collection through MCP tools.
    71
    MIT

View all related MCP servers

Related MCP Connectors

  • Stealth web browser for agents: search, fetch, click and type through persistent sessions over MCP.

  • A paid remote MCP for AI agent browser approval MCP, built to return verdicts, receipts, usage logs,

  • A paid remote MCP for AI agent browser MCP session, built to return verdicts, receipts, usage logs,

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ch-yousafali/mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server