jev-ultrafast-mcp
This MCP server lets AI control a headless Chrome/Chromium browser via CDP, supporting whole-task handoff as well as manual, step-by-step browser automation.
Open URLs and get stable element reference tables.
Observe pages in full or delta mode, with optional text/JSON element data.
Execute batched actions: click, type, select, toggle, hover, upload, keys, scroll, nav, back/forward/reload, wait, screenshot, tab, and eval.
Run deterministic page assertions on URL, title, text, elements, values, checked state, and counts.
Record, replay, list, inspect, and delete zero-model macros with parameter placeholders.
Hand a high-level goal to a decision model for autonomous end-to-end execution (requires an API key).
Manage tabs and independent sessions; close sessions or shut down a launched browser.
Diagnose environment, browser connection, keys, and policy envelope.
Controls Google Chrome via Chrome DevTools Protocol to automate browser tasks end-to-end, including navigating pages, clicking elements, filling forms, and extracting page content.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@jev-ultrafast-mcp Go to example.com, order the blue shirt, and leave a review"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
⚡ jev-ultrafast-mcp - One Call Finishes Whole Browser Tasks
Welcome to jev-ultrafast-mcp – a tool that lets you hand an entire browser job to a smart helper and get it done in one single request. Instead of telling the computer click-by-clickhire a pro driver who takes the wheelhandles every stepand comes back with the result.
🤔 What Problem Does This Solve?
Imagine you want a computer to fill out a form or test a webpage. Normallyyou would need to give it dozens of tiny instructions: "click herewait now type thatclick submit check the text..." That process is slow and needs a new instruction for every action.
jev-ultrafast-mcp changes that completely. You describe the whole goal at once (like "go to this siteorder the blue shirt and leave a review") and the software figures out all the little steps by itself. It runs the browser on a server (not your screen) using a special decision-making brain that watches the page and clickscorrectly. The entire task costs just one call (one command) not one call for each click. That is a huge speed boost for anyone doing browser work with AI tools.
🧠 Core Benefits at a Glance
✅ One-call flow – Describe the whole job onceand it executes end-to-end automatically
✅ Ref-based element tables – The system tracks every button and box on the page with stable references (no missed clicks from shifting layouts)
✅ Code-checked assertions – After each actionit verifies the page changed correctly (like a self-checking robot)
✅ Zero-model macro replay – Re-run successful flows instantly without using any AI compute (super cheap)
✅ Runs over Chrome DevTools Protocol – Same professional protocol that powers Chrome's own debugging (reliable and standardized)
Related MCP server: Cloudflare Playwright MCP
🚀 Getting Started (Windows)
Step 1: Go to the download page
Visit this link to download the application:
👉 CLICK HERE TO DOWNLOAD jev-ultrafast-mcp
After clickingyou will arrive at the project's homepage on GitHub. Look for a green "Releases" section on the right side (or a "Download" button). Click on the newest release file listed there (the file with.zip at the end). If you only see a "Code" green buttonthat is for developers – you want the Releases link instead.
Step 2: Save the file easy to find
Choose a simple spot on your computer to save the downloaded file – like your Desktop or Downloads folder. Do not worry about settings or options – just click Save when the browser asks where to put it.
Step 3: Open the downloaded file
Once the download finishesgo to your Desktop or Downloads folder and double-click the file you saved (it has a name like jev-ultrafast-mcp-v1.0.zip). A window will open showing a few files inside. This is a compressed folder–we need to take the files out.
Step 4: Extract (unzip) the folder
Inside that zip windowlook for the words "Extract All" in the toolbar at the topthen click it. A small window appears asking where you want the files placed. The default location (usually a new folder next to the zip file) is perfect. Click Extract. Your computer will create a normal folder with all the needed files inside.
Step 5: Look for the launcher file
Go into that new extracted folder. You should see a file named**start.bat** or run_windows.bat (or asimilar .bat file). That is the magic button. If you see a file named setup.exe insteaduse that one – but most often it will be a .bat file. Do not confuse this with the source code files (.py or .js files) – you only need to run the .bat file.
Step 6: Run the application
Double-click that .bat file. Windows may show a blue popup saying "Windows protected your PC" (SmartScreen). That is just Windows being cautious about a new file. Click "More info" and then "Run anyway" – this is safe because you downloaded it from the official project page. A black terminal window will open (that is normal) andin a few seconds your tool will be ready. That black window is the control panel – keep it open while you use the software. Close it when you are done.
Step 7: Connect it to your AI assistant the 30-second way
If you use Claude Desktop or Claude Code (Anthropic's assistant) this software automatically shows up in their list of available "tools"once it's running. You might need to restart theai app once after first setup. the
If you use Cursor or VS Code with an AI extensionopen the settings and add this line to the MCP (Model Context Protocol)servers section:
{ "mcpServers": { "jev-ultrafast-mcp": { "command": "your-full-path\start.bat" } } }(Replace your-full-path with the actual folder path you extracted.")
Step 8: Give your first task (try this simple test)
Once connectedtype this to your AI assistant:
"Use the browser tool to go to example.comand tell me the main heading text."
The AI will call jev-ultrafast-mcp onceand the software will handle opening the browser going to the pageand reading the text – all by itself. You will get the answer in just a few seconds. That is the whole experience: describe the goalget the result.
📋 Features Explained for Non-Programmers
🎯 One-Call Whole-Task Execution
You give one instruction ("order a pizza") not fifty steps. The built-in decision model looks at the starting pagefigures out what to clicktypepressand waitsover and over until the task is done. It's like giving a GPS your destination instead of turn-by-turn directions at every corner.
📊 Ref-Based Element Tables (No More "Element Not Found")
The system builds a live list of every buttonlinktext boxand image on the screenusing special IDs (called references). Those IDs stay stable even if the page changes halfway through. That means fewer failures and smoother execution – especially on webpages with moving parts (ads popping upanimation loading€).
✔️ Code-Checked Assertions (Self-Verifying Steps)
After every click or keypressthe software runs a mini-test to confirm the page actually changed as expected. If a click was supposed to open a dialog but nothing happenedthe system knows immediately and retries with a different approach. You never see a half-finished job with a "stuck" browser – you get a clean finish oran honest error.
🪄 Zero-Model Macro Replay (Replay Successful Flows for Free)
Let's say you just completed a perfect flow (like logging into a dashboard and downloading a report€). You can save that entire sequence as a "macro" – essentially recorded keystrokesand element clicks. Next time you need the same task you just replay it directly through the browser torchrome – with zero AI processing. That means it costs almost nothing in time and compute.The replay is exact because it uses the same element referencesnot fuzzy approximations.
🌐 Runs Over Chrome DevTools Protocol (CDP)
CDP is the official language that Chrome browsers speak to developers. Instead of using third-party hacks or flaky screen-simulationthis tool speaks directly to Chromium's core. That gives you rock-solid stability and full access to browser features (tabsnetwork logsJavaScript console€€without attaching to your visible desktop. The browser runs invisibly ona server (headless mode€ when you don't need to watch – fast and undetectable.
es without attaching to your actual remote computer)
🛠️ System Requirements (What You Need)
OS: Windows 10 or Windows 11 (64-bit recommendedbut 32-bit should work too)
RAM: At least 4 GB free memory (8 GB is better for heavy tasks such as multi-page forms or scraping)
Storage: 500 MB free disk space for the software and temporary browser files
Internet: A standard broadband connection (you need to talk to theai services like Claudeand also the browser needs to load pages€)
Pre-installed – Google Chrome or Microsoft Edge (the software will find your browser automatically; no need to do anything manual)
❓ Frequently Asked Questions (Quick Answers)
Q1: Do I need to know how to code to use this?
No. You only need the ability to run a .bat file (double-click a file)and write simple English sentences to an AI assistant. That's it. No Python knowledgeNo command line expertiseNo web development.
Q2: Is it safe to run the .bat file?
Yes. The file comes directly from this repository (the same page you downloaded). It only starts the tool locally on your machine. Windows might show a warning because it's a new program – just click "More info" → "Run anyway." The project is open-source so you0re free to inspect the contents if security is a top concern.
Q3: Which AI assistants work with it?
It is built on the Model Context Protocol (MCP) – that's the industry standard connection method. That means it works well with Claude (Desktop and Code) Cursor VS Code and many other modern AI code editors. If your AI tool supports "MCP servers" (most do these days) then you are good to go.
Q4: What if the task fails halfway through?
The built-in assertion system catches problems early and retries automatically. If it genuinely cannot finish (like the website blocks automation€) it will stop grand tell you exactly why. You can then adjust your instruction and try again. It doesn't waste your time pretending to work.
Q5: Can I run multiple browser tasks at the same time?
Technically yes – simply start the tool multiple times on different portsor use a tool manager that supports concurrency. For a typical userwe recommend sticking to one at a time to avoid confusion. The speed gain from one-call flow is usually enough.
📚 Realistic Example Use Cases
Form Filling & Submission – You give it a list of fields and values ("fill name as John Doe email as j@example.com" and the tool will click each fieldtype correctlysubmit and confirm the thank-you message. All in one request.
Web Scraping for Personal Projects – Ask it to "collect all product names and prices from this page and return them as a table." It runs the headless browseropens the sitescrolls throughand extracts structured dataandsends you back a neat list.
Multi-Step Workflow Automation( e.g., log into a dashboarddownload a CSV email it to yourself). Describe the whole chain oncethe tool clicks login enters credentials (you provide them in the prompt)loads the pageclicks downloadapplies a filterand then composes an email – all autonomously. It can also replay that exact flowlater for free using macros.
🧑🏫 Troubleshooting (3 Simple Fixes)
Issue: The .bat file opens and closes immediately (black window disappears)
Fix: Right-click the
.batfile → click "Edit" (it opens Notepad). Add the wordpauseat the very end of the fileand save.Closeand run again. This time the black window stays open showing the error. Copy that error and ask the AI assistant what it means – it will tell you exactly what missing (usually a path issue).
Issue: The AI assistant says it cannot find the "jev-ultrafast-mcp" tool
Fix: Firstdouble-check that the
.batfile is still running (you should see a black window open). If it closedtry running it again. Then restart your AI application (fully close andreopen – the list of MCP tools reloads on startup). once the window is activeand the AI should see it within a few seconds.
.
If you use Cursor or VS Codecheck your settings JSON that you typed the server path correctly.
🔍 Technical Snapshot (For the Curious)
Under the hoodthis software is a Python-based server that speaks the Model Context Protocol (MCP)to AI clients and the Chrome DevTools Protocol (CDP)to a Chromium browser instance. It maintains a two-way bridge: AI sends a high-level goalthe server breaks it down into a sequence of DOM operations (clickinputnavigate€)and each operation is verified with an assertion check. Key components include:
A decision model that parses the goal into a start state and a terminal condition usingzero-shot planning. It uses a combination of DOM heuristics and accessibility tree structures to identify the correct interactive elements.
A ref-table module that maintains a stable mapping from XPath+/CSS-paths to integer indices (the "ref-based" strategy for robustness against dynamic class names).
An assertion engine that compares DOM snapshots before/after actions using structural diffing to confirm success. .on
A macro engine that stores sequential (action, ref€» pairs in a JSON file for later deterministic replaying (zero-model cost).
🏁 Ready to Turbocharge Your Browser Tasks?
You have everything you need. It's a simple download extract double-click connect-and-go experience. No codingbackground necessary – just an ability to describe what you want done and let the smart driver handle the rest. Thousands of repetitive browser hours become secondsand single calls. Try it now – the onboarding takes under 5 minutes from download to first successful task. Stop baby-sitting a browser and start directing a whole fleet of digital assistants.
⬇️ Download jev-ultrafast-mcp Now(Opens the release page – download the latest .zip file from there)
Keywords: agent-tools, ai-agents, browser-agent, browser-automation, browser-use, cdp, chrome-devtools-protocol, claude, claude-code, cursor, headless-chrome, llm, mcp, mcp-server, model-context-protocol, playwright-alternative, python, vscode, web-automation, workbuddy
Available Tools
10 toolsbrowser_actA
Execute one or more ops in order, then return a delta observation.
Batch ops into a single call — each call is a round trip.
op fields click ref (ref may be "e12", or "e12" of a combobox to open it) type ref, text, [clear=true], [submit=false] select ref, value (option value or label) toggle ref, [state] (checkbox/radio/switch; no state = flip) hover ref upload ref, path | paths[] keys key ("Enter", "Meta+A", "ArrowDown") | keys[] scroll [dir=down|up|left|right], [amount=600], [ref] nav url back | forward | reload wait [ms=500] wait_for_ref ref, [timeout_ms=8000] wait_for_text text, [timeout_ms=8000] wait_for_load [timeout_ms=20000] screenshot [path], [full=false], [format=jpeg] (path names a file in the shots dir) tab action=list|new|switch|close, [index], [url] eval js (only when JEVMCP_ALLOW_JS=1)
Actions matching the confirmation rules (pay, delete account, …) return
needs_confirmation; re-send that op with "confirm": true to proceed. That
covers every op that clicks, not only the one named click -- toggle
presses the control too -- and the role it gates on is read from the
element the server observed, never from the op.
A bare single character in keys is text, not a key press -- it goes into
whatever has focus -- so it is refused (blocked_by_policy) on a field whose
value must not leave the page rather than confirmed. Use type with that
field's ref, which asks for "confirm": true and records {{secret}}.
Inputs: ops (required), dry_run, session, observe_after, +1 more. Returns: result
browser_assertARead-onlyIdempotent
Verify the current page against deterministic checks. Returns pass/fail.
checks {"type": "url_matches", "pattern": "/checkout"} {"type": "url_contains", "text": "/orders/"} {"type": "title_matches", "pattern": "Order"} {"type": "text_contains", "text": "Thanks", "regex": false} {"type": "text_absent", "text": "Error"} {"type": "element_exists", "role": "button", "name": "Continue"} {"type": "element_gone", "ref": "e12"} {"type": "value_equals", "ref": "e7", "value": "Zurich"} {"type": "checked", "ref": "e9", "state": true} {"type": "count_at_least", "role": "link", "min": 3} {"type": "js", "expr": "document.title.length > 3"}
Inputs: checks (required), session. Returns: result
browser_closeA
Close a session's tab. Set shutdown_browser=True to stop the browser too.
Only a browser this server launched is stopped. In attach mode the browser is yours: shutdown detaches and leaves it, and every other window, running.
Inputs: session, shutdown_browser. Returns: result
browser_doctorARead-onlyIdempotent
Report environment: browser binary, connection, keys, and policy envelope.
Call this when anything behaves unexpectedly — it separates "no browser" from "blocked by policy" from "no key".
Inputs: no named parameters. Returns: result
browser_goalA
Hand a whole browser task over. Needs a decision-model key.
This is the entry point for browser work, not an optimisation on top of the
manual loop. Pass url and the goal and the page is opened and driven to
the end here: one call, one host turn, instead of a turn per click.
Leave url out when the task continues from a page an earlier step left
behind; the goal then runs against whatever the session is already showing.
Each step costs one request (operation + every target head in a single
speculative fan-out). verify runs browser_assert-style checks on the final
page, so the result is a fact rather than a model's claim of success.
The decision model is reachable through two APIs and both are supported here.
JEV_PROVIDER=typesafe uses Jev's own API with TYPESAFE_API_KEY;
JEV_PROVIDER=openrouter routes the same model through OpenRouter with
OPENROUTER_API_KEY and no TypeSafe account. Same model, same contract either
way. Reading a page needs no key at all, so when no key is set the handoff is
unavailable while browser_open, browser_observe and browser_act keep working.
Inputs: goal (required), url, verify, session, +2 more. Returns: result
browser_macroA
Record, replay, list, or delete a macro — a discovered path with no model calls.
action="record_start" begin capturing ops (needs the session to be driving the task)
action="record_stop" finish and save under name
action="run" replay name; params fills {{placeholders}} in text/url
action="list" | "inspect" | "delete"
A field the page marks as a secret is never written to the macro: its text is
stored as the placeholder {{secret}}, so pass params={"secret": "…"} to
replay it. Leaving that out types the placeholder literally, which fails
visibly rather than leaking — and the extension's replay panel asks for the
same field, because it is an ordinary placeholder.
Replay re-resolves each step by role + name against a fresh observation and refuses to act when the best match is weak or ambiguous.
Inputs: action (required), goal, name, params, +3 more. Returns: result
browser_observeARead-onlyIdempotent
Re-read the page: new element table, or a delta if little changed.
mode: "auto" (delta when possible), "full" (whole table, e.g. after a big
change), "delta" (force). include_json=True appends a machine-readable
copy of the element table when you want to plan over it programmatically.
Inputs: mode, session, include_json, include_text. Returns: result
browser_openA
Open a URL in a new owned tab and return the element table.
Use hint to restate the goal in one line; it is echoed back so the next
step has the goal in context without re-reading this call.
Inputs: url (required), hint, session. Returns: result
browser_sessionsARead-onlyIdempotent
List open sessions (independent owned tabs).
Inputs: no named parameters. Returns: result
browser_tabsA
List, open, switch to, or close tabs.
Tabs opened by the page show up in observations on their own. To act on one,
prefer target_id (the #handle printed by action="list"): indexes are
positional and get renumbered whenever the tab list changes, so an index
read a call ago can address a different tab. index is a convenience when
listing and acting in the same breath; omit both to mean "the current tab".
url is checked against the domain envelope, like every other way of
choosing a destination.
Inputs: url, index, action, session, +1 more. Returns: result
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 10 tools
Each tool has a clear primary purpose, but there is some overlap: browser_act includes tab operations that browser_tabs also handles, and browser_close overlaps with tab-closing in browser_tabs and browser_act. The descriptions mostly disambiguate these contexts well, though an agent might occasionally hesitate between them.
All tools share a consistent browser_ prefix in snake_case, which makes the family obvious and predictable. The second part mixes action verbs (open, observe, act, assert, close) with nouns (macro, tabs, sessions, doctor), so it is not a strict verb_noun pattern but remains readable and mostly consistent.
Ten tools is well-scoped for a browser automation server. Each tool occupies a meaningful role: navigation, observation, interaction, verification, tab/session management, recording, autonomous task handling, and diagnostics. None feel redundant or missing.
The tool surface covers the full browser workflow: open, observe, act, assert, manage tabs and sessions, close, record/replay macros, delegate to a decision model, and diagnose environment issues. There are no obvious dead ends or missing operations for the stated domain.
Maintenance
Related MCP Connectors
AI-powered browser automation — navigate, click, fill forms, and extract data from any website.
AI-powered web automation. Navigate websites using AI agents for one page or a thousand
AI-powered web automation. Navigate websites using AI agents for one page or a thousand
Autonomous cloud agent tasks: real browser + your tools, structured evidence-backed results.
Related MCP Servers
- AlicenseBqualityDmaintenanceEnables visual browser automation through natural language descriptions, allowing AI to click, type, and navigate web pages by seeing the page.18MIT
- AlicenseNot gradedqualityNot gradedmaintenanceEnables AI assistants to control a browser through tools for navigation, typing, clicking, and taking screenshots to perform web automation tasks.Apache 2.0
- FlicenseNot gradedqualityBmaintenanceEnables AI assistants to browse websites, extract information, fill forms, interact with pages, and execute multi-step web tasks autonomously.-
- AlicenseAqualityBmaintenanceEnables browser automation for coding agents via MCP, allowing them to open pages, search, extract data, click, type, and complete multi-step tasks with fast single-round-trip decisions.144MIT