
Oculo
io.github.xidik12Published by GitHub account xidik12v0.4.1Updated Oct 24, 2026
AI-powered native browser with 12 MCP tools. ~30 tokens per page.
Overview
Oculo is a desktop Chromium browser with an MCP bridge that lets an assistant read, click, fill and extract from real web pages using compact text responses.
- What you can do
- Inspect and navigate pages: describe the current page, navigate, click, hover, scroll, type, press keys, manage tabs and cookies, pre-fetch URLs
- Fill and submit forms by label or placeholder matching, including vault-based logins
- Extract structured data such as search results, tables, lists and articles, and translate page content
- Run multi-step pipelines with conditionals and cached replay, plus deep multi-tab web research
- Generate images or video, analyze the page visually, and run non-interactive shell commands
- Discover and invoke page-declared tools through the WebMCP protocol
- When to use it
- Useful when an assistant needs to operate real websites on the user's machine — logging in, filling forms, scraping structured content, or repeating a browsing workflow — rather than only fetching raw HTML. Also suited to multi-step research and scripted browser automation.
- Requirements
- A local desktop install of the Oculo browser (release build or built from source with Node.js 20+ and npm) on macOS, Windows or Linux; the npm package oculo-mcp is a stdio bridge to the running app. The app must be running for tool execution; it writes a port and auth token to a file in the home directory that the bridge reads. Optional headless/Docker mode and a Python SDK exist.
Installation
In SourceWeft
- Open Oculo 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
[GitHub stars] [Latest release] [Electron 34] [TypeScript 5.7] [React 19] [12 MCP tools] [MIT License]
Website · Download · Quick Start · MCP Tools · Architecture · Contributing
Oculo is a full-Chromium desktop browser that speaks the Model Context Protocol. Point Claude Code, Cursor, Windsurf, or any MCP client at it and your agent can see and drive real web pages — read the DOM, click, fill forms, extract data, run multi-step pipelines — through 12 compact tools that answer in under 300 tokens per flow.
Cursor : VSCode :: Oculo : Chrome
See it in action
Your agent describes intent; Oculo resolves it into a few tiny tool calls and hands back terse, redacted results — not megabytes of screenshots.
[Section: Why Oculo — a native engine, not a wrapper]Oculo runs a real Chromium engine on your machine and adds an agent-first control layer on top. That combination is the point:
[Section: The Toolbelt — one verb per call]Each tool does one thing and returns the smallest useful answer. Token cost is the response size the agent pays for.
Bonus: webmcp_list and webmcp_call discover and invoke page-declared tools via the WebMCP protocol.
Why HTTP instead of stdio? Electron's <webview> is only reachable from the renderer process. The main process — where stdio lives — can't touch page content. The HTTP bridge crosses that boundary via main-to-renderer IPC.
Port discovery. On startup Oculo writes port:authtoken to ~/.oculo-port. The bin/oculo-mcp.mjs bridge reads it automatically, so tool definitions stay discoverable even when the app is closed — only execution requires Oculo to be running.
1. Install
Grab the latest build from Releases, or run from source:
2. Register with your MCP client
Claude Code
Cursor / Windsurf — add to your MCP config (.cursor/mcp.json or equivalent):
3. (Optional) Headless & Docker
Run without a visible window for CI/CD, scraping, or server-side automation:
4. (Optional) Python SDK
An async AsyncOculoClient with the same surface is also available.
Every action passes through a permission gate, and every response is redacted before it reaches the model.
Permission levels
Credential vault
- Encrypted with
electron.safeStorage→ OS Keychain (macOS) / DPAPI (Windows). - Passwords are never returned via IPC or MCP — only domain + username are exposed.
act({action: "login", site: "github.com"})retrieves and fills credentials without the model ever seeing them.
Redaction & anti-injection
- Every MCP response passes through a redactor that strips credit-card numbers, SSNs, JWTs, API keys, private keys, and Bearer tokens.
- Page content handed to the model is wrapped in boundary markers, and regex-based detection blocks prompt-injection attempts embedded in that content.
Stealth (19 patches)
Navigator (webdriver, languages, plugins, mimeTypes, connection, hardwareConcurrency, deviceMemory), window (chrome API, dimensions), WebGL (vendor/renderer spoofing), canvas (per-call fingerprint randomization), WebRTC (IP-leak prevention), AudioContext, font enumeration blocking, Battery API, and screen-resolution randomization.
Self-healing automation
After a successful act/fill, selectors are cached with stability scores — id and data-testid = 10, aria-label = 9, role+name = 8, text = 7, css = 5. On the next run, DOM diffing picks the strategy:
- > 80% similarity — replay from cache, no LLM call.
- 50–80% — fall back to alternative selectors.
- < 50% — re-engage the AI for a fresh resolution.
That's where the 44%+ speed-up on repeated workflows comes from.
Built-in AI chat
Oculo also ships a side-panel chat that talks to multiple providers directly:
Building from source
Prerequisites: Node.js 20+, npm (not pnpm/yarn — native modules require npm), macOS / Windows / Linux.
Project structure
Contributing
See CONTRIBUTING.md for development setup, architecture details, and how to add a new MCP tool.
Donate
If Oculo saves you time, you can support development — BTC: 12yRGpUfFznzZoz4yVfZKRxLSkAwbanw2B
License
MIT © 2026 Salakhitdinov Khidayotullo
Built by Salakhitdinov Khidayotullo · getoculo.com
Source: README.md at commit 97c7239
Tools
0Version history
1- v0.4.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