Vibium: Zero‑Config Browser Automation for AI Agents
VIBIUM: Zero‑Config Browser Automation for AI Agents
In the age of large language models and autonomous agents, driving a real browser is more useful than ever. Yet most tooling forces you to juggle separate binaries, download drivers, and write boilerplate code. Vibium eliminates this friction: a single ~10 MB Go binary that manages the entire Chrome lifecycle, speaks WebDriver –BiDi, and exposes an MCP server so agents like Claude Code can talk to a browser out of the box.
TL;DR – If you want quick, reliable browser automation for AI or code, install Vibium and launch it with one line. No Chrome setup, no environment variables – just the API you’re comfortable with.
What Problems Does Vibium Solve?
- Zero‑Setup Overhead – Chrome and Chromium drivers download automatically during the
npmorpipinstall. - Single Binary – One Go binary that handles the browser, a BiDi proxy, an MCP server, and an auto‑wait engine.
- Standards‑Based – Relies on the open WebDriver –BiDi protocol instead of proprietary extensions.
- Cross‑Platform – Works on Linux, macOS (Intel & Apple Silicon), and Windows.
- Dual APIs – Both async and sync client libraries in JS/TS and Python.
- Agent Ready – Built‑in MCP server allows Claude Code, Codex, Gemini, and more to drive the browser with simple text prompts.
Get Started in Minutes
Below is a quick‑start tutorial that demonstrates how to:
- Install Vibium.
- Launch the browser.
- Navigate to a page.
- Find and click an element.
- Take a screenshot.
- Quit the browser.
JavaScript / TypeScript
npm install vibium
# or
yarn add vibium
// sync client
const { browserSync } = require('vibium');
const vibe = browserSync.launch();
await vibe.go('https://example.com');
const link = vibe.find('a');
await link.click();
const png = vibe.screenshot();
await require('fs/promises').writeFile('screenshot.png', png);
vibe.quit();
// async client (ES modules)
import { browser } from 'vibium';
async function main() {
const vibe = await browser.launch();
await vibe.go('https://example.com');
const link = await vibe.find('a');
await link.click();
const png = await vibe.screenshot();
await Deno.writeFile('screenshot.png', png);
await vibe.quit();
}
main();
Python
pip install vibium
# sync client
from vibium import browser_sync as browser
vibe = browser.launch()
vibe.go('https://example.com')
link = vibe.find('a')
link.click()
png = vibe.screenshot()
with open('screenshot.png', 'wb') as f:
f.write(png)
vibe.quit()
# async client
import asyncio
from vibium import browser
async def main():
vibe = await browser.launch()
await vibe.go('https://example.com')
link = await vibe.find('a')
await link.click()
png = await vibe.screenshot()
with open('screenshot.png', 'wb') as f:
f.write(png)
await vibe.quit()
asyncio.run(main())
Running Vibium in an Agent‑First Workflow
With the MCP server exposed via standard I/O, you can plug Vibium into Claude Code with a single CLI call:
claude mcp add vibium -- npx -y vibium
Now the model can issue commands like:
"Go to example.com and click the first link."
Vibium interprets that and interacts with the browser for you.
Advanced Features
| Feature | Description |
|---|---|
| Auto‑Wait | Implicit waiting for elements before interactions, reducing flaky tests. |
| Visible By Default | The Chrome instance starts in a visible window, ideal for debugging. |
| Binary Size | ~10 MB Go binary; no external runtimes. |
| BiDi Proxy | Acts as a WebSocket server at :9515, forwarding all BiDi calls. |
| Extensible Client Libraries | npm and pip packages expose a clean API; future languages can clone this pattern. |
| Future Roadmap | Java client, memory/navigation layer (Cortex), video recording, AI‑powered locators. |
Contribution & Community
Vibium welcomes contributions. Fork the repo, run the tests, and submit PRs. The project follows an open‑source license (Apache‑2.0) and maintains a code of conduct for respectful collaboration.
Why Vibium Stands Out
- One‑click setup – No Chrome driver installation or environment configuration.
- Agent‑centric design – MCP server built‑in eliminates the need for custom bridges.
- Standards‑first – WebDriver –BiDi ensures compatibility as browsers evolve.
- Developer‑friendly libraries – Async and sync APIs in the languages most used by web developers.
- Extensible and lightweight – Simple binary that can grow into a full automation framework.
Bottom Line
If you’re building AI agents that need to browse the web, or you want a reliable, zero‑config automation tool for everyday tasks, Vibium offers the perfect balance of simplicity, power, and standards compliance. Give it a try today, integrate it into your agent workflows, and watch your automation stack become leaner and more maintainable.