{"name":"io.github.unmodeled-tyler/vessel-browser","slug":"unmodeled-tyler-vessel-browser","title":"Vessel Browser","description":"AI-native browser runtime for autonomous agents with human-in-the-loop supervision","url":"https://mcp.market/server/unmodeled-tyler-vessel-browser","rating":null,"grade":"A","score":92,"certified":false,"status":"active","category":"scraping","tags":["scraping"],"presence":{"score":48,"stars":134,"forks":14,"downloads_week":66,"last_push_at":"2026-09-15T00:53:58.000Z","license":"MIT"},"uptime":null,"claimed":false,"transport":"npm","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/unmodeled-tyler/vessel-browser","website":"https://github.com/unmodeled-tyler/vessel-browser","version":"0.1.10","remotes":[],"packages":[{"registryType":"npm","registryBaseUrl":"https://registry.npmjs.org","identifier":"@quanta-intellect/vessel-browser","version":"0.1.10","transport":{"type":"streamable-http","url":"http://127.0.0.1:3100/mcp"}}],"tools":[{"name":"vessel_bookmark_archive","description":"Archive the current page, a URL, a link target from the current page, or an existing bookmark into the default \"Archive\" folder.","write_action":false,"price_micros":0,"input_schema":null},{"name":"vessel_bookmark_list","description":"List all bookmark folders and their contents. Optionally filter by folder.","write_action":false,"price_micros":0,"input_schema":null},{"name":"vessel_bookmark_open","description":"Open a saved bookmark by bookmark ID. Optionally open it in a new tab.","write_action":false,"price_micros":0,"input_schema":null},{"name":"vessel_bookmark_organize","description":"Organize a bookmark by intent: save or move a bookmark into a folder, creating the folder if needed. Works with bookmark_id, url, a link target from the current page, or the current page itself.","write_action":false,"price_micros":0,"input_schema":null},{"name":"vessel_bookmark_remove","description":"Remove a specific bookmark by its ID.","write_action":true,"price_micros":0,"input_schema":null},{"name":"vessel_bookmark_save","description":"Save the current page, a specific URL, or a link target from the current page into a bookmark folder. You can provide folder_id or folder_name; missing folder names can be created automatically.","write_action":false,"price_micros":0,"input_schema":null},{"name":"vessel_bookmark_search","description":"Search bookmarks by title, URL, note, folder name, or folder summary.","write_action":false,"price_micros":0,"input_schema":null},{"name":"vessel_checkpoint_create","description":"Capture the current session as a named checkpoint.","write_action":true,"price_micros":0,"input_schema":null},{"name":"vessel_checkpoint_restore","description":"Restore a saved checkpoint by ID or exact name.","write_action":false,"price_micros":0,"input_schema":null},{"name":"vessel_clear_highlights","description":"Remove all visual highlights from the current page, including any saved persistent highlights for this URL.","write_action":true,"price_micros":0,"input_schema":null},{"name":"vessel_clear_transcript","description":"Clear the in-browser transcript monitor state.","write_action":false,"price_micros":0,"input_schema":null},{"name":"vessel_click","description":"Click an element on the page by its index number or CSS selector.","write_action":false,"price_micros":0,"input_schema":null},{"name":"vessel_close_tab","description":"Close a browser tab by its ID.","write_action":false,"price_micros":0,"input_schema":null},{"name":"vessel_create_checkpoint","description":"Alias for vessel_checkpoint_create. Capture the current session as a checkpoint.","write_action":true,"price_micros":0,"input_schema":null},{"name":"vessel_create_folder","description":"Create a named folder for organizing bookmarks. If a folder with the same name already exists, return it instead of duplicating it.","write_action":true,"price_micros":0,"input_schema":null},{"name":"vessel_create_tab","description":"Open a new browser tab, optionally navigating to a URL.","write_action":true,"price_micros":0,"input_schema":null},{"name":"vessel_current_tab","description":"Return the browser tab the human is actively looking at right now. Use this instead of vessel_list_tabs when you only need the focused tab.","write_action":false,"price_micros":0,"input_schema":null},{"name":"vessel_delete_session","description":"Delete a previously saved named browser session.","write_action":true,"price_micros":0,"input_schema":null},{"name":"vessel_devtools_clear_errors","description":"Clear the captured error buffer for the active tab.","write_action":false,"price_micros":0,"input_schema":null},{"name":"vessel_devtools_console_clear","description":"Clear the captured console log buffer for the active tab.","write_action":false,"price_micros":0,"input_schema":null},{"name":"vessel_devtools_console_logs","description":"Get console log entries captured from the active tab. Returns a rolling buffer of recent console.log, console.warn, console.error, etc. calls. Automatically starts capturing on first use.","write_action":false,"price_micros":0,"input_schema":null},{"name":"vessel_devtools_execute_js","description":"Execute a JavaScript expression in the context of the active tab's page via the Runtime.evaluate CDP method. Supports async/await. This is a dangerous action — it can modify page state.","write_action":true,"price_micros":0,"input_schema":null},{"name":"vessel_devtools_get_errors","description":"Get captured JavaScript errors and unhandled promise rejections from the active tab. Automatically starts capturing on first use.","write_action":false,"price_micros":0,"input_schema":null},{"name":"vessel_devtools_get_storage","description":"Read browser storage for the active tab's origin. Supports localStorage, sessionStorage, cookies, and IndexedDB database listing.","write_action":false,"price_micros":0,"input_schema":null},{"name":"vessel_devtools_get_styles","description":"Get computed CSS styles for an element matching a CSS selector. Optionally filter to specific properties.","write_action":false,"price_micros":0,"input_schema":null},{"name":"vessel_devtools_modify_dom","description":"Set or remove an HTML attribute on an element matching a CSS selector. This is a dangerous action that modifies the page.","write_action":false,"price_micros":0,"input_schema":null},{"name":"vessel_devtools_network_clear","description":"Clear the captured network request buffer for the active tab.","write_action":false,"price_micros":0,"input_schema":null},{"name":"vessel_devtools_network_log","description":"Get captured network requests/responses from the active tab. Returns method, URL, status, timing, headers, and size. Automatically starts capturing on first use.","write_action":false,"price_micros":0,"input_schema":null},{"name":"vessel_devtools_network_response_body","description":"Get the response body for a specific network request by its request ID. Use vessel_devtools_network_log first to find the request ID.","write_action":false,"price_micros":0,"input_schema":null},{"name":"vessel_devtools_performance","description":"Get a performance snapshot for the active tab including navigation timing, paint metrics, memory usage, and resource loading statistics.","write_action":false,"price_micros":0,"input_schema":null},{"name":"vessel_devtools_query_dom","description":"Query the DOM of the active tab using a CSS selector. Returns matching elements with their attributes, node type, and optionally their HTML content. Limited to 50 results.","write_action":false,"price_micros":0,"input_schema":null},{"name":"vessel_devtools_set_storage","description":"Set or remove a key in localStorage or sessionStorage for the active tab. This is a dangerous action that modifies page state.","write_action":false,"price_micros":0,"input_schema":null},{"name":"vessel_dismiss_popup","description":"Dismiss a modal, popup, newsletter gate, cookie banner, or blocking overlay using common close and decline actions.","write_action":false,"price_micros":0,"input_schema":null},{"name":"vessel_extract_content","description":"Extract structured content from the current page. Modes: 'full' (default, everything), 'summary' (title+headings+stats), 'interactives_only' (clickable elements with indices), 'forms_only' (form fields only), 'text_only' (page text, no interactives), 'visible_only' (only currently visible, in-viewport, unobstructed elements plus active overlays), 'results_only' (likely primary search/result links ","write_action":false,"price_micros":0,"input_schema":null},{"name":"vessel_extract_structured_data","description":"Return normalized structured data derived from page JSON-LD, microdata, RDFa, and high-signal meta tags. Useful for recipes, products, articles, events, FAQs, and other schema-rich pages.","write_action":false,"price_micros":0,"input_schema":null},{"name":"vessel_extract_text","description":"Extract the text content of a specific element by its index number or CSS selector.","write_action":false,"price_micros":0,"input_schema":null},{"name":"vessel_focus","description":"Focus an input, button, or interactive element. Useful before pressing keys or to trigger focus-dependent UI.","write_action":false,"price_micros":0,"input_schema":null},{"name":"vessel_folder_remove","description":"Remove a folder. Bookmarks in it are moved to Unsorted.","write_action":true,"price_micros":0,"input_schema":null},{"name":"vessel_folder_rename","description":"Rename an existing bookmark folder.","write_action":false,"price_micros":0,"input_schema":null},{"name":"vessel_go_back","description":"Go back in browser history.","write_action":false,"price_micros":0,"input_schema":null},{"name":"vessel_go_forward","description":"Go forward in browser history.","write_action":false,"price_micros":0,"input_schema":null},{"name":"vessel_highlight","description":"Visually highlight an element or text on the page for the user. Use to draw attention to specific parts of the page. Highlights persist until cleared. Set persist=true to save the highlight so it re-appears when the user revisits this page.","write_action":false,"price_micros":0,"input_schema":null},{"name":"vessel_hover","description":"Move the mouse pointer over an element to trigger hover states, tooltips, or dropdown menus.","write_action":false,"price_micros":0,"input_schema":null},{"name":"vessel_list_highlights","description":"List highlights related to the current browsing session. Includes saved persistent highlights plus the active tab's live text selection and any visible unsaved highlight marks. IMPORTANT: When the user says they highlighted or selected text, call this tool before falling back to screenshots or vision.","write_action":false,"price_micros":0,"input_schema":null},{"name":"vessel_list_sessions","description":"List previously saved named browser sessions with cookie and storage counts.","write_action":false,"price_micros":0,"input_schema":null},{"name":"vessel_list_tabs","description":"List all open browser tabs with their IDs, titles, and URLs.","write_action":false,"price_micros":0,"input_schema":null},{"name":"vessel_load_session","description":"Load a previously saved named session, restoring cookies, localStorage, and saved tabs.","write_action":false,"price_micros":0,"input_schema":null},{"name":"vessel_memory_append","description":"Append markdown content to an existing note in the configured Obsidian vault.","write_action":false,"price_micros":0,"input_schema":null},{"name":"vessel_memory_link_bookmark","description":"Create a note for a bookmark or append bookmark details into an existing memory note.","write_action":true,"price_micros":0,"input_schema":null},{"name":"vessel_memory_list","description":"List recent markdown notes in the configured Obsidian vault.","write_action":false,"price_micros":0,"input_schema":null},{"name":"vessel_memory_note_create","description":"Write a markdown note into the configured Obsidian vault for research notes, breadcrumbs, or synthesis.","write_action":true,"price_micros":0,"input_schema":null},{"name":"vessel_memory_page_capture","description":"Capture the current page into the configured Obsidian vault as a markdown note with URL, excerpt, and content snapshot.","write_action":false,"price_micros":0,"input_schema":null},{"name":"vessel_memory_search","description":"Search markdown notes in the configured Obsidian vault by title, path, body, and optional tags.","write_action":false,"price_micros":0,"input_schema":null},{"name":"vessel_navigate","description":"Navigate the active browser tab to a URL.","write_action":false,"price_micros":0,"input_schema":null},{"name":"vessel_press_key","description":"Press a keyboard key, optionally after focusing an element.","write_action":false,"price_micros":0,"input_schema":null},{"name":"vessel_publish_transcript","description":"Publish or stream agent reasoning/status text into Vessel's in-browser transcript monitor. Intended for external harnesses that want to mirror live thinking into the browser UI.","write_action":true,"price_micros":0,"input_schema":null},{"name":"vessel_read_page","description":"Read the active tab's page content. Includes saved highlights plus any active text selection or visible unsaved highlights on the page. Supports modes: full (default — includes highlights section), summary, interactives_only, forms_only, text_only, visible_only, results_only.","write_action":false,"price_micros":0,"input_schema":null},{"name":"vessel_reload","description":"Reload the current page.","write_action":false,"price_micros":0,"input_schema":null},{"name":"vessel_remove_highlight","description":"Remove a persistent highlight by ID and clear it from any open tab. Use vessel_list_highlights to find IDs.","write_action":true,"price_micros":0,"input_schema":null},{"name":"vessel_restore_checkpoint","description":"Alias for vessel_checkpoint_restore. Restore a saved checkpoint by ID or exact name.","write_action":false,"price_micros":0,"input_schema":null},{"name":"vessel_save_session","description":"Persist the current cookies, localStorage, and tab layout under a reusable session name.","write_action":false,"price_micros":0,"input_schema":null},{"name":"vessel_screenshot","description":"Capture a screenshot of the current page. Returns a base64-encoded PNG image.","write_action":false,"price_micros":0,"input_schema":null},{"name":"vessel_scroll","description":"Scroll the page up or down.","write_action":false,"price_micros":0,"input_schema":null},{"name":"vessel_select_option","description":"Select an option in a dropdown by label or value.","write_action":false,"price_micros":0,"input_schema":null},{"name":"vessel_set_ad_blocking","description":"Enable or disable ad blocking for the active tab or a matched tab. Reload after changes unless reload is false.","write_action":false,"price_micros":0,"input_schema":null},{"name":"vessel_submit_form","description":"Submit a form using a field index, submit button index, form selector, or button selector.","write_action":true,"price_micros":0,"input_schema":null},{"name":"vessel_switch_tab","description":"Switch to a different browser tab by ID or title/URL match.","write_action":false,"price_micros":0,"input_schema":null},{"name":"vessel_type","description":"Type text into an input field or textarea. Clears existing content first.","write_action":false,"price_micros":0,"input_schema":null},{"name":"vessel_type_text","description":"Alias for vessel_type. Type text into an input field or textarea.","write_action":false,"price_micros":0,"input_schema":null},{"name":"vessel_wait_for","description":"Wait for text or a selector to appear on the current page.","write_action":false,"price_micros":0,"input_schema":null}],"scan":{"score":92,"grade":"A","scanned_at":"2026-09-27T23:36:40.379Z","report":{"scannerVersion":"0.1.10","scannedAt":"2026-09-27T23:36:40.324Z","components":{"code":{"score":25,"max":25,"notes":["6 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 13 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":"@quanta-intellect/vessel-browser","version":"0.1.10","found":true,"license":"MIT","hasInstallScripts":false,"dependencyCount":7,"publishedAt":"2026-03-18T03:29:19.058Z","repositoryUrl":"git+https://github.com/unmodeled-tyler/quanta-vessel-browser.git","weeklyDownloads":66}],"repo":{"found":true,"owner":"unmodeled-tyler","repo":"vessel-browser","archived":false,"pushedAt":"2026-09-15T00:53:58Z","stars":134,"forks":14,"openIssues":8,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/219877912?v=4","ownerCreatedAt":"2025-07-08T15:49:14Z","license":"MIT"},"icon":{"url":"https://avatars.githubusercontent.com/u/219877912?v=4&s=128","source":"github"},"presence":{"stars":134,"forks":14,"downloadsWeek":66,"license":"MIT","lastPushAt":"2026-09-15T00:53:58.000Z","score":48}}}},"grade_history":[],"reviews":[]}