FrontierStack ユーザマニュアル マニュアル先頭
デスクトップ版マニュアル モバイル版マニュアル English한국어 frontierstack.app ↗
14

第 14

エージェント型ワークフローの FrontierStack

FrontierStack を、コーディングエージェント・自律コーディネータ・人/エージェントのワークフローを支えるガード付きインフラ権限として使います。サーバ認証情報をモデルへ移す必要はありません。

第 13 章では FrontierStack 内蔵の AI 管理者を扱いました。本章では逆方向を説明します。Hermes Bot・Codex・Claude Code・Cursor・Gemini CLI・Grok 系コーディネータなど、すでに使っているエージェント型ワークフローの中へ FrontierStack を配置し、認証情報と最終権限を Mac に残したまま、実際のフリートを調査して作業を依頼できるようにします。

14.1FrontierStack の役割

エージェント型システムには通常、何をするか決めるコーディネータと、特定分野の作業方法を知るスペシャリストがあります。FrontierStack が担うのは、安定したサーバ管理者の役割です。同時に、確率的なモデル出力と本番インフラの間にある権限境界でもあります。

この区別は重要です。コーディングエージェントがデプロイを理解して再起動を提案できても、再起動を可能にする SSH 鍵まで持つべきではありません。マネージャエージェントが障害を割り当てても、そのメッセージ自体は認可ではありません。FrontierStack は依頼を受け、呼び出し元を認証し、ツールを絞り、ローカルポリシーを適用し、実行時に認証情報を解決し、必要な場合は人に承認を求め、操作・検証・監査記録を行います。

メモMCP(Model Context Protocol)は AI クライアントをツールやデータへ接続するための標準です。MCP は転送とディスカバリの仕組みであり、インフラの認可システムではありません。FrontierStack はサーバ側と、サーバ管理に必要な権限境界を提供します。

14.2ひとつの依頼が完了するまで

  1. コーディネータが限定された仕事を記述。たとえば「web-02 の証明書エラーを調査」または「停止している場合だけキューワーカーを再起動」です。
  2. FrontierStack が呼び出し元を認証。ローカルクライアントは所有者専用 Keychain ブリッジを使います。ネットワーク越しの呼び出しには、明示的に有効化し、ペアリング・署名・スコープ設定した経路が必要です。
  3. ツールを二段階で絞り込み。frontierstack_find_tools が仕事に関連するツールを探し、現在の呼び出し元スコープが許可されないものを除きます。
  4. 実行時にポリシーを再確認。読み取り専用の既定値、App Lock、データ破壊制限、承認カードを、選んだツールの呼び出し時にも確認します。ディスカバリだけで権限は得られません。
  5. 認証情報をローカルで解決。SSH 鍵、sudo パスワード、DB 認証情報、ルータログイン、クラウドトークンは Keychain または連携ボールトに残ります。モデルには値も、再利用できる認証情報入りコマンドも渡しません。
  6. 対象で限定操作を実行。FrontierStack がこの Mac または選択した Linux・Windows・Mac ホストで、確認済みのローカル・SSH・ヘルパー経路を使います。
  7. 完了を検証。重要な変更ではプロセスの終了コードだけを成功としません。アプリから観測できる事後条件を確認し、監査イベントを書き、追跡可能な結果または永続レシートを返します。

14.3エージェント型ワークフローのパターンを選ぶ

通常はコーディングエージェントからの対話型 MCP で始めます。永続タスク、イベント、モバイル監督は、ワークフローに必要な場合だけ追加します。

連携面

チームの形使用するものFrontierStack が提供するもの
コーディングエージェントやマネージャが限定されたサーバ操作を必要とするMCP(推奨)呼び出し元に合わせて絞ったライブのツールとリソース。既存のローカルポリシーと承認境界を通ります。
シェルスクリプト、ローカル自動化、CI ランナが安定したインターフェイスを必要とするFrontierStack CLIMCP と同じガード付き呼び出しと機械可読ディスカバリ。認証情報はスクリプトへコピーせず、所有者専用 Keychain ブリッジが供給します。
接続前にエージェントへフリートの地図を渡すエージェントスキル/AGENTS.mdサーバ・役割・サービス・運用ルールを記した、認証情報を含まないポータブルな説明。
コーディネータが長い作業を委任する、または障害を引き継ぐA2A 1.0 プレビュー永続タスク ID・進行・キャンセル・入力/承認待ち・成果物・最終レシート。非公開で、オンにするまで無効です。
MCP クライアントが遅延作業に対応するMCP Tasks プレビュー同じ永続タスクエンジンを実験的な Tasks 拡張で公開。両側の明示的な有効化が必要です。
障害対応または CI/CD システムが作業を起票するCloudEvents プレビュー選択された認証済みイベントが読み取り専用調査を開始し、相関情報を運びます。イベントが変更権限を与えることはありません。
Mac から離れた場所でエージェントを監督するiOS Agent Activityペアリング Mac から限定された状態、ランタイム、ジョブ、継続セッションのメタデータを表示。プロンプト、トランスクリプト、ターミナル内容、認証情報は端末へコピーしません。

ツール一覧を小さく保つ

すべての会話に FrontierStack の完全なツールカタログを読み込ませないでください。AI ハーネスによっては 128 ツールの上限があり、無関係な長い一覧はツール選択の信頼性も下げます。そのため既定のカタログは小さな 2 つの入口を公開します。frontierstack_find_tools は現在の仕事と呼び出し元に関係するツールだけを検索し、frontierstack_call が選んだツールを実行します。完全な許可済みカタログが必要なクライアントや確認作業だけで frontierstack tools --full を使ってください。

ヒントコーディネータには、「web-02 の証明書エラーの原因を調べて」のように具体的な仕事から始めさせます。FrontierStack は製品全体から選ばせる代わりに、その仕事に必要な証明書・ログ・ホスト状態のツールだけを返せます。

認証情報を含まないセットアップキット

MCP ペインでエコシステムセットアップキットを書き出すか、MCP の frontierstack://ecosystem-kits、または frontierstack ecosystem-kits を使います。生成されるレシピは、OpenClaw/Hermes 型スペシャリスト、Buzz などの人/エージェントチーム、OpenAI 型マネージャとハンドオフ、Microsoft ワークフロー、LangGraph、CI/CD、Slack/Teams の承認引き継ぎ、将来向け汎用アダプタを扱います。キットに含まれるのは役割・エンドポイントのメタデータ、手順、安全なプレースホルダで、パスワード・秘密鍵・ベアラートークン・API キーは含みません。

  1. 使用するコーディネータに最も近いレシピを選び、FrontierStack にサーバ管理者の役割を割り当てます。
  2. ローカルでは localhost、別の承認済みデバイスでは FrontierStack のペアリング済み HTTPS 経路で接続します。ローカル MCP ポートを直接公開しないでください。
  3. 読み取り専用で開始します。変更を有効にする前に、ディスカバリ、フリート状態、ヘルプ/マニュアル検索を試します。
  4. 変更が必要なときは、FrontierStack 内で対象の操作を承認します。グループチャットのメッセージ、エージェントカード、プロンプト、承認したという申告は権限になりません。
  5. タスク表示で進行を確認し、必要ならキャンセルして、最後の検証レシートを保管します。

信頼境界は移動しない

  • 認証情報はローカルに保持。サーバパスワード、SSH キー、AI キー、保管庫の値は実行時に解決し、コーディネータ、セットアップキット、リモートヘルパー、コールバック、モデルのプロンプトへ書き出しません。
  • ディスカバリは権限ではない。役割プロファイル、スキル、イベント、チャット上の名前、ツール説明は、できる可能性を示すだけです。ツールを有効化したり、呼び出し元のスコープを広げたりできません。
  • 変更はひとつのゲートを通る。MCP・A2A・CLI・イベントはすべて、同じ App Lock、呼び出し元別スコープ、データ破壊ガードレール、ローカル承認、監査記録を使います。
  • リモートヘルパーは限定的。サーバ上のモニタ/ヘルパーは FrontierStack の決定論的な手足です。モデルを動かさず、AI プロバイダの認証情報を保存せず、ネットワークから任意の MCP 作業を受け付けません。
  • 完了は検証済みを意味する。変更を行う永続タスクは、コマンドがゼロを返しただけでなく、FrontierStack が観測した事後条件を記録してから完了します。
メモ将来の SPIFFE/OAuth ワークロード ID と非公開カタログ公開のための fail-closed 基盤はアプリ内にありますが、現時点では有効なサインイン/相互運用オプションではありません。完成したアダプタが FrontierStack で公開・文書化されるまでは、利用可能なものとしてコーディネータを設定しないでください。

作業内容を公開せずエージェントを観測

Mac の Agent Operations は、ワーカーホストの到達性、検出したランタイム、実行中ジョブ、継続ターミナルセッションをまとめる運用コンソールです。iPhone/iPad コンパニオンの Agent Activity は、ペアリング Mac から意図的に絞った状態だけを表示します。どのワーカーが到達可能か、どのジョブやセッションが動いているかを確認できますが、プロンプト、トランスクリプト、コマンド行、環境変数、ターミナル内容、認証情報はスマホへ送りません。

Linux などのフリートホスト上で長時間動く作業は、Servers › Host › Terminal Sessions で tmux・GNU screen・Zellij・Rex セッションを一覧できます。Rex のセッションに接続できるのは Rex のアプリだけです。必要なスコープを持つ端末は直接 SSH ターミナルを開き、選択したセッションへ接続できます。セッション終了はフルコントロール権限と個別確認が必要です。

14.4MCP サーバを有効化する

FrontierStack は Mac にインストールされた一般的な AI クライアントを検出し、再利用可能な認証情報を公開せず、自身の MCP エントリを設定できます。

  1. MCP Server ペインを開きます。サーバは既定でオンになっており、localhost にバインドします。オフにすることもできます。
  2. Detected AI clients を確認します。FrontierStack は Amp・DeepSeek Harness Alpha・Hermes Bot Mode・Grok・Codex CLI・Cursor・Gemini CLI・Claude Code・Claude Desktop・Xcode(26.3 以降)・T3 Code・Rex を認識します。Set Up Detected または各クライアントの操作を使います。T3 Code には独自の MCP 設定がないため、設定すると T3 Code のセッションが読む Codex・Cursor・Grok の設定に FrontierStack を追加し、Claude Code 用には claude mcp add --scope user コマンドを表示します。そのあと T3 Code でエージェントセッションを再起動してください。Rex にも独自の MCP 設定がなく、設定すると Rex のターミナル内のエージェントに同じことを行います。そのあと Rex で新しいエージェントセッションを開始してください。
  3. Amp の設定は amp mcp add を実行し、FrontierStack の所有者専用ローカルブリッジだけを追加します。Amp のリモートスレッド作成、ランナー、リモート制御ターミナルは有効にしません。
  4. DeepSeek Harness(Alpha)は、Harness の web プロファイル用の設定専用プラグインバンドルです。Harness 内蔵 MCP クライアントを有効にして FrontierStack の所有者専用ブリッジへ接続します。バンドルにはベアラートークン、サーバ資格情報、DeepSeek キー、ネットワークエンドポイントを含めません。DeepSeek Harness はまだ開発者プレビューのため、FrontierStack は起動時にこの Alpha プラグインを自動導入・修復しません。Add Alpha Plugin を明示的に選び、対応 Harness リリースが変わった場合は FrontierStack と一緒に更新してください。
  5. Hermes の各 Bot は独立プロファイルです。自動設定が修復するのは Hermes のメインプロファイルだけで、既存 Bot 一覧には別の明示的な Set Up Bots オプトインを使います。Hermes はブリッジを untrusted として登録し、FrontierStack は読み取り専用の既定値、変更/スクリプトのスイッチ、App Lock、承認、監査を引き続き適用します。
  6. 検出した安定版クライアントの変更時に FrontierStack 自身の frontierstack エントリだけを修復するには、Set up detected AI clients at launch を有効にします。他の MCP サーバ設定は保持され、Alpha 連携はスキップされます。
  7. 生成エントリは所有者専用ブリッジを起動します。ブリッジが起動時に Keychain から MCP 認証情報を取得するため、ベアラートークンをクライアント設定へ書き込みません。
  8. 他の stdio MCP クライアントでは FrontierStack CLI をインストールし、frontierstack mcp が返すコマンドを使います。
  9. 読み取り専用で開始します。変更やスクリプトを許可する前に、frontierstack discover、フリートヘルス一覧、ヘルプ検索を試します。

14.16.1Xcode

Xcode 26.3 以降(macOS 27 の Xcode 27 を含む)はコーディングエージェントをホストし、MCP を双方向に扱えます。Add to Xcode は、Xcode 内蔵の Claude・Codex・Gemini エージェントが使える MCP サーバの一覧 ~/Library/Developer/Xcode/CodingAssistant/mcp-servers.json に FrontierStack の所有者専用ブリッジを書き込みます。アプリを開発中のエージェントは、対象のサーバ・データベース・サイトについて FrontierStack に問い合わせ、他のクライアントと同じ読み取り専用の既定、変更スイッチ、承認、監査のもとで限定的な作業を依頼できます。

逆方向では、AI 管理者の xcode ツールが xcrun mcpbridge を通じて Xcode 自身の MCP サーバと通信します。スキームとターゲットの一覧、ビルド、テストの全体/一部実行、ビルドログの読み取り、SwiftUI プレビューの描画、プロジェクトファイルの検索や編集、テンプレートからのプロジェクト作成、シミュレータ操作ができます。Xcode › 設定 › Intelligence › Model Context Protocol › Allow external agents to use Xcode tools をオンにしてプロジェクトを開いたままにしてください。FrontierStack が接続すると Xcode が通知を表示します。Xcode の読み取り専用ツールは自由に実行でき、ビルド・テスト・編集・スキーム切替には変更を許可が必要です。Xcode で開いていないプロジェクトには、代わりにアプリ内コンソールで xcodebuild を実行します。同じプロジェクトで両方を同時に動かすと Xcode のビルドデータベースが壊れることがあるため避けてください。ペインには Claude Code に同じ Xcode ツールを渡す claude mcp add … xcode -- xcrun mcpbridge コマンドも表示されます。

14.16.2Grok Bot

Add to Grok を選ぶと、FrontierStack の所有者専用ブリッジを ~/.grok/config.toml へ追加できます。特定のリポジトリだけに Grok の手順を持たせる場合は、プロジェクトキットを書き出します。ブリッジは実行時に Keychain から MCP 認証情報を読み、TOML ファイルにベアラートークンを含めません。ローカルの Grok ワークフローは、ヘルス確認とヘルプ検索が期待どおりに動くまで読み取り専用にしてください。クラウド上の Grok Bot はループバック接続口へ到達できません。リモート利用には TLS で保護したネットワーク経路、ペアリング済みの呼び出し元 ID、明示的なスコープが必要です。ベアラートークンをボットのメモリやプロジェクトファイルへコピーしてディスカバリを回避しないでください。Grok Bot のために FrontierStack で専用のキーは不要です。AI モデルの xAI API キーは別物で、AI 管理者のモデルに Grok を選ぶときだけ使います。⌘F で「Grok Bot」を検索すると、この設定へ直接移動できます。

14.16.3SlackBot、Slack 引き継ぎ、Buzz

Slack 対応には別々の 3 つの機能があります。Messaging Gateway は Slack の受信 Webhook へアラートを送ります。エコシステムキットは既存ボット用の Slack/Teams 引き継ぎを記述します。Full Fleet には、FrontierStack 自身がサーバ管理担当としてワークスペースへ参加する Slack Server Admin Agent Beta も含まれます。

Messaging Gateways で専用 Slack アプリ設定をコピーしてワークスペースへインストールし、Socket Mode の xapp- トークンとボットの xoxb- トークンを Keychain に保存します。公開受信エンドポイントは開きません。招待済みの内部チャンネルで @FrontierStack とメンションするか、アプリへ直接メッセージを送ります。返信は同じスレッドに残り、範囲を制限したスレッド文脈と AI Harness のサーバ・サービス・ネットワーク・監視・インストール用ツールを利用できます。

FrontierStack は依頼者が接続先ワークスペースの正式メンバーであることを確認し、ゲストと Slack Connect の会話を拒否します。任意のチャンネル ID 一覧で範囲をさらに絞れます。既定は読み取り専用の調査です。所有者が変更依頼を有効にした場合も、モデルが選べるのは型付き FrontierStack アクションだけです。認証情報、任意シェル、復旧用シークレット、自己管理は利用できません。すべての変更は Full Fleet、App Lock、外部変更ポリシー、ローカル承認、監査、タスクレシート、結果検証を通過する必要があります。Slack のメッセージ、リアクション、役割の自己申告、ボタンは承認になりません。

FrontierStack はホスト版またはセルフホスト版の Buzz スタックをインストール/接続し、リレーと依存サービスを監視できるうえ、エージェントとして Buzz のチームに参加することもできます。MCP サーバ ▸ Buzz ▸ Buzz で回答をオンにして Buzz Desktop に追加をクリックし、Buzz Desktop でエージェントを作成してランタイムに FrontierStack Server Admin を選びます。Buzz の buzz-acp ハーネスが FrontierStack のヘルパ(frontierstack-core acp)を起動し、ヘルパは各 @メンションを AI 管理者に渡して回答をスレッドに投稿します。Buzz Desktop を使わずセルフホストのリレーで動かす場合は、ペインの表示どおり BUZZ_ACP_AGENT_COMMAND と BUZZ_ACP_AGENT_ARGS を設定します。

チャンネルのテキストは信頼できないものとして扱います。FrontierStack はそれをデータとして囲い、Buzz のターンには認証情報・シェル・設定のツールを提示せず、返信から保存済みの秘密情報を伏字化します。エージェントが誰に応答するかは Buzz が決めます(既定では所有者のみ)。既定では読み取りと診断のみです。Buzz からの変更依頼を許可をオンにするとサービスの再起動や設定変更ができ、その変更はすべて Mac のパネルであなたの承認を待ちます。Buzz のハーネスは ACP の権限確認に自ら応答するため、チャットでの承認は無効です。

インストール済みのfrontierstack CLIも既定でステートレスMCPを使います。frontierstack discoverでプロトコルと機能を機械可読形式で確認でき、frontierstack infoは推奨するステートレス版と対応する従来版の両方を表示します。

初めて接続するクライアントは frontierstack://manual リソースを読むか search_app_help を呼び出し、任意のファイルへアクセスせずに、アプリが記述した手順を学べます。

別のMCPサーバペインでは、新旧どちらのサーバも管理できます。「自動」は最初にserver/discoverを試し、必要な場合だけ従来のinitializeへ切り替えます。HTTPサーバが対応を実証した場合だけ、一覧に緑のステートレス表示が出ます。stdioサーバは外部クライアントがプロセスとハンドシェイクを管理するため、明示的にステートレスとして設定できます。

たとえば AppSignal プリセットは、レビュー済みでバージョン固定の mcp-remote ブリッジを通して AppSignal のホスト型 MCP エンドポイントへ接続します。ブリッジが AppSignal のブラウザ OAuth フローを実行するため、AppSignal トークンはプリセット、クライアント設定、プロセス引数に入りません。このエージェント接続は FrontierStack の決定論的な AppSignal ヘルス監視とは別です。Local Health とアラートには AppSignal サービスペインで個人 API トークンとアプリ ID を使い、エージェントがより深い調査を必要とするときだけ OAuth MCP を使います。委任前に AppSignal のアクセスを読み取り専用で開始し、書き込み可能なツールを確認してください。

同じブリッジで、Claude のコネクタディレクトリに掲載されているベンダ提供のサーバも利用できます。対象は Vercel、Railway、Hostinger、Neon、PlanetScale、Sentry、Honeycomb、PostHog、PagerDuty、incident.io、Rootly、CircleCI、Buildkite、GitLab、Postman、Atlassian(Jira)、Linear、monday.com、Notion、Stripe、Square、PayPal、Zapier、Make、Intercom、Mixpanel、Amplitude、Vanta、Drata です。各ベンダのペインにあるMCP サーバを追加ボタンでベンダ自身のアドレスを追加でき、MCP サーバペインではすべてのプリセット ▸ ベンダ提供のサーバ(Claude コネクタ)にまとめて表示されます。ベンダへのサインインはブラウザで行い、キーはプリセットにコピーされません。

AI 管理者自身がベンダの MCP サーバを使う場合(hosted_mcp ツール)、すべてのプロバイダに同じルールが適用されます。名前から資格情報(API キー、トークン、パスワード、接続文字列)を返す・作成する・ローテーションするとわかるツールは実行前に拒否され、結果に含まれる資格情報は [redacted by FrontierStack] に置き換えられます。FrontierStack の MCP サーバに接続したクライアントにも同じルールが適用され、一覧表示や読み取り専用のツールでは承認を求められません。

いくつかのベンダのペインには、そのペインに保存済みのキーで AI 管理者をベンダ公式の MCP サーバに接続する AI アクセスセクションもあります。対象は Stripe、GitHub、Neon、PostHog、Datadog、PagerDuty、Resend、PlanetScale、Hostinger です。n8n と Grafana のペインでは自分のサーバ(n8n のインスタンスレベル MCP サーバ、セルフホストの mcp-grafana)に接続します。読み取りツールは自由に実行でき、それ以外は書き込みを許可をオンにするまで拒否され、オンにした後も「変更を許可」とあなたの承認が必要です。書き込みがオフのとき、GitHub、Neon、PostHog はベンダ自身の読み取り専用モードで動作します。Stripe の MCP サーバは 2026 年 10 月 31 日以降エージェントタグ付きの制限付きキーしか受け付けないため、Stripe セクションのエージェントキー欄に保存してください。

さらに 20 を超えるベンダには、キーではなくブラウザでのサインインで接続します。対象は Atlassian(Jira、Confluence、Bitbucket)、Linear、monday.com、Vercel、Railway、Square、PayPal、incident.io、Airtable、Sentry、Honeycomb、Make、GitLab、Notion、Mixpanel、Amplitude、Rootly、CircleCI、Buildkite、Postman、Intercom、Vanta、Drata、Grafana Cloud、GitCafe、MongoDB Atlas(自動登録の代わりに FrontierStack が公開しているクライアント情報を読み取ります)です。AI アクセスセクションのサインインボタンを押すと、FrontierStack がベンダに自身を登録し、ブラウザで承認するとトークンがキーチェーンに保存されます。どのツールが読み取りかはツール一覧を取得したときにベンダのサーバから得るため、一度一覧を取得するまではすべての呼び出しが書き込みとして扱われます。

API キーや自動サインインのないサービス(ダッシュボードのみのホストや、Shopify、Slack、HubSpot、Box)には、代わりにアカウント ▸ サインインアカウントセクションがあります。メールまたはユーザ名とパスワードはキーチェーンに保存され、パスワードをコピー(60 秒後にクリップボードから消去)とサインインページを開くが使えます。FrontierStack がウェブサイトに入力することも、AI に表示することもありません。チャネルマネージャには任意の Lodgify アカウントもあり、Lodgify の有料アドオンサービスからゲストデータを自動で取り出す予定の機能のために保存します。

セキュリティFrontierStack をインストールしただけで、クラウドエージェントが非公開 Mac を見つけることはありません。ネットワーク公開 MCP は明示的な選択です。対応するネットワーク経路を有効にし、LAN・Tailscale・意図的に構成したトンネル上の TLS を使い、呼び出し元をペアリングしてスコープを設定します。ローカル MCP ポートを公開したり、ベアラートークンを URL・シェル履歴・プロセス引数・リポジトリ・セットアップキット・エージェントメモリへ置かないでください。
MCP サーバペイン:ループバックのポートで待ち受け、アプリ起動時に開始。FrontierStack を閉じても MCP と CLI の呼び出し、そして監視を続けます。
図 14.1. MCP サーバペイン:ループバックのポートで待ち受け、アプリ起動時に開始。FrontierStack を閉じても MCP と CLI の呼び出し、そして監視を続けます。

14.5エージェント基盤から FrontierStack を使う設定

AI ツールを接続。FrontierStack は初回起動時(およびこの手順をまだ見ていないインストールでも 1 回)、この Mac の AI ツールに自分のことを伝える前に確認します。見つかったハーネス、コーディングエージェント、エージェントエンジン(Claude Code、Codex、Cursor、Gemini CLI、Grok、Hermes、OpenClaw、Amp、T3 Code、Rex、Intent、Xcode、Claude Desktop)がチェックされた状態で並ぶので、触れてほしくないものはチェックを外します。FrontierStack を伝えるで各ツールに MCP 接続を追加し、ツールが読み込む場所には FrontierStack のスキルも置きます(Claude Code は ~/.claude/skills でユーザスコープに追加、Codex・Gemini CLI・OpenClaw は ~/.agents/skills)。Hermes の Bot Mode プロファイルへの追加や、Grok Bot・ChatGPT・Claude・Gemini などのクラウドアシスタント向けにパブリックコネクタをオンにすることもできます。設定 ▸ 一般 ▸ AI ツールを接続…から再実行できます。Google の Mac 版 Gemini アプリはローカルサーバを読み込めないため、MCP ペインに専用のチェックリストがあります:パブリックコネクタ、gemini.google.com でのカスタムコネクタ、そして カスタマイズ ▸ スキル に貼り付ける用意済みのスキルです。

エージェント基盤から FrontierStack を使う方法は 3 通りあります。コーディングエージェントは前の節のとおり MCP のツールサーバとして呼び出します。オーケストレータは FrontierStack を担当を受け持つワーカーとして使えます(Paperclip のハートビートや A2A タスク)。シェルを使えるエージェントなら frontierstack CLI を操作できます。どの方法でも FrontierStack の役割は同じサーバ管理者で、App Lock・既定の読み取り専用・承認・監査ログも同じように適用されます。

基盤接続方法設定する場所
Claude Code、Codex CLI、Cursor、Gemini CLI、Claude Desktop、Amp、Grok、Hermes、Xcode、T3 Code、Rex(それぞれのエージェント経由)FrontierStack の所有者専用ローカルブリッジ経由の MCPMCP サーバ ▸ AI クライアント ▸ 検出したものを設定
OpenClawローカルブリッジ経由の MCP(OpenClaw 自身の openclaw mcp add で追加)と、~/.agents/skills に置く FrontierStack のスキルMCP サーバ ▸ AI クライアント ▸ OpenClaw ▸ OpenClaw に追加
BuzzFrontierStack 自体が Buzz エージェント(ACP)として動作、またはローカルエージェント(Claude Code・Codex・goose)がそのハーネスの MCP 設定と ~/.agents/skills のスキルを使うMCP ペインの Buzz セクションで Buzz Desktop に追加。ほかのエージェントはハーネスを設定してスキルを書き出す
Claude(チャット・Cowork・Claude Code)FrontierStack プラグイン:2 つのスキル、この Mac の Claude Code と Cowork 用のローカルブリッジ、Web・デスクトップ・スマートフォンの Claude 用のコネクタとしてのクラウドゲートウェイ(FrontierStack アカウントでサインイン。ChatGPT access をオンにします)Claude の「カスタマイズ ▸ プラグイン」、または Claude Code で /plugin marketplace add richardnorthcott/frontierstack-claude-plugin。以前の claude mcp add frontierstack の登録は削除します
Claude Code(フリートの文脈)フリートスキル(~/.claude/skills/fleet/SKILL.md)フリートスキル(自動更新をオン。後述)
Octopローカルの MCP ブリッジをツールとする Octop エキスパートとして、FrontierStack がエキスパートチームに参加Octop ペイン ▸ Octop のチームに参加
PaperclipFrontierStack を会社のエージェントとして雇用し、Paperclip の process アダプタがハートビートごとに実行Paperclip ペイン ▸ Paperclip エージェントとして働く
OpenClaw、Hermes の監督エージェント、LangGraph、Microsoft や OpenAI 型のマネージャA2A 1.0 による委任、または対応するエコシステムキットMCP サーバ ▸ 委任された A2A タスクを受け付ける、エコシステム設定キット
CI/CD、シェルスクリプト、n8n、ターミナルを使えるエージェントfrontierstack CLI(インシデント起点なら CloudEvents)MCP サーバ、またはリモートコントロールとロック ▸ コマンドライン ▸ CLI をインストール
ChatGPT、Codex、カスタム MCP コネクタを使えるクラウドのアシスタント(クラウドの Grok Bot など)https://frontierstack.app/plugin/mcp の FrontierStack プラグイン。FrontierStack アカウントでサインインし、この Mac が外向きの接続で応答MCP サーバ ▸ ChatGPT access(アプリの起動が必要)。有料プランのみ。FrontierStack アカウントのないライセンスは、そこでアカウントにリンクします
そのほかのクラウドのエージェント(Devin、Manus)ペアリング済みで TLS 保護されたネットワーク経路と、範囲を限定した ID のみ署名付きリクエストとデバイスペアリング(次の節)

14.16.4Paperclip:FrontierStack を会社のシステムエンジニアとして雇用する

Paperclip は、組織図・予算・目標・承認を持つ「会社」として複数のエージェントを動かします。FrontierStack はその会社にシステムエンジニア兼ネットワーク管理者として加わり、割り当てられたインフラのイシューを自分のツールで調査して、イシューに結果を報告します。

  1. Paperclip をこの Mac に、あなた自身のユーザでインストールします:npx paperclipai onboard --yes。ハートビートは FrontierStack をローカルで実行するため、Paperclip を別のマシンに置くことはできません。
  2. エージェント運用セクションの Paperclip ペインを開きます。「接続」でエンドポイント(既定は http://127.0.0.1:3100)を確認します。Paperclip を authenticated モードで動かしている場合は、ボード API キーをトークンとして貼り付けます。
  3. Paperclip エージェントとして働くで Paperclip のハートビートを受け付けるをオンにし、ハートビートコマンドをインストールを押します。~/.frontierstack/bin/frontierstack-paperclip が書き込まれます。
  4. FrontierStack を会社に雇用を開き、会社を読み込むを押して会社を選び、DevOps エージェントとして雇用を押します。process アダプタを使う、肩書き「System Engineer & Network Administrator」のエージェントが作成されます。代わりにアダプタ設定をコピーを押し、Paperclip で自分で作成したエージェントに貼り付けることもできます。
  5. Paperclip でイシューを割り当てます(例:「web-02 からのメールがバウンスする原因を調べて」)。進捗は Paperclip の実行ログに表示されます。

ハートビートのたびに、Paperclip は短期のラントークンを付けてハートビートコマンドを実行します。FrontierStack が起動していなければ、コマンドがバックグラウンドで非表示のまま起動します(コールドスタートには最大 2 分ほどかかることがあります)。FrontierStack は割り当てられたイシューをチェックアウトして調査し、コメントしてから、イシューを完了・ブロック・レビュー待ちのいずれかにします。ほかのエージェントがすでにチェックアウトしているイシューには手を出しません。ラントークンはペインに設定した Paperclip サーバにだけ送られます。

Paperclip からの変更依頼を許可は最初はオフで、エージェントは調査と提案だけを行います。オンにしても、型付きの変更はそれぞれ App Lock と外部変更の設定に従い、実行されるか、ペインで1 回だけ承認・5 分間許可・拒否を待つか、拒否されます。

スクリーンショット追加予定
図 14.2. Paperclip ペインの「Paperclip エージェントとして働く」セクション撮影手順: capture: Paperclip ペインを「Paperclip エージェントとして働く」までスクロールし、ハートビートの受け付けがオン、ハートビートコマンドがインストール済み、雇用セクションに会社が読み込まれ、承認待ちの変更が 1 件ある状態
セキュリティPaperclip 側の承認・予算・ボードの決定が FrontierStack の承認になることはなく、Paperclip にシェルや認証情報が渡ることもありません。ハートビートは常にアプリを通るため、バックグラウンドサービスが MCP を提供している間も FrontierStack を起動します。

14.16.5Octop:FrontierStack をエキスパートチームに加える

Tencent Cloud の Octop は、複数のユーザーが使うセルフホスト型のアシスタントです。エキスパートは単独でも、ホストエキスパートが仕事を振り分けるチームとしても働きます。チームのメンバーは Octop のエキスパートである必要があるため、FrontierStack は FrontierStack の MCP サーバをツールとするエキスパートとして参加します。推論は Octop のモデルが、実作業は FrontierStack が行います。

  1. Octop をこの Mac に、あなた自身のユーザでインストールします(python3 -m pip install --user octop のあと octop init と octop run)。Octop は FrontierStack のブリッジをローカルコマンドとして起動するため、Docker や別のマシンの Octop は参加できません。
  2. MCP サーバをオンにします。
  3. エージェント運用セクションの Octop ペインを開き、エンドポイント(既定は http://127.0.0.1:8088)を確認します。
  4. Octop のチームに参加で Octop のユーザー名とパスワードでサインインし、エキスパートを設定を押します。FrontierStack は Octop のコネクタに frontierstack MCP サーバを追加し、Octop が起動できることを確かめて見えているツール数を表示したうえで、「FrontierStack」エキスパートを作成して起動します。
  5. チームの横の参加を押します。Octop のチームには 2 名以上のメンバーが必要なので、先に Octop のダッシュボード(エキスパート ▸ マイチーム)でチームを作成してください。

パスワードはサインインに一度使うだけで保存されません。セッションはサインアウト・FrontierStack のロック・終了で終わり、エキスパートとチームでの位置づけは Octop に残ります。

セキュリティOctop には IM チャネルや同じ Octop の他のユーザーからも届きます。チームのホストにメッセージを送れる人は、あなたの MCP 設定のもとで FrontierStack に間接的に仕事を頼めます。チームに届くすべての人を信頼できる場合を除き、変更を許可はオフのままにしてください。ホストや他のエキスパートからのメッセージが FrontierStack の承認になることはありません。

14.16.6A2A の監督エージェントとマネージャエージェント

A2A 1.0 を話すコーディネータ(OpenClaw や Hermes の監督エージェント、LangGraph のマネージャなど)は、ツールを 1 つずつ呼ぶ代わりに、永続タスクとして FrontierStack に仕事を渡せます。MCP サーバペインで委任された A2A タスクを受け付けるをオンにします(既定はオフ)。この Mac 上のエージェントは localhost で、承認済みのリモートのコーディネータはペア済みで証明書をピン留めした HTTPS 経路で接続します。Agent Card は FrontierStack を説明するだけで、権限は与えません。自然言語の依頼は常に読み取り専用です。変更は型付きの FrontierStack リクエストとして送る必要があり、通常の範囲・App Lock・承認・監査・事後確認を通ります。進捗は SSE で配信され、任意のコールバックは公開 HTTPS のアドレスに限られます。対応するエコシステム設定キットを書き出せば、認証情報を含まない設定例をそのまま使えます。

14.16.7シェルを使えるエージェント、CI、スクリプト

MCP サーバペイン、またはリモートコントロールとロック ▸ コマンドラインから CLI をインストールします。エージェントは frontierstack discover で使える機能を確認し、frontierstack role でサーバ管理者のプロファイルを読み、frontierstack call <ツール> '<json>' でツールを実行できます。認証情報はプロンプトに貼らず、frontierstack run で渡してください(エージェントへの認証情報)。スケジュールや夜間に動く基盤なら、バックグラウンドサービスをオンにして、アプリを閉じていても読み取り専用のチェックが動くようにします(アプリを閉じたまま使う)。

エージェントには、すべてのコマンドに --json を付けるよう指示してください。出力は JSON オブジェクト 1 つだけになり、エラーは {"ok":false,"error":{"code","message"}} で次にすべきことが書かれ、終了コードで失敗の種類がわかります(2 使い方の誤り・3 見つからない・4 拒否・69 FrontierStack が応答しない)。frontierstack help --json で全コマンドのスキーマを確認できます。サーバコマンド(status・server・service・docker・website・kube)は MCP クライアントと同じツールを同じ承認カードで実行するため、どちらの経路でも結果は同じです。docker rm は --yes を付けるまで、削除対象を報告するだけです。Claude Code が読み取り専用のコマンドを毎回確認せずに実行できるようにするには、MCP サーバペインの読み取り専用コマンドを Claude Code で許可を押します。

14.16.8基盤に変更を許す前に

  • 最初は読み取り専用で接続し、検出、フリートの健全性、ヘルプ検索を確認します。
  • Claude Code にはフリートスキルを渡して、接続前にサーバの構成を把握させます。自動更新をオンにすれば、スキルはフリートの変更に追従します。
  • 変更は基盤ごとにオンにします(MCP の変更スイッチ、Paperclip からの変更依頼を許可、型付きの A2A リクエスト)。承認は Mac かペアリング済みの iPhone で行います。
  • 作業はエージェント運用 ▸ アクティビティと監査ログで確認します。iPhone のエージェントアクティビティは、プロンプトや記録をコピーせずに状況だけを表示します。

14.6署名付きリクエストとデバイスペアリング(FS1)

コントロールサーバと MCP サーバは、ベアラートークンと TLS の上に、デバイスごとの署名付きリクエスト層 — FS1 — を追加します。各ペアリング済みデバイスは独自の Ed25519 秘密鍵を持ち、すべてのリクエストに署名します。FrontierStack は承認済みデバイスに対して署名を検証するため、トークンが漏れただけでは何も操作できません。

  • デバイスごとのスコープ。各デバイスには読み取り専用〜フルコントロールのスコープを Mac で付与します。
  • ワンタップ失効。デバイスを削除すれば即座に遮断され、他には影響しません。
  • これは iPhone/iPad アプリのペアリングと同じ仕組みです — モバイル版マニュアルと、第 10 章の信頼モデルを参照。

14.7エージェントキーとツールごとのルール

ローカルの MCP クライアントは 1 つのベアラトークンを共有できますが、その場合 FrontierStack はエージェントを自分で送る名前でしか識別できず、その名前はどのプログラムでも名乗れます。エージェントキーは、エージェントごとに専用の認証情報を与えます。権限 ▸ エージェントキーを開きます:

  • エージェントを追加…で、1 つのエージェント用のキーを発行します(有効期限も設定可能)。表示は一度だけで、FrontierStack が保存するのは SHA-256 フィンガープリント、短いヒント、名前、日付のみです。この Mac のループバックアドレスで、エージェントの MCP ベアラトークンとして渡してください。
  • MCP サーバパネルの Claude Code / Codex / Cursor / Gemini CLI / Claude Desktop に追加ボタンは、クライアント名のキーを作成し、--agent 付きでブリッジを設定します。キーはキーチェーンに保存され、クライアントの設定ファイルには書き込まれません。従来どおりにするには新規設定で共有トークンを使うをオンにします。
  • キーによる呼び出しはエージェントの検証済みの名前を持ち、専用のレート制限と承認期間が適用され、すべてのツール呼び出しがキーとともに変更ログに記録されます。一覧には各キーの最終使用日時と最近の呼び出しが表示されます。取り消すとキーはすぐに使えなくなります。
  • 各エージェントに専用キーの使用を必須にするをオンにすると、共有トークンは対処方法を示すメッセージとともに拒否されます。frontierstack コマンドと Buzz には専用キーが発行され、ペア済みのデバイスは引き続き FS1 で署名します。

ツールのルール。コーディネータ、外部エージェント、名前を指定した各エージェント、各エージェントキーに、これらのツールのみのリストとこれらのツールは使用不可のリストを設定できます。パターンは正確なツール名、fleet_* や *_status のような glob、/^dns_(read|list)/ のようにスラッシュで囲んだ正規表現のいずれかです。使用不可リストが優先されます。「のみ」リストは、他のすべてのツールをツール一覧、frontierstack_find_tools、frontierstack_call、A2A の委任作業から隠します。

名前に対するルールは、名前が何も証明しないため絞り込むことしかできません。エージェントキーのルールは代わりにロールのルールを置き換えることもでき、専用キーを持つ CI エージェントにはサービスの再起動を許し、他の外部エージェントには読み取りだけを許す、といった設定ができます。その場合でもアプリ外のすべてに対する上限を超えることはなく、認証情報と FrontierStack 自体の設定には届きません。オンにするには実際のクリックかキー入力が必要です。

メモキーが証明するのは、どの認証情報で呼び出したかであって、どのプログラムがそれを持っているかではありません。ブリッジ用にキーチェーンに保存したキーは、共有トークンと同じく、あなたとして動くどのプログラムからも読み取れます。完全には信頼できないエージェントにはエージェントを追加…でキーを発行し、そのエージェントが動く場所にだけ置き、ルールを狭くしてください。

14.8外部 AI ジョブ

ライブの MCP に加え、FrontierStack はサブスクの AI CLI にジョブを渡すことができます — タスクをまとめてローカルの Claude(など)にあなたのプランで処理させ、結果をアプリに戻します。これにより、重め・長時間の分析を従量課金なしで実行でき、Data Map(ロケーションごとのデータフロー図)と組み合わせてエージェントに必要な文脈を与えます。外部 AI ジョブは AI スタック(第 15 章)から管理します。

14.9MCP 経由のスキル・ノート・メモリ・Obsidian

外部ハーネスは、内蔵管理者と同じナレッジ面に、同じゲートのもとで到達します。

  • スキル — 厳選したプレイブックを発見・オンデマンド読み込み。
  • 共有ノート — 「AI と共有」で解除したノートのみ読み取り可能。
  • 長期メモリ — 設定や恒常ルールの同じ memory.md。
  • Obsidian — Obsidian ボールトを連携していれば、SOP やランブックを検索し、文書化された手順に従えます(第 12 章)。
ヒント外部エージェントはあなたのスキル・共有ノート・Obsidian の SOP に従うため、あなたの手順 — アプリ内管理者が使うのと同じもの — で動作します。それらを最新に保てば、両方の経路が同時に良くなります。

14.10フリートスキル — あらゆるエージェント向けのポータブルな文脈

MCP サーバはエージェントにフリートを操作させます。フリートスキルはもう半分 — エージェントが何かに触れる前にあなたの環境を教える静的な文脈です。フリートスキルペインは SKILL.md を生成します。サーバとその役割・OS・サービス・到達方法、ネットワークの場所、KVM と電源ソース、そしてあなた自身のルールと設定の自由記述 — すべてシークレットを除去した上で。これを読んだエージェントは、当て推量ではなく正しいホストを選び、正しい経路を使い、あなたの慣習を尊重します。

~/.claude/skills/fleet/SKILL.md に書き込まれ、Claude Code が自動的に検出します(フロントマターの description: が、そのスキルがいつ関連するかをモデルに伝えます)。MCP 接続エージェントは get_fleet_context ツールで同じ内容を取得でき、その慣習を読む CLI 向けに任意で ~/AGENTS.md も出力できます。自動更新をオンにすると、フリート・場所・KVM が変わってから数秒後にスキルが書き直され、実態からずれません。

地図とリモコンの違いだと考えてください。MCP はリモコン — ライブで認証済み、実行できます。スキルは地図 — セットアップ不要でポータブル、どのエージェントにも安全に渡せ、有能なツールが「正しいやり方で誤ったこと」をするのを防ぎます。

14.11サイトスキル — 1 つの Web サイトを外部エージェントに渡す

フリートスキルはインフラ全体を説明します。サイトスキルは 1 つの Web サイトを、Claude Code や Codex などの外部エージェントが開発作業をできるだけ詳しく説明します。プロジェクトフォルダと git リモート、サイトの配信方法(Apache のバーチャルホスト・管理サイト・Localhost サーバ・Cloudflare Tunnel)、Cloudflare ゾーンと DNS レコード、証明書とドメイン登録の期限、ホスティングの設定、そして DNS・キャッシュ・サーバ上のファイル・証明書・データベース・デプロイを扱う FrontierStack のツールです。書き込み先は ~/.claude/skills/site-<ドメイン>/SKILL.md で、サイトのフォルダの外です。そのフォルダは Web サーバのドキュメントルートであることが多く、中身はすべて公開されるためです。

認証情報は FrontierStack の外に出ません。 サイトのコマンドが使えるスクリプトシークレットを選ぶと、スキルにはその名前だけが入り、名前だけの .env.frontierstack も作られます。エージェントは frontierstack run --env-file … -- <コマンド> でコマンドを実行し、値はその 1 つのプロセスにだけ注入され、出力ではマスクされます。Cloudflare・Web サーバ・データベースには、FrontierStack が保持する認証情報を使う FrontierStack 自身のツールでアクセスします。

サイトスキルは、AI や Apache の新規サイトウィザードでサイトを作成したときに自動で作られ、フォルダを Apache・Nginx・Localhost サーバにリンクしたときは作成を提案します。サイトペイン、Apache のサイトのメニュー、Localhost サーバの AI スキルからいつでも作成・編集できます。「設定 ▸ サイトスキル」で一覧を確認し、自動の動作をオフにできます。サイトのホスティングが変わるとスキルは再生成され、MCP で接続したエージェントは get_fleet_context action=site でも読めます。

14.12ネットワークリポジトリ — エージェントが作業に使えるリポジトリ

フリートスキルはエージェントが読む地図です。ネットワークリポジトリペインはさらに進んで、ネットワーク全体を git リポジトリに書き出します。Claude Code や Codex などのエージェントに渡せば、自分でセットアップを進められます。新しい Mac mini をフリートの標準に揃える、サーバにサイトを立ち上げる、すべてのマシンを Tailscale に参加させる、といった作業です。

ファイル内容
AGENTS.md(と CLAUDE.md)基本ルール:まずライブの状態を確認する、リポジトリにシークレットを置かない、本番マシン・ルータ・DNS・ファイアウォールを変える前に計画を示して確認する、運用者独自のルール
GOAL.mdエージェントへの依頼。テンプレートから一度だけ作成され、上書きされません
COMPUTERS.md、boxes/<name>/すべてのマシン:役割、OS、SSH 接続先、LAN と Tailscale のアドレス、サービス、電源。マシンごとの目標状態と冪等な setup.sh
NETWORK.md場所、ルータとファイアウォールルール、LAN デバイス、tailnet、Cloudflare の DNS レコード、ドメイン、pf ルール
SERVICES.md、POWER.mdサイト、開発サーバ、MCP サーバ、cron、スクリプトライブラリ。UPS、コンセント、KVM、PoE
HOW_TO_SET_UP_A_BOX.md、scripts/complete-setup.sh、tests/check-fleet.sh、Brewfile新しいマシンの手順書、それを適用するスクリプト(ローカルまたは SSH 経由)、読み取り専用の確認、Homebrew の基準
.env.frontierstack、frontierstack-network.json、snapshots/シークレット名のみ。データとしての全体図(リポジトリからのインポートで読み戻せます)。変化があったときの日付付きコピー
frontierstack-network.yaml、boxes/<name>/box.yaml、templates/同じ全体図の YAML 版(読みやすく編集しやすい形式)。データとしての各マシン。サーバテンプレート

フリートスキルと違い、リポジトリには実際の名前とアドレスが入ります(fleet-host-a1b2c3 はセットアップできません)。リポジトリは非公開にしてください。シークレットの値は書き出しません。保存前にすべての値をキーチェーンとスクリプトシークレットと照合し、漏れそうな場合は書き出しを中止します。認証情報を含んでいそうなスクリプト、cron ジョブ、MCP コマンドは除外して一覧表示します。エージェントは、下で説明するとおり Mac 上の frontierstack run か MCP で認証情報を使います。

書き出しのたびに git にコミットし(FrontierStack のファイルのみ)、Push で指定したリモートへご自身の git 認証情報で送れます。GOAL.md に作業内容を書いたら、エージェント用プロンプトをコピーするか、Agent Jobs で開く…で入力済みのジョブから始めます。エージェントを選んで実行するのはご自身です。

セキュリティネットワークリポジトリには、すべてのマシン、アドレス、ファイアウォールルールが記載されます。シークレットは含みませんが、オフィスの見取り図のように扱ってください。非公開のリポジトリで、信頼できるエージェントにだけ渡しましょう。
ネットワークリポジトリペイン:フォルダを選び、含める内容(ライブ確認・ルータのルール・Cloudflare DNS・cron ジョブ)を選んで、エージェントが作業できるリポジトリを書き出します。シークレットの値は Mac から出ません。
図 14.3. ネットワークリポジトリペイン:フォルダを選び、含める内容(ライブ確認・ルータのルール・Cloudflare DNS・cron ジョブ)を選んで、エージェントが作業できるリポジトリを書き出します。シークレットの値は Mac から出ません。

14.13サーバテンプレート — 運用中のサーバと同じ構成の新しいサーバ

サーバテンプレートは、ある種類の新しいマシンに必要なものをまとめたものです。ネットワークリポジトリペインのサーバから新規作成…は、運用中のサーバを読み取り、役割と OS、稼働中のサービス、パッケージ(この Mac の場合は Homebrew の一覧)、cron ジョブ、Tailscale、そのサーバを指すルータのファイアウォールルールと Cloudflare の DNS レコードを残します。そのサーバ自身のアドレスは {{ip}}、DNS 名の中のサーバ名は {{slug}} になるため、web1 からデータベースへの接続を許可するルールは、次の Web サーバ用のルールになります。シークレットの値は残しません。

テンプレートは YAML ファイルで、YAML を編集で開き、YAML を読み込む…でほかの場所から追加し、フォルダを表示で場所を確認できます。書き出しのたびに templates/ に書き出されます。新しいサーバ…でテンプレートからサーバを作ると、サーバ一覧に追加され、boxes/<name>/ にテンプレートのパッケージ・cron ジョブ・セットアップ手順を含む setup.sh と、追加すべきファイアウォールルールと DNS レコードを記した README が書かれます。

メモテンプレートのファイアウォールルールと DNS レコードは計画であり、実行はされません。FrontierStack がテンプレートからルータや DNS を変更したり、テンプレートのセットアップ手順を実行したりすることはありません。setup.sh の実行とネットワークの変更は、ご自身で(または承認を得たエージェントが)行います。

エージェントも同じ方法でマシンを提案できます。新しいマシンの name、address、user、template を書いた boxes/<name>/box.yaml を作成し、リポジトリからインポートで追加します。

14.14.env を使わずにエージェントへ認証情報を渡す

エージェントがコマンドを実行するのに API キーやパスワードが必要になることはよくあります。チャットに貼り付けたり、リポジトリに置いたりしないでください。スクリプトシークレット(AI 管理者 ▸ スクリプトシークレットバー)に保存し、frontierstack run にこれらのシークレットの使用を許可をオンにして、エージェントに次のように実行させます:

frontierstack run --secret CLOUDFLARE_API_TOKEN -- terraform apply

値はそのコマンドだけに環境変数として渡され、出力では伏せ字になるため、エージェントは値を読まずにコマンドの結果を確認できます。代わりに、名前だけを書いた .env.frontierstack(DB_PASSWORD=fs://DB_PASSWORD)をプロジェクトにコミットしておけば、そのフォルダで frontierstack run -- <command> を実行するだけで値が埋められます。エージェントガイド、書き出したスキル、フリートスキルはいずれも、エージェントにこの方法を使うよう指示しています。すでに認証情報をリポジトリで管理している場合は、リポジトリからインポート…で取り込めます(第 13 章)。

14.15アプリを閉じたまま使う

エージェントが FrontierStack を使うのに、アプリを開いたままにしておく必要はありません。FrontierStack を閉じても MCP と CLI を使えるようにする(MCP サーバペイン、またはリモートコントロールとロック ▸ コマンドライン)は既定でオンで、ログイン時に小さなバックグラウンドサービスが起動し、ローカルの MCP と CLI のポート(既定は 8788 と 8799)を受け持ちます。アプリを閉じている間は、検出と一連の読み取り専用チェックにサービス自身が応答します。WHOIS、IP 分析、証明書の期限、ポートチェック、オープンリレーテスト、ディスク使用量、上位プロセス、メトリクスのスナップショット、hosts ファイルとリモートファイルの読み取り、MySQL/PostgreSQL のテーブルチェックを、この Mac でも保存済みのサーバでも実行できます。それ以外の要求は FrontierStack を非表示で起動して引き渡します。アプリの起動中はすべての要求がそのままアプリに届くため、App Lock・承認・監査ログは従来どおりです。

設定アプリを閉じている間に加わること
FrontierStack を閉じても MCP と CLI を使えるようにするMCP と frontierstack が応答し続けます。読み取り専用のチェックはアプリなしで実行し、それ以外はアプリを非表示で起動します。
FrontierStack を閉じても監視を続けるウォッチ、メールの接続先、TLS 証明書とドメインの更新日、リンクしたサーバの確認を続け、設定済みのチャネルでアラートを送ります。確認するのは常にどちらか一方だけで、アプリを開くとアプリが引き継ぎます。
セキュリティキーが挿さっている間はヘッドレスのエージェントに作業を許可セキュリティキーを使う App Lock でも、登録済みのキーが挿さっていれば読み取り専用のチェックを実行でき、frontierstack run がキーで封印されたスクリプトシークレットを開けます。

どちらが応答しているかは frontierstack info("answering": "app"・"core"・"none")と frontierstack headless status で確認できます。サービスが起動するのはログイン時で、起動(ブート)時ではありません。再起動や停電のあとも MCP が自動で戻るようにするには、ヘッドレス Mac セットアップで自動ログインをオンにしてください。アプリをアップデートすると、サービスは処理中の要求が終わったあと新しいバージョンで起動し直します。ペアリングした iPhone/iPad も、ペアリングし直すことなくサービス経由で Mac に届きます。電話のダッシュボードの「Mac で FrontierStack を起動」で非表示のまま起動し、「Mac で FrontierStack を開く」でウィンドウを開けます。アプリを閉じている間も、電話へのアラート通知は届きます。

セキュリティセキュリティキーを使う App Lock では、ヘッドレスでのアクセスはオンにしない限りオフのままで、オンにするにはキーへのタッチが必要です。サービスは呼び出しのたびにキーを確認するため、キーを抜けばエージェントは次の呼び出しで止まります。キーで封印されたスクリプトシークレットは、frontierstack run のたびにタッチが必要です(オフにすることもでき、その操作にもタッチが必要です)。PIN を設定したキーでは、封印されたシークレットはアプリでしか開けません。変更は常にアプリを通ります。frontierstack headless key で、登録済みのキーが挿さっていて応答するかを確認できます。

14.16どれをいつ使うか

使うものこんなとき
内蔵 AI 管理者(第 13 章)承認カードやコストモニタも含めすべてを 1 つのウィンドウで完結させたく、モデル/キーを用意する、またはローカル実行で構わないとき。
MCP 経由の FrontierStack(本章)すでに Amp、Claude Code、Cursor で作業しており、コードとサーバに対するガード付き経路を 1 つにしたいとき。
外部 AI ジョブ(第 15 章)タスクが重い・長時間で、対話的に実行するよりサブスク CLI に渡したいとき。

3 つとも同じガード付きツールと同じライブのアプリ状態に到達します。作業しやすい場所で選んでください。安全性の保証は変わりません。

FrontierStack ユーザマニュアル · バージョン 1.0.0 · 第 14