How to use Pathfinder

Your AI-powered QA engineer. Crawl docs, explore your app, learn flows, and generate & execute tests — from a Chrome side panel or via a Model Context Protocol server.

On this page

  1. Two ways to use Pathfinder
  2. Quick start (browser extension)
  3. Tab-by-tab guide
  4. Advanced features
  5. MCP server — for AI agents
  6. Full MCP tool reference
  7. Cost & model selection
  8. FAQ

Two ways to use Pathfinder

Pathfinder ships in two flavors. Use one or both — they share the same engine.

🧩 Browser extension

Side-panel UI in Chrome. Install once, point at any web app, click through the tabs. Best for hands-on QA work and ad-hoc exploration.

  • Visual side panel with tabs
  • Live exploration with screenshots
  • One-click test generation & runs
  • Self-healing selector retries
  • All data stays in your browser

🤖 MCP server

Standalone Node.js process exposing 20+ tools over the Model Context Protocol. Lets Claude Desktop, Cursor, Cline, or any custom AI agent drive Pathfinder programmatically — no browser required.

  • Headless Playwright execution
  • MySQL-backed knowledge & results
  • Auth via captured Playwright sessions
  • 20+ tools: crawl, explore, run, analyze
  • Designed for agentic workflows
Quick Start (Browser extension — 3 steps)
1

Set up your AI

Click the ⚙ Settings icon → choose your provider (OpenAI / Anthropic / Google) and paste an API key. Defaults to the latest models — GPT-5, Claude Sonnet 4.6, or Gemini 3 Pro.

⚙ Settings Provider Save key
2

Crawl your documentation

Go to the Knowledge tab → paste your help/docs URL → click Crawl. Pathfinder reads every page, embeds the content, and builds a vector knowledge base used to ground test generation.

3

Explore → Learn flows → Generate & run tests

Open the page you want to test → Explore tab → Start Exploration. AI navigates your app and builds a page graph. Then Learn Flows from Exploration extracts user journeys. Finally, Generate in the Tests tab to write executable cases.

How the pieces connect
💡
Pipeline thinking Knowledge crawl + app exploration → flow extraction → test generation → execution → results & analysis. Each tab is one stage. Most stages can be exported and re-imported, so you can crawl in one environment and run tests in another.
📚 Docs
🌐 Knowledge
🔍 Explore
🛡 Analysis
✅ Results
🧪 Tests
📋 Flows
Tab-by-tab guide
📚 Knowledge

Build your RAG knowledge base

Paste the root URL of your help site or docs. Pathfinder crawls every linked page, extracts text, and stores embeddings.

  • Up to 1,500 pages per crawl
  • Re-crawl is incremental — unchanged pages skipped via content hash
  • IVF vector index for fast similarity search
  • Export & import the KB for sharing
  • Optional local embeddings (free, on-device MiniLM)
🔍 Explore

Map your app autonomously

Set depth (1–5), or flip on Single page only to scan just the active tab URL. Hit Start Exploration. Pathfinder clicks visible elements, opens modals, captures forms, fields, wizards, data tables, API calls, and accessibility issues.

  • Single page only toggle — scope to current URL, no link following
  • Up to 1,500 elements detected, 75 click targets per page
  • 6-minute per-page time budget
  • Walks shadow DOM & same-origin iframes
  • Auth-wall detection — aborts if session expires mid-run
  • Export & import the page graph
📋 Flows

AI-learned user journeys

After exploring, click Learn Flows from Exploration. Pathfinder partitions the graph by sub-app (e.g. /admin vs /learner), runs LLM extraction in parallel, and merges the results.

  • Hard guarantee: ≥ 2 flows per page, no page missed
  • Auto-generated coverage fillers for under-represented pages
  • Multi-step wizard awareness (Next Step / Continue)
  • Bulk select + Generate (N) or Generate All
  • Bulk delete (selected or all)
🧪 Tests

Generate & run test cases

Click Generate on any flow. AI writes positive, negative & edge-case tests grounded in observed form fields. Constraint-based boundary tests (max-length+1, required-empty, format violations) are added deterministically.

  • Test personalities — Balanced, Strict, Exploratory, Custom
  • Planning modes — pre-plan or live interactive replan
  • Self-healing selectors with retry & replan
  • One-line tests — paste & expand manual checks
  • CSV bulk import / export
📊 Results

Pass / fail with evidence

Per-step status, screenshots on failure, healing attempts, network requests, and full error messages. Export as JSON, HTML, or JUnit XML for CI integration.

  • Step-by-step trace with timing
  • Screenshots on failure
  • JUnit XML for CI pipelines
  • Slack / Linear / Jira webhook integrations
🛡 Analysis

Coverage, accessibility, contracts

Three on-demand analyses on top of your captured data:

  • API Coverage — which endpoints are tested vs untested (uses HAR from CDP)
  • Accessibility — WCAG audit of the active tab via the CDP a11y tree
  • API Contracts — validate captured responses against an OpenAPI spec
⚙ Settings

Provider, models, behavior

  • AI Provider — OpenAI, Anthropic, or Google AI
  • Model — GPT-5 / GPT-5-mini / Claude Sonnet 4.6 / Opus 4.7 / Gemini 3 Pro
  • Embedding Model — provider default or local on-device
  • Agent mode — AI-ranked clicks during explore
  • Planning mode — auto / preplan / interactive
  • Test concurrency — parallel test execution
  • Webhook URL — Slack / Linear / Jira notifications
  • Image describer — vision model for screenshot understanding (off by default)
🧱 Execution Presets

Reusable run profiles

Save named presets bundling planning mode, target origin, headers, and storage state. Apply a preset before "Run All" to switch between staging / prod / sandbox in one click.

Advanced features
🧭
Single-page exploration Toggle "Single page only" in Explore to scan just the current tab URL. Useful for capturing a single complex form (e.g. a wizard) without following links across the rest of the app.
⚠️
Aggressive / destructive exploration (opt-in) By default, buttons labelled Delete / Remove / Logout / Cancel subscription are skipped to protect your data. To capture destructive flows on a sandbox account, send includeDangerous: true in the START_EXPLORATION message (or wire a UI toggle if you've added one).
🔁
Re-explore a single page On the page graph, click the refresh icon next to any node to re-scan that page only — useful when you've changed a form and want fresh field metadata without re-running the full crawl.
📦
Export & import everything Knowledge base, exploration graph, and learned flows can each be exported to JSON and imported back into another browser, environment, or teammate's install. Keys are scoped to pathfinder_* in chrome.storage.local; flows live in IndexedDB pathfinder_db.
🛡
Test personalities Pick a personality in Settings to bias the LLM toward different test styles: Balanced (default), Strict (tight bounds + many negatives), Exploratory (creative edge cases), or Custom (your own free-text prompt).

MCP server — for AI agents

The MCP package lets external AI agents call Pathfinder's engine over the Model Context Protocol. It runs as a local Node.js process and exposes 20+ tools.

🤖
What "MCP" means Model Context Protocol is an open standard from Anthropic that lets AI agents call tools running on your machine. Once Pathfinder MCP is configured, any MCP-compatible client (Claude Desktop, Cursor, Cline, custom Python/TS agents) can crawl docs, explore apps, run tests, and read results — without you opening a browser.

1. One-time setup

# From the Pathfinder repo root
cd MCP

# Install Playwright + dependencies
npm run setup

# Start MySQL (used for KB + results)
docker run -d \
  --name pathfinder-mysql \
  -e MYSQL_ROOT_PASSWORD=pathfinder \
  -e MYSQL_DATABASE=pathfinder \
  -e MYSQL_USER=pathfinder \
  -e MYSQL_PASSWORD=pathfinder \
  -p 3307:3306 \
  mysql:8.0

# Configure .env
cat > .env <<'EOF'
AI_PROVIDER=anthropic
ANTHROPIC_API_KEY=sk-ant-...
MYSQL_HOST=127.0.0.1
MYSQL_PORT=3307
MYSQL_USER=pathfinder
MYSQL_PASSWORD=pathfinder
MYSQL_DATABASE=pathfinder
EOF

# Build
npm run build

2. Wire up your MCP client

Claude Desktop — edit ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "pathfinder": {
      "command": "node",
      "args": ["--env-file=.env", "/absolute/path/to/Pathfinder/MCP/dist/index.js"],
      "cwd": "/absolute/path/to/Pathfinder/MCP"
    }
  }
}

Cursor — Settings → MCP → Add new server, point to the same command.

Cline / custom agents — register the server in your client's MCP config; it speaks stdio JSON-RPC out of the box.

3. Try it from your agent

Once registered, ask the AI: "Use Pathfinder to crawl https://docs.example.com, then explore https://app.example.com, learn flows, and run smoke tests headless." The agent will chain crawl_knowledgeexplore_applearn_flowsrun_one_liners automatically.

Full MCP tool reference (20 tools)

Test execution

run_one_liners
Expand and execute one-liner test descriptions against a target app. Returns HTML report.
run_csv
Run or expand tests from CSV (one per line, or with title/type/context/start_url headers).
expand_tests
Expand one-liners into detailed steps without executing.
cancel_operation
Cancel an ongoing crawl, explore, run, or all of them.

Knowledge base

crawl_knowledge
Crawl a docs site (depth + max_pages) into the RAG knowledge base.
export_knowledge
Export the KB as JSON (file_path or inline).
import_knowledge
Replace the current KB with a previously exported snapshot.
clear_knowledge
Wipe the KB. Use before re-crawling or switching projects.

App exploration

explore_app
Headless Playwright explore — maps pages, forms, modals, navigation. Supports storage_state_path for auth.
export_explore
Export the page interaction graph as JSON.
import_explore
Import a previously exported graph — run tests against any environment using exploration from another.
clear_explore
Wipe the exploration graph.
get_graph
Return the current graph in human-readable format.

Flows & results

learn_flows
Extract user workflows from the exploration graph using AI.
get_flows
List all learned flows.
get_results
Fetch test run results + HTML report for a specific run_id.

Authentication

capture_auth
Open a real browser so you can log in manually; saves cookies+localStorage to a JSON file for headless reuse.
import_chrome_cookies
Read cookies from your existing Chrome / Brave / Arc profile into a Playwright storage state file.

Agent memory & introspection

remember
Store a persistent memory (selector heal, step pattern, tenant quirk, timing profile, test outcome).
recall
Search persistent memories by keyword or category.
pathfinder_version
Return server, protocol, and per-tool schema versions for client/server drift detection.

Cost & model selection

Approximate per-flow and per-test-run costs for a mid-sized site (≈240 flows / 1,440 generated tests, weekly runs):

Model In $/1M Out $/1M Generation 4× weekly run Total / month
GPT-5-mini0.252~$2.5~$25~$28
GPT-51.2510~$12~$140~$150
Gemini 3 Pro210~$15~$165~$180
Claude Sonnet 4.6315~$26~$230~$255
Claude Opus 4.71575~$130~$1,120~$1,250

Levers that change the bill: planningMode: 'preplan' drops execution cost ~70%; useLocalEmbeddings: true zeros embedding spend; describeImages: true adds 2–4× via vision calls. Constraint-based tests (up to 25 per flow) cost zero.

Common questions
Do I need an API key? Yes for chat-driven steps (explore agent mode, flow learning, test generation, planning). Embeddings can be local (free) by enabling Local (Free) in Settings — Pathfinder uses on-device all-MiniLM-L6-v2 for those.
🔄
Can I re-crawl after content updates? Yes — Pathfinder hashes each page's content. Unchanged pages are skipped instantly; only updated pages are re-embedded. Re-crawls of large doc sites usually finish in seconds.
🛑
What happens if my session expires mid-explore? Pathfinder detects URLs matching /login, /signin, /auth, /sso, /oauth, /session. If it gets bounced to one of these mid-run, it aborts immediately with a clear message instead of looping on the login form. Sign back in and re-run.
🌐
Will it crawl pages behind a login? Browser extension uses your live browser session — log in first, then start the crawl/explore. MCP server uses a Playwright storage_state_path JSON; capture it once via capture_auth or import_chrome_cookies, then point every run at it.
🔧
Why does Chrome show "Pathfinder started debugging this browser"? During Explore, Pathfinder attaches the Chrome DevTools Protocol (CDP) to capture HAR entries, accessibility-tree audits, and live screenshots. The debugger detaches the moment exploration finishes. No page data leaves your device.
📤
How do I share work with my team? Use the export/import buttons in Knowledge, Explore (graph), and Flows. Each exports a self-contained JSON your teammate can import into a fresh install. The MCP equivalents are export_knowledge / export_explore.
🧹
How do I reset everything? Browser: open the Explore tab → Delete (clears graph + flows only; KB and tests are kept). For a full wipe, uninstall the extension and reinstall — storage keys live under pathfinder_* in chrome.storage.local and IndexedDB pathfinder_db. MCP: clear_knowledge + clear_explore.