Catch up
Blockers first, then running work, then what finished.
SayWhat's waiting on me in ProPR?
MCP · Chat control
Plan the change, direct the agent, inspect the diff, and decide what reaches GitHub, all from your chat client. Agents and execution stay on your infrastructure.
Built into ProPR as an optional server. Set it up.
Compare the two connection routes →/api/mcpYour instance OAuthmcp.propr.dev/mcpConnect OAuth → managed tunnel · not yet availableAdd ProPR as a custom connector in Claude once, on claude.ai or Claude Desktop, and it follows your account into the Claude app on iOS and Android. Claude's voice mode calls connected tools, so you can ask for a briefing on a walk, approve a plan in a taxi, and send a fix between meetings. The agents keep working on your server.
Blockers first, then running work, then what finished.
SayWhat's waiting on me in ProPR?
Hear the findings, pick the fixes, and let Ultrafix run.
SayReview the checkout PR with GPT-6 Astra and read me the findings. Apply the first two.
Plan, approve, and launch with the model you choose.
SayPlan rate limiting for orders-api. Once I approve, start it with Claude Opus 5.5.
Claude reaches custom connectors from Anthropic's cloud, so your instance's /api/mcp needs a public HTTPS address. Merges still check the exact head commit and the required checks, by voice or by text.
Both routes serve the same tools, resources, and prompts from your instance, limited by your permissions. Connect adds hosted sign-in and routing. Direct MCP works today; the hosted Connect route is not yet available.
Direct MCP · Your instance
https://<instance>/api/mcp
Your chat client talks to your instance and signs in through its own OAuth flow. You run the endpoint; Connect never sees the traffic. Your chat host receives whatever the conversation returns.
Run your own ProPR instance →Connect MCP · Managed tunnel · Not yet available
https://mcp.propr.dev/mcp
Sign in once, pick an installation, and the gateway forwards calls through that installation's managed tunnel to its /api/mcp. It needs an active Plus tunnel and an instance that trusts Connect. Until it opens, use direct MCP.
Every step is an explicit action. You read findings before choosing fixes, and every operation gets an ID you can come back to.
get_work_overview, then review_pull_request with two models. GPT-6 Astra and Claude Fable 5.1 each post an independent review on public propr #2905; the chat restages the /review astra fable request that started them.List the repositories, branches, and models your account can use. Name a repository, plan, goal, task, or PR loosely and ProPR resolves it, asking you when the match is ambiguous. Ask for a briefing and ProPR puts blockers first, then running work, then what finished.
Example requestBrief me on ProPR. What is waiting on me, and which repository matches ‘payments’?
Draft a plan, gather repository context, generate it, and refine the scope. Every change saves a revision you can restore. Publishing creates the GitHub issues; starting implementation is its own step, with your choice of issues, models, epic sequencing, and Ultrafix limits.
Example requestDraft a retry plan for acme/payments. Keep the public API unchanged. Show me the revised plan before publishing issues.
Launch a one-off task with explicit Ultrafix and auto-merge choices, or start a goal and steer it: send direction, pause, resume, or cancel. A bounded wait returns when the goal finishes, pauses, or publishes a checkpoint, so the chat stops polling. Pause and resume plan execution, send follow-ups, cancel tasks, and run a saved automation.
Example requestStart the approved goal in acme/payments with the model I selected. Pause it before I change the acceptance criteria.
Read progress, task events, changed files, diffs, visual previews, and artifacts. One overview call joins running and recent tasks with their PRs, review decisions, and checks. Saved IDs take you back to the work in any later conversation.
Example requestShow the latest events, diff, and screenshots for the task linked to acme/payments#42. Explain the failure and link the relevant artifact.
Request a review from one model or up to eight side by side, read the findings and suggestions, and apply exactly the ones you pick. Run Ultrafix with a cycle limit, send a focused follow-up, or update the branch from its base when it needs current code.
Example requestReview acme/payments#57. Show the findings, then apply F2 and suggestion S1. Limit Ultrafix to two cycles and report each cycle's score.
Merging takes the exact PR, its expected head commit, your merge permission, and passing required checks. A refused merge names the failing precondition. Auto-merge needs its own explicit authorization.
Example requestInspect acme/payments#57 and its checks. Show the exact head commit and ask me before requesting the merge.
The MCP merge_pull_request tool merges the PR. The GitHub /merge command updates the branch from its base and resolves conflicts. PR command reference.
Chat sessions end and connections drop. ProPR records what each request started and how it ended, so the next conversation starts from facts.
Every change returns a receipt that moves from accepted to running to completed, failed, or cancelled. list_operations answers “what did I start in the last hour?”, and Ultrafix reports each cycle's score and the final outcome.
get_work_overview joins running and recent tasks with their pull requests, review decisions, checks, and Ultrafix state. New tasks report each stage from issue to finished PR.
Every failure names a stable code, the stage that failed, and whether a retry is safe. Secrets never appear in errors.
The documentation ships inside the release, so search_docs answers from the docs for the version you run. find_setting tells you where any setting lives.
get_visual_preview brings a task's captured screenshots into chat as downscaled images. Videos come back as a GitHub link.
Logs → MCP Log records which tool each app called, the outcome, and the timing. It never stores arguments or result bodies.
MCP gives a chat client three ways to work with ProPR. Your host decides how it shows them. How MCP works.
Each tool does one thing: read a plan, publish issues, start execution, review a PR, or merge it, with its own permission check.
Resources give the chat current activity, notifications, repositories, models, plans, goals, tasks, diffs, PRs, artifacts, previews, and docs.
Templates cover an operator briefing, planning, implementation, starting a goal, checking progress, review, failure diagnosis, and handoff.
You sign in and consent in your browser. Optional scopes start unchecked, and you pick the repositories the app may touch. Connected apps shows each app's permissions and last use. Revoke one and ProPR denies its next request; work it already started keeps running.
ProPR checks every call against the grant, the administrator's scope ceiling, and your own permissions. An app never gets more access than your account has.
Secrets go through browser sign-in and setup. Keep keys, tokens, and passwords out of chat.
Separate scopes cover reading, planning, publishing, execution, review, merge, and management. Every change names its exact target, and merges pin the expected head commit.
Task history and receipts live on your instance. Close the chat and the work keeps running; open a new one and the operation IDs take you back to it.
Nothing in a file, tool result, or chat message can widen an app's access.
Change non-secret configuration in the same conversation as daily work. The MCP documentation maps each control to its tool.
Search a repository by meaning or exact text and read any file at a pinned commit, without cloning. Ask for improvement ideas by category or prompt, read repository context, and control indexing. List pull requests across every granted repository with their tasks, goals, and plans. Manage to-dos, notifications, repository chat, attachments, and artifacts.
Add, change, or remove repositories and agents. Set branches, policies, and who may trigger ProPR. Choose models, labels, and reasoning levels, and build synthetic pools. New agents start disabled until someone completes the provider login in the browser.
Set indexing models, the Agent Tank mode, worker concurrency, planning and review models, context budgets, and Ultrafix defaults. Administrators also manage labels, runtime packages, and members.
Logins, credentials, environment variables, credential mounts, custom images, push subscriptions, and wider grants go through the browser or operator setup, never through chat.
MCP has no deployment or release tool. The deploy scope is reserved and grants nothing.
ProPR's MCP server exchanges text and structured data. Speech belongs to your chat host: Claude's voice mode calls connected tools, ProPR included. Other hosts' voice modes may not.
Direct MCP runs between your chat host and your instance and bypasses Connect. The Connect gateway carries tool arguments and results, which can include prompts, source code, diffs, and artifacts. Connect processes that traffic, and there is no end-to-end encryption through it.
Repository clones, agents, execution, and task state stay self-hosted. Whatever the conversation returns reaches your chat host and its model service, under that host's policies.
The gateway keeps no application store of requests or results. Connect persists sign-in, registration, grant, and session metadata plus encrypted credentials. Cloudflare and your chat host apply their own logging and retention.
Read the full trust boundary →MCP ships with ProPR, switched off. An administrator turns it on in Settings → Integrations & MCP → MCP Server, copies the connection URL, and sets the scope ceiling no client can exceed.
Your chat client needs to reach the instance over HTTPS. The hosted route at mcp.propr.dev is not yet available.
Follow the chat assistant guide to connect a client, and the MCP reference for scopes, consent, connected apps, and the full tool list.