
Obscura MCP
io.github.MetadramaPublished by GitHub account Metadramav0.1.1Updated Oct 24, 2026
MCP server adapter for Obscura Rust headless browser — web scraping with anti-detection.
Overview
A local MCP adapter for the Obscura Rust headless browser that lets an assistant read pages, click and type, keep sessions, and bulk-scrape URLs.
- What you can do
- Read a single page in text, markdown, HTML, links, cookies, accessibility-tree or layout form, optionally running a JavaScript expression and injecting cookies, headers or a user agent. Perform one-off page actions such as clicking an element or typing text. Manage persistent browser sessions with create, close, list, navigate, wait, extract, click and type steps, for multi-step flows like logins. Scrape many URLs in parallel with isolated workers, a concurrency limit and per-worker timeouts, returning JSON results or per-URL errors.
- When to use it
- Useful when an assistant needs to fetch or extract content from web pages, drive simple multi-step interactions such as a login form, or collect data from many URLs at once without a full Chrome installation.
- Requirements
- Runs as a local Node.js process installed from npm (obscura-mcp), typically over stdio. The Obscura browser binary (about 80 MB) is downloaded automatically on first use and cached in the user's home directory; a custom path can be set with OBSCURA_PATH. Optional settings include OBSCURA_STEALTH, OBSCURA_PROXY, OBSCURA_USER_AGENT and HTTP transport host/port variables. Network access is required.
Installation
In SourceWeft
- Open Obscura MCP in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
obscura-mcp — ARCHIVED
⚠️ Archived. Upstream ships native MCP since v0.1.4 (
obscura mcp). npm package deprecated.
An MCP server adapter for Obscura, a lightweight Rust headless browser for scraping and AI agent automation.
Exposes Obscura's native CDP capabilities through a clean MCP interface — no Chrome dependency, no heavyweight browser automation.
Installation
The npm package itself is a small Node.js wrapper (~20 KB). The browser binary (~80 MB) is downloaded automatically on first use — no separate install step needed.
The binary is cached at ~/.obscura/bin/ and survives npm upgrades.
Pre-release builds are published under the dev tag:
To use a custom binary path:
Quick Start
Most MCP clients (Claude Desktop, Cline, Continue) connect via stdio. The streamable-http transport is also supported for custom integrations.
Tools
Four tools cover browsing, interacting, session persistence, and bulk scraping.
browse_page — one-shot page reading
Get content from any page in a single call. Combine output format with optional JavaScript evaluation.
Examples:
When eval is provided, the JavaScript result is appended to the format output under a --- eval --- divider.
browse_interact — one-shot page actions
Click an element or type text into a page. For multi-step interactions (login → wait → extract), use browse_session instead.
Examples:
Both actions create a fresh page, perform the action, and close. The page context does not persist — for sequential interactions (type into a form, then click submit), use browse_session instead.
browse_session — multi-step persistent sessions
Create a persistent browser session, interact with it across multiple calls, then close. Sessions auto-close after 5 minutes of inactivity. Multiple sessions can run simultaneously.
Session lifecycle:
Login flow example:
Multi-article browsing example:
browse_scrape — parallel bulk scraping
Scrape multiple URLs simultaneously using isolated worker processes. Each URL gets its own headless browser worker — built on top of Obscura's native scrape command with obscura-worker.
Example:
Output format (JSON):
On errors (timeout, network failure, etc.), the per-URL result includes an "error" field instead of "eval":
This is the tool that directly leverages Obscura's core advantage over headless Chrome: lightweight parallel scraping with built-in stealth. The ~30 MB per-worker memory footprint means 100 concurrent workers use less memory than a single Chrome instance.
Configuration
Claude Desktop / Cline / Continue / Any MCP client
VS Code (Cline extension)
After global npm install, obscura-mcp is on your PATH — no absolute paths needed.
Environment Variables
Development
Built with TypeScript, compiled to dist/, tested with Vitest.
All 36 integration tests run against a real Obscura binary (auto-downloaded on first run). Tests use StdioClientTransport and cover every tool, format, and action.
Why Obscura?
- No Chrome — pure Rust, no 200 MB browser bundle
- CDP-native — exposes Chrome DevTools Protocol directly
- Anti-detection — built-in stealth for scraping-resistant sites
- Tiny footprint — ~15 MB binary, starts in milliseconds
License
MIT
Source: README.md at commit 6321546
Tools
0Version history
1- v0.1.1LatestSep 16, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts