{"name":"io.github.scrollDynasty/browsermesh","slug":"scrolldynasty-browsermesh","title":"BrowserMesh","description":"Isolated multi-session Chromium runtime for external MCP clients over stdio.","url":"https://mcp.market/server/scrolldynasty-browsermesh","rating":null,"grade":"A","score":92,"certified":false,"status":"active","category":"other","tags":[],"presence":{"score":30,"stars":3,"forks":1,"downloads_week":71,"last_push_at":"2026-10-28T12:24:43.000Z","license":"Apache-2.0"},"uptime":null,"claimed":false,"transport":"npm","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/scrollDynasty/multi-agent-browser-mcp","website":null,"version":"0.2.1","remotes":[],"packages":[{"registryType":"npm","identifier":"browsermesh","version":"0.2.1","transport":{"type":"stdio"}}],"tools":[{"name":"browser_action_and_wait","description":"Atomically register a navigation, response, popup, or dialog waiter first, then click or press on the explicitly addressed page under one shared deadline; the action locator may use a bounded semantic iframe chain. Popup pages receive a new BrowserMesh pageId in the same session with isDefault=false and are closed if the page limit is exceeded. Dialogs must be handled atomically because they canno","write_action":false,"price_micros":0,"input_schema":null},{"name":"browser_back","description":"Navigate backward in the history of one explicitly addressed page without affecting pages or sessions used by other roles.","write_action":false,"price_micros":0,"input_schema":null},{"name":"browser_check","description":"Ensure a checkbox or radio located semantically or by CSS is checked on one explicitly addressed page. The operation is idempotent, bounded by timeoutMs, and isolated to the supplied session.","write_action":false,"price_micros":0,"input_schema":null},{"name":"browser_click","description":"Click exactly one semantic/CSS locator or short-lived snapshot ref on one explicitly addressed page. A locator may select the top document or a bounded outer-to-inner semantic iframe chain. Role locator names match exactly by default and every iframe-chain selector must resolve exactly; ambiguous locators return LOCATOR_AMBIGUOUS and stale or cross-page refs return STALE_ELEMENT_REFERENCE. Prefer ","write_action":false,"price_micros":0,"input_schema":null},{"name":"browser_double_click","description":"Double-click a semantic or CSS locator on one explicitly addressed page. Use this only when the application assigns distinct double-click behavior; the action is serialized with all browser work in that session and an ambiguous locator returns LOCATOR_AMBIGUOUS.","write_action":false,"price_micros":0,"input_schema":null},{"name":"browser_drag_and_drop","description":"Drag one semantic or CSS-located element onto another on one explicitly addressed page. Source and target are resolved in the same page and session, with bounded timeout and strict ambiguity errors.","write_action":true,"price_micros":0,"input_schema":null},{"name":"browser_fill","description":"Fill a form field located on one explicitly addressed page. The value is entered only in that session; use separate sessions for different identities.","write_action":false,"price_micros":0,"input_schema":null},{"name":"browser_focus","description":"Focus a semantic or CSS locator on one explicitly addressed page without entering a value. Use this for focus-driven UI state or before a separate key action; the locator remains scoped to the supplied sessionId and pageId.","write_action":false,"price_micros":0,"input_schema":null},{"name":"browser_forward","description":"Navigate forward in the history of one explicitly addressed page without affecting other isolated sessions.","write_action":false,"price_micros":0,"input_schema":null},{"name":"browser_get_title","description":"Read the title of one explicitly addressed page in its owning isolated session.","write_action":false,"price_micros":0,"input_schema":null},{"name":"browser_get_url","description":"Read the current URL of one explicitly addressed page. Use the IDs returned for the intended session; there is no global current page.","write_action":false,"price_micros":0,"input_schema":null},{"name":"browser_hover","description":"Move the pointer over a semantic or CSS locator on one explicitly addressed page. Use this to reveal hover-driven controls or state before inspecting or interacting; BrowserMesh preserves same-session accepted order.","write_action":false,"price_micros":0,"input_schema":null},{"name":"browser_navigate","description":"Navigate one explicitly addressed page to an absolute HTTP(S) URL. Keep using the sessionId/pageId pair for the intended account or role; navigation never changes a global active page.","write_action":false,"price_micros":0,"input_schema":null},{"name":"browser_observe","description":"","write_action":false,"price_micros":0,"input_schema":null},{"name":"browser_page_close","description":"Close one explicitly addressed page in its owning session. Supply both IDs because BrowserMesh has no global current session or page.","write_action":false,"price_micros":0,"input_schema":null},{"name":"browser_page_create","description":"Create an additional page inside one explicitly addressed session. Use it for another tab that must share that session's cookies and storage; use a separate session instead when identity or authentication must be isolated.","write_action":true,"price_micros":0,"input_schema":null},{"name":"browser_page_list","description":"List pages belonging only to the addressed session. Session creation already returns the initial pageId; use this tool to rediscover or inspect all pages in that session.","write_action":false,"price_micros":0,"input_schema":null},{"name":"browser_press","description":"Press a key on a locator within one explicitly addressed page, preserving deterministic ordering with other operations in that session. A missing or unsuitable element returns OPERATION_TIMEOUT within timeoutMs (10 seconds by default) without closing MCP or browser sessions.","write_action":false,"price_micros":0,"input_schema":null},{"name":"browser_reload","description":"Reload one explicitly addressed page in its existing isolated session and authentication state.","write_action":false,"price_micros":0,"input_schema":null},{"name":"browser_runtime_info","description":"Report bounded, read-only BrowserMesh version, launch state, effective configuration, and session counts without launching Chromium. Use this to diagnose setup and capacity safely; it never returns paths, launch arguments, environment values, browser state, or raw errors.","write_action":false,"price_micros":0,"input_schema":null},{"name":"browser_screenshot","description":"Capture a bounded in-memory PNG screenshot of one explicitly addressed page, either as the viewport/full page or one semantic element optionally reached through a bounded iframe chain. Full-page and element capture use an immutable measured CSS-pixel clip plus encoded-byte validation. BrowserMesh returns image content and does not write to a caller-controlled path or inspect another session.","write_action":false,"price_micros":0,"input_schema":null},{"name":"browser_scroll","description":"Scroll an explicitly addressed page by bounded integer pixel deltas. Use deltaX for horizontal and deltaY for vertical movement; this typed operation exposes no arbitrary JavaScript and remains serialized within the session.","write_action":false,"price_micros":0,"input_schema":null},{"name":"browser_scroll_into_view","description":"Scroll one semantic or CSS locator into the viewport of an explicitly addressed page. Use this before inspection or interaction when an off-screen target must become visible; it never accepts arbitrary JavaScript or coordinates.","write_action":false,"price_micros":0,"input_schema":null},{"name":"browser_select_option","description":"Select an option on one explicitly addressed page using a semantic or CSS locator. A missing or unsuitable select returns OPERATION_TIMEOUT within timeoutMs (10 seconds by default), and the supplied session plus all other sessions remain usable.","write_action":false,"price_micros":0,"input_schema":null},{"name":"browser_session_close","description":"Close one explicitly addressed session and release all of its pages and isolated browser context. Close each role/account session when its workflow is complete.","write_action":false,"price_micros":0,"input_schema":null},{"name":"browser_session_create","description":"","write_action":true,"price_micros":0,"input_schema":null},{"name":"browser_session_get","description":"Inspect one explicitly addressed browser session. Session names and metadata are workflow labels, not internal AI agents or owners.","write_action":false,"price_micros":0,"input_schema":null},{"name":"browser_session_list","description":"List every browser session with its explicit sessionId, lifecycle status, name, and neutral workflow metadata. Use this to recover the correct session for each role/account; there is no global active session.","write_action":false,"price_micros":0,"input_schema":null},{"name":"browser_snapshot","description":"","write_action":false,"price_micros":0,"input_schema":null},{"name":"browser_state_list","description":"List logical saved-state IDs available for optional restoration when creating a new isolated session; state contents and secrets are not returned.","write_action":false,"price_micros":0,"input_schema":null},{"name":"browser_state_remove","description":"Delete persisted browser state by its safe logical stateId when it should no longer be restorable. This does not close or alter currently live sessions.","write_action":true,"price_micros":0,"input_schema":null},{"name":"browser_state_save","description":"Save cookies and supported storage from one explicitly addressed session under a safe logical stateId. Use this only when a later new isolated session should restore that authentication state.","write_action":false,"price_micros":0,"input_schema":null},{"name":"browser_uncheck","description":"Ensure a checkbox located semantically or by CSS is unchecked on one explicitly addressed page. The operation is idempotent, bounded by timeoutMs, and isolated to the supplied session.","write_action":false,"price_micros":0,"input_schema":null},{"name":"browser_visible_text","description":"Read visible text from a semantic or CSS locator on one explicitly addressed page. A locator may select the top document or a bounded outer-to-inner semantic iframe chain; the lookup remains confined to that page and session.","write_action":false,"price_micros":0,"input_schema":null},{"name":"browser_wait","description":"Wait for one deterministic passive condition on an explicitly addressed page: an exact/safe-glob URL, domcontentloaded/load state, locator state (optionally through a bounded semantic iframe chain), or case-sensitive top-document text presence/absence. The wait occupies that session queue, is bounded by timeoutMs, and must not depend on a later action queued in the same session; use browser_action","write_action":false,"price_micros":0,"input_schema":null}],"scan":{"score":92,"grade":"A","scanned_at":"2026-11-03T14:20:51.135Z","report":{"scannerVersion":"0.1.10","scannedAt":"2026-11-03T14:20:51.062Z","components":{"code":{"score":25,"max":25,"notes":["75 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 6 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":"browsermesh","version":"0.2.1","found":true,"license":"Apache-2.0","hasInstallScripts":false,"dependencyCount":4,"publishedAt":"2026-08-17T11:06:38.865Z","repositoryUrl":"git+https://github.com/scrollDynasty/multi-agent-browser-mcp.git","weeklyDownloads":71}],"repo":{"found":true,"owner":"scrollDynasty","repo":"multi-agent-browser-mcp","archived":false,"pushedAt":"2026-10-28T12:24:43Z","stars":3,"forks":1,"openIssues":4,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/96938159?v=4","ownerCreatedAt":"2022-01-01T08:56:37Z","license":"Apache-2.0"},"icon":{"url":"https://avatars.githubusercontent.com/u/96938159?v=4&s=128","source":"registry"},"presence":{"stars":3,"forks":1,"downloadsWeek":71,"license":"Apache-2.0","lastPushAt":"2026-10-28T12:24:43.000Z","score":30}}}},"grade_history":[],"reviews":[]}