Marchward について
Marchwardは、本番環境のAIエージェント向けオープンソースの実行時制御レイヤーです。ツール呼び出しの実行前にポリシーを適用して改ざん検知可能な記録を残し、セルフホスト環境で認証情報の仲介、支出上限、人の承認を組み合わせます。
主な機能
- 01ポリシーに基づく許可・拒否・承認要求
- 02認証情報の仲介と実キーの秘匿
- 03エージェントの支出上限設定
- 04不可逆な操作への承認要求
- 05オフライン検証可能な改ざん検知ログ
活用シーン
- 01本番エージェントの操作を制限
- 02実サービスの認証情報へのアクセス防止
- 03破壊的操作に人の承認を設定
- 04エージェントの判断記録の監査と検証
MCP 対応
ローカルプロキシは任意のMCPサーバーをラップし、各tools/callの実行前に許可、拒否、承認要求を適用できます。判断はオフライン検証可能なハッシュチェーン監査ログに記録されます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Marchward · AI エージェントの実行時ガバナンス
Marchward
AI エージェントに許可する 操作 を制御します。 Marchward は、エージェントのツール呼び出しの前段に置く単一のオープンなレイヤーです。アクションの実行前に4つの制御を適用し、すべての判断について改ざん検知可能な記録を残します。セルフホスト可能で、Apache-2.0 ライセンス、フレームワークに依存しません。
- 認証情報の仲介。 エージェントが持つのは Marchward キーだけで、実際の GitHub、Stripe、データベースの認証情報を持つことはありません。実際のシークレットは実行時に注入され、エージェントがそれを見ることはありません。
- 推論コストの上限。 エージェントの支出に厳格な上限を設けるため、ループが暴走して予算を使い果たすことはありません。
- 承認ゲート。 取り消せないアクションは、無人で実行されるのではなく、人間の承認を待ちます。
- 改ざん検知可能な監査。 すべての判断がハッシュチェーン方式のログに追記され、オフラインで検証できます。単に記録するのではなく、証明可能です。
この分野のツールの大半は、これらのいずれか1つをカバーしています。Marchward は4つすべてを1か所にまとめ、オープンでセルフホスト可能な形で提供します。
出力ガードレールは、エージェントが 何を言うか(有害性、PII、トピック)をチェックします。Marchward は、エージェントが 何をするか(支出、削除、実行)を制御します。エージェントが引き続きキーを持ち、別の呼び出しを行えるなら、出力のチェックではそのエージェントを止められません。Marchward はアクションそのものを制御します。
本番環境ですでにエージェント(LangGraph、LangChain、生の SDK、任意の MCP サーバー、または任意のランタイムからの HTTP 呼び出し)を運用しており、エージェントの自律性を保ちつつ、予算の使い果たし、無人での取り消せないアクション、監査証跡のない操作を防ぎたいチーム向けに構築されています。
クイックスタート:60秒でエージェントを制御する(完全ローカル、アカウント不要)
marchward-proxy は任意の MCP サーバーを子プロセスとしてラップし、実行前にすべての tools/call をポリシーに照らして評価します(ブロック、許可、または人間の承認のために一時停止)。すべてお使いのマシン上で、お客様自身の認証情報を使って処理します。
# Write a policy (escalate anything destructive, allow the rest)
cat > policy.json <<'EOF'
{ "rules": [
{ "match": { "toolPattern": "*delete*" }, "decision": "ESCALATE" },
{ "match": { "toolPattern": "*" }, "decision": "ALLOW" }
]}
EOF
# Put Marchward in front of your agent's MCP server, local mode, no API
npx -p @marchward/proxy marchward-proxy \
--command "node my-mcp-server.js" \
--policy-file ./policy.json \
--local
エージェントによるすべてのツール呼び出しは、まずポリシーを通過するようになり、オフラインで検証できるローカルの改ざん検知可能な(ハッシュチェーン方式の)監査ログに記録されます。アカウントは不要で、当社へのネットワーク呼び出しもありません。
SDK をお使いですか? pip install marchward を実行し、呼び出しを marchward.execute() でラップしてください。独自のセルフホスト環境、またはマネージドプレーン(以下を参照)を指定できます。
オープンな機能とホスト型の機能
このリポジトリのオープンなパッケージは、完全に機能するセルフホスト型のガバナーです。一部の運用機能には共有状態が必要なため、ホスト型プレーン(無料プラン、カード不要)で実行されます。
| オープン(セルフホスト、このリポジトリ) | ホスト型プレーン(Marchward Cloud) | |
|---|---|---|
| 実行制御:ポリシーによるツール呼び出しの許可/ブロック/エスカレーション | はい | はい |
| ローカルガバナー(MCP/HTTP インターセプト、独自の認証情報) | はい | はい |
| 改ざん検知可能な監査:ハッシュチェーンのプリミティブ+オフライン検証 | はい | 保持、検索可能、監視対象 |
| 承認ゲートの判断 | はい | +マネージドワークフロー(通知、承認、再開) |
| 推論コストの上限 | ローカルで計算 | 適用(ローリングウィンドウでの支出) |
| 認証情報の仲介(エージェントが持つのは1つのキーだけで、実際の認証情報は注入され、エージェントが見ることはありません) | はい、独自のローカルシークレットストアを使用 | はい、マネージドボールト |
| マネージド認証情報ボールト、マルチテナンシー、SSO/RBAC | いいえ | はい |
つまり、実行制御、独自のローカルストアを利用した認証情報の仲介、ローカルのコスト上限、ローカル監査ログには、これをセルフホストしてください。マネージド認証情報ボールト(ローテーション、チーム共有)、承認ワークフロー、監査のサービスとしての保持、エージェント横断の適用を利用するには、無料のホスト型プランを追加してください。基盤となるエンジンは同じです。プロキシの --remote モードでプレーンを指定するだけです。
仕組み
- エージェントがツール呼び出しを行います(MCP、HTTP、または SDK 経由)。
- Marchward がポリシーに照らして評価します。リスクは解決後のアクションに基づいて判断されます。破壊的な操作(
DELETE、または破壊的操作としてフラグ付けされたPOST)は、ツールの 名前 に関係なくゲートされるため、独自の名前を付けた破壊的なツールで回避することはできません。 - ALLOW / ESCALATE / BLOCK の判定は、呼び出しの実行前に適用され、ハッシュチェーン監査ログに追記されます。
- 認証情報の仲介により、エージェントが保持するのは Marchward キーだけです。プロキシが実際のサービス認証情報(セルフホストの場合はユーザー自身のローカルストアから、ホスト型環境の場合は管理対象のボールトから)を注入するため、エージェントが保持していない認証情報を不正な「別のツール呼び出し」に悪用されることはありません。
パッケージ
@marchward/engine:決定論的な判定エンジンとハッシュチェーン監査プリミティブ(依存関係なし)。@marchward/proxy:ローカルガバナー(MCP + HTTP)、--localまたは--remote。@marchward/sdk(TypeScript)とmarchward(Python、PyPI 提供):クライアント。
プロジェクト
- 貢献:
CONTRIBUTING.md(DCO サインオフ、git commit -s) - セキュリティ:
SECURITY.md· 行動規範:CODE_OF_CONDUCT.md· ガバナンス:GOVERNANCE.md - 商標:
TRADEMARK.md。コードはオープン(Apache-2.0)ですが、名称はオープンではありません。 - オープンソースと商用の違い:
OPEN-VS-COMMERCIAL.md· ライセンスに関する確約(エンジンはオープンのままで、ライセンスを一方的に変更することはありません)。 - ライセンス: Apache-2.0。
- ホスト型の無料プラン: https://app.marchward.ai/signup(月 500 回の判定、カード不要)。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。