{"name":"io.github.YawLabs/vew-mcp","slug":"yawlabs-vew-mcp","title":null,"description":"Browser MCP: drive a real Chromium via Playwright with compact ref-addressable page snapshots","url":"https://mcp.market/server/yawlabs-vew-mcp","rating":null,"grade":"C","score":65,"certified":false,"status":"active","category":"scraping","tags":["scraping","productivity"],"presence":{"score":8,"stars":null,"forks":null,"downloads_week":42,"last_push_at":null,"license":"MIT"},"uptime":null,"claimed":false,"transport":"npm","callable_via_gateway":false,"default_price_micros":0,"repository":null,"website":null,"version":"0.4.3","remotes":[],"packages":[{"registryType":"npm","identifier":"@yawlabs/vew-mcp","version":"0.4.3","transport":{"type":"stdio"}}],"tools":[{"name":"browser_back","description":"Go back one entry in the browser history, then return a fresh snapshot of the page you land on. No-op error if there is no previous entry.","write_action":false,"price_micros":0,"input_schema":null},{"name":"browser_click","description":"Click the interactive element addressed by `ref` (from the most recent snapshot), then return a fresh snapshot of the resulting page. Use this for buttons, links, checkboxes, tabs, menu items.","write_action":false,"price_micros":0,"input_schema":null},{"name":"browser_evaluate","description":"Evaluate a JavaScript EXPRESSION in the current page's context and return the JSON-serializable result. This is the escape hatch for reading computed state or extracting structured data the snapshot does not surface -- e.g. 'document.title', 'location.href', or '({ count: document.querySelectorAll(\"a\").length })'. Runs in the page sandbox (not the server process). The result must be JSON-serializa","write_action":false,"price_micros":0,"input_schema":null},{"name":"browser_file_upload","description":"Set one or more local files on the file input addressed by `ref` (from the most recent snapshot). Paths resolve on the machine running the browser. The ref must point at an <input type=file> (it appears in the snapshot as a textbox). Returns a fresh snapshot.","write_action":true,"price_micros":0,"input_schema":null},{"name":"browser_forward","description":"Go forward one entry in the browser history, then return a fresh snapshot of the page you land on. No-op error if there is no forward entry.","write_action":false,"price_micros":0,"input_schema":null},{"name":"browser_get_text","description":"Return the readable text (innerText) of the current page, normalized and clamped to a character budget. Use this when you want the page content WITHOUT the interactive-element list that browser_snapshot includes.","write_action":false,"price_micros":0,"input_schema":null},{"name":"browser_handle_dialog","description":"Configure how the browser answers the next native JS dialog (alert / confirm / prompt / beforeunload), and report the most recent dialog seen. By default vew auto-ACCEPTS dialogs when driving its own launched browser (so a confirm()-gated action proceeds and alert() text is captured) and auto-DISMISSES them when attached to an existing browser (VEW_CDP_URL) so it does not hijack the human's dialog","write_action":false,"price_micros":0,"input_schema":null},{"name":"browser_hover","description":"Hover the pointer over the element addressed by `ref` (from the most recent snapshot), then return a fresh snapshot. Use this to reveal hover-only menus, tooltips, or action icons that are not in the page until hovered.","write_action":false,"price_micros":0,"input_schema":null},{"name":"browser_navigate","description":"Navigate the persistent browser page to a URL and return a fresh snapshot of the resulting page. This is usually the first call: it loads the page and immediately gives you the ref-addressable element list + readable text so you can act without a second round-trip. Waits for the load event by default. The page renders at Playwright's default 1280x720 viewport. The snapshot lists every rendered ele","write_action":false,"price_micros":0,"input_schema":null},{"name":"browser_press_key","description":"Press a single keyboard key, optionally on the element addressed by `ref`. Use Playwright key names: Enter, Tab, Escape, Backspace, Delete, ArrowUp/Down/Left/Right, Home, End, PageUp/PageDown, or a single character; combos use '+', e.g. 'Control+A'. With a `ref` the element is focused first (e.g. to submit a field or drive a focused widget); without one the key goes to whatever currently has focus","write_action":false,"price_micros":0,"input_schema":null},{"name":"browser_screenshot","description":"Capture a PNG screenshot of the current page and return it as an image. Defaults to the viewport; set full_page to capture the entire scrollable page. Prefer browser_snapshot for acting on the page -- a screenshot is for when you need to SEE pixels (layout, charts, visual verification).","write_action":false,"price_micros":0,"input_schema":null},{"name":"browser_scroll","description":"Scroll the page one viewport in the given direction, then return a fresh snapshot. Useful to bring lazily-loaded content (infinite scroll, IntersectionObserver widgets) into the DOM so it appears in the snapshot.","write_action":false,"price_micros":0,"input_schema":null},{"name":"browser_select_option","description":"Select an option in a native <select> dropdown addressed by `ref` (from the most recent snapshot). The `value` is matched against each option's visible label OR its value attribute. browser_type cannot fill a <select> -- use this instead. On a <select multiple>, this selects only the matching option and clears any others. Returns a fresh snapshot.","write_action":false,"price_micros":0,"input_schema":null},{"name":"browser_snapshot","description":"Return a compact, token-efficient view of the CURRENT page: a ref-tagged list of interactive elements (each line is `[ref] role \"name\"`, optionally with value/checked/disabled) followed by the readable page text. This is the core capability -- prefer it over a raw DOM dump. Refs (e1, e2, ...) are stable within this snapshot and RENUMBER on the next one; always act off the most recent snapshot. Pas","write_action":false,"price_micros":0,"input_schema":null},{"name":"browser_type","description":"Type `text` into the textbox/searchbox/combobox addressed by `ref` (from the most recent snapshot). The field is cleared first. Set `submit: true` to press Enter afterward (e.g. to run a search). Returns a fresh snapshot.","write_action":false,"price_micros":0,"input_schema":null},{"name":"browser_wait_for","description":"Wait for a condition on the current page, then return a fresh snapshot. Provide at least one of: `text` (wait until that text becomes visible), `text_gone` (wait until that text is no longer visible), or `time_ms` (wait a fixed time); when several are given they apply in that order. Use this after an action that triggers async / SPA rendering so the next snapshot reflects the settled page instead ","write_action":false,"price_micros":0,"input_schema":null}],"scan":{"score":65,"grade":"C","scanned_at":"2026-09-25T17:21:44.753Z","report":{"scannerVersion":"0.1.9","scannedAt":"2026-09-25T17:21:44.757Z","components":{"code":{"score":25,"max":25,"notes":["4 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":3,"max":15,"notes":["repository not readable: repo not found"]},"identity":{"score":2,"max":10,"notes":["no repository or website to verify"]}},"findings":[],"inputs":{"packages":[{"registryType":"npm","identifier":"@yawlabs/vew-mcp","version":"0.4.3","found":true,"license":"MIT","hasInstallScripts":false,"dependencyCount":3,"publishedAt":"2026-07-21T23:22:42.480Z","repositoryUrl":"git+https://github.com/YawLabs/vew-mcp.git","weeklyDownloads":42}],"repo":{"found":false,"owner":"YawLabs","repo":"vew-mcp","error":"repo not found"},"icon":{"url":null,"source":"none"},"presence":{"stars":null,"forks":null,"downloadsWeek":42,"license":"MIT","lastPushAt":null,"score":8}}}},"grade_history":[],"reviews":[]}