Gatekeeper

io.github.Runestone-Labs由 GitHub 帳號 Runestone-Labs 發布v0.1.2更新於 Oct 24, 2026

Run MCP tool calls through Runestone Gatekeeper — policy enforcement, human approval, audit.

概覽

AI 產生的概覽

一個本機 MCP 入口,把助理的 shell、檔案寫入與 HTTP 呼叫統一交給 Runestone Gatekeeper 進行政策檢查、人工核准與稽核。

可以做什麼
透過 Gatekeeper 政策閘門執行 shell 指令(shell_exec)。經政策閘門寫入檔案(files_write)。發出受對外流量政策管控的 HTTP GET/POST 請求(http_request)。透過通用入口依名稱呼叫任意其他 Gatekeeper 工具(gatekeeper_call)。檢查 Gatekeeper 伺服器是否可連線(gatekeeper_health)。每次受控呼叫會回傳允許及輸出,或被拒絕、待核准的錯誤結果。
適用情境
當你希望助理的 shell、檔案與網路操作都經過統一的政策引擎、稽核記錄,並可能需要人工核准,而不是讓模型直接接觸系統時使用。它必須搭配正在運作的 Gatekeeper 伺服器才有意義。
執行需求
需要一個可透過 GATEKEEPER_URL(預設 Gatekeeper 伺服器。npm 套件 @runestone-labs/gatekeeper-mcp 以 stdio 執行,通常透過 npx,因此需要 Node.js。GATEKEEPER_ROLE 為必填;GATEKEEPER_AGENT_NAME 與 GATEKEEPER_RUN_ID 為選填。僅支援桌面 MCP 用戶端。
安裝前請注意
此伺服器可執行 shell 指令、寫入檔案與發出 HTTP 請求,是真實的執行通道,安全性取決於 Gatekeeper 的政策與核准。操作可能被保留等待人工核准,未核准前不會執行。付費的團隊/雲端核准服務被描述為規劃中、尚未公開提供,測試期間不收取費用。僅涵蓋經 Gatekeeper 路由的呼叫,不涵蓋用戶端的其他工具。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Gatekeeper,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

Runestone Gatekeeper — MCP Server

An MCP server that lets any MCP client (Claude Desktop, Claude Code, Cursor, …) run real tool calls — shell, file writes, HTTP, or any Gatekeeper tool — only through Runestone Gatekeeper. Every call is policy-checked, may require human approval, and is audited. The model never touches your systems directly; Gatekeeper sits in front.

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

Requirements

A running Gatekeeper server (see the repo root). This package is just the MCP front door; it does nothing on its own.

Install / configure

It runs over stdio. Add it to your MCP client config, e.g. Claude Desktop (claude_desktop_config.json):

json
{  "mcpServers": {    "gatekeeper": {      "command": "npx",      "args": ["-y", "@runestone-labs/gatekeeper-mcp"],      "env": {        "GATEKEEPER_URL": "http://127.0.0.1:3847",        "GATEKEEPER_ROLE": "openclaw"      }    }  }}
EnvRequiredDefaultMeaning
GATEKEEPER_ROLEyes—The policy role this server presents to Gatekeeper for every call.
GATEKEEPER_URLnohttp://127.0.0.1:3847Gatekeeper base URL.
GATEKEEPER_AGENT_NAMEnomcp-clientName recorded in audit logs.

Shared approvals for unattended agents

Local Gatekeeper and this MCP integration are free. Need a teammate to handle approvals while your agents run unattended? We're testing Gatekeeper Team at $49/month, for up to five members and five instances. The proposed Cloud service would coordinate a held action, a teammate's approval or denial, and a record of the outcome. Cloud is planned, not publicly available, and no payment is collected during this test. Only actions actually routed through Gatekeeper are covered; installing the MCP server does not cover a client's other tools.

See the proposed workflow and share your team's needs. The form also lets you optionally report a first real routed action or return use on a later day. These are manual self-reports, not verified external activation. Don't send commands or raw audit logs; this test adds no automatic usage reporting to the MCP server.

Tools

ToolGatekeeper toolUse
shell_execshell.execRun a shell command.
files_writefiles.writeWrite a file.
http_requesthttp.requestHTTP GET/POST (egress-policed).
gatekeeper_call(any)Generic escape hatch — call any Gatekeeper tool (e.g. memory.query) by name.
gatekeeper_health—Check the Gatekeeper server is reachable.

Every gated call returns one of:

  • allow → the tool output.
  • deny → an error result explaining why (the call did not run).
  • approve → an error result saying a human must approve it in Gatekeeper; the call did not run.

Security model

This server is a policy boundary, so it is deliberately strict:

  • Identity is pinned server-side. Role comes from GATEKEEPER_ROLE; origin is fixed to model_inferred and taint to mcp_client. The MCP client cannot set or override actor / role / origin / taint / capability tokens via tool arguments — there is no code path from a tool argument to any of those.
  • Fail closed. A deny, a pending approval, or any malformed/unexpected Gatekeeper response is surfaced as an error — never as a successful result.
  • No endpoint traversal. Generic tool names are validated as strict dotted identifiers; ../, slashes, and the like are rejected before any request.
  • No leakage. The Gatekeeper URL and anything resembling a credential are scrubbed from error messages before they reach the client.

These invariants are covered by an adversarial test suite (src/*.test.ts).

Distribution

Published to npm as @runestone-labs/gatekeeper-mcp and listed on the MCP Registry as io.github.runestone-labs/gatekeeper (see server.json). The MCP Registry is in preview.

License

Apache-2.0

來源:integrations/mcp-server/README.md,提交 130d0b0

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v0.1.2最新Sep 16, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分