claude-research
A Claude Code skill that runs a Research query on claude.ai using a logged-in browser session via Chrome DevTools MCP, then returns the report back into your Claude Code conversation.
Distributed as a Claude Code plugin. This repo is a single-plugin marketplace, so installation is two /plugin commands.
Verified setup (macOS, Chrome 144+)
The one-shot known-working configuration:
claude mcp remove chrome-devtools 2>/dev/null
claude mcp add chrome-devtools -- npx -y chrome-devtools-mcp@latest --autoConnect
Then in your normal Chrome, open chrome://inspect/#remote-debugging once and enable remote debugging. The MCP will attach to your real, logged-in Chrome on the next session — no separate Chrome process, no separate profile, no relaunch dance. This is the recommended path; the longer setup section below covers the --browser-url fallback for Chrome <144 or other edge cases.
How it works
- You set up Chrome DevTools MCP to attach to a running Chrome (not launch its own).
- You log into claude.ai in that Chrome once. The session persists in that profile.
- From inside Claude Code, you trigger the skill. It attaches via the MCP, navigates to claude.ai, and verifies you're logged in.
No API keys, no separate auth — the skill uses your real claude.ai session.
Prerequisites
1. Chrome DevTools MCP, configured to attach
By default, chrome-devtools-mcp launches its own isolated Chrome with a throwaway profile at ~/.cache/chrome-devtools-mcp/chrome-profile-stable — same Chrome binary as your normal one, but no logins. That's not what you want. You need to register it with one of these flags so it attaches to your real Chrome instead.
Pick one path:
Option A — --autoConnect (Chrome 144+, recommended)
Check your Chrome version at Chrome → About Google Chrome. If it's 144 or newer:
claude mcp remove chrome-devtools 2>/dev/null
claude mcp add chrome-devtools -- npx -y chrome-devtools-mcp@latest --autoConnect
Then in your normal Chrome, open chrome://inspect/#remote-debugging and enable remote debugging once. From the official docs: "best for sharing state between manual and agent-driven testing."
Option B — --browser-url (any Chrome version)
You launch Chrome with --remote-debugging-port=9222 yourself; the MCP connects to that port.
Chrome refuses --remote-debugging-port against your default profile dir (per its own security policy), so use a dedicated profile dir. Quit any Chrome using that profile first, then:
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome \
--remote-debugging-port=9222 \
--user-data-dir="$HOME/.config/chrome-research-profile"
Linux:
google-chrome --remote-debugging-port=9222 --user-data-dir="$HOME/.config/chrome-research-profile"
Windows (PowerShell):
& "C:\Program Files\Google\Chrome\Application\chrome.exe" `
--remote-debugging-port=9222 `
--user-data-dir="$env:USERPROFILE\chrome-research-profile"
Verify it's reachable:
curl -s http://localhost:9222/json/version | head -1
Then register the MCP to attach to it:
claude mcp remove chrome-devtools 2>/dev/null
claude mcp add chrome-devtools -- npx -y chrome-devtools-mcp@latest --browser-url=http://127.0.0.1:9222
The dedicated profile persists across launches — you log into claude.ai in that window once and you're done.
2. Logged into claude.ai
In whichever Chrome window the MCP will attach to (your normal one for Option A, the dedicated --remote-debugging-port window for Option B), go to https://claude.ai and log in if you aren't already.
Playwright MCP (alternative, not required)
The skill auto-detects Playwright MCP as a fallback if Chrome DevTools MCP isn't available. Configure it the same way — point it at the same localhost:9222:
claude mcp add playwright -- npx -y @playwright/mcp@latest --cdp-endpoint http://localhost:9222
Install the plugin
From inside Claude Code:
/plugin marketplace add https://github.com/grahamannett/research.skill
/plugin install claude-research@claude-research
The first command registers this repo as a marketplace. The second installs the plugin from it.
To update:
/plugin marketplace update claude-research
/plugin install claude-research@claude-research
To uninstall:
/plugin uninstall claude-research
Usage
Once installed and the MCP is in attach mode, ask Claude Code in natural language: