Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者提供的说明(英文原文)
Run MCP tool calls through Runestone Gatekeeper — policy enforcement, human approval, audit.
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
GATEKEEPER_ROLE, GATEKEEPER_URL, GATEKEEPER_AGENT_NAME, GATEKEEPER_RUN_ID你需要
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json
{
"mcpServers": {
"gatekeeper": {
"command": "npx",
"args": [
"-y",
"@runestone-labs/gatekeeper-mcp"
],
"env": {
"GATEKEEPER_ROLE": "your-value",
"GATEKEEPER_URL": "your-value",
"GATEKEEPER_AGENT_NAME": "your-value",
"GATEKEEPER_RUN_ID": "your-value"
}
}
}
}在终端中运行这条命令
claude mcp add gatekeeper --env GATEKEEPER_ROLE=your-value --env GATEKEEPER_URL=your-value --env GATEKEEPER_AGENT_NAME=your-value --env GATEKEEPER_RUN_ID=your-value -- npx -y @runestone-labs/gatekeeper-mcp运行前请先填写空着的值。
粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"gatekeeper": {
"command": "npx",
"args": [
"-y",
"@runestone-labs/gatekeeper-mcp"
],
"env": {
"GATEKEEPER_ROLE": "your-value",
"GATEKEEPER_URL": "your-value",
"GATEKEEPER_AGENT_NAME": "your-value",
"GATEKEEPER_RUN_ID": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"gatekeeper": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@runestone-labs/gatekeeper-mcp"
],
"env": {
"GATEKEEPER_ROLE": "your-value",
"GATEKEEPER_URL": "your-value",
"GATEKEEPER_AGENT_NAME": "your-value",
"GATEKEEPER_RUN_ID": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。
你的选择通过 Cookie 保存在这台设备上,无需账户。
GATEKEEPER_URL envGATEKEEPER_AGENT_NAME envGATEKEEPER_RUN_ID env这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月9日
注册名称已通过 GitHub 账户 Runestone-Labs 验证,该账户拥有此仓库
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
它在你的电脑上运行,没有互联网端点
在你的电脑上运行,改用本地设置
它在你的电脑上运行;我们只能读取互联网端点的工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
你需要填写:GATEKEEPER_ROLE
它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。
GitHub 仓库最后更新于–,最新版本(0.1.2)于2个月前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Node.js。
同一分类中有:Spec Driven Development, Remote Desktop Commander, Show HN Launches — buy per-query in-session (showhnwatch)
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:↓ 每周下载量i★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Show HN: indie launches & side projects. $0.01/query. Be born in one call — free testnet funds.
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
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](https://github.com/Runestone-Labs/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
A running Gatekeeper server (see the repo root). This package is just the MCP front door; it does nothing on its own.
It runs over stdio. Add it to your MCP client config, e.g. 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 | Required | Default | Meaning |
|---|---|---|---|
GATEKEEPER_ROLE | yes | — | The policy role this server presents to Gatekeeper for every call. |
GATEKEEPER_URL | no | http://127.0.0.1:3847 | Gatekeeper base URL. |
GATEKEEPER_AGENT_NAME | no | mcp-client | Name recorded in audit logs. |
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.
| Tool | Gatekeeper tool | Use |
|---|---|---|
shell_exec | shell.exec | Run a shell command. |
files_write | files.write | Write a file. |
http_request | http.request | HTTP 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:
This server is a policy boundary, so it is deliberately strict:
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.../, slashes, and the like are rejected before any request.These invariants are covered by an adversarial test suite (src/*.test.ts).
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.
Apache-2.0