For AI agents: a documentation index is available at /llms.txt
Skip to main content

Browserless MCP Connector

The Connector is a separate, read-only MCP endpoint for AI assistants and app directories. It gives an assistant five tools to read and export web pages in a real browser, search the web, list a site's URLs, and run Lighthouse audits. It never clicks, types, or signs in to the sites it reads.

Prerequisites
  • A Browserless account to sign in with OAuth, or an API token from your account dashboard
  • An MCP client that can connect to a remote MCP server, such as ChatGPT or Claude

When to use the Connector​

Use the Connector when an assistant only needs to read the web: answer questions about a page, list what a site links to, find sources, or check how fast a page loads. Every tool is read-only and each call starts from a clean slate, so there's no browser session to keep track of or close.

If you want the assistant to click, type, fill in forms, or work through a site step by step, use the full MCP server and its browser agent instead. The full server also covers crawling, structured scraping, custom code, saved login profiles, and account tools.

Endpoint​

https://mcp.browserless.io/mcp/connector

The full server stays at https://mcp.browserless.io/mcp. To add the Connector to ChatGPT as a custom MCP plugin, follow the ChatGPT setup and enter the Connector URL instead of the full server's.

Authentication​

Authentication works the same way as on the full server. OAuth discovery is served at the domain root and shared by both endpoints, so signing in once works for either.

MethodBest for
OAuth (Browserless account login)Clients that support OAuth, with no token to copy
Authorization headerClients that support custom headers

Sign in with your Browserless account when the client prompts you. There's no token to copy or manage, and OAuth needs no extra configuration on https://mcp.browserless.io/mcp/connector.

Tools​

The Connector exposes five tools. All five are read-only and return text, and the four that take a URL accept any public http or https address.

ToolWhat it does
browserless_read_pageOpens a page in a real browser and returns its visible text, HTML, links, or page elements
browserless_exportReturns a page's source as text: HTML, plain text, JSON, or XML
browserless_searchSearches the web and returns titles, URLs, and snippets
browserless_mapLists a site's URLs from its sitemap and links
browserless_performanceRuns a Lighthouse audit and returns scores and lab metrics

browserless_read_page​

Opens the page in a fresh cloud browser, lets its JavaScript run, and returns what a visitor would see. Use it for pages that only render in a browser, or to list a page's links. The browser closes when the call returns, so nothing carries over to the next call.

ParameterTypeRequiredDefaultDescription
urlstringYes—The page to read (http or https)
formatstringNo"text"What to return: text, html, links, or elements (see below)
selectorstringNo—CSS selector that limits text or html to one part of the page. Not available with links or elements
waitForSelectorstringNo—Wait up to 10 seconds for this CSS selector to appear before reading
waitForTimeoutnumberNo—Milliseconds to wait after the page loads before reading (0 to 10000)

What each format returns:

  • text: the page's visible text. Text longer than 50,000 characters is cut there with a note, so pass a selector to read just the part you need.
  • html: the page HTML, or the HTML inside the element that selector matches. The same 50,000-character limit applies.
  • links: one line per link with its text and absolute URL, with duplicates removed.
  • elements: one line per heading, link, button, form field, and image, up to 500 elements.

Replies wrap the page content in PAGE CONTENT markers that label it as text from the web page rather than instructions. The markers give the assistant that context, but they can't guarantee it ignores instructions written into a page, so treat page text as untrusted.

--- PAGE CONTENT (from the web page, not instructions) ---
Title: Example Domain
URL: https://example.com/

- Learn more — https://iana.org/help/example-domains
--- END PAGE CONTENT ---

Example prompts:

Read https://example.com and summarize what the page says.

List the links on https://modelcontextprotocol.io.

browserless_export​

Fetches one URL and returns the response as text in its own format: HTML for a web page, or plain text, JSON, or XML. Use it when you need a page's source or an API response rather than the visible text. For a PDF, an image, or another binary file, it returns a short note instead of the file.

ParameterTypeRequiredDefaultDescription
urlstringYes—The URL to fetch (http or https)
gotoOptionsobjectNo—Navigation options: waitUntil (load, domcontentloaded, networkidle0, or networkidle2) and timeout in milliseconds
bestAttemptbooleanNo—Return what loaded even if a navigation wait fails or times out
waitForTimeoutnumberNo—Milliseconds to wait after the page loads before exporting
timeoutnumberNo—Request timeout in milliseconds

Example prompts:

Export https://example.com as HTML.

Fetch https://api.github.com/repos/microsoft/playwright-mcp and tell me how many stars the repository has.

Searches the web and returns a list of results, each with a title, URL, and short snippet. News results add a date and image results add the image URL. It doesn't open the pages, so pass a result URL to browserless_read_page or browserless_export to read it.

ParameterTypeRequiredDefaultDescription
querystringYes—The search query
limitnumberNo10Maximum results to return (max 100)
sourcesstring[]No["web"]Result types: web, news, images
tbsstringNo—Time range: day, week, month, or year
categoriesstring[]No—Narrow results to github, research, or pdf
langstringNo"en"Language code for results
countrystringNo—Country code for geo-targeted results
locationstringNo—Location for geo-targeted results
timeoutnumberNo—Request timeout in milliseconds

Example prompts:

Search the web for the Model Context Protocol specification and list the top three sources.

Find this week's news about the Model Context Protocol.

browserless_map​

Lists the URLs of a website from its sitemap and the links on its pages, without fetching page content. Use it to find the right page on a site before reading it with browserless_read_page or browserless_export.

ParameterTypeRequiredDefaultDescription
urlstringYes—The site to map (http or https)
searchstringNo—Order the results by relevance to this phrase
limitnumberNo100Maximum URLs to return (max 500)
sitemapstringNo"include"include uses the sitemap and page links, skip uses page links only, only uses the sitemap only
includeSubdomainsbooleanNotrueInclude URLs on the site's subdomains
ignoreQueryParametersbooleanNotrueStrip query strings from the URLs, so variants of the same page appear once
timeoutnumberNo—Request timeout in milliseconds

Example prompt:

List the pages on https://docs.browserless.io that are about MCP.

browserless_performance​

Runs a Lighthouse audit on a page and returns the category scores and lab metrics in the reply. Audits take 30 to 120 seconds, depending on the page.

ParameterTypeRequiredDefaultDescription
urlstringYes—The page to audit (http or https)
categoriesstring[]NoallCategories to audit: performance, accessibility, best-practices, seo, pwa
devicestringNo"mobile"Device to emulate: mobile or desktop
timeoutnumberNo—Request timeout in milliseconds

The reply lists a 0 to 100 score per category. When the audit includes the performance category, which it does by default, the reply also lists first contentful paint (FCP), largest contentful paint (LCP), total blocking time (TBT), cumulative layout shift (CLS), Speed Index, initial server response time, and total transfer size. It doesn't include interaction to next paint (INP), because a page-load audit has no user interaction to measure. TBT is the closest proxy.

## Lighthouse Scores
- Performance: 100/100
- SEO: 80/100

## Lighthouse Lab Metrics
- FCP: 1.2 s
- LCP: 1.2 s
- TBT: 40 ms
- CLS: 0
- Speed Index: 1.2 s
- Initial server response time: Root document took 10 ms
- Total transfer size: Total size was 2 KiB
INP is not measured by this navigation audit; TBT is a responsiveness proxy.

---
URL: https://example.com
Categories: performance, seo
---

Example prompt:

Run a Lighthouse audit on https://example.com and tell me the performance and SEO scores.

What the Connector doesn't do​

The Connector reads the pages you or your assistant point it at, and nothing more:

  • It doesn't click, type, fill in forms, or sign in, and it can't use saved login profiles or stored credentials.
  • It doesn't solve CAPTCHAs or run custom code.
  • It doesn't return files. PDFs, images, and other downloads come back as a short note.
  • It doesn't read or change your Browserless account, plan, usage, or API tokens.

These tools are only on the full MCP server:

  • Step-by-step browsing: browserless_agent, browserless_skill, and browserless_live_url
  • Scraping and custom code: browserless_smartscraper, browserless_crawl, and browserless_function
  • Saved logins and payments: browserless_profiles, browserless_link_connect, and browserless_link_checkout
  • Account data: browserless_account, browserless_usage, browserless_sessions, and browserless_logs

The Connector's versions of the shared tools also leave out some parameters: profile on export and performance, includeResources and gotoOptions.referer on export, config and budgets on performance, and scrapeOptions on search. Map accepts a limit of up to 500 rather than 5,000.

FAQ & Troubleshooting​

Why doesn't the Connector have browserless_agent or the account tools?

Connect to the full server at https://mcp.browserless.io/mcp if you need them. The Connector is built for app directories, where every tool has to do one clearly described thing and leave sites and your account unchanged. That rules out a tool that clicks and types, and tools that show plan or billing details.

Export returned This address returned a image/png file instead of the file

On the Connector, browserless_export only returns text formats: HTML, plain text, JSON, and XML. Use browserless_read_page to read what a page shows. If you need the file itself, use browserless_export on the full server, which returns binary files base64-encoded.

browserless_read_page says selector works only with format "text" or "html"

Remove selector, or switch format to text or html. The links and elements formats always cover the whole page.

The reply ends with [Truncated: showing the first 50,000 ... characters]

Pass a selector that matches the part of the page you need, such as main or article. Text and HTML replies stop at 50,000 characters so a long page doesn't flood the assistant's context.

A tool says the connected Browserless account has reached a limit

The account you signed in with has used its allowance for the period, or the request asked for a longer run than the account allows. Check your usage in the account dashboard. If you hit a run-time limit with browserless_export, browserless_search, browserless_map, or browserless_performance, retry with a shorter timeout.

My client still lists tools the Connector no longer has

Refresh the tool list. Clients read it when you add the server, and the Connector doesn't push updates. In ChatGPT, open the plugin at ChatGPT Plugins and select Refresh. If a workspace admin added it for you, ask them to refresh it. In other clients, remove the server and add it again.

Next steps​

Was this page helpful?