MCP控制服务器

NORNR MCP控制服务器是用于管理和审核MCP工具执行的控制层,适用于需要安全审核和策略执行的场景。

  • by NORNR
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 NORNR/nornr-mcp-control

使用说明

NORNR MCP控制

NORNR的官方公共MCP包,即执行后续MCP工具之前的控制层。

这个回购是故意精简的。

它的存在是为了使NORNR易于从MCP原生表面发现、安装和评估,例如:

  • 克劳德桌面版
  • 光标
  • 零号特工
  • OpenClaw/ClawHub
  • 自定义本地MCP客户端

治理逻辑存在于官方的NORNR Python SDK中:

最短的正确阅读是:

  • 一个本地工具请求变成一个NORNR意图
  • NORNR决定它是被批准、排队还是被阻止
  • 排队的工作进入带上下文的命名审阅
  • 同样的行为在后来的证明、财务包和审计输出中仍然存在

紧急冻结

NORNR不仅是执行前的决策层。 当局部车道变得不安全时,它也是紧急停车层。

当桌面或本地代理执行以下操作时使用它:

  • 开始循环工具调用
  • 联系有争议或受关注的交易对手
  • 转向政策敏感行动
  • 当操作员检查车道时,需要保持在仅审查模式

正确的思维模式不是“尽力警告” 它是受控释放、受控暂停和受控恢复。

这是什么

NORNR不是另一个MCP工具。

它是MCP工具之上的控制层。

这意味着:

  • 一个工具请求变成一个NORNR意图
  • 策略决定它是被批准、排队还是被阻止
  • 排队工作用地审查,附上下文
  • 由此产生的行动仍然存在于证据、财务结算和审计输出中

这不是什么

此回购不是:

  • 一种新的控制平面实现
  • 一个单独的NORNR后端
  • 原始工具目录
  • 钱包包装纸

它是官方NORNR MCP控制服务器的公共安装界面。

为什么原始MCP工具执行不够

原始MCP工具执行暴露了功能。 它没有回答更难的问题:

  • 如果这一行动在积极授权下明确
  • 谁在应该排队的时候审核它
  • 动作完成后,哪些记录仍然存在

NORNR在下游工具、提供商或供应商步骤清除之前添加缺失的层。

你好世界

  1. 安装依赖关系:
python -m pip install -r requirements.txt
  1. 设置您的NORNR密钥:
export NORNR_API_KEY="replace-with-your-key"
export NORNR_BASE_URL="https://nornr.com"
export NORNR_AGENT_ID="desktop-agent"
  1. 打印复制粘贴配置:
python nornr_mcp_control.py claude-config
  1. 通过stdio运行服务器:
python nornr_mcp_control.py serve

复制此配置

克劳德桌面版

{
  "mcpServers": {
    "nornr": {
      "command": "python3",
      "args": [
        "/absolute/path/to/nornr_mcp_control.py",
        "serve"
      ],
      "env": {
        "NORNR_API_KEY": "replace-with-your-key",
        "NORNR_BASE_URL": "https://nornr.com",
        "NORNR_AGENT_ID": "desktop-agent"
      }
    }
  }
}

光标

{
  "mcpServers": {
    "nornr": {
      "command": "python3",
      "args": [
        "/absolute/path/to/nornr_mcp_control.py",
        "serve"
      ],
      "env": {
        "NORNR_API_KEY": "replace-with-your-key",
        "NORNR_BASE_URL": "https://nornr.com",
        "NORNR_AGENT_ID": "cursor-agent"
      }
    }
  }
}

如果你想从SDK中获得确切的JSON,请使用生成器命令:

python nornr_mcp_control.py claude-config
python nornr_mcp_control.py cursor-config
python nornr_mcp_control.py manifest

光标规则

将此添加到 .cursorrules 如果允许Cursor通过NORNR使用本地工具:

Use NORNR as the control layer before consequential tool execution.
Do not proceed with a paid, vendor-side or policy-sensitive action until NORNR returns approved or a named operator explicitly approves the queued intent.
Treat queued, blocked, anomalous or review-required posture as a stop state for autonomous execution.

及时注射不会推翻授权

快速注射可以改变模型想要做的事情。 它不应该改变车道允许做的事情。

这就是NORNR凌驾于执行之上的原因:

  • 迅速的压力不会带来批准
  • 模范说服不会扩大授权
  • 即使模型坚持,有风险的工具请求仍可能被排队或阻止
  • 交易对手态势和审查要求仍然存在于同一记录中

正确的承诺不是“模型变得安全” 当模型变得不可靠时,控制层仍然成立。

静止序列

每次最快的视觉解释都是相同的四步静止序列:

默认策略包

起点 mcp-local-tools-guarded.

这是本地MCP客户端可以到达的默认第一个姿势:

  • 付费提供商
  • 供应商API
  • 具有外部副作用的本地工具
  • 策略敏感帐户操作

我们的目标不是在第一天就管理每一个地方行动。 目标是首先安装一条有防御的本地车道。

如果团队已经有代码

如果团队已经发布了代理仓库,不要先从配置开始。

首先对仓库运行NORNR治理审计,命名暴露的路径,然后在实际需要审查后续本地执行的地方安装MCP控制服务器。

排队后会发生什么

排队并不意味着要小心行事。 这意味着停止自主路径并将其路由到审查中。

  1. 保持下游工具动作暂停。
  2. 检查NORNR中的排队基础。
  3. 审查交易对手的姿态、金额、目的和授权是否合适。
  4. 明确批准或拒绝。
  5. 让由此产生的行动存活到后来的证明、财务包和审计输出中。

作业规则

在NORNR返回之前,不要让MCP客户端继续进行相应的工具操作 approved 或者指定的操作员明确批准排队的意图。

将排队、受阻、异常或迅速的风险态势视为审查状态,而不是自主绿灯。

文件

  • nornr_mcp_control.py --精简的stdio MCP服务器包装器
  • requirements.txt --固定NORNR SDK依赖关系
  • SECURITY.md --依赖来源和关键范围指导
  • configs/ --复制粘贴客户端代码段
  • .cursorrules.example --光标操作规则示例

来源

该回购故意保持较小规模。

实际的控制平面逻辑委托给官方的NORNR Python SDK:

  • 包裹: nornr-agentpay==0.1.0
  • 导入路径: agentpay
  • 来源: NORNR/sdk py

如果您的团队需要依赖性审查,请在生产工作流中启用此服务器之前检查固定的SDK版本。

公共链接

许可证

MIT-0。看 许可证.