RepoRelay
RepoRelay の機能
RepoRelay はローカルのファーストパーティ MCP ブリッジであり、ChatGPT にコンピュータ上の正確に1つの承認されたリポジトリへの制限付きアクセスを提供します — それ以上は何もありません。
ChatGPT は RepoRelay を通じてコードをレビューし、固定されたハンドオフファイルを介して、別のローカルコーディングエージェント(Codex や Claude など)に構造化されたタスクを残すことができます。RepoRelay は ChatGPT とあなたのマシンの間のセキュリティ境界です。
ChatGPT reviews/plans
↓
RepoRelay
↓
Repository reads/searches
+
fixed .ai-handoff writers
↓
Codex / another local coding agent implementsRelated MCP server: codex-web-bridge
セーフティモデルの仕組み
MCP (Model Context Protocol) は、ChatGPT がツールを呼び出せるようにする標準です。ChatGPT は MCP クライアントです。RepoRelay はローカルの MCP サーバー兼セキュリティ境界であり、ChatGPT がアクセスできるものを決定し、一度に1つの承認されたリポジトリのみを公開します。tunnel-client は、ChatGPT のトラフィックをコンピュータに運ぶセキュアなネットワークパイプにすぎません。
コンポーネント | 役割 |
ChatGPT | MCP クライアント — RepoRelay ツールを選択します。 |
セキュア MCP トンネル | ChatGPT からコンピュータへトラフィックを運びます。 |
| ローカルネットワークフォワーダー。トンネルを RepoRelay に向けます。 |
RepoRelay | MCP サーバー兼セキュリティ境界。認証と許可されたアクセスを強制します。 |
リポジトリ | ChatGPT が検査を許可されている1つのディレクトリ。 |
ChatGPT が RepoRelay を通じてできること(通常の7ツール構成):
✓ inspect files open_workspace, list_files, read_file
✓ search the repository search_files
✓ write to three predetermined handoff targets
write_next_task, write_review, update_handoff_stateChatGPT ができないこと:
✗ run shell commands
✗ run PowerShell
✗ run Git
✗ launch processes
✗ arbitrarily edit source files
✗ delete files
✗ choose arbitrary write targets
✗ access outside the approved repositoryこれは RepoRelay の最も強力な差別化要因の1つです。ChatGPT はコードを読み、計画を立てることができますが、実行能力はなく、あなたが制御するいくつかの固定ハンドオフファイルにのみ書き込むことができます。
インストール前に
必要なもの:
Node.js
>=22.19かつ<27(npm 含む)。node --versionで確認してください。既存のローカルプロジェクトまたはリポジトリ ChatGPT にレビューさせたいもの。コンピュータ上の実際のフォルダである必要があります — ドライブのルートやユーザーフォルダ全体は不可。
OpenAI Secure MCP Tunnel へのアクセス。 RepoRelay は OpenAI の Secure MCP Tunnel を通じて ChatGPT に到達します。現在の OpenAI Secure MCP Tunnel ガイド で、可用性、権限、プランの詳細を確認してください。
カスタム MCP アプリを作成/使用する権限 対象の ChatGPT ワークスペース内(ChatGPT 開発者モード)。
他にダウンロードする必要はありません。RepoRelay は reporelay tunnel setup 中に公式の OpenAI tunnel-client を自動的にインストールします。
ハンドオフプロトコルについてはまだ心配する必要はありません。クイックスタートで動作するハンドオフファイルを設定し、手順に沿って説明します。
クイックセットアップ
Windows のパス。 パス全体を引用符で囲み、バックスラッシュを維持してください:
reporelay quickstart "C:\Users\you\Projects\my-app"
C:\Users\you\Projects\my-appが正しいです。C:Users\you\Projects\my-appは正しくありません — バックスラッシュが重要です。
1. RepoRelay をインストールする
npm install -g reporelay-mcp@latestインストールを確認:
reporelay --versionreporelay が認識されない場合は、トラブルシューティング を参照してください。
2. 1つのリポジトリで RepoRelay を起動する
reporelay quickstart "C:\Projects\my-app"パスを公開したいリポジトリに置き換えてください。この PowerShell ウィンドウは開いたままにしておきます。
次のように表示されるはずです:
Ready.
Local MCP: http://127.0.0.1:7676/mcp通常のクイックスタートでは、7ツールのハンドオフサーフェス(4つの検査ツール + 3つの固定ハンドオフライター)が有効になります。RepoRelay は小さな .ai-handoff ワークスペースと AGENTS.md ノートを作成し、ChatGPT が別のローカルコーディングエージェント向けに構造化されたタスクやレビューを残せるようにします:
.ai-handoff/NEXT_TASK.md
.ai-handoff/REVIEW.md
.ai-handoff/RESULT.md
.ai-handoff/STATE.json
AGENTS.mdなぜ RepoRelay はこれらを作成するのですか? ChatGPT は依然としてコマンドを実行したり、Git を使用したり、リポジトリを任意に編集したりすることはできません。これらのファイルは、ChatGPT がタスクを残し、別のローカルコーディングエージェント(自分のマシン上で、自分の許可で実行される)がその結果を残すための単なる場所です。詳細は ChatGPT ↔ コーディングエージェントハンドオフ を参照してください。
後で RepoRelay を停止するには、このウィンドウで Ctrl+C を押してください。reporelay quickstart --stop はありません。
3. 監査する
クイックスタートの直後に、RepoRelay の実際のセキュリティ境界を確認します:
reporelay audit "C:\Projects\my-app"次のように表示されるはずです:
RESULT: PASS監査は独自の一時的なループバックリスナーを起動し、実際の認証された MCP サーフェス、封じ込めチェック、およびハンドオフ制限を実行します。リポジトリは変更しません。これにより、ChatGPT が接続される 前に RepoRelay が検証されます。
4. RepoRelay トンネルセットアップを実行する
2つ目の PowerShell ウィンドウで、次を実行します:
reporelay tunnel setupこれにより、RepoRelay セットアップウィザードが起動します。すべてを自動で行います:
✓ installs a RepoRelay-supported OpenAI tunnel-client
✓ verifies it (pinned version + official SHA-256)
✓ opens OpenAI tunnel setup
✓ asks for your tunnel ID
✓ opens OpenAI runtime-key setup
✓ securely stores the pasted key
✓ creates the tunnel profile
✓ tests the complete connection提供するものは2つだけで、どちらも OpenAI Platform 内にあります:
Secure MCP Tunnel ID — ウィザードがブラウザで https://platform.openai.com/settings/organization/tunnels を開きます。トンネルを作成または選択し、ChatGPT ワークスペースに関連付けて、その
tunnel_idをターミナルに貼り付けます。ランタイム API キー — ウィザードが https://platform.openai.com/settings/organization/api-keys を開きます。トンネルで使用するプロジェクトのシークレットキーを作成し、ターミナルに貼り付けます。入力は非表示になります。貼り付けても何も表示されません。このキーは
tunnel-clientを OpenAI に対して認証します。RepoRelay ブリッジシークレットではありません。
トンネルの作成または編集には Tunnels Read + Manage 権限が必要です。tunnel-client の実行またはトンネルの選択には Tunnels Read + Use が必要です。これらは組織レベルの権限であり、組織の所有者または RBAC 管理者によって付与されます。正確な UI と権限の詳細については、現在の OpenAI Secure MCP Tunnel ガイド に従ってください。
ウィザードが完了すると、次のように表示されるはずです:
Testing connection...
✓ OpenAI runtime credential
✓ RepoRelay reachable
✓ Bridge authentication
Setup complete.
Next:
reporelay tunnel runこれらのチェックは本物です。セットアップは、ランタイム API キーを OpenAI コントロールプレーン(tunnel-client が起動時に実行するのと同じ読み取り専用トンネルルックアップ)に対して検証し、ブリッジシークレットを実際に実行中の RepoRelay に対して検証します。間違った、期限切れの、または誤って貼り付けられたキーは、tunnel run が開始される前に明確なメッセージでここでキャッチされます。
RepoRelay がカスタムポート(例:--port 7677)で実行されている場合、クイックスタートは既にライブエンドポイントを記録しており、セットアップは自動的にそれに従います — 追加のフラグは不要です。
便利なオプション:
reporelay tunnel setup --no-open— ブラウザを起動しません(ヘッドレス、SSH、または CI 向け)。URL は引き続き表示されます。reporelay tunnel setup --replace-tunnel— 新しいトンネル ID の入力を求めます。reporelay tunnel setup --replace-runtime-key— 新しいランタイム API キーの入力を求めます。reporelay tunnel setup --tunnel-client-path "C:\custom\tunnel-client.exe"— 特殊な環境向けの高度な上書き。RepoRelay はカスタムバイナリを検証または管理しません。
reporelay tunnel setup を再実行すると、既存の検証済みクライアント、トンネル ID、保存されたキーが再利用され、何も再度要求せずに接続を再テストします。
5. トンネルを実行する
reporelay tunnel runこのウィンドウは RepoRelay クイックスタートウィンドウと一緒に開いたままにしておきます。終了したら Ctrl+C で停止します。
接続が機能しなくなった場合、reporelay tunnel doctor はスタンドアロンのトラブルシューティングコマンドとして引き続き利用可能です(すべて正常な場合は Ready. が表示されます。詳細な診断には --verbose を追加してください)。
6. ChatGPT アプリを作成する
ChatGPT で、現在の OpenAI フローを使用します(ChatGPT 開発者モードと MCP アプリガイド を参照):
ChatGPT
→ Apps / developer features
→ create custom MCP app
→ connection: Tunnel
→ choose RepoRelay's tunnel
→ authentication: No authentication
→ Scan Tools
→ verify 7 tools
→ create/use the app
→ start a new chat次の順序に従ってください:
カスタム MCP アプリを作成します。
トンネル接続を選択します。
RepoRelay/OpenAI Secure MCP Tunnel を選択します。
ChatGPT が認証を求めてきたら、認証なしを選択します。
アプリを保存または作成します。
ツールをスキャンを実行します。
期待される RepoRelay ツールが表示されることを確認します。
新しいチャットを開始し、RepoRelay アプリを選択します。
認証:認証なし。 RepoRelay は、トンネルで使用される保護された
X-RepoRelay-Bridge-Secretを通じてローカルブリッジを既に認証しています。OAuth やその他の ChatGPT 側の認証方法を構成しないでください。
127.0.0.1、localhost、RepoRelay ブリッジシークレット、または OpenAI ランタイム API キーを ChatGPT に貼り付けないでください。トンネル接続がすべてのネットワーキングを行います。
7. 7つの RepoRelay ツールをスキャンして確認する
ChatGPT アプリフローで、ツールをスキャンを実行し、RepoRelay が正確にこれら7つのツールを公開していることを確認します:
open_workspace
list_files
read_file
search_files
write_next_task
write_review
update_handoff_stateそれが期待される通常のサーフェスです。ツールのスキャンでシェル、Git、プロセス実行、汎用ファイル編集、削除、パッチ適用、またはその他の予期しない機能が表示された場合は、停止して調査してからアプリを使用してください — reporelay audit "C:\Projects\my-app" --json を実行し、ツールリストを確認してください。
8. テストする
新しいチャットを開始し、RepoRelay アプリを選択して、試してみてください:
Open the approved repository and list its top-level files.次に境界をテストします:
Try to read .env.2つ目のリクエストはブロックされるはずです。
接続完了 — 次は?
これで、検証済みのセキュリティ境界を通じてリポジトリをレビューする ChatGPT が手に入りました。便利なプロンプト:
Read README.md and explain how this project starts.Search the repository for "authentication".Review src/server.ts for error-handling issues and write your findings.ChatGPT ↔ コーディングエージェントハンドオフ
通常の RepoRelay セットアップでは、ChatGPT が計画とレビューを行い、別のローカルコーディングエージェント(Codex、Claude、またはその他)が実装を行います。RepoRelay は小さな .ai-handoff ワークスペースを通じてそれらを調整します:
.ai-handoff/
├── NEXT_TASK.md ChatGPT writes the task here
├── RESULT.md the local coding agent writes its result here
├── REVIEW.md ChatGPT writes its review here
└── STATE.json coordinates the cycle概念的には:
ChatGPT
↓ writes NEXT_TASK.md
Codex / local coding agent
↓ implements
↓ writes RESULT.md
ChatGPT
↓ reviews result
↓ writes REVIEW.mdSTATE.json がサイクルを調整します。RepoRelay 自体は Codex や Claude を実行しません — これらは自分で起動する別のローカルアプリケーションです。ハンドオフファイルは、作業をやり取りするための構造化された場所にすぎません。
ChatGPT は NEXT_TASK.md、REVIEW.md、および STATE.json にのみ書き込むことができます。実装者所有の RESULT.md は ChatGPT からは決して書き込み可能ではありません。
詳細なプロトコルについてはdocs/handoff-cycle.mdを、 レビュー担当者および実装者向けのプロンプトについてはexamples/を参照してください。
毎日の使い方
初回セットアップ後は、トンネルやChatGPTアプリを再作成しないでください。毎日以下の手順を行います:
RepoRelayを起動します:
reporelay quickstart "C:\Projects\my-app"トンネルを起動します(別のウィンドウで):
reporelay tunnel runChatGPTを開き、新しいチャットを開始し、既存のRepoRelayアプリを選択します。
アプリを使用している間は両方のウィンドウを開いたままにしてください。接続が機能しなくなった場合は、再度 reporelay tunnel doctor を実行してください。
リポジトリの切り替え
RepoRelayは一度に1つのリポジトリのみを公開します。
RepoRelayターミナルで Ctrl+C を押します。
新しいリポジトリ用にRepoRelayを起動します:
reporelay quickstart "C:\Projects\another-repo"tunnel-clientは実行したままにしておきます。再起動されたRepoRelayに自動的に再接続されます(同じポートと保護されたブリッジシークレットファイルを使用します)。異なるポートを使用した場合、管理トンネルは自動的にそれに追従します。新しいChatGPTの会話を開始し、RepoRelayアプリを選択します。
ChatGPTに新しいリポジトリを開くように依頼します。
承認されたリポジトリが変更されたからといって、ツールの再スキャンを行わないでください。再スキャンは、ツール定義が変更された場合、またはChatGPTから依頼があった場合のみ行ってください。
トラブルシューティング
表示される内容 | 対処方法 | |
| Node.js がインストールされていないか、インストール完了前に PowerShell を開いています。https://nodejs.org から Node.js をインストールし、PowerShell を閉じて再度開き、 | |
| Node のバージョンがサポート外です。サポートされている Node.js LTS リリースをインストールし、PowerShell を再度開き、 | |
| npm インストールが完了していないか、完了前に PowerShell を開いています。 | |
| ソースチェックアウトから間違ったフォルダで実行しています。 | |
| バックスラッシュが欠落しています。Windows のパス全体を引用符で囲んでください: | |
Repository does not exist / not a directory | RepoRelay は既存のディレクトリが必要です。引用符で囲んだパスとフォルダが存在することを再確認してください。 | |
Repository root is too broad | 承認されたルートは実際のプロジェクトフォルダである必要があり、ドライブのルートやユーザーフォルダ全体であってはなりません。 | |
| 別の RepoRelay またはプログラムがそのポートをリッスンしています。そのウィンドウで Ctrl+C を押して停止するか、カスタムポート( | Select-Object LocalAddress, LocalPort, OwningProcess |
Quickstart stops about an existing | リポジトリにすでに | |
|
| |
Invalid tunnel ID | ID は | |
Runtime credential rejected | プラットフォームでランタイム API キーとトンネル ID を確認し、アカウントに Tunnels Read + Use 権限があることを確認してください。 | |
Control plane unreachable | RepoRelay が OpenAI に接続して認証情報を検証できませんでした。インターネット接続を確認し、 | |
Tunnel doctor cannot reach MCP | RepoRelay の quickstart ウィンドウを設定されたポートで実行したままにして、 | |
Bridge authentication failure | シークレットを貼り付けないでください。quickstart が正規のブリッジシークレットファイルを使用していることを確認し、 | |
ChatGPT cannot see the tunnel | トンネルが対象の ChatGPT ワークスペース(プラットフォーム組織だけでなく)に関連付けられていること、およびトンネル使用権限があることを確認してください。 | |
Scan Tools returns zero tools | RepoRelay とトンネルの両方のウィンドウを開いたままにし、 | |
Scan Tools shows unexpected tools | アプリを使用する前に停止して調査してください: | |
RepoRelay window was closed | RepoRelay が停止しました。 | |
Tunnel window was closed |
| |
Custom port mismatch | RepoRelay の quickstart ポートが、 |
その他の場合には、reporelay doctor を実行してください。シークレット値を出力することなく、設定とセキュリティの状態を表示します。
オプションの読み取り専用モード
通常のRepoRelayのエクスペリエンスは、上記の7ツールのハンドオフサーフェスであり、初心者におすすめのセットアップです。ChatGPTに検査のみをさせたい場合 — ハンドオフファイルなし、書き込みも一切なし — は、次から始めてください:
reporelay quickstart "C:\Projects\my-app" --no-handoff-writesこのオプションモードでは、RepoRelayは正確に4つのツールを公開します:
open_workspace
list_files
read_file
search_files読み取り専用モードは.ai-handoffを作成せず、AGENTS.mdを作成または変更せず、承認済みリポジトリを変更しないままにします。すべての封じ込め、認証、およびセキュリティチェックは引き続き適用されます。対応する監査フラグを使用してください:
reporelay audit "C:\Projects\my-app" --no-handoff-writesこのモードを使用すると、Scan Toolsには7つではなく4つのツールが表示されます。
セキュリティ
RepoRelayが強制する境界には、以下が含まれます:
ループバックのみのバインドと認証が必要;
既存の正規の承認済みルートは正確に1つのみ;
.env、VCSメタデータ、資格情報ストア、秘密鍵形式などの機密パスをブロック;トラバーサル、ルート外の絶対パス、シンボリックリンク/ジャンクション/リパースポイントのエスケープ、ハードリンクバイパスをブロック;
制限付きの読み取り、検索、結果、およびハンドオフコンテンツ;
シェル、PowerShell、Git、プロセス、汎用書き込み、パッチ、削除、アーティファクト、ワークツリー、スキル、サブエージェント、ローカルエージェントツールなし;
ハンドオフの書き込みは、既存の3つの固定ターゲットに限定。
RepoRelayは最小権限のアプリケーション境界であり、同じローカルユーザーとしてすでに実行されている悪意のあるソフトウェアに対するオペレーティングシステムのサンドボックスではありません。外部のSecure MCP Tunnelは独立したセキュリティ境界であり、個別に保護する必要があります。承認済みリポジトリを慎重に選択してください。
完全なセキュリティモデルとreporelay auditのドキュメントについては、SECURITY.mdを参照してください。
高度な設定
ほとんどのユーザーはこれらを必要としません。必要な場合:
設定 —
REPORELAY_*環境変数、ブリッジ認証、ポート、ロギング、ハンドオフモード。ChatGPT Webのセットアップ詳細 — 完全なトンネルとアプリのリファレンス。
Windowsの運用 — ライフサイクルスクリプト、スケジュールされたタスク、管理されたWindowsセットアップ。
.env.example— プレースホルダー設定のみ。実際のブリッジシークレットやトンネル資格情報を絶対に入れないでください。ローカルMCPクライアント — MCPクライアントがRepoRelayと同じコンピューターで実行されている場合、トンネルは不要です。クイックスタートが出力するローカルMCP URLを指定し、保護されたファイルから読み込んだ
X-RepoRelay-Bridge-Secretヘッダーを送信してください。
シークレット値を出力せずに設定とセキュリティの状態を確認するには:
reporelay doctor要件とプラットフォームサポート
Node.js
>=22.19 <27(npmを含む);クローンベースのインストール用のGit — 代わりにZIPをダウンロードする場合は任意。
このREADMEのクイックスタートは、Windows、macOS、Linuxで動作します。Windows 10/11は、PowerShellスクリプトとトンネル管理のランブックを含む、完全に検証済みのライフサイクルおよび運用プラットフォームです。
制限事項
一度に公開される承認済みリポジトリは1つのみ。
RepoRelayはオペレーティングシステムのサンドボックスではありません。
ChatGPT Webがプライベートなローカルブリッジに到達するには、外部のOpenAI Secure MCP Tunnelインフラストラクチャが必要です。
Windowsは完全に検証済みのライフサイクルプラットフォームです。他のプラットフォームには同等のPowerShell/トンネル運用がありません。
Codex、Claude、その他のコーディングエージェントは、RepoRelayのコンポーネントではなく、独立したローカルアプリケーションです。
ドキュメント
ライセンスとプロジェクトの系譜
RepoRelayはMIT Licenseの下でリリースされています。このプロジェクトは要求される上流の帰属表示を維持し、Codex、Claude、その他の実装者のSDKやランタイムをバンドルしません。
開発
npm ci
npm run typecheck
npm test
npm run verify:release
npm audit --audit-level=low
npm pack --dry-run --json
git diff --checkThis server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Alicense-qualityBmaintenanceA local MCP bridge that lets ChatGPT control opencode sessions for code modification, file reading, and repository management on your own computer.1MIT
- Alicense-qualityCmaintenanceLocal MCP server bridging ChatGPT Web to local tools for file, shell, git, test, and process management with secure policy controls.MIT
- FlicenseAqualityCmaintenanceA secure MCP server that exposes local repository context to ChatGPT/Codex with read-only access, path validation, and no generic shell.17
- Alicense-qualityBmaintenanceLocal MCP bridge enabling ChatGPT web to access approved local files and execute tasks via local Codex.1MIT
Related MCP Connectors
A paid remote MCP for OpenAI Codex agent coordination MCP, built to return verdicts, receipts, usage
An MCP server that gives your AI access to the source code and docs of all public github repos
Repo intel for AI coding agents: overview, PRs, contributors, hot files, CI, deps. Remote MCP.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Lukie-81/RepoRelay'
If you have feedback or need assistance with the MCP directory API, please join our Discord server