One-command testing with AI-powered analysis for any project.
Testbot MCP is a Model Context Protocol (MCP) server that enables seamless end-to-end testing with AI-powered failure analysis. Just say "test my app using testbot mcp" in Cursor or Windsurf, and Testbot handles everything automatically.
- One Command Testing: Simply ask your AI assistant to test your app
- Playwright Integration: Uses the official Playwright MCP for test generation and execution
- AI-Powered Analysis: Automatically analyzes test failures using Sarvam, Cascade, or Windsurf AI
- Beautiful Dashboard: Auto-opens a dashboard with screenshots, videos, traces, and AI analysis
- Zero Config: Auto-detects project settings (port, base URL, start command)
- Optional Jira Integration: Fetch stories, generate tests from acceptance criteria
npm install -g @testbot/mcpAdd to your MCP settings (~/.cursor/mcp.json or similar):
{
"mcpServers": {
"testbot": {
"command": "npx",
"args": ["@testbot/mcp"],
"env": {
"SARVAM_API_KEY": "your-api-key"
}
}
}
}In Cursor or Windsurf:
"Test my app using testbot mcp"
That's it! Testbot will:
- Auto-detect your project settings
- Generate tests (from PRD or Jira stories if provided)
- Run the tests
- Analyze failures with AI
- Open a dashboard with results
User: "test my app using testbot mcp"
User: "test my frontend using testbot mcp with sarvam AI analysis"
User: "test my app using testbot mcp with the PRD at ./docs/requirements.md"
User: "test my app using testbot mcp and fetch stories from Jira project MYAPP"
| Variable | Description | Default |
|---|---|---|
SARVAM_API_KEY |
Sarvam AI API key for failure analysis | - |
AI_PROVIDER |
AI provider: sarvam, cascade, windsurf, or none |
sarvam |
JIRA_BASE_URL |
Jira instance URL | - |
JIRA_EMAIL |
Jira account email | - |
JIRA_API_TOKEN |
Jira API token | - |
JIRA_PROJECT_KEY |
Jira project key | - |
The testbot_test_my_app tool accepts:
| Parameter | Type | Description |
|---|---|---|
projectPath |
string | Path to project (default: workspace root) |
testType |
string | frontend, backend, or both |
prdFile |
string | Path to PRD file for test generation |
baseURL |
string | Application base URL |
port |
number | Application port |
startCommand |
string | Command to start the app |
aiProvider |
string | AI provider for analysis |
jira.enabled |
boolean | Enable Jira integration |
The dashboard displays:
- KPI Cards: Total tests, passed, failed, skipped, pass rate, duration
- AI Analysis Summary: Carousel of AI-powered failure analyses
- Suite Breakdown: Results by test suite
- Charts: Status distribution and suite results
- Test Table: Filterable, sortable list of all tests
- Regression Comparison: Compare with baseline results
Click any failed test to see:
- Error details and stack trace
- AI analysis with root cause and suggested fix
- Screenshots at time of failure
- Video recording of the test
- Playwright trace files
testbot-mcp/
├── src/
│ ├── index.js # MCP server entry
│ ├── auto-detector.js # Project settings detection
│ ├── playwright-integration.js
│ ├── report-generator.js
│ ├── dashboard-launcher.js
│ ├── ai-providers/
│ │ ├── sarvam.js
│ │ ├── cascade.js
│ │ └── windsurf.js
│ └── jira/
│ └── client.js
├── package.json
└── .env.example
dashboard/
├── public/
│ └── index.html
└── src/
├── data-parser.js
├── reporter.js
└── styles/
└── dashboard.css
MIT