{"name":"io.github.dundas/thinkrun","slug":"dundas-thinkrun","title":null,"description":"Browser control + session recording MCP for AI coding agents (Claude Code, Cursor) — real Chrome.","url":"https://mcp.market/server/dundas-thinkrun","rating":null,"grade":"A","score":92,"certified":false,"status":"active","category":"scraping","tags":["scraping"],"presence":{"score":31,"stars":2,"forks":0,"downloads_week":44,"last_push_at":"2026-09-21T15:16:32.000Z","license":"MIT"},"uptime":null,"claimed":false,"transport":"npm","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/dundas/thinkrun","website":"https://thinkrun.ai","version":"0.3.8","remotes":[],"packages":[{"registryType":"npm","identifier":"@thinkrun/mcp","version":"0.3.8","transport":{"type":"stdio"}}],"tools":[{"name":"clear_logs","description":"Clear console and network logs for the session.","write_action":false,"price_micros":0,"input_schema":null},{"name":"click","description":"Click an element on the page using a CSS selector.","write_action":false,"price_micros":0,"input_schema":null},{"name":"click_at","description":"Click at viewport-relative CSS pixel coordinates. Local mode only.","write_action":false,"price_micros":0,"input_schema":null},{"name":"console_messages","description":"Get browser console messages (log, warn, error) from the current session.","write_action":false,"price_micros":0,"input_schema":null},{"name":"evaluate","description":"Execute JavaScript in the browser page context. The script runs in the page,","write_action":true,"price_micros":0,"input_schema":null},{"name":"extract","description":"Extract content from the page. Types: \"text\" for visible text, \"html\" for raw HTML,","write_action":false,"price_micros":0,"input_schema":null},{"name":"fill","description":"Fill a form field with a value (replaces existing content).","write_action":false,"price_micros":0,"input_schema":null},{"name":"focus","description":"Bring the currently bound local browser tab/window to the foreground without rebinding the default session. Local mode only.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_dialog","description":"Check for pending browser dialogs (alert, confirm, prompt) and view dialog history.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_html","description":"Return the current page HTML for the active session. Large documents are truncated explicitly in the response.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_title","description":"Return the current page title for the active session.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_url","description":"Return the current page URL for the active session.","write_action":false,"price_micros":0,"input_schema":null},{"name":"go_back","description":"Navigate back to the previous page in browser history.","write_action":false,"price_micros":0,"input_schema":null},{"name":"go_forward","description":"Navigate forward to the next page in browser history.","write_action":false,"price_micros":0,"input_schema":null},{"name":"handle_dialog","description":"Accept or dismiss a pending browser dialog (alert, confirm, prompt).","write_action":false,"price_micros":0,"input_schema":null},{"name":"hover","description":"Hover the mouse over an element. Useful for triggering tooltips or dropdown menus.","write_action":false,"price_micros":0,"input_schema":null},{"name":"local_action_cancel","description":"Cancel a running local action. Local mode only.","write_action":true,"price_micros":0,"input_schema":null},{"name":"local_action_run","description":"Run a direct native-host action against the currently attached local tab.","write_action":true,"price_micros":0,"input_schema":null},{"name":"local_action_status","description":"Check the status of a previously started local action. Local mode only.","write_action":false,"price_micros":0,"input_schema":null},{"name":"local_diagnostics","description":"Return structured local continuity, ownership, reclaim, and bridge recovery diagnostics. Local mode only.","write_action":false,"price_micros":0,"input_schema":null},{"name":"local_reset_connection","description":"Trigger the bounded native-host reset-connection recovery path used for false local circuit-breaker trips. Local mode only.","write_action":false,"price_micros":0,"input_schema":null},{"name":"navigate","description":"Navigate the browser to a URL. Waits for page load before returning.","write_action":false,"price_micros":0,"input_schema":null},{"name":"network_requests","description":"Get network requests made by the browser during this session.","write_action":false,"price_micros":0,"input_schema":null},{"name":"page_cache_html","description":"Stateless: fetch rendered HTML for a URL without a browser session (no sessionId).","write_action":false,"price_micros":0,"input_schema":null},{"name":"page_cache_screenshot","description":"Stateless: capture a PNG for a URL without a session. Returns JSON with artifactUrl when Accept is application/json.","write_action":false,"price_micros":0,"input_schema":null},{"name":"page_cache_text","description":"Stateless: extract plain text for a URL without a browser session. POST /api/cache/text.","write_action":false,"price_micros":0,"input_schema":null},{"name":"press_key","description":"Press a keyboard key. Common keys: Enter, Tab, Escape, ArrowDown, ArrowUp, Backspace.","write_action":false,"price_micros":0,"input_schema":null},{"name":"screenshot","description":"Capture a screenshot of the current page. Returns an image plus any available artifact metadata.","write_action":false,"price_micros":0,"input_schema":null},{"name":"scroll","description":"Scroll the page or a specific element. Positive y scrolls down, negative scrolls up.","write_action":false,"price_micros":0,"input_schema":null},{"name":"select_option","description":"Select an option from a <select> dropdown element.","write_action":false,"price_micros":0,"input_schema":null},{"name":"session_artifacts","description":"List artifacts (screenshots, recording) for a session.","write_action":false,"price_micros":0,"input_schema":null},{"name":"session_create","description":"Create a new browser session. Returns a sessionId to use with all other tools.","write_action":true,"price_micros":0,"input_schema":null},{"name":"session_delete","description":"Terminate a browser session and clean up resources. Artifacts are preserved.","write_action":true,"price_micros":0,"input_schema":null},{"name":"session_list","description":"List all active browser sessions for this user.","write_action":false,"price_micros":0,"input_schema":null},{"name":"session_release","description":"Release the current local tab ownership without closing the tab. Clears the default session when releasing the bound local session. Local mode only.","write_action":false,"price_micros":0,"input_schema":null},{"name":"session_status","description":"Get the current status of a browser session including URL, title, and action count.","write_action":false,"price_micros":0,"input_schema":null},{"name":"session_use","description":"Set the default session for subsequent tool calls so you do not need to pass sessionId every time.","write_action":false,"price_micros":0,"input_schema":null},{"name":"session_wait_ready","description":"Poll session status until the session is ready (running/active) or timeout.","write_action":false,"price_micros":0,"input_schema":null},{"name":"set_auditing","description":"Enable or disable local audit mode for the current local tab-backed session.","write_action":false,"price_micros":0,"input_schema":null},{"name":"set_mode","description":"Switch the MCP server between local (Chrome extension) and cloud (ThinkRun API) modes at runtime.","write_action":false,"price_micros":0,"input_schema":null},{"name":"sleep","description":"Pause for a bounded duration in milliseconds (max …).","write_action":false,"price_micros":0,"input_schema":null},{"name":"snapshot","description":"Get an accessibility tree snapshot of the current page. This is a lightweight","write_action":false,"price_micros":0,"input_schema":null},{"name":"tab_attach","description":"Attach to an existing local Chrome tab by tab ID and make it the default session. Local mode only.","write_action":false,"price_micros":0,"input_schema":null},{"name":"tab_close","description":"Close a browser tab by ID. If no tabId is provided, closes the current tab. Local mode only.","write_action":false,"price_micros":0,"input_schema":null},{"name":"tab_list","description":"List all open browser tabs. Local mode only.","write_action":false,"price_micros":0,"input_schema":null},{"name":"tab_new","description":"Open a new browser tab, optionally navigating to a URL. Local mode only.","write_action":false,"price_micros":0,"input_schema":null},{"name":"tab_switch","description":"Switch the active local Chrome tab without rebinding the current default session. Local mode only.","write_action":false,"price_micros":0,"input_schema":null},{"name":"task_create","description":"Create an AI task plan from natural language. The plan breaks your request into","write_action":true,"price_micros":0,"input_schema":null},{"name":"task_execute","description":"Execute a previously created task plan. Cloud mode only.","write_action":true,"price_micros":0,"input_schema":null},{"name":"task_status","description":"Check the status of a task plan execution. Cloud mode only.","write_action":false,"price_micros":0,"input_schema":null},{"name":"type_text","description":"Type text into an element (appends to existing text, triggers key events).","write_action":false,"price_micros":0,"input_schema":null},{"name":"wait_for_element","description":"Wait for an element to appear on the page. Useful after navigation or clicking","write_action":false,"price_micros":0,"input_schema":null},{"name":"wait_for_text","description":"Wait for specific text to appear on the page.","write_action":false,"price_micros":0,"input_schema":null},{"name":"window_new","description":"Open a new local Chrome window and bind the resulting tab as the default session. Local mode only.","write_action":false,"price_micros":0,"input_schema":null}],"scan":{"score":92,"grade":"A","scanned_at":"2026-09-26T16:34:19.833Z","report":{"scannerVersion":"0.1.9","scannedAt":"2026-09-26T16:34:19.831Z","components":{"code":{"score":25,"max":25,"notes":["25 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 5 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":"@thinkrun/mcp","version":"0.3.8","found":true,"license":"MIT","hasInstallScripts":false,"dependencyCount":3,"publishedAt":"2026-06-27T02:58:33.029Z","repositoryUrl":"git+https://github.com/dundas/thinkrun.git","weeklyDownloads":44}],"repo":{"found":true,"owner":"dundas","repo":"thinkrun","archived":false,"pushedAt":"2026-09-21T15:16:32Z","stars":2,"forks":0,"openIssues":0,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/627426?v=4","ownerCreatedAt":"2011-02-19T19:50:51Z","license":"MIT"},"icon":{"url":"https://thinkrun.ai/apple-touch-icon.png","source":"site","width":180,"height":180},"presence":{"stars":2,"forks":0,"downloadsWeek":44,"license":"MIT","lastPushAt":"2026-09-21T15:16:32.000Z","score":31}}}},"grade_history":[],"reviews":[]}