{"name":"io.github.xidik12/oculo","slug":"xidik12-oculo","title":null,"description":"AI-powered native browser with 12 MCP tools. ~30 tokens per page.","url":"https://mcp.market/server/xidik12-oculo","rating":null,"grade":"A","score":88,"certified":false,"status":"active","category":"scraping","tags":["scraping"],"presence":{"score":17,"stars":5,"forks":0,"downloads_week":null,"last_push_at":"2026-07-20T06:35:38.000Z","license":"MIT"},"uptime":null,"claimed":false,"transport":"npm","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/xidik12/oculo","website":null,"version":"0.4.1","remotes":[],"packages":[{"registryType":"npm","identifier":"oculo-mcp","version":"0.4.2","transport":{"type":"stdio"}}],"tools":[{"name":"abort","description":"Cancel a pending tool call by callId, or pass callId=\"all\" to cancel everything.","write_action":true,"price_micros":0,"input_schema":null},{"name":"act","description":"Perform an action in Oculo browser: click, navigate, scroll, press key, hover, type, login. Elements found by ref (from a11y snapshot), text, role, label, placeholder, or CSS selector. After click/navigate/back/forward/reload, returns fresh ref-tagged snapshot. Use newTab with background=true to open tabs without switching, then use tabId to run actions in parallel.","write_action":false,"price_micros":0,"input_schema":null},{"name":"fill","description":"Fill form fields in Oculo browser by label, placeholder, or data-placeholder text. Handles text, select, checkbox, textarea, and contenteditable (DraftJS, ProseMirror). Use visible labels as keys.","write_action":false,"price_micros":0,"input_schema":null},{"name":"lens","description":"Visual analysis of the current page via screenshot. Describe what you see or answer questions about the page visually.","write_action":false,"price_micros":0,"input_schema":null},{"name":"media","description":"Generate images (Nano Banana 2 / DALL-E 3) or videos (Veo 3.1) via Oculo. Returns saved file path. Supports image-to-image editing with reference image.","write_action":false,"price_micros":0,"input_schema":null},{"name":"page","description":"Describe the current page in Oculo browser. Default: compact (~30-80 tokens). Use detail=\"a11y\" for ref-tagged accessibility tree — interactive elements get [ref=e1],[ref=e2]... refs usable in act tool. Use detail=\"markdown\" for full article content as clean markdown.","write_action":false,"price_micros":0,"input_schema":null},{"name":"preview","description":"Pre-fetch a URL without navigating. Returns page description without leaving current page.","write_action":false,"price_micros":0,"input_schema":null},{"name":"read","description":"Extract structured data from the page in Oculo browser (search results, tables, lists, articles).","write_action":false,"price_micros":0,"input_schema":null},{"name":"research","description":"Deep web research on a topic. Opens multiple tabs, reads pages, synthesizes findings.","write_action":false,"price_micros":0,"input_schema":null},{"name":"run","description":"PREFERRED for any task with 2+ actions. Executes a multi-step pipeline in a SINGLE call — use this instead of multiple act/fill calls. Example — post on X: run({steps:[{act:{action:\"navigate\",url:\"https://x.com/compose/post\"}},{wait:{timeout:2000}},{act:{action:\"type\",text:\"Hello world\",role:\"textbox\"}},{act:{action:\"click\",text:\"Post\",role:\"button\"}}]}). Each step is an object with exactly ONE ke","write_action":true,"price_micros":0,"input_schema":null},{"name":"shell","description":"Execute a shell command (ls, npm, git, node, python, etc.) via Oculo and return stdout+stderr. Non-interactive only.","write_action":true,"price_micros":0,"input_schema":null},{"name":"status","description":"List all pending tool calls with their callId, toolName, and elapsed time.","write_action":false,"price_micros":0,"input_schema":null},{"name":"tabs","description":"List all open browser tabs with their URLs and titles.","write_action":false,"price_micros":0,"input_schema":null},{"name":"translate","description":"Translate page content or specific text to another language.","write_action":false,"price_micros":0,"input_schema":null},{"name":"webmcp_call","description":"Call a WebMCP tool registered by the current page. Use webmcp_list first to discover available tools.","write_action":false,"price_micros":0,"input_schema":null},{"name":"webmcp_list","description":"Discover WebMCP tools registered by the current page via navigator.modelContext.registerTool() or <form toolname=\"...\"> elements. Returns list of available page-declared tools.","write_action":false,"price_micros":0,"input_schema":null}],"scan":{"score":88,"grade":"A","scanned_at":"2026-09-28T06:07:24.484Z","report":{"scannerVersion":"0.1.10","scannedAt":"2026-09-28T06:07:24.484Z","components":{"code":{"score":25,"max":25,"notes":["2 source files scanned"]},"reliability":{"score":-1,"max":20,"notes":["no gateway calls yet and no remote to probe"]},"poisoning":{"score":-1,"max":15,"notes":["tools not inspected (local package is not executed); not counted"]},"auth":{"score":12,"max":15,"notes":["local package, no credentials required"]},"maintenance":{"score":12,"max":15,"notes":["last push 70 days ago"]},"identity":{"score":8,"max":10,"notes":["registry namespace matches repository owner","GitHub account older than a year"]}},"findings":[],"inputs":{"packages":[{"registryType":"npm","identifier":"oculo-mcp","version":"0.4.2","found":true,"license":"MIT","hasInstallScripts":false,"dependencyCount":1,"publishedAt":"2026-03-09T05:53:23.923Z","repositoryUrl":"git+https://github.com/xidik12/oculo.git"}],"repo":{"found":true,"owner":"xidik12","repo":"oculo","archived":false,"pushedAt":"2026-07-20T06:35:38Z","stars":5,"forks":0,"openIssues":1,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/11709805?v=4","ownerCreatedAt":"2015-03-29T20:06:14Z","license":"MIT"},"icon":{"url":null,"source":"none"},"presence":{"stars":5,"forks":0,"downloadsWeek":null,"license":"MIT","lastPushAt":"2026-07-20T06:35:38.000Z","score":17}}}},"grade_history":[],"reviews":[]}