create_chrome_instanceLABSCO SUMMARY
Pages come back as a clean DOM tree, which is what makes them readable to a model.
Stripping scripts and styles and capping the traversal depth is the difference between a page a model can reason about and one that fills its context with markup. Instances are explicit — every session starts by creating one and should end by closing it — and the instance ceiling and TTL exist so a forgotten session does not leave Chrome running.
What it is
A browser automation server built on chromedp. It manages Chrome instances explicitly, returns pages as a cleaned DOM tree with scripts and styles stripped, and can capture the screen when structure alone is not enough.
What you get
- create_chrome_instance and close — start an instance with headless, sandbox, popup, extension and security options, and close it when the session ends
- navigate, navigate-back, navigate-forward — go to a URL and move through history, with navigation returning the clean DOM tree
- get-all-elements, select-element, get-element-withtext — the whole page as a tree at a chosen depth, one selector's subtree, or the element containing given text
- click-element — click by CSS selector or XPath, with left, right and double clicks and a wait for visibility
- send-key, set-value, key-event — type into an element, set a form value directly, or send key combinations with modifiers
- screenshot — capture the page so the model can see layout, colours, popups and error states
- set-cookie — set cookies with control over domain, path, security and expiry
- download-file and download_image — download by clicking a link, or fetch an image by URL or selector
- generate_pdf — produce a PDF from a URL or from HTML content
- tips — the usage notes the project recommends reading first
Requirements
Chrome or Chromium installed and on PATH, and Go 1.19 or higher to build the binary. Instance limits are configurable: CHROME_MAXIMUM_INSTANCE for how many can run at once, CHROME_TTL for how long an idle instance lives, and CHROME_EXE_TIMEOUT for the operation timeout. The project describes itself as under development.
Setup effort
Build from source — git clone https://github.com/KePatrick/chromedp-mcp.git
USE CASES
Reading a page that needs JavaScript
Create an instance, navigate, and take the clean DOM tree back instead of raw HTML.
Filling in a form
Find the fields by selector, set their values, and click submit.
Understanding what a page looks like
Capture a screenshot so the model can see the layout and any popup or error state.
Getting past a login wall
Set the session cookie with the right domain and path, then navigate.
Saving what you found
Download the file behind a link, or print the page to PDF.
Finding an element you can only describe by its text
Look it up by its text content and act on what comes back.
18 tools
Listed in project docs. Your client may show a different list.
closenavigatenavigate-backnavigate-forwardget-element-withtextget-all-elementsselect-elementclick-elementscreenshotsend-keyset-valuekey-eventset-cookiedownload-filedownload_imagegenerate_pdftipsBEFORE YOU INSTALL
What to know first
Tools you get
18 tools named in the project's documentation.
Requires
Go 1.19 or later
Where it runs
The documented client runs the server on your machine.
INSTALLATION
Connect your client
You clone and build this one yourself.
Server setup
git clone https://github.com/KePatrick/chromedp-mcp.git
cd chromedp-mcp
go build -o chromedp-mcp ./cmd/chromedp-mcp/main.goMCP Clients
Any MCP client
{
"mcpServers": {
"chromedp-mcp": {
"command": "<YOUR_PATH_TO_CHROMEDP_MCP>",
"args": [],
"env": {
"CHROME_MAXIMUM_INSTANCE": "10",
"CHROME_TTL": "30",
"CHROME_EXE_TIMEOUT": "600"
}
}
}
}