NewIntroducing semantic snapshotsPair every capture with structured DOM data →

Blog

Give Claude, Cursor or any MCP client a real browser

All posts
guidesmcpagents

An AI assistant that can only read what you paste into it has to guess about the live web. Ask one to check a competitor's pricing page, confirm what a library's changelog says today, or look at why a landing page renders badly on mobile, and it either declines or answers from training data that may be a year old.

The Model Context Protocol (MCP) fixes that without writing an agent: a client such as Claude Code, Claude Desktop or Cursor starts a small tool server, and the model decides when to call its tools. @domscout/mcp is that server for a real browser. This guide sets it up and shows what the assistant can do with it.

What the assistant gets

Ten tools, each with its credit cost written into the description the model reads, so it can prefer the cheap one:

  • domscout_extract_markdown (1 credit): read a page as clean Markdown. The right default for "what does this page say".
  • domscout_capture_screenshot (1 to 3 credits): a PNG, JPEG, WebP or PDF, for when the assistant needs to see the page rather than read it.
  • domscout_extract_data (2 credits): named fields from CSS selectors, returned as typed JSON. Pro and above.
  • domscout_inspect_page (2 credits): the page's interactive elements and accessibility tree, so the model can find what to click. Pro and above.
  • domscout_automate_page (1 to 2 credits): run a bounded sequence of actions and report pass or fail per step. Pro and above.
  • domscout_crawl_site (1 credit per page): a crawl limited to origins you allow, capped at 500 pages and depth 5. Business and above.
  • domscout_check_credits, domscout_get_job, domscout_cancel_job and domscout_send_feedback: free.

No single call can cost more than 10 credits, and every tool result reports what that call cost and what is left. An assistant running in a loop cannot quietly spend your month's quota without the numbers being in front of it.

Before you start

You need Node.js 20 or newer (the server runs through npx) and an API key from the dashboard. The free Hobby plan covers the Markdown and viewport screenshot tools, which is enough to try the first two tools above.

Keep the key in the client's configuration, not in a prompt. Anything you type into a chat can end up in logs and transcripts.

Claude Code

One command registers the server:

bash
claude mcp add --transport stdio --env DOMSCOUT_API_KEY=YOUR_API_KEY domscout -- npx -y @domscout/mcp

Run claude mcp list to confirm it connected, then ask for something that needs the web.

Claude Desktop

Open Settings, then Developer, then Edit Config. That opens claude_desktop_config.json; add the server under mcpServers:

json
{
  "mcpServers": {
    "domscout": {
      "command": "npx",
      "args": ["-y", "@domscout/mcp"],
      "env": {
        "DOMSCOUT_API_KEY": "YOUR_API_KEY"
      }
    }
  }
}

Restart Claude Desktop for it to pick up the change.

Cursor

Cursor reads the same mcpServers block from ~/.cursor/mcp.json for every project, or from .cursor/mcp.json inside one project. Paste the JSON above into either file. If you use the project file, keep it out of version control, because it contains your key.

Most other MCP clients accept the same block. If yours has a different format, the parts that matter are the command (npx -y @domscout/mcp) and the environment variable DOMSCOUT_API_KEY.

Things to ask

Once it is connected, ask in plain language. The model chooses the tool:

  • "Read https://example.com/changelog and tell me what changed in the latest release."
  • "Screenshot https://example.com at 390 pixels wide and tell me what is above the fold."
  • "What plans and prices are on https://example.com/pricing? Give me a table."
  • "Check how many credits I have left."

A few habits get better results:

  • Ask for text unless you need pixels. A Markdown read is 1 credit and fits in the model's context. A screenshot is an image the model has to interpret.
  • Name the page. The server reads URLs you give it. It does not search the web.
  • For static pages, allow the fast path. The Markdown tool accepts fast: true, which skips the browser for documentation and blogs. The tool description already tells the model when to use it, and when to retry without it.

What it cannot do

It renders public pages. It does not log in to your accounts, get past sites that block automated traffic, or search the web for you. Crawls only visit the origins you list. Knowing those limits up front avoids a model confidently summarising a login page.

Next steps