
Oculo
io.github.xidik12由 GitHub 账号 xidik12 发布v0.4.1更新于 Oct 24, 2026
AI-powered native browser with 12 MCP tools. ~30 tokens per page.
概览
Oculo 是一款桌面 Chromium 浏览器,通过 MCP 桥接让助手以精简文本响应读取、点击、填写并提取真实网页内容。
- 可以做什么
- 查看与操作页面:描述当前页面、导航、点击、悬停、滚动、输入、按键,管理标签页与 Cookie,预取网址
- 按标签或占位符匹配填写并提交表单,包括通过凭据保险库登录
- 提取搜索结果、表格、列表、文章等结构化数据,并翻译页面内容
- 运行带条件分支和缓存重放的多步流程,并进行多标签页深度网络调研
- 生成图片或视频、对页面做视觉分析,以及执行非交互式 shell 命令
- 通过 WebMCP 协议发现并调用页面声明的工具
- 适用场景
- 适合需要助手在用户机器上操作真实网站的场景,例如登录、填写表单、抓取结构化内容或重复执行浏览流程,而不只是获取原始 HTML。也适用于多步调研和脚本化浏览器自动化。
- 运行要求
- 需在本机安装 Oculo 桌面浏览器(发布版或使用 Node.js 20+ 与 npm 从源码构建),支持 macOS、Windows、Linux;npm 包 oculo-mcp 只是连接运行中应用的 stdio 桥接。执行工具时应用必须处于运行状态,应用会在用户主目录写入端口与认证令牌文件供桥接读取。另有可选的无头/Docker 模式与 Python SDK。
安装
在 SourceWeft 中
- 打开 控制台中的 Oculo,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
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
来源:README.md,提交 97c7239
工具
0版本历史
1- v0.4.1最新Sep 16, 2026
评分
已满足适用检查项的 50%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分