Skip the webhook and tunnel work.

ProPR Connect routes GitHub webhooks to your self-hosted ProPR stack securely, even behind NAT or a firewall. Connect provides the public webhook endpoint, relays events to your stack, and holds the shared GitHub App's private key so your deployment never needs it. An optional MCP gateway provides authenticated chat access through managed tunnels.

ProPR Connect Outbound connection
GitHubissues, PRs, comments
webhook
Connectverify, route, replay
WebSocket
Your stackpolicy, agents, records
Successful deliveryNo payload retained by Connect
Delivery recoveryFailures stay briefly available for replay
app.propr.dev → optional managed tunnel → Local ProPR API
Connect carries events and optional UI traffic. Planning, repositories, credentials, and agent execution stay in the stack you run.

Operational overview

The slowest part of self-hosting is letting GitHub reach you.

ProPR runs close to your code and credentials. That is good for control, but GitHub still needs a stable place to send events, and the browser still needs a way to reach the local ProPR API when you use the hosted UI. Your ProPR stack can live on a laptop, workstation, private server, or internal network; those environments usually make inbound webhook setup the slowest part of the first run.

Connect provides the stable hosted edge: it accepts GitHub webhook deliveries, replays failures, authorizes relay access, and provisions optional UI tunnels. Planning, agents, repositories, and logs run in the stack you operate.

Routing, relay tokens, tunnels, and recovery.

Routes GitHub events

GitHub sends webhooks to Connect. Connect verifies the event, identifies the installation, and forwards it to the ProPR stack that is authorized for that GitHub App installation.

Starts free for 3 users

Community access covers three developers. Add Plus seats when a fourth developer needs to trigger work through Connect.

Removes inbound setup

Your stack can run behind NAT, a firewall, or a private network, because no installation has to expose a public webhook endpoint. Connect caches failed deliveries for up to 24 hours and replays them when your stack reconnects.

Provides relay tokens

Self-hosted ProPR can request scoped GitHub installation tokens without every stack storing the shared GitHub App private key.

Enables hosted UI access

Plus users can provision a ProPR-managed Cloudflare tunnel at t-<instance>.propr.dev so app.propr.dev can reach the local ProPR API and realtime updates.

Bring chat to your instance through Connect.

Connect routes https://mcp.propr.dev/mcp to your registered instance and forwards the same tools, resources, and prompts exposed by direct MCP. Check MCP availability and setup requirements.

Authorize one installation

Open browser OAuth, sign in, choose an installation you can access, and consent to scopes and repository restrictions. A grant binds to that installation and its stable instance identity. Connected apps lets you review and revoke access. Revocation blocks new invocations after validation; already accepted work may continue.

Reach the registered instance

The gateway selects the destination from Connect's tunnel registry, replaces the client token with an instance-bound delegation, and forwards MCP to /api/mcp. Your instance explicitly opts in to Connect trust. Connect and core check current membership, grant restrictions, and local permissions on every call. Credential handoff stays encrypted at rest and bound to the registered instance’s proof.

Use the whole workflow

Discover repositories and models, plan and publish issues, start and steer work, inspect progress and diffs, review and fix findings, and request a guarded PR merge. Both routes use the same core tools. Instance version, tool availability, and effective permissions determine access. Manage non-secret repository and agent configuration, synthetic-agent composition, indexing and provider policy, and execution, review, and context settings. New agents start disabled and require secure provider login.

Keep the instance running

Managed Cloudflare tunnels remain Plus-only, at t-<instance>.propr.dev. Hosted MCP needs an active registered tunnel and compatible instance. Agents execute and progress is stored on your instance; a chat disconnect does not request cancellation.

The gateway processes MCP tool arguments and results, which can contain prompts, source code, context, diffs, and artifacts. There is no end-to-end encryption through Connect. The gateway has no intentional application payload store or replay cache. Auth, registration, grant, and session metadata and encrypted credentials are stored separately. Inspect retention and logging boundaries. Direct MCP bypasses Connect.

ProPR exchanges text and structured data only. Any speech features belong to the chat host, whose voice mode may not expose MCP tools. Enter credentials in browser authentication and setup.

See delivery health without opening your stack.

The Connect dashboard exposes the active installation, seat usage, delivery activity, replay health, relay tokens, and managed tunnels. Your stack dials out over a WebSocket. Failed deliveries remain visible and replayable while the stack reconnects.

Connect operations Operational
Successful delivery ACK received The webhook payload is cleared after the stack accepts it.
Failed delivery Replayable The payload remains available for recovery for up to 24 hours.
Relay token Revocable Each token is scoped to its GitHub App installation.
Managed tunnel Plus Provision, health-check, rotate, or remove the hosted UI path.
Activity 24 hours
Repository User
A code-native view of the delivery, recovery, token, tunnel, and activity states exposed by the live Connect dashboard. Account data is omitted.

GitHub to Connect to your local ProPR.

Events flow in through Connect and out to the stack you run; pull requests come back through GitHub. When you use the hosted UI, browser API calls reach your local ProPR API through a scoped managed tunnel.

GitHubIssue and PR events from your repositories.
ProPR ConnectVerifies, routes, and replays deliveries; issues relay tokens.
Self-hosted ProPR stackIsolated agents, branches, and pull requests.
GitHub reviewDiff, comments, checks, merge — where the team already works.
app.propr.devThe hosted UI, loaded in your browser.
t-<instance>.propr.devManaged Cloudflare tunnel, scoped to API and realtime paths.
Local ProPR APIYour stack — repositories, tasks, and logs stay here.

ProPR work runs in your stack.

Repository clones, task state, logs, provider credentials, agent containers, and execution remain in your self-hosted deployment. Connect processes full webhook payloads and clears them after successful delivery; delivery statistics remain separately. Its optional MCP gateway also processes tool arguments and results, including prompts, source code, context, and diffs. Inspect the data boundary.

Runs hosted

Webhook routing, tunnel provisioning, delivery recovery, and relay-token issuance.

Runs in your stack

Planning, indexing, agent execution, logs, repositories, and Docker workspaces.

Lives in GitHub

Branches, commits, pull requests, comments, checks, and reviews.

Hosted access. Self-hosted execution.

Connect routes events and access.

The ProPR UI owns plans and task history. Connect moves GitHub events, relay authorization, and hosted UI access between GitHub and the stack you run.

Your ProPR stack runs every agent.

Agents execute in isolated Git worktrees and Docker workspaces inside your deployment. MCP requests through Connect carry the context and results needed by chat; all coding work executes on your instance.

Managed tunnels stay scoped to ProPR.

The tunnel carries ProPR API and realtime traffic at t-*.propr.dev. Connect provisions and health-checks that hosted UI path; every unrelated path returns 404.

Existing relay and tunnel capabilities.

RoutingHub delivers webhooks over the outbound WebSocket. Failed payloads remain replayable for up to 24 hours. Plus users can provision, health-check, rotate, and remove managed UI tunnels. Direct Plus billing links preserve explicit billing intent through login, then focus and highlight the authorized installation's plan choices. They never purchase or select a plan.

Use it with the rest of ProPR.

The quickstart enrolls the shared GitHub App through Connect during the guided propr setup pass. Standalone propr login handles manual authentication; propr relay enroll handles manual enrollment and token management. Self-hosting covers everything that stays in your stack, including the advanced path with your own GitHub App.

Run propr setup where your code lives.

The guided pass enrolls with Connect and starts the stack on your own infrastructure.