Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

The message “Could not attach to MCP server Kapture Browser Automation” does not identify one universal failure. Kapture has three separate connections: Claude Desktop (the MCP client) to the Kapture server, the server starting successfully, and the Kapture Chrome extension attaching to an open tab. Check those links in that order instead of repeatedly reinstalling everything.

Use Claude Desktop’s Developer diagnostics first, confirm the documented bridge configuration and runtime requirements, then verify the Chrome extension’s tab connection. The same process applies to related messages such as “Could not attach to MCP server kapture” and “MCP kapture: Server disconnected.”

Understand which connection is failing

Kapture is a Chrome DevTools extension and MCP server for browser automation. A working session requires all of the following:

  1. Claude Desktop to the MCP server: Claude launches or reaches the Kapture server and discovers its tools.
  2. The server to its runtime: Node.js starts the package and listens as expected.
  3. The server to Chrome: the Kapture extension connects to a specific Chrome tab.

A green or connected state in one component does not prove that the other two are healthy. For example, Claude can show a connected MCP process while no Chrome tab is attached.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Start with Claude Desktop diagnostics

  1. Open Claude Desktop’s Developer settings.
  2. Inspect the Kapture server’s connection status and open its server logs.
  3. Look for whether the process starts, exits immediately, or stays running but exposes no tools.
  4. If the tools are missing after configuration changes, restart Claude Desktop and check the status again.

These checks establish the client-side facts; they do not by themselves prove that Kapture is the cause. Save the exact startup error and the time it occurred before changing settings.

Check the documented requirements

  • Node.js 18 or later. Check the installed version with node --version. If it is older, install a current Node.js release and restart Claude Desktop.
  • Chrome with the Kapture extension installed. Confirm that the extension is enabled in Chrome’s extensions page and that you are using the profile where it is installed.
  • Local port 61822. Kapture documents this port for its server and direct WebSocket endpoint.

Project requirements and package behavior can change. If your installed package reports a different requirement, follow that package’s current documentation rather than forcing an older setting.

Use bridge mode first

The Kapture project recommends bridge mode for Claude Desktop. The bridge command starts the package through npx and translates Claude’s stdio connection to Kapture’s WebSocket side.

Recommended Claude Desktop entry

In Claude Desktop’s MCP configuration, use an entry equivalent to:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
{
  "mcpServers": {
    "kapture": {
      "command": "npx",
      "args": ["-y", "kapture-mcp@latest", "bridge"]
    }
  }
}
  1. Save the configuration.
  2. Fully quit and reopen Claude Desktop, not merely the chat window.
  3. Return to Developer settings and confirm that the Kapture process remains running.
  4. Read the server log for package-download failures, permission errors, or an immediate exit.

The -y argument allows npx to accept the package-install prompt non-interactively. If your environment blocks package downloads, the process may never reach the Chrome connection stage.

When direct WebSocket mode is appropriate

Kapture also documents a direct WebSocket mode for advanced setups. Its MCP endpoint is:

ws://localhost:61822/mcp

Unlike bridge mode, direct mode requires you to start and manage the Kapture server separately. Use it only when you have a reason to control that lifecycle or when another MCP client needs a WebSocket endpoint. Starting a server manually while Claude is configured for bridge mode can create two competing processes or leave port 61822 occupied.

Mode Claude configuration Lifecycle Best use
Bridge npx -y kapture-mcp@latest bridge Claude launches the bridge; it handles stdio-to-WebSocket translation Normal Claude Desktop setup
Direct WebSocket ws://localhost:61822/mcp You start, monitor, and stop the server yourself Advanced or nonstandard MCP clients

For either mode, diagnose Claude, server startup, and Chrome separately. Switching modes without checking logs usually obscures the original fault.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Verify that the server can start

Read the first failure, not the final attachment message

In the Developer log, the useful line is often earlier than “Could not attach.” Look for an inability to run npx, a failed package download, an unsupported Node version, or a process that exits before opening its connection. Correct that first error, then restart Claude.

Check for a port conflict in direct mode

Only one process can listen on a local port at a time. If a previous Kapture process is still running, stop it before starting another. If another application owns port 61822, either close that application or follow Kapture’s current documentation for changing the listening port; do not silently point Claude at a different port while leaving the extension on the old one.

Keep the runtime environment consistent

GUI applications can inherit a different PATH from your terminal. A Node version that works in a shell may not be visible to Claude Desktop. Compare node --version in your normal terminal with the version reported by the server log. After changing Node or your shell configuration, restart Claude Desktop.

Attach Chrome independently

  1. Open a normal Chrome tab containing the page you want to automate.
  2. Click the Kapture toolbar icon.
  3. Turn on the connection for that tab.
  4. Confirm that the extension badge displays a check mark.

Kapture also documents a Kapture panel in Chrome DevTools and a ?kapture-connect=true URL option. Use the panel to inspect the browser-side state when the badge never changes. If the Claude server is connected but no tab shows the check mark, the failing link is between the server and extension, not Claude’s MCP registration.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Common browser-side blockers

  • You enabled the extension in a different Chrome profile from the one holding the target tab.
  • The tab was closed, replaced, or navigated before the connection completed.
  • Chrome’s extension permissions were changed or the extension is disabled.
  • A corporate policy or security tool prevents the extension from communicating locally.

Test with one ordinary tab and no incognito window first. Once that works, add your normal profile, tabs, and policies one at a time.

Diagnose by symptom

Observed state Most useful next check What it tells you
Claude shows no Kapture server Review the MCP configuration and Developer log; verify the bridge command and Node.js version The client cannot launch or discover the server
Server starts, then exits Read the first process error; check package download access, permissions, and runtime version Failure occurs before Chrome attachment
Claude shows connected, but badge has no check mark Open a Chrome tab, click Kapture, enable the connection, and inspect the DevTools Kapture panel The browser-side link is missing
Badge shows a check mark, but Claude tools fail Compare the MCP log with the tab’s DevTools state and restart Claude The server may be connected to Chrome while the MCP client has stale state
“Server disconnected” after working briefly Check whether the Node process exited, port 61822 was reclaimed, or Chrome closed the attached tab A previously healthy link dropped; the logs identify which one

macOS-only anecdote: treat it as a test, not a fix

A Reddit user reported that enabling View > Developer > Allow JavaScript events from Apple Events in Chrome helped their particular case. A commenter suggested checking macOS Local Network permission. These are user reports, not official Kapture or Anthropic instructions. Chrome and macOS labels can differ by version, so verify that the setting exists on your system before changing it. If it does not, skip this step and continue with the documented client, server, and extension checks.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Collect a reproducible diagnostic bundle

If the error persists, record the facts that distinguish the three connection paths:

  • Operating system and Chrome version.
  • Claude Desktop version.
  • Node.js version from node --version.
  • Your Kapture MCP configuration, including whether it uses bridge or direct WebSocket mode.
  • The complete Kapture server startup output, with secrets removed.
  • Whether the process stays running and whether port 61822 is in use.
  • Whether the Chrome toolbar badge shows a check mark for the target tab.
  • Any Kapture DevTools panel message and the exact wording of the Claude error.

This information lets a maintainer reproduce the same path. The attachment wording alone cannot determine whether Claude, Kapture, Chrome, or the local environment caused the failure.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Or skip the browser setup

If your actual goal is a static page image rather than interactive browser automation, ScreenshotNeo provides a single HTTP request. It accepts the page’s consent banner before capture and removes more than 60 known consent platforms, newsletter popups, and chat widgets; each cleanup step can be disabled. Only clean shots are billed: bot checks or CAPTCHAs, blank pages, timeouts, failed loads, and cache hits cost nothing, and the response reports the result in X-Page-Verdict and X-Billed headers. Its MCP server exposes take_screenshot, get_page_info, and capture_pdf for Claude, Cursor, or another MCP client.

See the ScreenshotNeo API documentation for options such as full-page lazy-image loading, CSS-selector element capture, device presets, retina scale, PDF output, custom CSS and JavaScript, waits, request blocking, headers, cookies, geolocation, caching, signed links, asynchronous webhooks, and bulk capture.

cURL

curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp

Python

import requests
r = requests.get("https://api.screenshotneo.com/v1/shot", params={"access_key": "YOUR_API_KEY", "url": "https://stripe.com"}, timeout=90)
open("shot.webp", "wb").write(r.content)

Node.js

const q = new URLSearchParams({ access_key: 'YOUR_API_KEY', url: 'https://stripe.com' });
const res = await fetch(`https://api.screenshotneo.com/v1/shot?${q}`);

The Free plan includes 1,000 screenshots per month with no card. Paid plans start at $5 for 3,000 shots; yearly billing provides two months free, and every feature is available on every plan. Create a free ScreenshotNeo account to try it without a card.

FAQ

Does reinstalling Kapture guarantee a fix?

No. The message is a generic attachment failure, and the underlying break can be Claude’s configuration, server startup, or Chrome’s tab connection.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Should I use direct WebSocket mode in Claude Desktop?

Use the project-recommended bridge entry first. Direct WebSocket mode is an advanced option that requires separate server lifecycle management and the ws://localhost:61822/mcp endpoint.

What does a Chrome check mark prove?

It indicates that the Kapture extension reports a connected tab. Claude’s MCP status and the server process still need to be healthy.

Frequently Asked Questions

Can a firewall cause this message?

It can, particularly when local policies block the server or extension, but the error text alone does not establish that cause. Check the server log and Chrome connection state before changing firewall rules.

Is the Apple Events setting required on every Mac?

No. It is an anecdotal workaround reported by one user, not an official universal requirement.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.