Aluvia MCP server - Model Context Protocol tools for browser sessions and account management
Project description
Aluvia MCP Server
Unblockable browser automation for AI agents.
Stop getting blocked. The Aluvia MCP server exposes browser session management, geo-targeting, and account operations as Model Context Protocol tools for AI agents. Route traffic through premium US mobile carrier IPs and bypass 403s, CAPTCHAs, and WAFs that stop other tools. Works with Claude Desktop, Claude Code, Cursor, VS Code, and any MCP-compatible client.
Table of Contents
- Quick Start
- Requirements
- Installation
- Client Configuration
- Available Tools
- Use Cases
- Why Aluvia
- Links
- License
Quick Start
pip install aluvia-mcp
export ALUVIA_API_KEY="your-api-key"
aluvia-mcp
Get your API key at dashboard.aluvia.io. The server runs on stdio (stdin/stdout JSON-RPC) — MCP clients spawn it and communicate over stdio.
Requirements
- Python 3.10+
- Aluvia API key — sign up at dashboard.aluvia.io
- Playwright (optional) — required for browser sessions:
pip install playwright && playwright install chromium
Installation
pip install aluvia-mcp
Or from source:
git clone https://github.com/aluvia-connect/sdk-python.git
cd sdk-python/aluvia_mcp
pip install -e .
For browser session tools, install Playwright:
pip install playwright
playwright install chromium
Set your API key:
export ALUVIA_API_KEY="your-api-key"
Client Configuration
Claude Desktop
Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):
{
"mcpServers": {
"aluvia": {
"command": "aluvia-mcp",
"env": {
"ALUVIA_API_KEY": "your-api-key"
}
}
}
}
Claude Code (VS Code Extension)
Add to your VS Code settings (.vscode/settings.json or User Settings):
{
"mcp.servers": {
"aluvia": {
"command": "aluvia-mcp",
"env": {
"ALUVIA_API_KEY": "your-api-key"
}
}
}
}
Cursor
Add to your Cursor MCP settings:
{
"mcpServers": {
"aluvia": {
"command": "aluvia-mcp",
"env": {
"ALUVIA_API_KEY": "your-api-key"
}
}
}
}
Generic MCP Client
Any MCP-compatible client can use the server by spawning it with stdio transport:
import subprocess
import json
proc = subprocess.Popen(
["aluvia-mcp"],
stdin=subprocess.PIPE,
stdout=subprocess.PIPE,
env={"ALUVIA_API_KEY": "your-api-key"}
)
# Send JSON-RPC requests to proc.stdin
# Read JSON-RPC responses from proc.stdout
Available Tools
Session Management
session_start— Start a browser session with Aluvia smart proxysession_close— Close one or all running sessionssession_list— List all active sessionssession_get— Get detailed session info (CDP URL, proxy config, block detection state)session_rotate_ip— Rotate IP address for a sessionsession_set_geo— Set or clear target geographic regionsession_set_rules— Add or remove proxy routing rules
Account Management
account_get— Get account info (plan, balance)account_usage— Get usage statistics for a date range
Geo-Targeting
geos_list— List available geographic regions
Use Cases
1. AI Agent Web Scraping
AI agents need to scrape data from websites that block automated traffic. Aluvia routes requests through mobile IPs, making them appear as real users.
Example workflow:
- Agent calls
session_startwith--auto-unblockto launch a browser - Agent navigates to target websites
- If blocked, Aluvia detects it and automatically reroutes through mobile IPs
- Agent extracts data successfully
- Agent calls
session_closewhen done
2. Multi-Region Testing
Test how websites behave for users in different US regions.
Example workflow:
- Agent calls
geos_listto see available regions - Agent calls
session_startand thensession_set_geowithus_cafor California IPs - Agent verifies location-specific content
- Agent calls
session_set_geowithus_nyto switch to New York IPs - Agent compares results
3. Dynamic Unblocking
Agent adapts to blocks in real-time without restarting.
Example workflow:
- Agent calls
session_startwithout proxy rules (all traffic goes direct) - Agent encounters a block on
example.com - Agent calls
session_set_ruleswith"example.com"to add it to proxy rules - Agent retries the request — now routed through Aluvia
- Request succeeds
Why Aluvia
The Problem: Websites block datacenter IPs (AWS, GCP, Azure) because they're commonly used by bots. This breaks AI agents that need web access.
The Solution: Aluvia routes traffic through real US mobile carrier IPs — the same IPs used by millions of people on AT&T, T-Mobile, and Verizon. Websites can't distinguish these requests from legitimate mobile users.
Key Features:
- Automatic block detection — detects 403s, CAPTCHAs, WAFs, and Cloudflare challenges
- Auto-unblocking — when blocked, Aluvia reroutes through mobile IPs and reloads the page
- Smart routing — only proxy sites that need it; everything else goes direct (saves cost and latency)
- Runtime rule updates — add sites to proxy rules on the fly, no restarts
- IP rotation — rotate IPs or target specific US regions at runtime
- CDP debugging — get Chrome DevTools Protocol URLs for remote debugging
Links
- Homepage: aluvia.io
- Documentation: docs.aluvia.io
- Dashboard: dashboard.aluvia.io
- GitHub (Node.js SDK): github.com/aluvia-connect/sdk-node
- GitHub (Python SDK): github.com/aluvia-connect/sdk-python
- MCP Protocol: modelcontextprotocol.io
License
MIT License — see LICENSE for details.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file aluvia_mcp-1.0.0.tar.gz.
File metadata
- Download URL: aluvia_mcp-1.0.0.tar.gz
- Upload date:
- Size: 11.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a5bb8137b1c65852ac72f9641f5d5d36b52867553c7403cc3cf1cffc9664fc43
|
|
| MD5 |
7c737407b79076806dbe859574e5cb0f
|
|
| BLAKE2b-256 |
32760c03ca99ffc6c1ae5476c867b9fda536e488510ae7fdb130e60f16606866
|
File details
Details for the file aluvia_mcp-1.0.0-py3-none-any.whl.
File metadata
- Download URL: aluvia_mcp-1.0.0-py3-none-any.whl
- Upload date:
- Size: 9.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ffa638eab28a24dae4804d1e2d9b02c5eea523f9fa5cfb2d01622810ec77813b
|
|
| MD5 |
e7378bd8e70ec1c89c5868b5ce444546
|
|
| BLAKE2b-256 |
d0560f9039e4ae72a04a74a76a694652eef6e734c1c67459a791eeeb4cc8ed66
|