Skip to content
Back to Blog
How-Torecruiter

How to Use the Playwright MCP to Run Candidate Research for Recruiters

Wire the Playwright MCP into Claude to automate LinkedIn-style profile research, draft outreach in your voice, and run a one-person sourcing pipeline — without the bulk-scraping that gets accounts banned.

9 min read

A one-person recruiting agency lives or dies on sourcing velocity. The math is brutal: maybe 200 outbound touches a week to fill 3–5 roles, each touch requiring 8–12 minutes of profile research + personalized outreach. That's 25–40 hours/week on sourcing alone — before screens, intakes, candidate prep, or client comms.

The Playwright MCP (Microsoft's official MCP wrapping Playwright browser automation) makes this an agentic loop instead of a manual grind. You authenticate into the platforms you already use; Claude orchestrates the research, drafts the outreach in your voice, and queues the touch for your approval. Combined with the AI Cowork Vault Bundle, the workflow holds across professions.

💡 The stack. Playwright MCP runs research in your authenticated browser session. The AI Cowork Vault Bundle gives you the recruiter-flavored skills (the closest profession-specific vault is the Social Media Manager Vault if you do employer-brand work). $49 one-time — all 7 vaults + lifetime updates.

What the Playwright MCP actually does

Playwright is the modern browser-automation framework, Microsoft-maintained. The MCP server exposes Playwright's primitives to Claude:

  • navigate — go to a URL
  • click / fill — interact with elements
  • screenshot — capture state (helpful for debug + intake summaries)
  • extract_text — pull rendered text from selectors
  • extract_structured — extract tables, lists, repeated structures

For recruiting, the pattern is: Playwright opens the platform in a window where you authenticate, navigates a Boolean search you specify, walks the result list, and extracts the structured candidate data into Claude's context.

Pre-flight

  • Claude Cowork (desktop) or Claude Code
  • Your platform login (LinkedIn Recruiter, GitHub, AngelList, niche vertical sites)
  • Node.js 20+; the MCP installs Playwright browsers on first call
  • The AI Cowork Vault Bundle if you want SMM-vault skills for employer-brand work (otherwise, recruiter-flavored prompts work fine in raw Claude)

Configure the MCP server

{
  "mcpServers": {
    "playwright": {
      "command": "npx",
      "args": ["-y", "@microsoft/mcp-server-playwright"]
    }
  }
}

Restart Claude. First call prompts the Playwright browser install (~150 MB).

Inside your Cowork Project:

Use the Playwright MCP to:
1. Open https://www.linkedin.com/recruiter (or your sourcing platform)
2. I'll log in manually in the browser window
3. Once I'm in, run this Boolean: 
   ("staff engineer" OR "senior staff engineer") AND ("kubernetes" OR "k8s") 
   AND ("payments" OR "fintech") -recruiter -consultant
4. Filter: 5+ years experience, US-based, Open to Work or recently active
5. Walk the first 20 results; for each pull name, current title, current company,
   prior 2 companies, location, years in role, "Open to Work" status if shown

Playwright opens the browser, you authenticate manually (MCP doesn't touch your password), Claude walks the result list and pulls structured data into the conversation.

For follow-up searches in the same session, the auth sticks — no re-login required.

Synthesize each candidate

With the 20 candidates loaded, Claude can run profile-by-profile analysis:

For each of the 20 candidates above, produce:
1. A 2-sentence summary of "why they match this role"
2. A 1-line flag if anything looks off (e.g., 3 short tenures in a row, 
   recent industry switch, location mismatch with role's hybrid requirement)
3. A confidence score (high/medium/low) on whether they'd take a call

Sort the list by confidence-high first.

You scan the 20 in two minutes instead of clicking through 20 profile tabs.

Draft outreach in your voice

Pick the top 5 candidates from that list:

For each of these 5 candidates, draft a LinkedIn InMail outreach (3 lines max):
- Line 1: specific reference to something on their profile (a project, talk, OSS contribution)
- Line 2: one-line pitch for the role (use the JD I'll paste below)
- Line 3: low-friction CTA (15-min intro call, link to my Calendly)

Voice: warm, direct, no recruiter-speak ("synergies," "passionate"). 
Read my outbound from last week (paste 3 sent InMails) as voice reference.

JD: [paste job description]

You get 5 drafts. Each references a real thing from the candidate's profile (mentioned the kubernetes-at-payments scale they wrote about, the OSS PR to a relevant repo, the conference talk). Each pitches the role in 1 line. Each closes with a clean ask.

You review the 5, edit any line that sounds off, send.

Chain into the intake-call prep

When a candidate accepts the call, run a deeper pull before the call:

Use the Playwright MCP to deepen the research on [candidate name]:
1. LinkedIn profile — full work history, education, skills, recommendations they've given
2. GitHub — recent activity, languages, stars on personal repos
3. Twitter/X (if linked) — last 90 days of public posts (filter out retweets)
4. Personal website if linked

Summarize: technical depth, communication style, what they seem energized by,
what to ask about, any red flags I should explore.

Output: a one-page brief for the 30-min intake call. You walk in knowing what they care about and what to probe.

Chain into the candidate-to-hiring-manager handoff

After the intake, write the submission:

Draft a candidate submission for the hiring manager:
Candidate: [name]
Role: [title]
Why I think they're a match: [3 bullets from the intake]
Concerns / things to discuss: [1-2 from the intake — even if minor]
Compensation expectations: [from the intake]
Availability: [from the intake]
References they offered: [if any]

Tone: confident, balanced, not salesy. The HM should trust the assessment.

Out comes a 200-word submission email. Submission rate per outreach goes up because the HM trusts the framing.

What this doesn't do

It doesn't bulk-export thousands of profiles. The Playwright MCP runs at human pacing — that's the whole point. Bulk scraping is what gets accounts banned and would violate most platforms' TOS.

It doesn't replace your ATS. The vault output (outreach drafts, submission notes) lives in your inbox; copy/paste to Greenhouse / Ashby / Lever for tracking.

It doesn't generate candidates out of nothing. The platform you authenticate into is where the candidates come from; Playwright just speeds the research/synthesis.

Common failure modes

  • Captcha during login. Most platforms run Cloudflare or similar. You'll see the challenge in the Playwright window; solve manually, session continues.
  • LinkedIn rate-limiting. Even at human pacing, LinkedIn limits searches per day. Spread the work across the day instead of running 5 searches in 10 minutes.
  • Boolean operators don't match LinkedIn's syntax. LinkedIn dropped strict Boolean for Recruiter Lite a while back. The MCP can use whatever the UI accepts; ask Claude to translate your Boolean into LinkedIn's current filter shape if needed.
  • Voice drift in outreach drafts. Feed Claude 3–5 of your past sent InMails as voice reference (paste them in the conversation, or save them as a custom instruction). Drafts converge to your voice after that.

When you'd skip this stack

  • You fill < 4 roles/month. Manual sourcing is fine; setup time isn't worth it.
  • You're 100% on an aggregator (SeekOut, hireEZ, Hiretual). Those have their own search + outreach. Use what you pay for; Playwright is for the platforms that don't offer programmatic access.
  • Compliance posture requires no automation on candidate sourcing. Some EU-based recruiters with GDPR-sensitive workflows skip browser automation entirely. Read your firm's policy first.

Sources

AI Cowork Vault7 vaults · save $54 vs piecemeal

Save hours every week with the AI Career Lab — All 7 AI Cowork Vaults

All seven profession-specific AI Cowork Vaults — 315 agentic skills total with ambient compliance guards. Works on Claude Cowork + Microsoft 365 Copilot Cowork.

Get all 7 vaults for $49One-time payment · Updates free for life

Frequently asked questions

Is using Playwright to research candidates a TOS violation?+

Read your platform's automation terms. LinkedIn's TOS prohibits 'bulk' scraping but allows manual research at human pacing. The Playwright MCP runs single-session, single-user, on your authenticated account — same surface area as you browsing manually. The lock-out triggers are tuned for headless bulk scraping, not for one logged-in recruiter generating profile summaries. If your firm has a Recruiter or Recruiter Lite license, prefer the official API; cleaner and unambiguous.

How is this different from Hiretual / SeekOut / hireEZ?+

Those are aggregator products that maintain their own candidate databases. This stack uses *your* logged-in research session — whatever platform you already pay for (LinkedIn Recruiter, GitHub, AngelList, niche-vertical sites). It's complementary, not substitute. The agentic value is in the synthesis + outreach drafting, not in the data.

Does this generate the outreach automatically and send it?+

No — it drafts. Drafts go into your queue for approval. Outreach is high-trust; one autosend mistake can burn a candidate and a brand. The point is to turn a 12-minute manual research + draft cycle into a 90-second review-and-send.

By Reviewed by Alex LowePublished May 24, 2026

Related Guides

Get weekly AI tips for your profession

Join thousands of professionals saving hours every week with AI. Free. No spam.