mcpField
G
gatekeeper

gatekeeper

ローカル
github.com/Runestone-Labsセキュリティ03 週間前に更新

gatekeeper について

gatekeeper は MCP クライアントと Runestone Gatekeeper をつなぎ、シェル、ファイル書き込み、HTTP などの呼び出しをポリシーで制御する MCP サーバーです。呼び出しは許可、拒否、または人による承認待ちとなり、監査記録も残ります。

主な機能

  1. 01ツール呼び出しのポリシー確認
  2. 02人による承認への対応
  3. 03監査情報の記録
  4. 04シェル、ファイル、HTTP ツール
  5. 05予期しない応答を失敗として処理

活用シーン

  1. 01エージェントのシェルコマンド制限
  2. 02ファイル書き込みの承認
  3. 03HTTP リクエストの制御と監査
  4. 04Gatekeeper 経由での他ツール呼び出し

MCP 対応

MCP サーバーはクライアントのツール呼び出しを稼働中の Gatekeeper に転送し、ポリシー確認、承認結果、監査を呼び出しに組み込みます。stdio で接続し、単独では操作を実行しません。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"runestone-labs-gatekeeper": {
"command": "npx",
"args": [
"-y",
"@runestone-labs/gatekeeper-mcp"
],
"env": {
"GATEKEEPER_ROLE": "<GATEKEEPER_ROLE>",
"GATEKEEPER_URL": "<GATEKEEPER_URL>",
"GATEKEEPER_AGENT_NAME": "<GATEKEEPER_AGENT_NAME>",
"GATEKEEPER_RUN_ID": "<GATEKEEPER_RUN_ID>"
}
}
}
}
起動コマンドnpx -y @runestone-labs/gatekeeper-mcp
設定が必要な環境変数
GATEKEEPER_ROLEPolicy role this server presents to Gatekeeper for every call. Required.
GATEKEEPER_URLBase URL of the Gatekeeper server. Default http://127.0.0.1:3847.
GATEKEEPER_AGENT_NAMEAgent name recorded in Gatekeeper audit logs. Default mcp-client.
GATEKEEPER_RUN_IDOptional run-correlation id so calls count toward one per-run budget.

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

パッケージ
npm@runestone-labs/gatekeeper-mcp0.1.2

ツール

5

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

パラメーター型必須説明
cwdstringいいえ作業ディレクトリ。
commandstringはい実行する shell コマンド。
timeoutMsintegerいいえ呼び出しごとのタイムアウト(ms)。

詳細

Runestone Gatekeeper — MCP サーバー

Runestone Gatekeeper 経由でのみ、あらゆる MCP クライアント(Claude Desktop、Claude Code、Cursor、…)から実際のツール呼び出し(シェル、ファイル書き込み、HTTP、 または任意の Gatekeeper ツール)を実行できる MCP サーバーです。 すべての呼び出しはポリシーによるチェックを受け、人間の承認が必要になる場合があり、監査記録が残ります。 モデルがシステムに直接触れることはありません。Gatekeeper がその手前に配置されます。

MCP client (LLM)  ──tools/call──▶  gatekeeper-mcp  ──policy-gated──▶  Gatekeeper  ──▶  shell / files / HTTP

要件

Gatekeeper サーバーが稼働している必要があります(リポジトリのルートを参照)。このパッケージは MCP のフロントエンドにすぎず、単体では何も行いません。

インストール/設定

stdio 経由で動作します。MCP クライアントの設定(例:Claude Desktop (claude_desktop_config.json))に追加してください。

{
  "mcpServers": {
    "gatekeeper": {
      "command": "npx",
      "args": ["-y", "@runestone-labs/gatekeeper-mcp"],
      "env": {
        "GATEKEEPER_URL": "http://127.0.0.1:3847",
        "GATEKEEPER_ROLE": "openclaw"
      }
    }
  }
}
Env必須デフォルト説明
GATEKEEPER_ROLEはい—このサーバーがすべての呼び出しで Gatekeeper に提示するポリシーロールです。
GATEKEEPER_URLいいえhttp://127.0.0.1:3847Gatekeeper のベース URL です。
GATEKEEPER_AGENT_NAMEいいえmcp-client監査ログに記録される名前です。

無人エージェント向けの共有承認

ローカルの Gatekeeper とこの MCP 統合は無料です。エージェントの無人実行中に、承認を担当するチームメイトが必要ですか?現在、最大 5 人、5 インスタンスまで利用できる 月額 49 ドルの Gatekeeper Team をテスト中です。提案中の Cloud サービスでは、保留中のアクション、チームメイトによる承認または拒否、および結果の記録を連携する予定です。Cloud は計画中であり、一般公開されていません。また、このテスト中に支払いが発生することはありません。対象となるのは、実際に Gatekeeper 経由でルーティングされたアクションのみです。MCP サーバーをインストールしても、クライアントの他のツールは対象になりません。

提案中のワークフローを確認し、チームのニーズをお知らせください。 フォームでは、実際にルーティングされた最初のアクションや、後日の再利用について任意で報告することもできます。 これらは手動での自己申告であり、外部から検証された利用開始情報ではありません。コマンドや未加工の監査ログを送信しないでください。このテストでは、MCP サーバーに自動的な利用状況の報告機能は追加されません。

ツール

ツールGatekeeper ツール用途
shell_execshell.execシェルコマンドを実行します。
files_writefiles.writeファイルを書き込みます。
http_requesthttp.requestHTTP GET/POST(外向き通信はポリシーで制御されます)。
gatekeeper_call(任意)汎用の代替手段です。名前を指定して任意の Gatekeeper ツール(例:memory.query)を呼び出します。
gatekeeper_health—Gatekeeper サーバーに到達できるか確認します。

Gatekeeper を介したすべての呼び出しは、次のいずれかを返します。

  • allow → ツールの出力。
  • deny → 理由を説明するエラー結果(呼び出しは実行されていません)。
  • approve → Gatekeeper で人間による承認が必要であることを示すエラー結果(呼び出しは実行されていません)。

セキュリティモデル

このサーバーはポリシー境界であるため、意図的に厳格な設計になっています。

  • ID はサーバー側で固定されています。 ロールは GATEKEEPER_ROLE から取得され、origin は model_inferred、taint は mcp_client に固定されています。MCP クライアントはツール引数を通じて actor/role/origin/taint/capability tokens を設定または上書きできません。ツール引数からこれらに至るコード経路はありません。
  • フェイルクローズです。 拒否、承認待ち、または Gatekeeper からの不正な形式や予期しない応答は、すべてエラーとして返されます。成功した結果として返されることはありません。
  • エンドポイントのトラバーサルはできません。 汎用ツール名は厳密なドット区切り識別子として検証されます。../、スラッシュなどは、リクエストを送信する前に拒否されます。
  • 情報は漏えいしません。 Gatekeeper の URL と、認証情報に見える文字列は、クライアントに渡す前にエラーメッセージから除去されます。

これらの不変条件は、敵対的テストスイート(src/*.test.ts)で検証されています。

配布

npm では @runestone-labs/gatekeeper-mcp として公開され、MCP Registry には io.github.runestone-labs/gatekeeper として登録されています(server.json を参照)。MCP Registry はプレビュー段階です。

ライセンス

Apache-2.0

コメント

MCP は初めてですか?

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

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