Persqo

com.persqo由 persqo.com 发布官方发布者v1.1.0更新于 Nov 7, 2026

AI personas test your site like real users and return scored reports with fix prompts.

已验证Streamable HTTP可网页运行浏览器自动化开发者工具安全与监控

概览

AI 生成的概览

Persqo 让 AI 角色在真实浏览器中像真实用户一样测试你的线上或预览网站,并返回评分报告、回放和可直接粘贴的修复提示。

可以做什么
  • 创建和列出项目与站点,启动、轮询并查看测试运行
  • 读取运行回放、评分、问题发现、页面级结果、趋势和每周洞察
  • 生成、保存和列出角色,并按严重程度和状态筛选或更新问题
  • 获取测试或问题的修复提示,并排队复测
  • 管理每日或每周计划、公开分享链接、邮件通知和 Webhook
  • 列出已同步的 Jira 和 Monday 工单,并用匹配的角色复现
适用场景
适合让助手以不同用户类型操作已部署或预览版网页应用,并在同一会话中把可用性、无障碍或移动端问题转化为具体代码修复。也适合需要定时回归检查或在编码代理内复现工单的团队。
运行要求
远程 HTTP 端点 persqo.com/api/mcp,或通过 npx 从 GitHub 仓库启动的本地 stdio 桥接(未发布到 npm),需要 Node.js。认证方式为 OAuth 或通过 Authorization Bearer 请求头发送的 API 密钥,密钥从 PERSQO_API_KEY 读取;可选 PERSQO_API_BASE 覆盖基础地址。需要 Persqo 账号和工作区,被测站点必须可通过公网 https 访问。
安装前请注意
API 密钥是工作区级密钥,可读取和修改该账号下的所有站点;应保存在环境变量或密钥库中,不要放进 URL。运行会消耗会话,测试会报告费用。多个工具会改变状态:创建项目、角色、计划、分享和 Webhook,删除计划和 Webhook,更新问题状态和通知开关,以及确认运行或工单复现。Webhook 签名密钥只显示一次。通过 auth 参数传入的测试凭据和站点数据会发送给 Persqo,工作区开启后工单复现还可回写评论。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Persqo,将其添加到工作区。
  2. 连接 所需的 凭据。它们会被私密存储,绝不会在公开页面上展示。
  3. 为需要使用其工具的对话启用该服务。

Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。

交给智能体安装

把这段提示词粘贴到 Claude Code、Codex、Cursor 等智能体,或 SourceWeft 对话中。智能体会读取该服务器的安装指南,先向你展示发布者、端点和登录方式,经你同意后再把它添加到你的客户端。密钥不会写进任何命令。

阅读 https://sourceweft.com/mcp/com.persqo%2Fpersqo/install.md,并按其中说明把这个 MCP 服务器接入我的客户端。修改任何配置之前,先告诉我它的发布者、端点和登录方式,等我确认。不要把 API 密钥写进命令或我会提交的文件;问我密钥应从哪里获取。

查看智能体所依据的安装指南

其他 MCP 客户端

把它添加到你客户端的 mcpServers 配置中。 客户端会在首次连接时完成 OAuth 登录。

{
  "mcpServers": {
    "persqo": {
      "type": "http",
      "url": "https://persqo.com/api/mcp"
    }
  }
}

README

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.

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

bash
claude mcp add --transport http persqo https://persqo.com/api/mcp --header "Authorization: Bearer $PERSQO_API_KEY"
json
{  "mcpServers": {    "persqo": {      "type": "http",      "url": "https://persqo.com/api/mcp",      "headers": {        "Authorization": "Bearer ${PERSQO_API_KEY}"      }    }  }}

Cursor

json
{  "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.

json
{  "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>.

bash
npx -y github:YaakovTzedek/persqo-mcp
json
{  "mcpServers": {    "persqo": {      "command": "npx",      "args": ["-y", "github:YaakovTzedek/persqo-mcp"],      "env": { "PERSQO_API_KEY": "pq_live_YOUR_KEY" }    }  }}

Claude Code:

bash
claude mcp add persqo --env PERSQO_API_KEY=$PERSQO_API_KEY -- npx -y github:YaakovTzedek/persqo-mcp

Optional 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.

FieldMeaning
languageSpoken language, such as Hebrew or English. Auto visitors stay in one language and quote the site's own labels.
localeBrowser locale, BCP 47, such as he-IL or en-US. The run sets Accept-Language from this.
countryCountry the visitor is in. Used for timezone and geolocation.
cityCity 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

ToolWhat it doesParameters
list_projectsProjects in the workspace, including default language, locale, country, and city.none
list_sitesSites on the account. A key sees every site.none
create_projectCreate a project from a public https URL. Place fields become the project defaults.url required. language, locale, country, city
start_runDry run until confirm is true. personas is auto or persona ids. A new URL creates the project.confirm, url or project_id, personas, language, locale, country, city
get_runRun status.run_id
get_run_replayStep timeline, thoughts, actions, and the stuck marker.run_id
get_reportScore, counts, findings, and the PDF URL.run_id
get_report_pdfReport JSON, or PDF bytes when format is pdf.run_id, optional format
run_testStart testers against a public https URL. wait true returns a summary and the fix prompt.url required. personas, auth (email, password, login_url), wait, timeout_ms, idempotency_key, webhook_url
get_test_statusStatus, personas, findings, cost, and the report URL.test_id
list_testsRecent tests.optional limit
generate_personasSuggest personas for a URL. Does not spend a session.url

Personas and findings

ToolWhat it doesParameters
list_personasSaved personas, including place. Place fields also filter.project_id or url, language, locale, country, city
create_personaSave a custom persona.project_id or url, name, role, device, goal, tech, language, locale, country, city
list_findingsFilter findings.project_id or url, run_id, severity, status (open, fixed, ignored), page, persona, language, locale, country, city
get_findingOne finding, with Claude Code, Cursor, and Lovable prompts.finding_id
get_findingsFindings for one test, with severity, screenshots, and fix_prompt.test_id
get_fix_promptOne prompt to paste.test_id, or finding_id
update_findingSet status.finding_id, status (open, fixed, or ignored)
retest_findingQueue a retest. Place fields override the project defaults for that run.finding_id, language, locale, country, city
list_pagesPer-page score and issue counts.project_id or url
get_trendsScore over time, opened versus closed, and a two-run comparison.project_id or url, left, right
weekly_insightsWeekly summary for one project.project_id or url

Schedules, sharing, and notifications

ToolWhat it doesParameters
list_schedulesDaily and weekly schedules, including the place each one runs with.project_id or url, language, locale, country, city
save_scheduleCreate or update a schedule. Pass id to update.id, project_id or url, frequency (daily or weekly), personas, language, locale, country, city
delete_scheduleDelete a schedule.schedule_id
list_sharesPublic report links.none
create_shareShare a run.run_id
revoke_shareRevoke a share link.share_id
get_notificationsscore_drop_email and schedule_email for the key owner.none
update_notificationsSet those two email switches.score_drop_email, schedule_email
list_webhooksWebhook endpoints. The signing secret is not shown again.none
create_webhookRegister an https endpoint for test.completed. The whsec_ secret is returned once.url
revoke_webhookRevoke a webhook.webhook_id

Tickets

ToolWhat it doesParameters
list_ticketsSynced Jira and Monday tickets.source, status, reproduced, country, language, device
reproduce_ticketReproduce a ticket with a matching persona and browser. Dry run until confirm is true. environment overrides extracted place, device, and browser. Posting a comment back stays off until the workspace turns it on.ticket_id, confirm, environment (language, locale, country, city, device, browser)
get_ticket_reproductionLatest reproduction: result, replay, screenshots, console, network, root cause, and fix prompts.ticket_id

Localhost

The Persqo browser cannot open localhost. Deploy a preview (Vercel or Netlify) or tunnel the machine:

bash
ngrok http 3000cloudflared tunnel --url http://localhost:3000

Then pass that https URL to start_run or run_test.

License

MIT

来源:README.md,提交 b2accc1

工具

0
该服务器需要登录,因此 SourceWeft 无法在没有账号的情况下读取其工具,也未收录。已连接账号所能看到的内容可能因账号及其权限而异。

版本历史

2
  1. v1.1.0最新Oct 29, 2026
  2. v1.0.0Oct 25, 2026

评分

已满足适用检查项的 83%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通必需25 分
  • 已声明认证方式必需10 分
  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证不适用

    托管服务按其提供方的条款使用,因此这里不要求许可证。此检查项不计入百分比。

其他 Persqo 集成