Persqo MCP Server
Provides tools for working with synced Jira tickets, including listing tickets, reproducing a ticket with a matching persona and browser environment, and retrieving the latest reproduction details such as replay, screenshots, console/network logs, root cause, and fix prompts.
This server has a remotely hosted endpoint. Open its connector listing for connection details, authentication requirements, and setup instructions:
Persqo MCP Server
AI personas test your web app like real users, then hand your coding agent ready-to-paste fix prompts.
Persqo runs AI personas (first-time visitor, impatient mobile user, accessibility-dependent user, and more) through your live or preview site in a real browser. Every run gives you step-by-step recordings, screenshots, and prioritized findings. This MCP server lets Claude, Claude Code, Cursor, Codex, and any MCP client start a test, wait for it, read findings, and pull a fix prompt straight into the session.
The live remote server is https://persqo.com/api/mcp. This package is the stdio bridge for clients that launch a local command. It calls the Persqo API with Authorization: Bearer and the key from PERSQO_API_KEY. persqo-mcp is not published to npm.
Get an API key
Sign up at https://persqo.com and create an API key (pq_live_...) in Settings, then API keys. The secret is shown once. Put it in PERSQO_API_KEY. Do not put the key in the URL.
A key belongs to the workspace, not one project. It can read and change every site on that account. Pass project_id or a site URL when the workspace has more than one project. One project is selected for you. Several matches come back as project_choice.
Related MCP server: Menso MCP Server
Remote server
HTTP clients send Authorization: Bearer plus the key. The examples below read that key from PERSQO_API_KEY so the secret stays in the environment.
Claude Code
claude mcp add --transport http persqo https://persqo.com/api/mcp --header "Authorization: Bearer $PERSQO_API_KEY"{
"mcpServers": {
"persqo": {
"type": "http",
"url": "https://persqo.com/api/mcp",
"headers": {
"Authorization": "Bearer ${PERSQO_API_KEY}"
}
}
}
}Cursor
{
"mcpServers": {
"persqo": {
"url": "https://persqo.com/api/mcp",
"headers": {
"Authorization": "Bearer ${env:PERSQO_API_KEY}"
}
}
}
}Or open the Cursor install link. Put the key in Cursor's secret store as PERSQO_API_KEY.
Codex and other MCP clients
Use the same URL and header. Clients that speak stdio can use the local command in the next section instead.
{
"mcpServers": {
"persqo": {
"type": "http",
"url": "https://persqo.com/api/mcp",
"headers": {
"Authorization": "Bearer ${PERSQO_API_KEY}"
}
}
}
}Claude and ChatGPT can also connect with OAuth at the same URL. That flow does not use an API key. API-key clients always send the Bearer header above.
Local stdio server
package.json maps the persqo-mcp command to bin.js, which is what npx executes. The process reads PERSQO_API_KEY and sends Authorization: Bearer <key>.
npx -y github:YaakovTzedek/persqo-mcp{
"mcpServers": {
"persqo": {
"command": "npx",
"args": ["-y", "github:YaakovTzedek/persqo-mcp"],
"env": { "PERSQO_API_KEY": "pq_live_YOUR_KEY" }
}
}
}Claude Code:
claude mcp add persqo --env PERSQO_API_KEY=$PERSQO_API_KEY -- npx -y github:YaakovTzedek/persqo-mcpOptional PERSQO_API_BASE (default https://persqo.com).
Visitor place
Personas, runs, schedules, retests, and finding filters take four place fields. A project stores the same four as defaults. Omit a field to keep the project default.
Field | Meaning |
| Spoken language, such as Hebrew or English. Auto visitors stay in one language and quote the site's own labels. |
| Browser locale, BCP 47, such as |
| Country the visitor is in. Used for timezone and geolocation. |
| City the visitor is in. Used for timezone and geolocation. |
create_project accepts these as project defaults. list_projects returns them. create_persona, list_personas, start_run, save_schedule, list_schedules, retest_finding, and list_findings accept them as overrides or filters. Persona and schedule results include the place stored on each record.
Tools
start_run and reproduce_ticket are dry runs until confirm is true. run_test with wait: true polls until the test finishes or timeout_ms (default 120000, max 600000) and then returns a summary plus the fix prompt.
The Persqo browser cannot open localhost. Use a Vercel or Netlify preview, or an ngrok or cloudflared tunnel.
Projects, runs, and tests
Tool | What it does | Parameters |
| Projects in the workspace, including default | none |
| Sites on the account. A key sees every site. | none |
| Create a project from a public https URL. Place fields become the project defaults. |
|
| Dry run until |
|
| Run status. |
|
| Step timeline, thoughts, actions, and the stuck marker. |
|
| Score, counts, findings, and the PDF URL. |
|
| Report JSON, or PDF bytes when |
|
| Start testers against a public https URL. |
|
| Status, personas, findings, cost, and the report URL. |
|
| Recent tests. | optional |
| Suggest personas for a URL. Does not spend a session. |
|
Personas and findings
Tool | What it does | Parameters |
| Saved personas, including place. Place fields also filter. |
|
| Save a custom persona. |
|
| Filter findings. |
|
| One finding, with Claude Code, Cursor, and Lovable prompts. |
|
| Findings for one test, with severity, screenshots, and |
|
| One prompt to paste. |
|
| Set status. |
|
| Queue a retest. Place fields override the project defaults for that run. |
|
| Per-page score and issue counts. |
|
| Score over time, opened versus closed, and a two-run comparison. |
|
| Weekly summary for one project. |
|
Schedules, sharing, and notifications
Tool | What it does | Parameters |
| Daily and weekly schedules, including the place each one runs with. |
|
| Create or update a schedule. Pass |
|
| Delete a schedule. |
|
| Public report links. | none |
| Share a run. |
|
| Revoke a share link. |
|
|
| none |
| Set those two email switches. |
|
| Webhook endpoints. The signing secret is not shown again. | none |
| Register an https endpoint for |
|
| Revoke a webhook. |
|
Tickets
Tool | What it does | Parameters |
| Synced Jira and Monday tickets. |
|
| Reproduce a ticket with a matching persona and browser. Dry run until |
|
| Latest reproduction: result, replay, screenshots, console, network, root cause, and fix prompts. |
|
Localhost
The Persqo browser cannot open localhost. Deploy a preview (Vercel or Netlify) or tunnel the machine:
ngrok http 3000
cloudflared tunnel --url http://localhost:3000Then pass that https URL to start_run or run_test.
License
MIT
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
This server cannot be deployed
Maintenance
Related MCP Connectors
Browser-based QA for AI-built software. Test pages with real browsers via agents.
Test a web app in a real browser from plain English. Passed, failed or cannot verify, with evidence.
Authorized security scans, evidence, fix prompts and retests for AI-built web apps.
Write, run and check natural-language browser tests of your web app from your AI assistant.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceEnables AI platforms to run ensemble front-end quality tests on public web pages, including accessibility, usability, and standards conformity, and to retrieve the resulting reports.3,795 npm5MIT

Menso MCP Serverofficial
AlicenseNot gradedqualityCmaintenanceEnables AI clients to launch real purchase or signup test runs against a live public URL and then fetch run status, scored findings with friction points and suggested fixes, and a public replay of every step taken. It works over Streamable HTTP with an API key, so no installation is needed in Claude Code, Cursor, Windsurf or any compatible client.2 npmMIT
QAJev MCP Serverofficial
AlicenseNot gradedqualityBmaintenanceEnables AI agents to crawl websites, run plain-language goal-based checks, read reports and screenshots, and follow or stop runs through MCP.3MIT- AlicenseNot gradedqualityAmaintenanceEnables Claude Code to control a real browser via MCP for navigation, clicking, screenshots, accessibility snapshots, and automated testing against web apps. It supports multi-step scenarios, assertions, network/console monitoring, session recording, and visual regression checks.106 npmMIT