ドキュメントメニュー
はじめに
ダッシュボードと分析
マネージドランナー
- ランナーの概要
- 最初のジョブを実行する
- GitHub ホステッドからの移行
- Latchkey CLI
- Runners ページ
- カスタムランナー (AI Scan)
- 自己修復
- ランナーイメージとソフトウェア
- プロビジョニングとウォームプール
- 上限と同時実行数
キャッシュ
チームと通知
請求とプラン
ヘルプ
AI エージェントを接続する (MCP)
Claude Code、Cursor、または MCP 対応の任意のエージェントに、CI の失敗への安全なアクセスに加えて、オプトインのワークフロー再実行と、まっさらなランナーでの単発ジョブを与え、エディタからトリアージ、修正、検証を行えるようにします。

Latchkey は MCP サーバー を提供します。AI コーディングエージェントは Latchkey の API キーで接続し、実際の CI 失敗コンテキスト (失敗した実行、ログ、診断バンドル) をエディタセッションに直接取り込めます。ログをチャットにコピー&ペーストする代わりに、エージェントが Latchkey に直接問い合わせ、失敗を修正するために必要なものをすべて取得します。
これは 自己修復 の引き継ぎ側です。自己修復は実行中に環境の失敗を修正し、ソースには一切触れません。そのため、本当の問題がコードのバグである場合、ビルドは正直に失敗し、その失敗はエージェント向けのすぐ修正できるバンドルとしてここに届きます。
入り口は 2 つあります。Settings, API Keys で自分でキーを作成するか (以下のセットアップ)、AI Insight ページに任せるかです。自分のコーディングエージェントで修正する方がよい検出結果には、エージェントに貼り付けられる既製のプロンプト Copy prompt と、coding-agent という名前のキーを作成して正確な接続コマンドを表示する Set up MCP ショートカットが用意されています。発行されたキーの有効期限は 90 日で、課金対象のランナーで単発ジョブを実行できるため (その旨はカードのボタンの横に明記されています)、支出できる資格情報としてそれ相応に扱ってください。
接続したエージェントができること#
サーバーは 10 個の機能を公開します。エージェントがデータと操作のために呼び出す 8 つの ツール と、タスク全体をオーケストレーションする 2 つの プロンプトフロー です:
これらを名前で呼び出すことはありません。エージェントに平易な言葉で質問すると、エージェントがどの機能で答えるかを判断します。いくつかの対応例:
| エージェントへの質問 | エージェントが使う機能 |
|---|---|
| 「今、私たちのリポジトリ全体で何が失敗している?」 | CI 失敗のトリアージ |
| 「このリポジトリの最近の失敗した実行を見せて」 | 失敗した実行の一覧 |
| 「あの失敗した実行について持っている情報をすべて取得して」 | 失敗バンドルの取得 |
| 「失敗しているビルドを修正して」 | CI 失敗の修正 |
| 「あの実行は通った? 各ジョブはどれくらいかかった?」 | 実行ステータスの確認 |
| 「デプロイジョブのログの末尾を見せて」 | 実行ログのテール |
| 「修正をプッシュした。CI を再実行して見守って」 | ワークフローの再実行 |
| 「クリーンな Linux ランナーでテストスイートを実行して」 | 単発ジョブの実行 |
| 「あのジョブは終わった? 何を出力した?」 | ジョブステータスの確認 と ジョブログの読み取り |
セッションの様子#
2 つの例示的なセッションです。正確な言い回しやエージェントの実際の返答はエージェントによって異なります。重要なのはやり取りの形です。
エディタを開いて「私たちのリポジトリで何が失敗している?」と尋ねます。エージェントは CI 失敗のトリアージ フローを実行し、監視対象リポジトリ全体の失敗を優先順位付きで調べて返します。さらに「リリースにとって最も重要なのはどれ?」と絞り込むと、CI のタブを一度も開かずに、エージェントが同じデータをもとに推論します。
価値は、ループが 1 か所に留まることです。質問、コンテキスト、次の質問。そのすべてが、修正を行うことになるエディタセッションの中で完結します。
「最新の赤いビルドの失敗バンドルを取得して修正して」と尋ねます。エージェントは最近の失敗した実行を一覧して該当するものを見つけ、その完全なバンドル (ログ、診断、ワークフローの詳細) を取得し、エディタ内からガイド付きの修正を実行して、レビュー用の変更を提案します。
起きなかったことに注目してください。エージェントはそのキーを通じて Latchkey の設定にも GitHub にも一切触れていません。読み取ったのは失敗コンテキストだけで、コードの変更はあなたを経由しました。
失敗バンドルに含まれるもの#
失敗バンドルは、エージェントが本来手作業で再構築するものを渡します:
- 根本原因 を平易な言葉で。
- 失敗したステップの 終了コード と、エラーが表面化した正確なソースファイル。
- 失敗したステップの キャプチャされた完全なログ。GitHub がログビューアで隠す出力も含みます。非常に大きなログは末尾部分が保持され、その旨が明記されます。ログが Latchkey を離れる前にシークレットは除去されます。
- 自己修復がすでに調査した内容 と、なぜ引き下がったか、加えてワークフロー定義。
セットアップ#
API キーを作成する
Settings, API Keys を開きます (キーの管理はオーナーと管理者が行います)。Generate key をクリックし、設置場所にちなんだ名前を付け (例: 「私のノート PC の Cursor」)、有効期限を選びます: 無期限 (デフォルト)、30 日、60 日、90 日、または 1 年。キーに必要な機能 (ワークフローのディスパッチ、CLI ジョブのステータスとログの読み取り、CLI ジョブの実行) にチェックを入れます。機能は作成時に固定されます。
キーをすぐにコピーする
完全なキー (lk_live_ で始まります) は作成時に 一度だけ 表示されます。その後、UI にはプレースホルダーしか表示されません。パスワードのように扱ってください。紛失した場合は取り消して新しいものを作成します。
エージェントを接続する
同じ設定タブの Connect your agent ブロックに、あなたのワークスペース向けの正確なコマンドが表示されます。Claude Code の場合は次のようになります:
$ claude mcp add --transport http latchkey \
https://latchkey.dev/mcp \
--header "Authorization: Bearer lk_live_YOUR_KEY"使ってみる
失敗している CI についてエージェントに尋ねます (「私たちのリポジトリで何が失敗している?」「最新の赤いビルドの失敗バンドルを取得して修正して」)。ベアラーヘッダー付きの HTTP トランスポートに対応する MCP 互換クライアントであれば、どれも同じように動作します。
修正後にワークフローを再実行する (オプトイン)#
デフォルトではキーは読み取り専用です。ループを閉じたい場合 (エージェントがコードを修正し、プッシュし、CI を再実行し、グリーンになるのを見届ける)、Allow workflow dispatch にチェックを入れてキーを作成します。そのキーは追加で mcp:dispatch スコープを持ち、エージェントは監視対象リポジトリで workflow_dispatch 実行をトリガーし、実行ステータスツールでポーリングし、完了後にログを読めるようになります。グリーンの実行も読み取れるため、エージェントは失敗を観察するだけでなく、修正を確認できます。
- ディスパッチは、ワークスペースが監視しているリポジトリでのみ、かつ
workflow_dispatchトリガーを宣言しているワークフローに対してのみ機能します。 - 既存のキーが遡ってディスパッチ権限を得ることはありません。チェックボックスを有効にして新しいキーを作成してください。
- 再実行は、ディスパッチ先のブランチにあるものをそのまま実行します。まず修正をプッシュしてから、ディスパッチしてください。
まっさらなランナーでジョブを実行する (オプトイン)#
2 つ目のオプトインの書き込みは、単発ジョブの実行です。Allow running CLI jobs (includes reading) を有効にして作成したキーは jobs:run スコープを持ち (ステータスとログのための jobs:read も一緒に付与されます)、エージェントは 単発ジョブの実行 ツールを使えるようになります。まっさらで隔離された Latchkey ランナーで 1 つのシェルコマンドを実行し、ワークフローと同じ無料分プールから通常のランナー分数として課金されます。ランナーはリポジトリの内容を持たないクリーンな状態で起動します。作業ツリーが必要なジョブは、それをパックしてアップロードする Latchkey CLI を経由します。Allow reading CLI job status and logs は、ジョブを追跡するが決して開始しないキーのための、より狭い権限 (jobs:read のみ) です。
- ジョブのタイムアウトはデフォルトで 30 分、最大 2 時間まで設定可能です。ランナーサイズはエージェントが選択します (選択しない場合は
small)。 - ジョブ有効のキーはお金を使います。すべてのジョブは、ランナーの標準的な 1 分あたりの料金で課金されます。キーには保持するエージェントがわかる名前を付け、有効期限を設定してください。
- ジョブのキャンセルは CLI の操作 (
latchkey cancel) であり、MCP ツールではありません。
セキュリティモデル#
- デフォルトで読み取り専用。 キーは CI の失敗と実行のデータを読み取れます。Latchkey や GitHub の変更はデフォルトで無効です。キーが作成時にオプトインできる書き込みはワークフローのディスパッチ (
mcp:dispatch) と Latchkey ランナーでのジョブ実行 (jobs:run) で、どちらも Latchkey の設定や任意の GitHub 操作に及ぶことはありません。 - ワークスペーススコープ。 ワークスペースはキー自体から導出されるため、キーは自分のワークスペースのデータしか見られません。
- 取り消し可能。 Settings, API Keys から任意のキーを取り消せます。書き込み可能なキー (ディスパッチまたはジョブ) は即座にアクセスを失い、読み取り専用キーも約 1 分以内にアクセスを失います。取り消したキーは監査用に「Revoked (n)」セクションに一覧され続けます。
これら 3 つの性質が実際に何を意味するか。デフォルト読み取り専用は漏洩時の影響範囲を限定します。盗まれたデフォルトキーは CI の失敗データ (ログの抜粋を含む) を露出させるため、依然として保護すべきですが、PR を開いたり、設定を変更したり、あなたに代わって GitHub 上で操作したりはできません。盗まれたディスパッチ有効キーは、それに加えて監視対象リポジトリのディスパッチ可能なワークフローをトリガーでき、盗まれたジョブ有効キーはワークスペースの課金対象ランナーでコマンドを実行できます。だからこそ各書き込みはデフォルトではなく、作成時に警告付きのキーごとのオプトインになっています。ワークスペーススコープは、設定すべきものも間違えるものも何もないことを意味します。キー自体が見られる範囲を決定し、他のワークスペースを見ることは決してできません。そして取り消しは迅速で、取り消したキーは監査用に一覧され続けるため、少しでも疑わしければ取り消して再発行するのが安全な対応です。
これをきれいに保つ、手間のかからない 2 つの習慣。ツールやマシンごとに別々のキーを作成すること (作成時の命名プロンプト、たとえば「私のノート PC の Cursor」は、まさにこのために存在します)。そうすれば 1 つのキーを取り消しても他のキーは壊れません。そして、自分の働き方に合った最短の有効期限を選び、無期限 は積極的に把握している構成のためだけに使うこと。キー管理はオーナーと管理者が担当します。より広いモデルについては チームとロール と セキュリティと権限 を参照してください。
Latchkey は、エージェントが説明を受けなくても利用面を発見できるよう、機械可読なディスクリプタも公開しています。REST の Jobs API は https://api.latchkey.dev で提供され、OpenAPI 3.1 仕様で完全に記述されています。MCP サーバーには、すべてのツールと必要なスコープを列挙した独自のマニフェストがあります。
| ファイル | 内容 |
|---|---|
| /openapi.json | Jobs API の OpenAPI 3.1 契約: オペレーション、型付きスキーマ、スコープ、エラー形式。 |
| /.well-known/mcp/manifest.json | MCP サーバーのディスクリプタ: トランスポート、認証、8 つのツールとそのスコープ。 |
| /agent.txt | Latchkey をいつ使い、どう呼び出すかを簡潔にまとめたプレーンテキスト。 |
| /llms.txt | サイトとコンテンツの索引。利用場面のセクション付き。 |
サイト上のすべてのコンテンツページには、同じ URL に .md を付けたマークダウン版もあり、ページの head から rel="alternate" リンクで参照されています。ページのマークアップを含まず同じ内容を持つため、エージェントにとって読み取りコストが大幅に低くなります。
接続した AI エージェントは実際に何ができますか?
失敗のトリアージ、failure bundle の取得、実行状況の確認、ログの追跡、エディタからの修正の実行、そして新しいランナーでの単発ジョブ実行ができます。Claude Code や Cursor を含む任意の MCP クライアントが、https://latchkey.dev/mcp の Latchkey MCP サーバーに接続できます。
API キーは読み取り専用ですか?
既定では読み取り専用です。キーはワークスペース単位で、作成時に一度だけ表示され、いつでも失効できます。ワークフローの再実行、CLI ジョブの状態とログの参照、ジョブの実行は、キー作成時にそれぞれ個別に明示的なオプトインが必要なため、誤って書き込み権限が付くことはありません。
特定の分析結果をエージェントに渡すには?
AI Insight ページから行えます。Copy prompt を使うと、その分析結果と文脈がエージェントの処理しやすい形でクリップボードにコピーされます。キーが未作成の場合は Set up MCP のショートカットが表示されるため、問題を手作業で組み立て直す必要はありません。