コンテンツにスキップ

MCP コネクタ

repo-harness は、登録済みのリポジトリへの読み取り専用アクセスを ChatGPT と Codex に与える MCP サーバーを同梱しています — ワークフローファイルに加えて、リポジトリツリー、テキスト検索、ファイル 内容まで読み取れます。一方で、書き込みはワークフロー成果物(プラン、スプリント、コントラクト、 ハンドオフ)に限定されます。ChatGPT は公開された /mcp エンドポイントを通じて OAuth 付きの HTTP で 接続し、Codex はトンネルなしで stdio によりローカルに接続します。サイドカーはリモートのコーディング エージェントではありません。

導入済みのリポジトリ

すでに repo-harness adopt を実行したリポジトリから実行します。セットアップ を参照してください。

PATH 上の repo-harness

repo-harness CLI がインストールされ、シェルの PATH で解決できる必要があります。

ChatGPT 開発者モード

開発者モードとカスタム MCP コネクタにアクセスできる ChatGPT ワークスペース。

公開された /mcp エンドポイント

ChatGPT を継続的に使用するための、安定した公開 HTTPS の /mcp URL。ローカルの Codex はトンネルなしで stdio を使用します。

1. ローカル MCP サーバーを起動する

Section titled “1. ローカル MCP サーバーを起動する”
  1. planner プロファイルのサーバーを localhost 上で HTTP により起動します。

    Terminal window
    repo-harness mcp serve --repo . --transport http --host 127.0.0.1 --port 8765 --profile planner
  2. 正常であることを確認します。

    Terminal window
    curl http://127.0.0.1:8765/health
  3. ローカルの OAuth パスフレーズを読み取ります — ChatGPT は認可中にこれを尋ねます。

    Terminal window
    jq -r .passphrase .repo-harness/mcp.oauth.json
  4. OAuth ディスカバリーをスモークテストします。

    Terminal window
    curl http://127.0.0.1:8765/.well-known/oauth-protected-resource/mcp

2. トンネルエンドポイントを選ぶ

Section titled “2. トンネルエンドポイントを選ぶ”

ChatGPT には /mcp で終わる公開 HTTPS URL が必要です。継続的な使用には安定したホスト名を推奨します。 クイックトンネルの URL は変わり、ChatGPT は新しい URL ごとに異なるコネクタアプリとして扱います。

Terminal window
cloudflared tunnel login
cloudflared tunnel create repo-harness-mcp
cloudflared tunnel route dns repo-harness-mcp repo-harness-mcp.example.com
cloudflared tunnel run --url http://127.0.0.1:8765 repo-harness-mcp

次に、無視されるローカル設定に安定したエンドポイントを記録します。

Terminal window
repo-harness mcp setup chatgpt --repo . --endpoint <https-url>/mcp
  1. ChatGPT の設定 を開きます。
  2. ワークスペースで利用可能なら 開発者モード を有効にします。
  3. コネクタ に移動します。
  4. repo-harness という名前のコネクタを作成します。
  5. /mcp で終わる HTTPS コネクタ URL を貼り付けます。
  6. コネクタの認証を OAuth として構成します。
  7. Scan Tools をクリックします。
  8. 認可ページが開いたら、.repo-harness/mcp.oauth.json のパスフレーズを入力します。
  9. ツールのスキャンが完了するのを待ってから、コネクタを作成します。
  10. 書き込み確認を有効 にしたままにします。

Codex はローカルで動作し、トンネルは不要です — stdio を直接話します。設定を自動生成します。

Terminal window
repo-harness mcp setup codex --repo . --scope project

これにより、stdio の repo_harness サーバーエントリと許可されたツールのリストを含む .codex/config.toml が書き込まれます。

5. 開発モードのエージェントランナー(オプトイン)

Section titled “5. 開発モードのエージェントランナー(オプトイン)”
Terminal window
repo-harness mcp serve --repo . --transport http --host 127.0.0.1 --port 8765 \
--profile orchestrator --enable-dev-runner --dev-runner-agents codex

または環境変数のオーバーライドを使用します。

Terminal window
REPO_HARNESS_MCP_DEV_RUNNER=1 REPO_HARNESS_MCP_DEV_RUNNER_AGENTS=codex,claude \
repo-harness mcp serve --repo . --transport http --profile orchestrator

有効にすると、サーバーは run_agent_goal を公開します。これは .ai/harness/handoff/codex-goal.md のみ を読み取り、その固定されたハンドオフを許可されたローカル CLI で実行します。任意のシェル実行 ではありません。

planner プロファイルは、ほぼ読み取り専用です。登録済みのリポジトリを読み取り、プランニングの 成果物のみを書き込めます — アプリケーションのソース、マニフェスト、ロックファイル、CI 設定、 シークレット、許可されたリポジトリルート外のファイルは決して扱いません。

  • ワークフローの読み取り: harness_statusharness_doctorread_workflow_filelist_workflow_fileslatest_handofflatest_checks
  • リポジトリの読み取り(読み取り専用): reader_statuslist_allowed_rootsopen_workspacetreesearch_textread_text — ワークフローファイルだけでなく、リポジトリの閲覧と検索も可能です
  • プランニングの書き込み: write_prd_from_ideawrite_checklist_sprintprepare_codex_goal_from_sprint

リポジトリの読み取りを有効にしても拒否グロブは引き続き有効です: .env、秘密鍵、SSH 鍵、認証情報、 シークレット、.git、依存関係やビルドの出力は決して返されません。

登録済みリポジトリとマルチリポジトリ

Section titled “登録済みリポジトリとマルチリポジトリ”

1 つのコネクタで、導入したすべてのリポジトリに対応できます。repo-harness adoptrepo-harness init は、リポジトリを ~/.repo-harness/registered-repos.json に登録します。discover_harness_repos はそれらを 一覧表示し、読み取りツールは特定のリポジトリを対象にするための repo_path を受け取ります。ディスク全体の 広範な読み取りは非推奨です — レガシーの fullDiskRead: true は現在フェイルクローズします。リポジトリ以外の 追加ルートは --allow-root で明示的に追加してください。

ユーザースコープのセットアップ(--repo なしの repo-harness mcp setup chatgpt。設定と認証を ~/.repo-harness/ 配下に保存)は、開発者モードのデプロイで機能します。HTTP 認証は OAuth に対応し (offline_access によるリフレッシュトークンのローテーションを含む)、url-token 互換モードもサポートします。

想定されるプランニングの連鎖: アイデア → write_prd_from_ideawrite_checklist_sprintprepare_codex_goal_from_sprint → ローカル Codex の /goal 実行。

  • ChatGPT が接続できない場合は、トンネル URL が HTTPS であり、/mcp で終わっていることを確認します。
  • ChatGPT が unauthorized を返す場合は、OAuth ディスカバリーが機能していることを確認し、パスフレーズのフローを再実行します。
  • ツールが見つからない場合は、repo-harness mcp serve を再起動し、ツールを再スキャンします。
  • 書き込みが失敗する場合は、ターゲットパスが PRD、スプリント、プラン、または承認済みのハンドオフファイルであることを確認します。
  • ChatGPT がチェックリスト形式の Sprint タスクカードではなく散文を生成した場合は、write_checklist_sprint を使用するよう指示します。
  • Codex がサーバーを認識できない場合は、repo-harness mcp setup codex --repo . --scope project を実行します。