{"name":"io.github.ofershap/real-browser","slug":"ofershap-real-browser","title":null,"description":"MCP server + Chrome extension for AI browser control with real sessions.","url":"https://mcp.market/server/ofershap-real-browser","rating":null,"grade":"B","score":74,"certified":false,"status":"active","category":"scraping","tags":["scraping"],"presence":{"score":32,"stars":52,"forks":7,"downloads_week":null,"last_push_at":"2026-09-21T13:09:44.000Z","license":"MIT"},"uptime":null,"claimed":false,"transport":"npm","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/ofershap/real-browser-mcp","website":null,"version":"1.2.1","remotes":[],"packages":[{"registryType":"npm","identifier":"real-browser-mcp","version":"1.2.1","transport":{"type":"stdio"}}],"tools":[{"name":"browser_click","description":"Click an element on the page using a ref from snapshot or a CSS selector","write_action":false,"price_micros":0,"input_schema":null},{"name":"browser_click_text","description":"Click an element by its visible text content. Works on React dropdowns, portals, and overlays that may not appear in snapshots. CSP-safe (no eval). Prefers deepest matching element.","write_action":false,"price_micros":0,"input_schema":null},{"name":"browser_console","description":"Read console messages (log, warn, error) from the browser","write_action":false,"price_micros":0,"input_schema":null},{"name":"browser_evaluate","description":"Execute JavaScript in the page and return the result. Use for DOM queries, reading page state, or any operation not covered by other tools.","write_action":true,"price_micros":0,"input_schema":null},{"name":"browser_find","description":"Find elements on the page using natural language (e.g. \"login button\", \"search input\"). Returns refs you can use with click/type.","write_action":false,"price_micros":0,"input_schema":null},{"name":"browser_handle_dialog","description":"Handle JavaScript dialogs (alert, confirm, prompt). Dialogs block page interaction until handled.","write_action":false,"price_micros":0,"input_schema":null},{"name":"browser_hover","description":"Hover over an element to trigger tooltips, dropdown menus, or hover states","write_action":false,"price_micros":0,"input_schema":null},{"name":"browser_navigate","description":"Navigate to a URL in the active browser tab","write_action":false,"price_micros":0,"input_schema":null},{"name":"browser_network","description":"Read network requests made by the page. Filter by URL pattern.","write_action":false,"price_micros":0,"input_schema":null},{"name":"browser_press_key","description":"Press a keyboard key or combination (Enter, Escape, Tab, ArrowDown, etc). Supports modifiers like Ctrl+A, Cmd+C.","write_action":false,"price_micros":0,"input_schema":null},{"name":"browser_screenshot","description":"Capture a screenshot of the visible page area","write_action":false,"price_micros":0,"input_schema":null},{"name":"browser_scroll","description":"Scroll the page or an element. Supports pixel offsets, scrolling to elements, and named positions (top/bottom). Works with virtual scroll containers used by social media sites.","write_action":false,"price_micros":0,"input_schema":null},{"name":"browser_select","description":"Select an option from a dropdown/select element","write_action":false,"price_micros":0,"input_schema":null},{"name":"browser_snapshot","description":"Get an accessibility tree snapshot of the page. Returns element refs you can use with click, type, and other tools. Use compact mode (default) for smaller output - only interactive elements.","write_action":false,"price_micros":0,"input_schema":null},{"name":"browser_tabs","description":"Manage browser tabs: list, create, close, or focus","write_action":false,"price_micros":0,"input_schema":null},{"name":"browser_text","description":"Extract raw text content from the page or a specific element","write_action":false,"price_micros":0,"input_schema":null},{"name":"browser_type","description":"Type text into an input element","write_action":false,"price_micros":0,"input_schema":null},{"name":"browser_wait","description":"Wait for a condition: element to appear, element to disappear, or a fixed delay. Useful for SPAs and dynamic content.","write_action":false,"price_micros":0,"input_schema":null}],"scan":{"score":74,"grade":"B","scanned_at":"2026-09-28T06:07:12.624Z","report":{"scannerVersion":"0.1.10","scannedAt":"2026-09-28T06:07:12.619Z","components":{"code":{"score":13,"max":25,"notes":["50 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":15,"max":15,"notes":["last push 7 days ago"]},"identity":{"score":8,"max":10,"notes":["registry namespace matches repository owner","GitHub account older than a year"]}},"findings":[{"id":"exec.shell-concat","severity":"high","component":"code","title":"Shell command built from a string (injection risk)","evidence":"mcp-server/dist/bridge.js: … try { const output = execSync(`lsof -ti :${this.port} -sTCP:LISTEN`, { encoding: 'u…"}],"inputs":{"packages":[{"registryType":"npm","identifier":"real-browser-mcp","version":"1.2.1","found":true,"license":"MIT","hasInstallScripts":false,"dependencyCount":3,"publishedAt":"2026-03-10T09:17:15.267Z","repositoryUrl":"git+https://github.com/ofershap/real-browser-mcp.git"}],"repo":{"found":true,"owner":"ofershap","repo":"real-browser-mcp","archived":false,"pushedAt":"2026-09-21T13:09:44Z","stars":52,"forks":7,"openIssues":2,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/2589702?v=4","ownerCreatedAt":"2012-10-18T13:50:43Z","license":"MIT"},"icon":{"url":"https://avatars.githubusercontent.com/u/2589702?v=4&s=128","source":"github"},"presence":{"stars":52,"forks":7,"downloadsWeek":null,"license":"MIT","lastPushAt":"2026-09-21T13:09:44.000Z","score":32}}}},"grade_history":[],"reviews":[]}