registry/README.md
cheney 963046edd9
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 39s
feat: 新增 MCP 服务,支持 AI 自动操作项目与配置
- Streamable HTTP 传输,/mcp 端点,Bearer token 鉴权(data/mcp.json,已忽略)
- 项目/配置完整增删改查工具,删除为两步式确认(delete_* + confirm_delete_*)
- 写操作遵循系统模式,readonly 下拒绝
- 依赖 @modelcontextprotocol/sdk,新增单元测试
2026-09-08 10:03:09 +08:00

3.5 KiB
Raw Permalink Blame History

Registry - 微服务配置管理中心

基于 Web 的注册表风格微服务配置管理系统。以项目为单位管理配置,支持机房、环境、分组三个维度划分,提供规划、编辑、只读三种工作模式。

快速开始

npm install
npm start

启动后访问 http://localhost:3000

功能概览

  • 项目管理:以项目为单位隔离配置;维度开关(机房/环境/分组)创建时确定,后续不可修改。
  • 注册表风格界面:左侧树形导航(项目 → 机房 → 环境 → 分组 → 配置),右侧键值详情表格。
  • 配置项:路径形式的 keyvalue 支持 string/number/boolean/json 类型,每项必须有说明。
  • 三种模式
    • 规划模式:定义配置结构(类型、说明、用途、值范围)。
    • 编辑模式:填写/修改配置值,含类型与范围校验。
  • 只读模式:仅查看,禁止修改。
  • 持久化:当前实现 JSON 文件方案,支持导出下载与导入合并。持久化层已抽象,后续可扩展 XML / YAML / SQLite / MySQL / Nacos。
  • MCP 服务:通过 Model Context Protocol 暴露同一套能力AI 可自动完成项目/配置的增删改查;删除为两步式确认,写操作受系统模式(只读)约束。

MCP 服务

MCP 服务以 Streamable HTTP 传输运行在 POST /mcp 端点,供 AI例如 Claude、Cursor 等支持 MCP 的客户端)自动操作。

配置

授权 token 写在 data/mcp.json(已被 .gitignore 忽略,不会提交):

{
  "enabled": true,
  "token": "CHANGE_ME_REGISTRY_MCP_TOKEN"
}

客户端连接时需携带请求头 Authorization: Bearer <token>。若 token 为空字符串,则跳过鉴权(不推荐)。

配置示例(客户端)

{
  "mcpServers": {
    "registry": {
      "url": "http://localhost:3000/mcp",
      "headers": { "Authorization": "Bearer CHANGE_ME_REGISTRY_MCP_TOKEN" }
    }
  }
}

可用工具

类别 工具 说明
系统 get_mode / set_mode 读取/切换系统模式plan/edit/readonly
项目 list_projects / get_project 项目查询
项目 create_project 创建项目(维度开关创建后不可改)
项目 update_project_mappings 调整维度映射方式path/label
项目 delete_project / confirm_delete_project 两步式删除:先 delete_project 获取令牌,再 confirm_delete_project 真正删除
配置 list_configs / get_config 配置项查询
配置 create_config / update_config 配置项新增/修改
配置 delete_config / confirm_delete_config 两步式删除,机制同上

两步式删除返回 confirmation_token5 分钟内有效、一次性),需调用对应的 confirm_* 工具并回传该令牌才会真正删除。

文档

  • 需求文档:docs/requirements.md
  • 概要设计文档:docs/design.md

目录结构

registry/
├── docs/            需求与设计文档
├── data/            JSON 持久化数据
├── src/             后端源码Express
│   ├── server.js
│   ├── routes/      项目与配置路由
│   ├── services/    业务逻辑
│   ├── persistence/ JSON 持久化适配器
│   └── utils/       配置值校验
└── public/          前端静态资源

后续规划

  • 对接 SSO 单点登录(当前版本无认证)。
  • 扩展更多持久化方案数据库、Nacos、SSH 远程配置文件)。
  • 项目维度转换机制。