dawg-mcp
dawg-mcp gives AI agents access to the DAWG platform for remote stealth browser automation, web scraping, and account monitoring ā purpose-built for the Russian web (Runet).
Browser Lifecycle
Provision on-demand remote stealth Chromium browsers with optional Russian residential proxies and geolocation (city slug like
moskvaorlat,loncoordinates)Release browsers back to the pool; list all active sessions
Browser Interaction & Navigation
Navigate to URLs, go back/forward in history
Capture ARIA accessibility snapshots with
[ref=eN]markers for precise element targetingClick (single/double, any mouse button), type, fill forms, select dropdown options, hover, and press keyboard keys (e.g.,
Enter,Control+a)Wait for text to appear/disappear or a fixed duration
Get visible page text or full HTML (optionally scoped to a CSS selector)
Take PNG screenshots (full page or specific element)
Evaluate arbitrary JavaScript on the page and retrieve JSON results
Manage tabs: list, open, select, or close
Web Scraping
Scrape a single page returning content as markdown, text, or HTML (with optional JS rendering, main content extraction, and link discovery)
Start crawl jobs from a seed URL with configurable depth, page limits, concurrency, and URL include/exclude glob patterns
Start batch scrape jobs over many URLs concurrently
Poll or block-wait on crawl/batch job status; cancel running jobs
Account Management
Retrieve current tariff plan, usage consumption, and remaining quota limits for the API key
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@dawg-mcpScrape example.com and return as markdown"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
dawg-mcp
An MCP server that gives AI agents (Claude Code, Codex, ā¦) direct access to the DAWG platform.
š·šŗ Built for Runet. DAWG is purpose-built for the Russian segment of the web: Russian residential proxies and geolocation (city slugs like
moskva,spb, ā¦) and stealth fingerprints tuned for RU sites. If your agent needs to browse or scrape Russian sites (Yandex, Ozon, Wildberries, Avito, gosuslugi, banks, ā¦), this is the tool it was made for.
š Remote stealth browser ā provision an on-demand Chromium (RU proxy, geo, stealth baked in) and drive it with snapshot/click/type/screenshot tools.
š Web scraping ā single-page scrape plus crawl/batch jobs returning clean markdown/text/html.
š Account usage ā read the current plan, limits and consumption for your API key.
The browser tools mirror the interaction model of the official
@playwright/mcp: the agent takes an accessibility
snapshot of the page (an ARIA tree with [ref=eN] markers), then targets elements by ref. This
is far more reliable and token-efficient than screenshot-and-guess.
Browsers run on DAWG infrastructure ā no local browser is launched or downloaded; the server only attaches to the remote Chromium over CDP.
Requirements
Python ā„ 3.10
A DAWG API key (
X-API-Key) from https://dawgswarm.ruuv(recommended) foruvx/uv run
Related MCP server: Browserbase MCP Server
Install / run
# Recommended ā straight from PyPI (fast: downloads a prebuilt wheel)
uvx dawg-mcp
# Or with pip
pip install dawg-mcp && dawg-mcp
# From GitHub (no PyPI), pinned to a tag:
uvx --from git+https://github.com/dawgswarm/dawg-mcp@v0.1.0 dawg-mcp
# Local checkout (development) ā run from the repo root
uv run dawg-mcp
# As a module
python -m dawg_mcpDAWG_API_KEY must be set in the environment. No playwright install is needed ā the server
connects to a remote browser and never launches Chromium locally.
Register with an agent
Claude Code
Project scope ā commit .mcp.json (it reads ${DAWG_API_KEY} from your shell):
{
"mcpServers": {
"dawg": {
"type": "stdio",
"command": "uvx",
"args": ["dawg-mcp"],
"env": {
"DAWG_API_KEY": "${DAWG_API_KEY}",
"DAWG_BASE_URL": "${DAWG_BASE_URL:-https://dawgswarm.ru}"
}
}
}
}Or via the CLI:
claude mcp add dawg --scope user --env DAWG_API_KEY=your_key -- uvx dawg-mcp
# local working tree:
claude mcp add dawg --scope user --env DAWG_API_KEY=your_key \
-- uv run --directory /path/to/dawg-mcp dawg-mcpCodex
Add to ~/.codex/config.toml (see examples/codex_config.toml):
[mcp_servers.dawg]
command = "uvx"
args = ["dawg-mcp"]
[mcp_servers.dawg.env]
DAWG_API_KEY = "your_key"
DAWG_BASE_URL = "https://dawgswarm.ru"Configuration
Env var | Required | Default | Description |
| yes | ā | Your DAWG API key |
| no |
| Platform base URL |
| no |
| Max seconds to wait for a browser to be ready |
| no |
| Seconds between readiness polls |
| no |
| Default navigation timeout |
| no |
| Default action timeout |
| no |
| Truncate snapshot/content output |
| no |
| Max concurrent browsers |
| no |
| Log level (logs go to stderr) |
Tools
Browser ā lifecycle
Tool | Description |
| Provision a remote stealth Chromium. |
| Release a browser back to the pool. |
| List active sessions. |
Browser ā driving
All take an optional session_id (defaults to the sole active session) and return a fresh AI
snapshot after acting. Target elements by ref from the latest browser_snapshot.
Tool | Description |
| Go to a URL. |
| History navigation. |
| See the page ā ARIA tree with |
| Click an element by |
| Type into a field by |
| Fill many fields at once ( |
| Choose |
| Hover an element. |
| Press a key ( |
| Wait for text / its disappearance / a delay. |
| Get page text or HTML. |
| PNG image (visual verification only). |
| Run JS, return JSON result. |
|
|
Scraper
Tool | Description |
| Scrape one URL ā content. |
| Start a crawl job ā |
| Start a batch job ā |
| Poll a crawl/batch job. |
| Cancel a job. |
Account
Tool | Description |
| Current usage and tariff plan. |
Typical agent flow
browser_provision() ā session_id + snapshot
browser_navigate(url="https://...") ā snapshot with [ref=eN] markers
browser_click(element="Login", ref="e12") ā fresh snapshot
browser_type(element="Email", ref="e8", text="...", submit=true)
browser_take_screenshot() ā PNG to confirm visually
browser_release()If a ref is stale (the page changed), the tool returns an error with a fresh snapshot
appended so the agent can re-select.
Development
uv venv && uv pip install -e ".[dev]"
uv run pytest # 21 unit/integration tests (no network)
uv run ruff check .
# Live end-to-end smoke test (needs a real key):
DAWG_API_KEY=... uv run python examples/smoke_test.py
# Inspect over stdio with the MCP Inspector:
DAWG_API_KEY=... npx @modelcontextprotocol/inspector uv run dawg-mcpLicense
MIT ā see LICENSE.
Maintenance
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
- Alicense-qualityDmaintenanceEnables AI agents to control headless browsers running on geographically distributed SaladCloud containers. Supports multi-browser automation, mobile device emulation, stealth mode, and regional web scraping from specific locations.2MIT
- Alicense-qualityBmaintenanceProvides cloud browser automation capabilities for AI agents, including creating, managing, and retrieving recordings and logs from browser sessions.MIT
- Alicense-qualityDmaintenanceEnables AI agents to fully control a browser for web automation, including navigation, clicking, typing, scrolling, screenshots, and DOM inspection, with session persistence and anti-bot bypass.21MIT
- Alicense-qualityDmaintenanceEnables AI agents to control browsers with human-like behavior, stealth anti-detection, and 70 tools for navigation, interaction, and monitoring.231MIT
Related MCP Connectors
AI-powered browser automation ā navigate, click, fill forms, and extract data from any website.
Reliable web access for AI agents: smart HTTP, rotating proxies, and full-browser rendering.
Provides cloud browser automation capabilities using Stagehand and Browserbase, enabling LLMs to iā¦
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/dawgswarm/dawg-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server