AishwaryShrivastav/testpilot
MCP server for AI-driven browser testing — plug into Claude Code or Cursor, say 'test the login flow', get an HTML report
Platform-specific configuration:
{
"mcpServers": {
"testpilot": {
"command": "npx",
"args": [
"-y",
"testpilot"
]
}
}
}Add the config above to .claude/settings.json under the mcpServers key.
[](https://www.npmjs.com/package/testpilot-mcp) [](LICENSE) [](https://nodejs.org)
Vibe test your app. Just describe what to test.
testpilot-mcp is an MCP server that works alongside @playwright/mcp. You describe the feature to test in plain English — Claude handles the rest: scans your codebase, generates a test plan using your real routes and field names, drives the browser, takes screenshots, records pass/fail results, and writes an HTML report.
You: "test the login flow"
↓
testpilot → scans code, finds /login route + LoginForm fields
→ generates a 12-step test plan with real field names
→ instructs Claude to drive the browser
playwright → navigates, fills forms, clicks, takes screenshots
testpilot → records every assertion + screenshot
→ writes HTML report with visual proof---
1. Add both MCP servers to Claude Code (~/.claude/settings.json):
{
"mcpServers": {
"playwright": {
"command": "npx",
"args": ["@playwright/mcp@latest"]
},
"testpilot": {
"command": "npx",
"args": ["testpilot-mcp"]
}
}
}2. Start your dev server (npm run dev, pnpm dev, etc.)
3. Open Claude Code and say:
> "Scan this project with testpilot, then test the login flow"
That's it. Claude orchestrates everything.
---
tp_scan_project → framework: react-router, 7 routes, 4 forms detected
tp_start → session "Login flow" started
tp_get_context → reads Login.tsx, useAuth.ts (your actual source)
tp_plan → generates 12 steps with real field names: email, password
── Claude executes using Playwright MCP ──
browser_navigate Loading reviews...