ProvaLab MCP — Testing Infrastructure for Claude Code
ProvaLab exposes 71 testing tools over the Model Context Protocol (MCP). Point your Claude Code (or any MCP-capable agent) at our endpoint and your AI assistant can drive real browser sessions, run security scans, execute API tests, and manage test cases — all with your own LLM subscription paying for the chat side, and ProvaLab charging only for the infrastructure (browsers, scans, device time, storage) that actually runs.
Who this is for
- You use Claude Code, Claude Desktop, Cursor, Zed, or any MCP-capable agent
- You want your AI assistant to actually run tests, not just talk about them
- You'd rather pay a few cents per browser-minute than a flat SaaS fee for AI you're already paying for elsewhere
5-minute install
Claude Code (recommended)
1. Install the auth helper (one-time, per machine).
The plugin needs a short-lived OAuth token for every MCP call. The
provalab-auth CLI handles the device-flow login + silent refresh.
macOS / Linux:
curl -sSf https://plugins.provalab.io/install.sh | sh
provalab-auth login
Windows (PowerShell):
irm https://plugins.provalab.io/install.ps1 | iex
provalab-auth login
provalab-auth login opens a browser (or prints a code + URL for
headless machines), you sign in to ProvaLab, and the token is cached
at ~/.config/provalab/auth.json.
2. Install the plugin.
/plugin marketplace add provalab-dev/claude-code-plugin
/plugin install provalab@provalab-marketplace
Restart Claude Code, then run /mcp — the provalab server should
show as connected. You now have the ProvaLab tool list plus
/provalab-test, /provalab-status, /provalab-results slash
commands and the run/triage skills.
Direct MCP URL (Claude Desktop, Cursor, Zed, custom clients)
ProvaLab's MCP endpoint speaks the streamable-HTTP transport. Point
your client at the URL below — it handles OAuth automatically on first
use, so no provalab-auth CLI needed.
claude mcp add provalab https://mcp.provalab.io/mcp
Or in your client's MCP config:
{
"mcpServers": {
"provalab": {
"type": "http",
"url": "https://mcp.provalab.io/mcp"
}
}
}
Don't use
/mcp/ssewith"type": "sse". The legacy SSE transport is still mounted but is deprecated and connections time out after 30s. Always use/mcpwith"type": "http".
What you can ask Claude once installed
The tools group into four testing pillars + one data layer.
Pillar 1 — UI Testing
Run real browser automation on ProvaLab's cloud infrastructure. Chrome, Firefox, Edge, mobile emulators, device cloud.
Tools
| Tool | What it does |
|---|---|
execute_pytest | Run a pytest suite against a target. Returns pass/fail + logs + screenshots |
provision_browser | Spin up a headless/VNC-visible browser with a chosen version |
create_browser_session | Open an interactive browser session (persistent, user can watch) |
close_browser_session | Tear down a session + reclaim resources |
authenticate_session | Log into an app via OTP from a real device (SMS/email) |
crawl_site | Walk a site's routes to discover pages |
save_test_artifacts | Attach screenshots, videos, HAR files to a run |
get_session_artifacts | Retrieve screenshots / videos / logs from a session |
get_execution_result | Fetch the structured result of a prior run |
analyze_page | Extract elements / selectors / accessibility hints from a page |
Example prompts
"Open
https://staging.example.comin Chrome and screenshot the pricing page."
"Run the smoke suite I have in pytest-tms format against staging, then show me any failures with screenshots."
"Log into my app at
app.example.comusing my test credentials, grab the OTP from my phone, then verify the dashboard loads."
Infrastructure consumed (what you pay for)
- Browser session minutes
- Mobile emulator / real-device time
- Video recording GB-months
- Screenshot & artifact storage
Pillar 2 — API Testing
Execute HTTP requests, inspect responses, maintain a catalog of your APIs.
Tools
| Tool | What it does |
|---|---|
execute_api_request | Fire a one-shot HTTP request with full headers/body/auth. Returns full response + timing |
get_api_catalog | List the APIs your project has registered |
get_api_workbench | Fetch saved request collections (Postman-style) |
Example prompts
"POST a login request to
api.example.com/authwith these credentials, and show me the full response headers."
"Run the entire
userscollection against staging and tell me which endpoints return non-2xx."
"Hit
/healthon all three environments and compare the response times."
Infrastructure consumed
- API requests per month
- Request/response storage
Coming soon
api_contract_validate— OpenAPI spec vs. live-service drift detectionapi_regression— compare current response vs. recorded baselineapi_mock_server— spin up a mock service from a spec
Pillar 3 — Security Testing
OWASP ZAP-backed scanning with active and passive modes, fuzz testing, formatted reports.
Tools
| Tool | What it does |
|---|---|
security_scan | Run a baseline or active ZAP scan against a URL. Returns findings with severity |
security_fuzz | Fuzz endpoints with injection / XSS / auth-bypass payloads |
security_report | Produce a human-readable security report (PDF/Markdown) from a scan |
Example prompts
"Run the 'Nightly DAST' scan for project 7 and wait for the gate."
"Fuzz the
/api/users/:idendpoint for IDOR and SQL injection."
"Give me a security report for scan ID 42 — I need to share it with legal."
Infrastructure consumed
- Scan minutes (ZAP container runtime)
- Report retention
Coming soon
security_sast— static analysis (semgrep / bandit) on your source codesecurity_deps— dependency vulnerability scan (Trivy / Snyk-equivalent)security_secrets— leaked secrets scan on reposecurity_container— container image scan
Pillar 4 — Performance Testing
Coming soon. We're building k6-backed load, stress, spike, and endurance testing. Target MCP tools:
perf_load_test— sustained load at N vUsers for M minutesperf_stress_test— ramp vUsers until the service breaksperf_spike_test— sudden traffic spike recoveryperf_endurance_test— long soak test for memory leaksperf_profile_page_load— Lighthouse scores for page loadperf_compare— regression vs. a baseline run
Status: Design phase. Release updates are posted on provalab.io and in the plugin catalogue.
Data layer — TMS (Test Management System)
39 CRUD tools over the ProvaLab TMS. Lets Claude manage projects, versions, modules, test cases, plans, runs, defects — all natively, no code written.
Read tools (list & inspect)
| Tool | What it does |
|---|---|
tms_list_projects | List projects in your organization |
tms_get_project | Details for one project |
tms_get_project_stats | Roll-up counts (modules, suites, cases, runs, features) for a project |
tms_list_project_members | Users on a project + their roles |
tms_list_versions | Project versions / releases |
tms_get_version | Details for one version (e.g. "8.0.0") |
tms_list_modules | Modules in a project |
tms_list_test_suites | Suites in a project or module |
tms_list_test_cases | Test cases (filterable by priority, type, status) |
tms_list_test_runs | Test runs (filterable by status, environment) |
tms_get_test_run_results | Pass/fail results for a specific run |
tms_list_test_plans | Test plans |
tms_get_test_plan | Details for one plan |
tms_get_plan_coverage | Coverage breakdown for a plan |
tms_list_requirements | Requirements |
tms_get_requirement_coverage | Which requirements have tests, which don't |
tms_list_features | Features |
tms_list_issues | Issues / defects |
tms_get_issue | Details for one issue |
tms_search | Free-text search across TMS entities |
Write tools (require approval in interactive mode)
| Tool | What it does |
|---|---|
tms_create_project | New project |
tms_create_version | New version/release |
tms_create_module | New module |
tms_create_test_suite | New suite |
tms_create_test_case | New test case |
tms_update_test_case | Edit an existing case |
tms_create_test_plan | New test plan |
tms_create_test_run | New run (attached to a plan) |
tms_report_result | Report a pass/fail for a case in a run |
tms_create_requirement | New requirement |
tms_update_requirement | Edit requirement |
tms_delete_requirement | Delete requirement |
tms_create_feature | New feature |
tms_update_feature | Edit feature |
tms_delete_feature | Delete feature |
tms_create_issue | File a bug |
tms_update_issue | Update an issue |
tms_link_test_case_to_requirement | Trace case → requirement |
tms_link_test_case_to_feature | Trace case → feature |
Example prompts
"List all projects, then show me the one with the most open bugs."
"For project ForceFlow, create a new version 9.0.0, draft the regression test plan for it, and link every HIGH-priority requirement to the plan."
"Which test cases in Login module have no automation script? File those as 'needs automation' bugs."
Infrastructure consumed
- TMS CRUD operations are free during the beta period.
Supporting tools (invisible but useful)
Claude will use these automatically when a prompt needs them — you don't call them directly.
Knowledge & context:
get_project_context,get_app_profile,get_tms_schema,get_domain_history
Memory:
save_learning,get_learnings— persist what Claude figures out about your appsave_working_context,get_working_context— maintain state across sessions
Workspace:
list_workspace_files,read_workspace_file— read files you've uploadedget_ui_test_inventory— list test files Claude authored
Human-in-the-loop:
request_user_input— Claude pauses to ask you for approval before destructive actions
Sync:
publish_to_master,get_knowledge_gaps,get_session_history
Current pricing (beta)
| Pillar | Status | Price |
|---|---|---|
| UI Testing | Live | Free during beta. Fair-use session minutes, premium tier launching Q1 |
| API Testing | Live | Free during beta |
| Security Testing | Live | Free during beta. Per-scan pricing launching Q1 |
| Performance Testing | Coming soon | TBD |
| TMS CRUD | Live | Free, always (bring your own LLM) |
No charge for LLM tokens. Your Claude Code / Max / Pro subscription (or any MCP-capable agent) pays for the AI side. ProvaLab charges only for the infrastructure that actually runs tests.
Next steps
- Install →
/plugin marketplace add provalab-dev/claude-code-pluginthen/plugin install provalab@provalab-marketplacein Claude Code - First prompt to try → "List my ProvaLab projects"
- Report issues → github.com/provalab-dev/claude-code-plugin/issues
- Pricing updates → provalab.io/pricing
Release updates and new tools are announced on provalab.io and in the plugin catalogue.