mcpField
M
Martin Loop

Martin Loop

ローカル
github.com/Keesan12AI・エージェント3942 日前に更新

Martin Loop について

Martin Loopは、タスク定義から検証、引き継ぎまでコーディングエージェントの作業を管理するシステムです。予算、試行回数、編集範囲を制限し、復旧の証拠と明確な結果を残しながら、コード作成はエージェントに任せます。

主な機能

  1. 01目標、範囲、成功条件の定義
  2. 02予算と試行回数の制限
  3. 03設定した検証コマンドの実行
  4. 04復旧とロールバックの証拠保持
  5. 05実行レシートと結果記録の生成

活用シーン

  1. 01範囲を限定したコーディングエージェントの実行
  2. 02引き継ぎ前のテスト証拠の確認
  3. 03失敗、コスト、実行履歴の確認

MCP 対応

MartinLoopは対応ホスト向けのMCPパッケージを提供し、`martin mcp print-config`でホスト設定を生成できます。READMEには公開するMCPツールの説明はありません。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"keesan12-martin-loop": {
"command": "npx",
"args": [
"-y",
"@martinloop/mcp"
]
}
}
}
起動コマンドnpx -y @martinloop/mcp

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@martinloop/mcp0.8.10

ツール

24

掲載時のツール一覧 · 2 日前に更新

パラメーター型必須説明
modelstringいいえCLI に渡す任意のモデル上書き値。
engineenumいいえ使用するエージェント CLI。デフォルトは claude です。claude | codex | gemini | openai
maxUsdnumberいいえUSD 建ての厳格な予算上限。
maxTokensintegerいいえすべての試行を通じた合計トークン数の上限。
objectivestringはい完了するコーディングタスク。変更が必要な内容を具体的に記述してください。
projectIdstringいいえテレメトリー用のプロジェクト識別子。
deniedPathsarrayいいえMartin が変更してはならない、リポジトリ相対パスの glob パターン。
workspaceIdstringいいえテレメトリー用のワークスペース識別子。
allowedPathsarrayいいえMartin が変更してよい、リポジトリ相対パスの glob パターン。
maxIterationsintegerいいえループ試行の最大回数。
verifyTimeoutMsintegerいいえ各検証コマンドのハードタイムアウト(ミリ秒)。
verificationPlanarrayいいえタスク完了と見なすために、すべて終了コード 0 で終了する必要があるコマンド。
workingDirectorystringいいえMCP ワークスペースルート内で解決される、任意のリポジトリルートの上書きパス。安全なルート内にとどまる必要があります。
providerExecutionTimeoutMsintegerいいえ各プロバイダーのコーディングプロセスに適用されるハードタイムアウト(ミリ秒)。

詳細

MartinLoop

コーディングエージェントにもっと仕事を任せて、監視は減らし、より多くリリースしましょう。

MartinLoop を使えば、すべての手順を付きっきりで見守らなくても、コーディングエージェントに実際のソフトウェア開発の仕事を任せられます。

コードを書くのは、これまでどおりコーディングエージェントです。MartinLoop は、制限、停止条件、検証、復旧、実行終了時の明確な結果によって、作業の焦点を保ち、範囲を限定し、結果に責任を持たせます。

MartinLoop

コーディングエージェントに実際の仕事を任せましょう。

何千回ものエージェント実行を通じて得られた知見から生まれました。課題は知能だけではなく、エージェントに実際の仕事を任せて、安心してその場を離れられるかどうかでした。

ループによる損失を測定: npx -y martin-loop@latest audit
使い始める: npx -y martin-loop@latest start
デモを試す: npx -y martin-loop@latest demo

ライセンス:Apache-2.0 TypeScript Node npm バージョン npm ダウンロード数

MartinLoop は NVIDIA Inception プログラムの一員です。
NVIDIA Inception プログラムのロゴ

まずはこちら

まずは監査 — npx -y martin-loop@latest audit を実行して、修正と再試行のループに API 相当の Claude Code 使用料金がどれだけ費やされたかを確認します。ネットワークに一切接続せず実行するには --offline を、共有可能な概要を作成するには --share を追加します。

インストール/初期設定 — npx -y martin-loop@latest start を実行するか、npm install -g martin-loop@latest でグローバルにインストールします。

ガバナンス付き実行 — martin run で、目標、検証方法、予算、反復回数の上限を設定します。

検証 — 完了には、アクティブな実行とワークスペースに紐付いた、最新の検証証拠が必要です。設定した検証方法で証明できるのは、実行するチェックの範囲に限られます。VERIFIED は、コードにバグがないことや、自動的にマージしても安全であることを示すものではありません。

予算 — --budget-usd で支出の上限を、--max-iterations で試行回数の上限を設定します。

実行記録 — 最新の結果は martin dossier --latest で確認し、保存されたデータの整合性は martin runs verify --latest で検証します。

ホステッド同期(任意) — ガバナンス付きの作業は、ローカル優先です。MARTIN_API_TOKEN と MARTIN_TELEMETRY_ENDPOINT を設定し、martin sync status と martin sync flush を使うと、保存済みの証拠を後からダッシュボードに送信できます。クイックスタートを参照してください。

MCP — 対応ホストに @martinloop/mcp@latest をインストールするか、martin mcp print-config でホスト設定を生成します。

ドキュメント — クイックスタート、CLI リファレンス、または MCP のセットアップに進んでください。

--model が指定されている場合、MartinLoop はその値を変更せずに渡します。--model が指定されていない場合は、認証済みのホストランタイムが独自のデフォルトを選択します。MartinLoop が隠れたフォールバックモデルを注入することはありません。

AI エージェント向け

MartinLoop は、コーディング作業全体を取り巻くシステムです。

コードを書くのは引き続きコーディングエージェントです。MartinLoop は、作業を取り巻くジョブ、制限、検証、復旧、結果、履歴に一貫性を持たせます。

次のようなコーディングタスクには MartinLoop をお使いください。

  • ジョブと成功基準が明確である
  • エージェントの実行コストが発生する前に、事前チェックで準備状況を確認する
  • 予算と反復回数に厳格な上限を設ける
  • 編集を許可または禁止する範囲を指定する
  • 再試行と停止条件を制御する
  • 独立した検証コマンドを実行する
  • 復旧およびロールバックの証拠を保持する
  • 有限の完了判定を行う
  • 実行レシート、ドシエ、履歴、失敗の分類、実行後分析を扱う
  • サポート対象のコーディングエージェントのランタイム全体で一貫したワークフローを使用する

標準的なライフサイクル:

DEFINE
  -> PREFLIGHT
  -> CONTROL
  -> VERIFY
  -> RECOVER
  -> PROVE
  -> ANALYZE

プロダクトレベルのフローは 完了の定義 -> 制御された実行 -> 検証済みの引き継ぎ です。

機械可読なコンテキストについては、まず llms.txt、llms-full.txt、AI エージェント向け MartinLoop をご覧ください。

実行全体を支える単一のシステム

コーディングエージェントの実行における各工程について、チームが個別のスクリプトやポイントツールをつなぎ合わせる必要はありません。MartinLoop は事前チェックから実行後の証拠まで、エージェントを取り巻く制御経路をつなぎます。

段階MartinLoop の役割
定義目標、検証ツール、予算、範囲、完了基準を記録します。
事前チェックエージェントの実行コストが発生する前に、準備状況と必要なワークフローの証拠を確認します。
制御コーディングエージェントの作業中に、予算、試行回数、パスの境界、ポリシー、停止条件を適用します。
検証設定済みのチェックを実行し、その証拠をアクティブな実行とワークスペースに紐付けます。
復旧再試行または人によるレビューが必要な場合に、復旧およびロールバックの状態を保持します。
証明レシートを添えて、権威ある VERIFIED、STOPPED、または NEEDS REVIEW の引き継ぎ結果を生成します。
分析実行後に実行履歴、コストの出所、失敗の分類、ドシエ、共有可能な証拠を調査します。

MartinLoop は、Git、GitHub、CI、専用のセキュリティスキャナー、可観測性プラットフォーム、コードレビュー、コーディングエージェント自体を置き換えるものではありません。これらのワークフローを、検査できる単一の統制された実行記録にまとめます。

ワーカーを変えても、ジョブはそのまま。

MartinLoop は設計上、モデルに依存しません。ジョブ、制限、検証、復旧、結果は、その下で動作するワーカーから切り離されています。

ネイティブのコーディングエージェント CLI と OpenAI 互換のモデルランタイムでは実行経路が異なるため、MartinLoop は、実行経路が公開され、検証済みの場合にのみ、そのワーカーを完全サポート対象として説明します。

MartinLoop を選ぶ理由

AI コーディングエージェントは、これまで以上に多くのソフトウェアを作成できます。課題は、自分が常時管理役にならずに、より大きな仕事を安心して任せることです。

エージェントは脱線し、再試行し、関係のない箇所を壊し、「完了」と早まって宣言することがあります。時間を節約するはずの実行が、かえってレビュー作業を増やすこともあります。

MartinLoop は、明確な境界、厳格な制限、設定済みのチェック、復旧情報、明示的な結果によって、エージェント自体の外側でジョブに対する説明責任を保ちます。

目標はシンプルです。

エージェントに無制限の自由を与えずに、より大きな責任を任せること。

チームが MartinLoop を導入する理由

  • 付きっきりの監視を減らす — あらゆる手順を見守らずに、より大きな仕事をエージェントに任せられます。
  • 明確な境界 — 範囲、試行回数、支出を設定した制限内に保ちます。
  • 「完了」の前にチェック — 証拠が合格したかどうかを、設定済みの検証で判定します。
  • 失敗を理解する — ログを掘り返さなくても、実行が停止した理由がわかります。
  • 適切に復旧する — 再試行、修復、ロールバック、引き継ぎに十分な証拠を保持します。
  • エージェント全体で単一のワークフロー — 下で動作するワーカーが変わっても、ジョブの一貫性を保ちます。

ソフトウェアをもっと。監督はもっと少なく。

ループによるコストを把握する

ワークフローを変更する前に、現状を測定しましょう。

npx -y [email protected] audit

MartinLoop は Claude Code のセッション履歴をローカルで読み取り、修正と再試行のループで発生した API 相当のエージェント費用、検証コマンドが失敗した頻度、最長の再試行チェーン、失敗状態で終了したセッションを報告します。セッションの内容はローカルに保持されます。公開料金の照会も無効にするには --offline を使用し、スクリーンショット向けの SVG と Markdown の概要を作成するには --share を使用します。

次に、次回の実行に制限を設けましょう。

npx -y [email protected] enable --engine codex
npx -y [email protected] run "<task>" --verify "npm test" --budget-usd 2 --max-iterations 3

2 分でできるインストール手順

MartinLoop が複数の対応コーディングエージェントのランタイムを検出した場合は、最初に制御付きで実行する前に、使用するランタイムを保存してください。たとえば、次のようにします。

npx -y martin-loop@latest enable --engine codex

使用するランタイムに合わせて、codex を claude または gemini に置き換えてください。

npx -y martin-loop@latest start
npx -y martin-loop@latest demo
cd martin-loop-demo
npm install
npx -y martin-loop@latest run "Summarize the demo workspace and prove tests still pass" --verify "npm test" --budget-usd 2 --max-iterations 1

クイックスタート

使い捨てのデモ用ワークスペースで MartinLoop を試してみましょう。

npx -y martin-loop@latest enable --engine codex
npx -y martin-loop@latest start
npx -y martin-loop@latest demo
npx -y martin-loop@latest --version
cd martin-loop-demo
npm install
npx -y martin-loop@latest run "Summarize the demo workspace and prove tests still pass" --verify "npm test" --budget-usd 2 --max-iterations 1
npx -y martin-loop@latest dossier --latest
npx -y martin-loop@latest share --latest

グローバルインストールは任意です。

npm install -g martin-loop
martin-loop --version

このフローが役立つ場合は、フィードバックを添えてイシューを作成してください。公開環境をさらに改善していくために活用します。

start は初回起動時のガイド付き手順を表示します。run は doctor、session-start、preflight を自動で確認し、環境の準備ができていれば実行します。明示的に支出なしの実行経路を選ぶ場合に限り、--proof を使用してください。

確認を先に行うフロー:

npx -y martin-loop@latest enable --engine codex
npx -y martin-loop@latest doctor
npx -y martin-loop@latest session-start
npx -y martin-loop@latest preflight "Summarize the demo workspace and prove tests still pass" --verify "npm test"

share --latest は、選択した実行ディレクトリの share/ 内に、run-receipt.json、run-receipt.md、proof-card.svg の 3 つのファイルを書き込みます。

MartinLoop 0.6.5 のリリースノート:MartinLoop 0.6.5。

MartinLoop 0.6.6 のリリースノート:MartinLoop 0.6.6。

MartinLoop 0.6.7 のリリースノート:MartinLoop 0.6.7。

MartinLoop 0.6.8 のリリースノート:MartinLoop 0.6.8。

MartinLoop 0.7.0 のリリースノート:MartinLoop 0.7.0。

MartinLoop 0.7.1 のリリースノート:MartinLoop 0.7.1。

MartinLoop 0.8.0 のリリースノート:MartinLoop 0.8.0。

MartinLoop 0.8.1 のリリースノート:MartinLoop 0.8.1。

MartinLoop 0.8.2 のリリースノート:MartinLoop 0.8.2。

MartinLoop 0.8.3 のリリースノート:MartinLoop 0.8.3。

MartinLoop 0.8.4 のリリースノート:MartinLoop 0.8.4。

MartinLoop 0.8.5 のリリースノート:MartinLoop 0.8.5。

MartinLoop 0.8.6 のリリースノート:MartinLoop 0.8.6。

MartinLoop 0.8.7 のリリースノート:MartinLoop 0.8.7。

MartinLoop 0.8.8 のリリースノート:MartinLoop 0.8.8。

MartinLoop 0.8.9 のリリースノート:MartinLoop 0.8.9。

MartinLoop 0.8.10 のリリースノート:MartinLoop 0.8.10。

スウォームモードのデモ

プロバイダーへの呼び出しや費用なしで、決定論的な 15 エージェントのローンチボードデモを実行します。

npx -y [email protected] demo --swarm

この結果はローカルシミュレーションの証拠に限られます。制御対象外であり、スウォーム実行ストアには保存されず、署名付きレシートの整合性も評価しません。デモの出力は、demo --swarm の人間向け表示または demo --swarm --json と、--dir の下に作成されるローカルファイルで確認してください。デモの出力には swarm status、swarm inspect、swarm dossier、swarm verify、swarm share を使用しないでください。

保存済みの実際のスウォーム証拠を得るには、swarm plan と swarm run を使用してください。保存された実行データのみが、swarm status、swarm inspect、swarm dossier、swarm verify、swarm share の入力として使用できます。

モデルとエンジンのサポート

MartinLoop は、コーディングワーカーとは独立してジョブを管理します。

  • ネイティブエージェント CLI:Codex、Claude Code、Gemini CLI
  • OpenAI 互換エンドポイント:Kimi K2、NVIDIA Nemotron、DeepSeek、Qwen/Qwen Coder、Mistral/Codestral、OpenRouter/Together/Fireworks のルート、Ollama、LM Studio、llama.cpp、その他の互換エンドポイント
  • OpenAI 互換のモデルエンドポイントには --engine openai を使用します。

ワーカーが変わっても、MartinLoop の予算、スコープ、検証器、レシート、整合性に関する契約は変わりません。

詳細:モデルとエンジンのサポート

実行開始から引き継ぎまで

MartinLoop のターミナル表示は、単一の検証コマンドではなく、管理されたライフサイクルを中心に構成されています。

管理対象の実行計画には、作業開始前にタスク、予算方針、検証計画、スコープ、実行境界など、設定された完了条件が表示されます。

制御された実行では、MartinLoop が試行回数、コスト、停止条件、復旧状態を追跡しながら、コーディングエージェントをこれらの境界内で動作させます。

検証済みの引き継ぎでは、次のいずれかの確定した結果で一連の処理を締めくくります。

  • 設定された証拠が完了の定義を裏付ける場合は VERIFIED
  • 設定されたハード境界によって実行が終了した場合は STOPPED
  • 入手可能な証拠から完了を確認できない場合は NEEDS REVIEW

引き継ぎには、検証ステップ、スコープの状態、試行回数、コストの出所、未解決の証拠、復旧状態、レシートの整合性、次の安全なアクションを含めることができます。具体的な項目は、実行によって実際に確認された内容に応じて異なります。

視覚的な証明

MartinLoop は、AI コーディングの実行を検査可能な実行記録に変換します。予算の使用状況、検証結果、変更ファイル、ロールバックの証拠、最終レシートが記録されます。

管理されたエージェントの実行を表示する MartinLoop CLI

管理されていないエージェントでは、コストやスコープがずれても再試行が続く可能性があります。MartinLoop は予算上限、検証ゲート、監査証拠を追加し、明確な停止条件を設けます。

MartinLoop の管理された実行と、無制限の再試行ループの比較

MartinLoop Arcade

長時間の管理された実行でも、スピナーを見つめ続ける必要はありません。対話型ターミナルでは、コーディングエージェントがバックグラウンドで作業を続ける間、MartinLoop Arcade を表示できます。

Arcade は表示専用です。エージェント、予算、検証器、ポリシーの判断、実行結果、レシートの証拠を変更することはできません。JSON、CI、非対話型の実行経路や、その他の機械可読な実行経路には影響しません。

サポート対象の対話型実行で Arcade をすぐに表示するには --arcade を、実行中に表示しないようにするには --no-arcade を使用します。

証明レシート

証明レシートは、管理された AI コーディング実行を共有するためのローカルバンドルです。タスク、支出額、予算、検証結果、レシートの整合性、および確信度を誇張すべきでない証拠の境界を示します。

この実際の管理された実行では、$3.00 の予算に対して $0.51 を消費しました。検証は合格し、レシートの整合性には署名が付与されましたが、ロールバックの証拠が記録されていなかったため、証明の状態は EVIDENCE_BOUNDARY のままでした。

支出額、予算、検証、整合性、証拠の境界を示す、管理された実行の MartinLoop CLI 証明レシート

管理された実行の後に、自分のレシートを生成します。

npx -y martin-loop@latest run "Summarize the demo workspace and prove tests still pass" --proof --verify "npm test"
npx -y martin-loop@latest runs verify --latest
npx -y martin-loop@latest share --latest

レシートのサンプルファイル:Markdown および JSON。

公開リリースを自分で検証する

クリーンな一時ディレクトリから、この手順を使って、公開されている CLI のフローをリリース時の状態そのままで検証できます。

npx -y [email protected] enable --engine codex
npx -y [email protected] --version
npx -y [email protected] start
npx -y [email protected] demo
cd martin-loop-demo
npm install
npx -y [email protected] run "Summarize the demo workspace and prove tests still pass" --verify "npm test" --budget-usd 2 --max-iterations 1 --json
npx -y [email protected] dossier --latest --json
npx -y [email protected] share --latest --json

再現性のあるインストールには、パッケージのバージョン系列([email protected])を固定するか、martin-loop@latest を使用してください。npx martin-loop のみを指定すると、一部のマシンでは古いローカルキャッシュが解決される場合があります。

共有バンドルで生成される出力:

  • share/run-receipt.json
  • share/run-receipt.md
  • share/proof-card.svg

実際の動作を見る

すべての管理対象実行が常に低コストになることがポイントではありません。ポイントは、すべての実行を検査可能かつ強制可能にすることです。予算ポリシー、検証結果、停止理由、証拠が明示されます。

再現性のある公開検証手順では、ベンチマーク用ワークスペースを使用して、管理対象の実行と制限のない再試行の動作を比較してください。

  • npx martin-loop bench --suite under-3-challenge
  • npx martin-loop bench --suite ralphy-engineering-50

Ralph 形式のループ

Ralph 形式のループとは、継続することが危険、不経済、または成功の見込みが低いタイミングを把握しないまま、AI コーディングエージェントが試行を続ける失敗パターンです。

MartinLoop はループの有用な部分を維持しながら、次のブレーキを追加します。

  • 予算超過の前に停止する
  • 危険または無効な操作を実行前に分類する
  • すべての試行の監査記録を作成する
  • レビュー用にロールバックと検証の証拠を保持する
  • コンパクトな実行サマリーで、コンテキストの制御不能な増加を抑える

失敗分類体系(13 の実行時クラス)

コーディングエージェントの失敗を「何か問題が起きた」だけで済ませても、十分な情報にはなりません。

MartinLoop は、実行時の失敗を 13 の標準クラスに分類します。これにより、実行が失敗したときに、何が起きたのか、何に対処が必要なのか、今後の実行で何を学べるのかがわかります。

MartinLoop の失敗分類体系。13 の実行時失敗クラスと分類が重要な理由を示しています

標準テーブルをご覧ください:失敗分類体系(13 の実行時クラス)。

機能

  • 予算上限により、設定された USD、トークン、またはイテレーションの上限を超える前に、次の試行を停止します。
  • 検証ゲートにより、実行を完了とみなす前に、npm test などの実際のチェックを必須にします。
  • ポリシーチェックにより、危険な検証コマンド、リスクのあるパスの変更、シークレットのようなタスク入力を、実行前にブロックします。
  • 失敗の分類では、標準の実行時クラスを使ってトリアージとレポートを行います。失敗分類体系(13 の実行時クラス)をご覧ください。
  • 実行レシートには、停止理由、検証の証拠、予算の状態、整合性の状態、次に安全に実行できる操作が記録されます。
  • martin share --latest を実行すると、直近の管理対象実行がローカル共有バンドルに変換されます。これには、機密情報を除去した JSON レシート、Markdown の要約、証明カードの SVG が含まれます。
  • MCP 統合により、ホストに書き込み可能な実行用エントリーポイントを 1 つ提供し、より高度な計画、検査、レビュー用のヘルパーも提供します。

仕組み

レイヤー目的
タスク契約目標、検証計画、リポジトリのルート、許可するパス、拒否するパス、受け入れ基準、ワークスペース、プロジェクト、予算を定義します。
ポリシーと予算デフォルト値は martin.config.yaml から取得されます。CLI フラグで上書きできます。予算の事前チェックにより、ポリシーを超過する試行をブロックします。
エージェントアダプターClaude CLI、Codex CLI、Gemini CLI、直接プロバイダー向けのアダプターが、実行結果を正規化します。
安全性と検証スコープチェック、検証コマンドのチェック、プロンプトの整合性、グラウンディングに基づいて、作業を継続できるかどうかを判断します。
永続化JSONL の実行記録、証拠の要約、リポジトリに保存されるアーティファクトにより、すべての実行を後から検査できます。各ループ記録にはローカル署名(実行ルートごとのキーを使用した HMAC)が付与され、dossier/runs get/runs verify/challenge/badge は integrity 判定(verified/tamper_detected/unsigned)を報告します。これにより、記録への事後編集を検査できるだけでなく、検出することもできます。

信頼境界

  • コストとトークンの出力には、必ず出所(actual、calculated、estimated、または unavailable)が含まれます。
  • Codex については、ホストが使用状況を公開している場合に限り、MartinLoop は正式な使用状況を報告します。そうでない場合、MartinLoop は使用状況を推定値として明示し、確定した会計情報として提示することを避けます。
  • 実行結果を外部レビューの信頼できる証拠として扱うには、レシートの整合性が verified である必要があります。

CLI

martin-loop doctor
martin-loop demo
martin-loop session-start [--host <claude|codex|gemini|generic>]
martin-loop phase status|contract|session-start|preflight|run [--execute]
martin-loop preflight <objective> [options]
martin-loop run <objective> [options]
martin-loop bench --suite <suiteId>
martin-loop triage
martin-loop dossier (--latest | --loop-id <id> | --file <path>)
martin-loop runs list|get|attempt|verify ...
martin-loop mcp print-config --host <codex|claude|gemini|cursor|vscode|generic>
martin-loop mcp install --host <codex|claude|gemini|cursor|vscode|generic>
martin-loop mcp verify-install --host <name> [--scope <user|project|local>]
martin-loop mcp rollback --host <name> [--scope <user|project|local>]
martin-loop mcp uninstall --host <name> [--scope <user|project|local>]
martin-loop challenge [--loop-id <id> | --file <path> | --latest]
martin-loop share (--loop-id <id> | --file <path> | --latest) [--out-dir <path>]
martin-loop badge [--format svg|json] [--runs-dir <path>]

VS Code にインストール Cursor に追加

一般的なオプション:

--budget <n>            Hard cost cap in USD
--budget-usd <n>        Alias for --budget
--soft-limit-usd <n>    Soft budget threshold in USD
--verify <cmd>          Verifier command after each attempt
--proof                 Run verifier-only evidence checks without claiming governed execution
--max-iterations <n>    Maximum number of attempts
--max-tokens <n>        Maximum token budget
--engine <name>         Adapter to use: claude, codex, gemini, or openai
--cwd <path>            Repo root for the run
--allow-path <glob>     Restrict writes to this path pattern; repeatable
--deny-path <glob>      Block this path pattern; repeatable
--runs-dir <path>       Override the local Martin runs root

以下の例では、グローバルインストールなしで実行できるように npx martin-loop を使用しています。martin-loop をグローバルにインストールした場合は、martin エイリアスも使用できます。

別の人に共有する際、実行ストアの生ファイルを送らずに済むよう、秘匿情報を削除したバンドルを作成するには、dossier の後に martin-loop share --latest を使用してください。

詳細:CLI リファレンスおよび設定リファレンス。

MartinLoop CLI のターミナル出力

ベンチマーク

MartinLoop には、benchmarks/ 内の公開されている決定論的なベンチマークワークスペースと、インストール済みパッケージの bench コマンドが含まれています。

インストール済みパッケージから実行する場合:

npx martin-loop bench --suite under-3-challenge
npx martin-loop bench --suite ralphy-engineering-50

クリーンな公開クローンから実行する場合:

pnpm install --frozen-lockfile
pnpm bench:build
pnpm bench:eval
pnpm bench:report:ralphy

同等のワークスペースフィルターコマンド:

pnpm --filter @martin/benchmarks build
pnpm --filter @martin/benchmarks test
pnpm --filter @martin/benchmarks eval
pnpm --filter @martin/benchmarks report:ralphy

インストール済みパッケージのコマンドは、同梱されている公開フィクスチャを読み込みます。リポジトリのクローンを使うワークフローでは、公開ベンチマークワークスペースを直接実行します。

MCP

スタンドアロンの MCP パッケージを直接実行します:

npx -y @martinloop/mcp

一般的なホストに追加します:

codex mcp add martin-loop -- npx -y @martinloop/mcp
claude mcp add --transport stdio --scope user martin-loop -- npx -y @martinloop/mcp
claude mcp add --transport stdio --scope user martin-loop -- cmd /c npx -y @martinloop/mcp

ルート CLI からホスト設定を生成します:

npx martin-loop mcp print-config --host codex --transport stdio --profile minimal
npx martin-loop mcp print-config --host claude --transport stdio --profile diagnostic
npx martin-loop mcp print-config --host gemini --transport stdio --profile full-local
npx martin-loop mcp print-config --host generic --transport stdio --profile github-review

ルートの martin-loop パッケージ、スタンドアロンの @martinloop/mcp パッケージ、プラグインのメタデータ、および MCPB 製品バージョンは、0.8.10 に統一されています。MCPB マニフェストのスキーマは 0.3 のままです。

公開 MCP リリースの段階は次のとおりです。

  • 0.1.4 オペレーター基盤
  • 0.2.0 コックピットの拡張
  • 0.2.5 公開 MCP パッケージ系列
  • 0.2.7 使いやすさとレビューのリリース
  • 0.3.0 ホストへの採用とオンボーディングのリリース
  • 0.3.1 レビューと引き継ぎのリリース
  • 0.5.3 実行制御とホスト互換性のリリース
  • 0.5.5 ガバナンスに基づく自律実行と証明サーフェスのリリース
  • 0.5.6 ホスト型実行同期、フェイルクローズのロールバック、検証済み完了の強化

スタンドアロン MCP のレジストリ/サーバー識別子は io.github.Keesan12/martin-loop です。

詳細:MCP のセットアップ、MCP ツールのリファレンス、MCP の互換性。

SDK

npm install martin-loop
import { MartinLoop, createClaudeCliAdapter } from "martin-loop";

const loop = new MartinLoop({
  adapter: createClaudeCliAdapter({ workingDirectory: process.cwd() }),
  defaults: {
    workspaceId: "my-workspace",
    projectId: "my-project",
    budget: {
      maxUsd: 3,
      softLimitUsd: 2.25,
      maxIterations: 3,
      maxTokens: 20_000,
    },
  },
});

const result = await loop.run({
  task: {
    title: "Fix auth regression",
    objective: "Fix the failing auth regression tests",
    verificationPlan: ["pnpm test"],
    repoRoot: process.cwd(),
  },
});

console.log(result.decision.status);

ルート SDK は、createCodexCliAdapter、createGeminiCliAdapter、createDirectProviderAdapter、および createOpenAiCompatibleAdapter もエクスポートします。

詳細:SDK リファレンスおよびパッケージ一覧。

例

開発

必要条件:

  • Node.js 20+
  • pnpm 10.x
git clone https://github.com/Keesan12/martin-loop.git
cd martin-loop
pnpm install --frozen-lockfile
pnpm lint
pnpm test
pnpm build
pnpm public:copy-scan
pnpm public:git-surface
pnpm oss:validate
pnpm public:smoke
pnpm release:matrix:local

スタンドアロンの MCP 検証:

pnpm --filter @martinloop/mcp lint
pnpm --filter @martinloop/mcp test
pnpm --filter @martinloop/mcp build
pnpm --filter @martinloop/mcp smoke:pack
pnpm --filter @martinloop/mcp smoke:published:pack
pnpm --filter @martinloop/mcp verify:release

コントリビューション

課題、バグ報告、ワークフローに関するフィードバック、範囲を絞ったプルリクエストを歓迎します。公開向けのドキュメントは、簡潔でユーザーを中心とし、正確な内容にしてください。

git checkout -b feat/your-feature
pnpm lint
pnpm test
git commit -m "feat: describe what you built"
git push -u origin feat/your-feature

各ステップを見守らなくてもコーディングエージェントにもっと実作業を任せたい場合は、このリポジトリにスターを付けてください

martinloop.com · [email protected]

MartinLoop は NVIDIA Inception プログラムの一員です。

NVIDIA Inception Program のロゴ

テレメトリーとプライバシー

MartinLoop は、信頼性の向上と開発の優先順位付けに役立てるため、最小限の匿名利用データを送信します。新規に対話型インストールを行うと、テレメトリーはデフォルトで有効になりますが、初回の開示が表示されるまでは送信されません。開示の後は、オプトアウトしない限り、同じ実行中に許可リストに登録された匿名イベントが送信される場合があります。

送信される情報:

  • ランダムなインストール ID(ローカルで生成され、ユーザーの身元と結び付けられることはありません)
  • プロセスごとのセッション ID
  • CLI のバージョン、Node のバージョン、OS、アーキテクチャ
  • イベント名とタイムスタンプ
  • コマンドのカテゴリ、実行時間、成功/失敗のカテゴリ
  • レシートが生成されたかどうか、復旧が発生したかどうか
  • クリック後の不透明なリモートエクスペリエンス ID/タイプ

送信されない情報:

  • ソースコード、プロンプト、タスクのテキスト、リポジトリの内容、ファイル名、ファイルパス
  • 環境変数、シークレット、プロバイダー/モデルの出力
  • レシートの内容、台帳の内容、承認の詳細、検証エビデンス
  • メールアドレス、ワークスペース、プロジェクト、組織の識別子
  • 例外メッセージやスタックトレースの生データ

エンドポイント: https://tupopqvqnyyjuxseyxkr.supabase.co/functions/v1/product-events

送信されるヘッダー: Content-Type: application/json、User-Agent: MartinLoop-CLI/<version>

認証ヘッダー、API キー、テーブルへの直接アクセスはありません。

いつでもオプトアウトできます:

martin telemetry off

送信内容を確認する:

martin telemetry explain

テレメトリーを無効にする環境変数: MARTIN_TELEMETRY_DISABLED=1、DO_NOT_TRACK=1、CI=1

MARTIN_TELEMETRY_DEBUG=1 を設定すると、送信せずにテレメトリーのエンベロープを stderr に出力します。

テレメトリーを無効にしても、MartinLoop は通常どおり動作します。テレメトリーへの同意が機能の利用条件になることはありません。

ライセンス

Apache-2.0。詳細は LICENSE を参照してください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。