Aegis
Aegis MCP 治理注册表
Aegis 是一个面向生产的参考实现,用于治理支持租户感知的 MCP 工具。它将两个刻意限定的 Streamable HTTP 参考端点与安全的注册表仪表板、策略结果、短期人工审批流程以及防篡改审计账本相结合。它不连接或操作客户系统。
您可以演示的能力
能力 | 本仓库中的实现 |
参考 MCP 端点 |
|
能力发现 | 每个端点在 |
租户与作用域强制 | Bearer 令牌适配器在每次 MCP 工具调用之前解析租户、主体和作用域。 |
策略门控 | 本地策略评估器强制执行作用域和负载上限。设置 |
人工审批 |
|
可审计性 | 策略、审批和执行活动经过脱敏处理,通过应用程序表面仅追加,租户隔离,并采用哈希链。 |
操作员控制台 | 经过身份验证的用户可以检查注册表服务、租户、策略、审批和审计账本。管理员可以验证并启用/禁用参考服务,并做出审批决策。 |
该实现使其传输和资源发现形态与 MCP Streamable HTTP 和授权规范保持一致。[1] [2] 其私有注册表元数据是内部扩展;它不作为公共 MCP 注册表 server.json 格式呈现。[3]
Related MCP server: agent-mcp-workflow-platform
本地开发
您需要 Node.js 22+ 和兼容 MySQL 的数据库。复制主机所需的环境值,安装依赖项,然后启动应用程序。
pnpm install
pnpm drizzle-kit generate
pnpm db:push
pnpm dev服务启动后,访问仪表板 URL 并登录。种子记录在治理端点或仪表板查询首次访问注册表时惰性创建。参考界面仅使用确定性种子数据,而非真实的客户系统。
MCP 快速入门
在本地开发期间,演示令牌采用以下确切形式。它们是开发适配器,而非 OAuth 替代品。
demo|northstar|demo:alice|project:read,incident:read,metrics:read,change:write要确认端点契约,请在服务启动后运行附带的冒烟测试。
pnpm exec node scripts/mcp-smoke.mjs要发出直接的 JSON-RPC 工具调用:
curl -sS -X POST http://localhost:3000/mcp/read \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer demo|northstar|demo:alice|project:read' \
-H 'MCP-Protocol-Version: 2026-07-28' \
-H 'Mcp-Method: tools/call' \
-H 'Mcp-Name: project.search' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"project.search","arguments":{"query":"telemetry"},"_meta":{"io.modelcontextprotocol/protocolVersion":"2026-07-28"}}}'写入端点在 /mcp/write 处遵循相同的契约,但 change.create 将首先创建审批记录。从 Aegis 控制台批准它,然后在提权过期之前再次提交相同的调用。
初学者部署:TiDB Cloud + Render
这是学习或作品集环境推荐的低成本部署路径。TiDB Cloud Starter 兼容 MySQL,并且公共连接需要 TLS,而 Render 可以将此 Node 应用程序托管为 Web 服务。[4] [5] Render 免费服务在空闲时可以休眠,因此非活动后的首次访问预计需要更长时间。[6]
A. 创建并连接 TiDB Cloud
创建一个Starter实例,并将其支出限额设置为 0。在实例页面上,点击右上角的Connect,保持选择 Public,选择 General,然后生成密码。请将密码保密。
B. 创建 Render Web 服务
将此仓库推送到 GitHub 后,打开 Render 仪表板。点击右上角的 + New,选择 Web Service,点击此仓库旁边的 Connect,并使用以下确切值。
Render 表单字段 | 值 |
名称 |
|
分支 |
|
语言 |
|
构建命令 |
|
启动命令 |
|
实例类型 |
|
根目录 | 留空 |
C. 添加 Render 环境变量
在同一个 Render 表单中,打开 Advanced。在 Environment Variables 下,添加以下每一行。不要将任何机密值放入 GitHub 或屏幕截图中。
键 | 值 |
| 采用以下形状的 TiDB URL: |
|
|
|
|
|
|
| 新生成的长随机机密。 |
| 部署后您将输入到仪表板的单独长密码。 |
|
|
数据库 URL 是私有的。TiDB Cloud Starter 要求公共连接使用 TLS,而应用程序的 TIDB_ENABLE_SSL=true 配置启用了它。[5]
点击表单底部的 Create Web Service。Render 会打开服务的 Events 页面。等待状态变为 Live,然后点击显示的 onrender.com 链接。首次访问时,输入您为 DASHBOARD_ACCESS_KEY 设置的值,然后点击 Open dashboard。
D. 验证
仪表板打开后,访问 Registry、Approvals 和 Audit ledger。只有在您特意为 MCP 客户端配置了真实的 OAuth 访问令牌验证器之后,才使用您的 Render URL 运行冒烟测试;演示令牌默认处于禁用状态。
验证与负载脚手架
每次发布前运行应用程序测试。
pnpm check
pnpm test
pnpm exec node scripts/mcp-smoke.mjs负载脚手架发送独立的 JSON-RPC 请求,这适用于验证负载均衡器后面的无状态 Streamable HTTP 部署。从 100 个请求和 20 个并发客户端开始,然后在将部署扩展到第二个副本后重复,并比较 p50/p95 延迟和错误率。
CONCURRENCY=20 REQUESTS=100 pnpm exec node scripts/load-test.mjs对于官方协议一致性运行,请分别针对 /mcp/read 和 /mcp/write 安装并执行当前的官方 MCP 一致性套件。保留其版本化输出作为发布证据;此仓库的冒烟脚本有意保持狭窄范围,并不声称取代该套件。
扩展平台
通过将新的安全参考工具的注册表记录和模式插入到 server/governance.ts 中的 defaultToolRows,扩展 simulatedToolOutput,然后添加测试并重新运行冒烟脚本。真实集成应位于最小权限服务身份之后,并且仅返回脱敏结果。
将 server/mcp.ts 中的演示 Bearer 适配器替换为针对您配置的颁发者的 JWT 验证,或在 API 网关处执行验证。MCP 授权规范期望支持授权的基于 HTTP 的实现充当 OAuth 资源服务器,并发布受保护资源元数据。[2] 对于生产审计保留,将哈希链事件导出到不可变对象存储或 SIEM,并限制数据库凭据,使服务主体对 auditEvents 没有更新/删除权限。
参考
[1] Model Context Protocol — Streamable HTTP
[2] Model Context Protocol — Authorization
[3] Model Context Protocol — Registry overview
[4] TiDB Cloud — Select Your Plan
This server cannot be deployed
Maintenance
Related MCP Connectors
Governed MCP gateway: one endpoint for your tools, with credential custody and audit log.
Human-in-the-loop review and approval for AI agents. Audit trail, approval policies, native MCP.
Remote MCP for Copilot CLI switch gate MCP, structured receipts, audit logs, and reviewer-ready evid
- gatewayOAuthai.sealgate
MCP gateway with runtime security policy, tool-call-level control, and audit of agent actions.
Related MCP Servers
- AlicenseBqualityBmaintenanceA governance and policy enforcement gateway for MCP servers that provides hard guardrails, dynamic parameter bounds, human-in-the-loop approvals, and audit telemetry.25 npmMIT
- FlicenseNot gradedqualityCmaintenanceEnables approval-gated incident response workflows that gather evidence through read-only MCP tools, perform idempotent writes, and preserve a durable audit trail.-
- AlicenseNot gradedqualityBmaintenanceEnforces fine-grained, context-aware access control on MCP tool calls, with a tamper-evident, replayable audit log that records denials and verifies every decision.MIT
- AlicenseAqualityDmaintenanceEnables policy-governed MCP interactions with deterministic authorization, tenant isolation, minimized PII exposure, and human approval gates for sensitive mutations, while producing structured audit events.3MIT