priorrun-mcp
MCP server for Prior.Run — walk a page or flow and get it back marked up: every problem pinned to the spot, with the fix. Also ask your audience room. Works from Claude Desktop, Claude Code, Codex, Gemini CLI, Cursor, Windsurf, Cline, Zed, or any MCP-compatible agent.
Install
Requires Python 3.11+. Install uv if you don't have it.
uvx priorrun-mcp
That's it — uvx fetches and runs the server on demand.
Configure
Grab an API key from prior.run/settings, then register the server with your agent host.
Claude Desktop
~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"prior-run": {
"command": "uvx",
"args": ["priorrun-mcp"],
"env": {
"PRIORRUN_API_KEY": "pr_live_xxxxxxxxxxxxxxxxxxxxxxxx"
}
}
}
}
Claude Code
~/.claude/mcp.json (global) or .mcp.json in a project root:
{
"mcpServers": {
"prior-run": {
"command": "uvx",
"args": ["priorrun-mcp"],
"env": { "PRIORRUN_API_KEY": "pr_live_..." }
}
}
}
Codex (OpenAI)
~/.codex/config.toml — TOML, not JSON:
[mcp_servers.prior-run]
command = "uvx"
args = ["priorrun-mcp"]
[mcp_servers.prior-run.env]
PRIORRUN_API_KEY = "pr_live_..."
Gemini CLI
~/.gemini/settings.json:
{
"mcpServers": {
"prior-run": {
"command": "uvx",
"args": ["priorrun-mcp"],
"env": { "PRIORRUN_API_KEY": "pr_live_..." }
}
}
}
Cursor
~/.cursor/mcp.json (global) or .cursor/mcp.json (per-project):
{
"mcpServers": {
"prior-run": {
"command": "uvx",
"args": ["priorrun-mcp"],
"env": { "PRIORRUN_API_KEY": "pr_live_..." }
}
}
}
Windsurf / Cline / Zed / other MCP hosts
All modern MCP hosts share the same mcpServers JSON shape used by Claude Code.
Drop the same block into the host's MCP config file — check the host's docs for
the exact path.
Tools
Walk first, mirroring the web app. Flow: list_custom_audiences →
persona_audience_panel (gives the audience id + seated member indices a walk
needs) → create_url_audit → get_url_audit. The saved audience says who the
page is for; specialists walk it.
| Tool | What it does |
|---|---|
create_url_audit / get_url_audit |
walk a page or flow (or a design prototype) on desktop or mobile and get it back marked up — queued, ~45–55 min |
persona_audience_panel |
open the room — seats the members, and gives the ids a walk needs |
persona_audience_ask |
ask the whole room one question (fast, + actions, @-targeting) |
upload_room_image |
upload stimulus for a room ask (image ≤ 8 MB, or mp4/mov/webm video ≤ 100 MB) |
dismiss_room_member |
replace one seated member with a fresh draw |
reset_room |
clear / swap / new room reset |
create_room_thread / rename_room_thread |
campaign threads |
get_room_turns |
server-side room transcript + field notes |
interview_room_member / get_member_interview_history |
1:1 with a single room member |
persona_audience_synthesis |
transcript → themes + quotes + advisory handoff hint |
persona_interview / persona_interview_history |
1:1 with a persona from an archived memo (+ transcript) |
upload_interview_image |
stimulus for a 1:1 archived-memo interview (images only) |
create_mood / get_mood_job / list_mood_reports / get_mood / list_mood_cohorts / regenerate_mood / spawn_mood_audiences |
Mood of the Internet pipeline |
list_audience_templates / list_custom_audiences / rename_custom_audience / delete_custom_audience |
audience management |
get_memo |
fetch an archived memo by id — nothing writes new ones |
Image arguments accept local file paths, https:// URLs, or base64.
create_url_audit queues a walk and, by default (wait=True), polls until it
lands and returns the walk itself. A walk takes 45–55 minutes — so pass
wait=False and poll get_url_audit(walk_id) yourself if your host has a tool
timeout under an hour, or if you have anything else to be getting on with. If
the account has no walks left, the call fails with HTTP 402 and a plain message.
Example prompts
The agent picks the right tool from your wording. Say "walk this page" / "test this flow" for the walk tools, or "ask my room" / "what do they think" for the room tools.
Walk a page — walked in a browser, on the screen you name:
Walk brand.com/landing on a phone with my Gen Z skincare room.
→ agent calls create_url_audit with device="mobile" and the room's ids,
waits out the walk (45–55 min) and returns it: the walker's own summary, every
finding pinned to the screen it was found on, and one fix per finding in the
order to do them. Leave the device out for a 1280px laptop.
Environment variables
| Variable | Required | Default | Notes |
|---|---|---|---|
PRIORRUN_API_KEY |
yes | — | pr_live_... format. Generate at prior.run/settings. |
PRIORRUN_API_BASE |
no | https://api.prior.run |
Override for staging or local dev. |
Links
- Product: prior.run
- API docs: prior.run/docs/api
- MCP docs: prior.run/docs/mcp
Metadata
Release files for priorrun-mcp 0.14.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| priorrun_mcp-0.14.2.tar.gz | 53.5 kB | Without provenance | Details for priorrun_mcp-0.14.2.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| priorrun_mcp-0.14.2-py3-none-any.whl | Python 3 | none | any | Details for priorrun_mcp-0.14.2-py3-none-any.whl |
Total release size: 67.1 kB
Release files / priorrun_mcp-0.14.2.tar.gz
| Download URL | priorrun_mcp-0.14.2.tar.gz |
|---|---|
| Size | 53.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
2a86b55cad9e83aab10a723896a871f165b9a3ca6ddc04c1629dafc14713b07d
|
|
BLAKE2b-256 checksum How to use checksums |
63998d05813a5dec9c5d572233724a6d76c7ffa9c3db4e1788b3d5616f023162
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / priorrun_mcp-0.14.2-py3-none-any.whl
| Download URL | priorrun_mcp-0.14.2-py3-none-any.whl |
|---|---|
| Size | 13.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
83a65556bbdb9e2dbcde7cfb937be6ec3efe8fdc29f396d97711cf30768b7215
|
|
BLAKE2b-256 checksum How to use checksums |
1f8ab4dce12faa4f3a2cea8526a03e1d15dc17d30c5a52f08fcf4379d3893872
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Security for priorrun-mcp 0.14.2
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.