内容
# 企业级 Proxmox MCP 服务器
[](https://github.com/0x696E7175696C696E65/Proxmox-MCP/actions/workflows/ci.yml)




企业级 Proxmox MCP 服务器是一款优先考虑安全性的模型上下文协议服务器,用于 AI 辅助的 Proxmox VE 管理。它为代理提供了一种受控的方式,通过 API 和 SSH 路径检查和操作 Proxmox,同时保留身份验证、基于角色的访问控制(RBAC)、策略强制执行、审批、审计跟踪和操作防护措施。
这不是一个薄的 Proxmox 包装器,也不是一个成熟的企业级 GA 软件。它是一个积极开发的、基于证据的公共预览版本,适用于家庭实验室、研究环境、MSP 评估、数据中心自动化实验和高级 AI 操作,其中安全控制与工具覆盖一样重要。
如果您作为最终用户评估该项目,请将其视为一个受控的自动化网关:
- 从只读发现工具开始。
- 在进行变更之前使用干预运行响应和影响预览。
- 保持危险操作需要审批。
- 在连接重要基础设施之前运行可丢弃的实验室验证。
- 仅当您的拓扑结构具有匹配的证据时,才提升功能。
## 本项目实现的功能
- 面向 Proxmox 集群、节点、虚拟机、LXC 容器、存储、网络、防火墙、备份、HA、Ceph、用户和权限的 AI 原生管理。
- 用于常见 VM/LXC 配置路径的 ISO、LXC 模板和设置工作流助手。
- 通过上游 `community-scripts/ProxmoxVE` 仓库,使用项目所有者的分叉作为备用源,对社区 Proxmox 助手脚本进行受控发现、预览、分阶段和有防护措施的执行。
- 用于诊断、文件传输、交互式会话和 shell 工作流的受控 SSH 操作,这些操作并未完全被 Proxmox API 所覆盖。
- 可配置的危险操作支持,具备干预运行、风险评分、影响分析、审批、目标重新验证和审计证据。
- 通过结构化日志、审计事件、Prometheus 指标、相关跟踪上下文和 SIEM 准备的事件流实现企业级可观察性。
- 通过开发、HashiCorp Vault KV v2、Bitwarden 样式的项目字段、1Password 样式的项目字段、AWS Secrets Manager JSON 机密和 Azure Key Vault JSON 机密实现秘密提供者集成。
## 当前状态
该项目目前是一个基于证据的公共预览版本。控制平面、注册工具目录、安全模型、部署脚手架和实验室验证框架已在 `main` 分支上实现。更广泛的企业级就绪性仍然取决于拓扑结构特定的资格、生产部署证明和后端特定的受控操作提升。
发布姿态故意保守:README 和文档应仅描述确定性测试、注册的 MCP 路径检查、选择性实验室门控和净化发布证据支持的内容。
已实现:
- 具有注册驱动的工具注册的 FastMCP 服务器工厂。
- 标准 MCP 请求、响应、错误、干预运行、影响、审批和审计信封。
- 身份验证模型、服务令牌身份验证、OIDC RS256/JWKS 验证、mTLS 客户端证书身份映射、签名工作负载身份验证、RBAC 评估、策略决策、风险评分和审批验证。
- 使用 SQLAlchemy 模型和 Alembic 迁移的持久化审计。
- 具有开发、Vault、Bitwarden、1Password、AWS Secrets Manager 和 Azure Key Vault 适配器的秘密提供者抽象。
- Proxmox 集群凭证解析、内存 Proxmox API 测试客户端和令牌/密码身份验证 Proxmox 实验室 HTTP 适配器。
- 只读 Proxmox 工具、安全突变、危险操作、提升的域包工具和 SSH 工具。
- 用于 ISO 列表、HTTPS ISO 下载、VM ISO 附件、LXC 模板列表/下载和 VM/LXC 设置工作流预览的原生媒体/模板工具。
- 助手脚本目录、预览、分阶段和执行工具,具备源允许列表、提交固定、SHA-256 哈希、固定共享助手准备、备用源日志记录和审批门控 SSH 执行。
- 受控 SSH 执行、命令策略、会话跟踪、SFTP/SCP 操作和输出编辑。
- 用于 Prometheus 样式的指标、结构化 JSON 日志、跟踪上下文、审计关联、Alertmanager 支持的最近警报、Prometheus 支持的资源趋势和 SIEM/Loki 有效载荷的运行时可观察性线路。
- 用于审批、幂等性、SSH 会话、SSH 记录、Proxmox 任务状态和 SIEM 重试/死信传递的持久共享状态基础。
- 用于重试、熔断器、幂等性和可恢复的 Proxmox 任务引用的可靠性基元。
- Docker、Docker Compose、Kubernetes、Grafana 仪表盘、强化工作流和发布强化运行手册。
- 验证注册的工具目录是否与 [`docs/tool-specification.md`](docs/tool-specification.md) 匹配的合约测试。
- 用于单节点、存储、LXC 模板、Ceph、HA、多节点和 PBS 验证轨道的配置文件门控实验室。
- 通过 `build_runtime()` 具备持久 PostgreSQL 存储、文件支持的机密、Proxmox HTTP 客户端线路和服务令牌 HTTP 中间件的家庭实验室运行时组装。
- 用于 `serve`、`validate-config`、`doctor`、`migrate` 和 `tools list` 的操作 CLI。
- Docker Compose 家庭实验室叠加层、引导脚本、`.env.example` 和 [`docs/quickstart-homelab.md`](docs/quickstart-homelab.md)。
基于证据的状态:
- **预览已验证:**核心 MCP 控制平面、身份验证/RBAC/策略/审批/审计流程、只读 Proxmox 发现、安全突变、危险操作防护、受控 SSH、持久状态、发布证据验证和当前的 Proxmox VE 9.1.1 单节点存储实验室配置文件。
- **实验室合格:**在 Proxmox VE 9.1.1 上记录的 `pve-9-storage-local-local-lvm` 配置文件,`20 passed, 8 skipped`,具备可丢弃的 VM 生命周期、注册的 VM 更新、备份创建/列表、恢复预条件干预运行、有限存储基准预览和只读节点更新预检证据。
- **助手脚本烟雾验证:**受控的助手路径成功安装了来自固定的 `community-scripts/ProxmoxVE` 提交 `373b138fe0ee3b61fe1b0468bef7bc0e43b6bd5d` 的 `ct/alpine.sh` 到可丢弃的 LXC `9101`,生成一个运行中的 Alpine `3.23.4` 容器,具备 SHA-256 固定的分阶段工件证据。
- **配置文件门控:**可重用的 LXC 模板生命周期提升、Ceph、HA、多节点、PBS 可用性、备份验证、实时存储扩展和实时节点更新编排。
- **防护措施和实时烟雾证据:**助手脚本执行作为一流工具路径提供,但广泛的生产使用需要操作员策略、显式 SSH 命令允许用于助手运行器和每个使用或类别的脚本的可丢弃实验室证据。
- **操作员资格:**生产部署取决于环境特定的外部身份验证、企业秘密后端、TLS 材料、PostgreSQL TLS、Redis TLS、最小特权 Proxmox 凭证和已启用的拓扑结构的发布证据。
合并时验证:
- `python -m ruff format .`
- `python -m ruff check .`
- `python -m pyright`
- `python -m pytest`
- 分发就绪工作流:构建和验证 Python sdist/wheel 工件,烟雾安装轮子,审计依赖项,并构建 Docker 镜像。
- 涵盖关闭防护行为、审批重放保护、审计证据、编辑边界和加密传输强制的安全不变套件。
- 每次 PR 上的迁移门;CI 和强化工作流发出净化的 `ci-success.json`、`migration-validation.json` 和 `hardening-summary.json` 工件。
- 当前的本地验证应在每次发布候选版本之前重新运行;最新的完整本地运行报告 `414 passed, 29 skipped`,其中包括故意跳过的实时 Proxmox 实验室门控,除非显式启用。
- 发布证据验证现在对兼容性配置文件、发布摘要字段、实验室工件、工件哈希、必需的配置文件测试、工具提升证据和凭证形状的密钥拒绝进行模式检查。
## 架构
```mermaid
flowchart TD
aiAgent["AI 代理"] --> mcpTransport["MCP 传输"]
mcpTransport --> toolRouter["工具路由器"]
toolRouter --> authLayer["身份验证层"]
authLayer --> sessionManager["会话管理器"]
sessionManager --> rbacEngine["RBAC 引擎"]
rbacEngine --> policyEngine["策略引擎"]
policyEngine --> riskEngine["风险和审批引擎"]
riskEngine --> auditLogger["审计日志记录器"]
auditLogger --> proxmoxApi["Proxmox API 模块"]
auditLogger --> sshEngine["受控 SSH 模块"]
proxmoxApi --> proxmoxCluster["Proxmox VE 集群"]
sshEngine --> proxmoxCluster
authLayer --> secretManager["秘密管理器"]
secretManager --> secretBackends["外部秘密后端"]
auditLogger --> postgres["PostgreSQL"]
policyEngine --> redis["Redis"]
proxmoxApi --> observability["指标和跟踪"]
sshEngine --> observability
```
每个工具调用都需要在能够触摸 Proxmox 之前通过一致的控制平面:
```mermaid
sequenceDiagram
participant Agent as AI 代理
participant MCP as MCP 服务器
participant Auth as 身份验证和 RBAC
participant Policy as 策略引擎
participant Risk as 风险引擎
participant Audit as 审计日志
participant Connector as API 或 SSH 连接器
participant PVE as Proxmox VE
Agent->>MCP: 调用 MCP 工具
MCP->>Auth: 验证调用者、会话和权限
Auth->>Policy: 评估允许、拒绝、审批规则
Policy->>Risk: 评估影响和危险操作状态
Risk->>Audit: 记录执行前决策
Audit->>Connector: 执行已审批的操作
Connector->>PVE: API 或受控 SSH 调用
PVE-->>Connector: 结果
Connector-->>Audit: 退出代码、状态、输出元数据
Audit-->>MCP: 审计响应上下文
MCP-->>Agent: 结构化的 MCP 响应
```
## 安全模型
危险操作得到支持,但从不作为普通工具调用。
```mermaid
flowchart LR
request["工具请求"] --> rbac["RBAC 检查"]
rbac --> policy["策略决策"]
policy --> deny{"拒绝?"}
deny -->|"是"| blocked["返回策略拒绝"]
deny -->|"否"| risk["风险评分"]
risk --> approval{"需要审批?"}
approval -->|"是"| pending["创建审批请求"]
approval -->|"否"| dryRun{"干预运行?"}
dryRun -->|"是"| preview["返回影响预览"]
dryRun -->|"否"| execute["执行操作"]
pending --> executeApproved["执行后有效审批"]
execute --> audit["写入审计结果"]
executeApproved --> audit
```
安全模型围绕以下不变式构建:
- 拒绝策略始终覆盖允许策略。
- SSH 访问与 Proxmox API 访问分开。
- 机密通过秘密后端引用,绝不会通过 MCP 工具返回。
- 变异操作在执行前后需要审计证据。
- 破坏性操作可以启用、拒绝或根据环境进行审批。
- 干预运行和影响分析路径是一类一体的行为,而不是仅限于 UI 的功能。
## 工具覆盖
[`docs/tool-specification.md`](docs/tool-specification.md) 中的 MCP 目录已注册并在以下领域进行了合约测试:
- 集群状态、成员资格、仲裁、复制和任务
- 节点服务、包、硬件、日志、电源和网络
- VM 创建、克隆、生命周期、迁移、快照、恢复和硬件更改
- LXC 创建、克隆、生命周期、快照、恢复和资源更改
- 存储管理 ZFS、LVM、LVM-thin、NFS、SMB、Ceph 和目录存储
- 桥、绑定、VLAN、SDN、VXLAN 和 Linux 网络验证
- 数据中心、节点和访客防火墙规则、别名和 IP 集
- 备份、恢复、验证、保留和计划作业
- Ceph 池、OSD、MON、MGR、健康和重新平衡
- HA 资源和组
- 用户、组、角色和权限
- 监控、诊断、支持包、SMART、ZFS 和 Ceph 指标
- 受控 SSH 命令执行、交互式会话、SFTP、SCP、上传和下载
工具实现层级:
- **已实现的读取路径:** 库存、配置、状态、指标、日志、Ceph、HA、用户、权限、存储、网络、防火墙和备份发现工具,支持 Proxmox API 路径。
- **已实现的域包路径:** VM/LXC 生命周期和恢复、存储/ZFS/LVM/磁盘、网络/防火墙、备份/保留、Ceph/HA、SSH 控制台/诊断和支持包操作,具备特定包的合约测试。
- **已实现的安全突变路径:** VM/LXC 生命周期操作、快照、备份和非破坏性配置更新,具备干预运行行为和影响元数据。
- **已实现的危险路径:** 破坏性 VM/LXC/存储/Ceph/用户/网络操作,具有关键/高风险元数据、默认审批、目标重新验证和审计元数据。
- **已实现的 SSH 路径:** 命令执行、策略拒绝、会话打开/关闭、交互式执行合约、持久的 LXC 控制台会话引用、SFTP/SCP 文件流、记录引用和编辑。
- **防护占位符:** 其安全实时行为特定于后端或尚未由具体操作支持的工具,会明显失败并返回 `NOT_IMPLEMENTED` 而不是返回占位符成功。
操作参考:
- [`docs/testing-strategy.md`](docs/testing-strategy.md) 描述了跳过安全的 Proxmox 实验室测试框架。
- [`docs/tool-promotion-framework.md`](docs/tool-promotion-framework.md) 定义了防护工具的提升标准。
- [`docs/domain-pack-status.md`](docs/domain-pack-status.md) 记录了域包支持、验证和安全说明。
## 公共预览检查清单
在发布或共享预览版本之前,请附加以下证据:
- CI、分发、强化、迁移、SBOM 和 Trivy 门。
- `docs/release-evidence/compatibility-report.example.json`、`docs/release-evidence/lab-evidence.example.json` 和生成的工件-清单模式/哈希验证。
- [`docs/proxmox-compatibility.md`](docs/proxmox-compatibility.md) 中声明的 Proxmox 实验室配置文件。
- `verify_backup`、`expand_storage` 和节点更新编排的防护工具状态。
- `benchmark_storage` 的有限基准证据,包括运行时/大小上限、`mcp-lab-*` 工件路径和清理证明。
- 涵盖 TLS、外部身份验证、秘密后端、PostgreSQL TLS、Redis TLS 和操作员提供的凭证的生产配置审查。
## 运行时模块
运行时围绕共享的工具注册和执行上下文组织:
```mermaid
flowchart TD
settings["proxmox_mcp.config"] --> runtime["proxmox_mcp.server.runtime"]
runtime --> server["proxmox_mcp.server"]
auditEvents["proxmox_mcp.audit.events"] --> auditWriter["proxmox_mcp.audit.writer"]
auditWriter --> server
settings --> database["proxmox_mcp.persistence.database"]
settings --> redisClient["proxmox_mcp.persistence.redis"]
server --> registry["工具注册表"]
registry --> proxmoxTools["Proxmox API 工具"]
registry --> sshTools["受控 SSH 工具"]
registry --> internalTools["内部工具"]
registry --> fastmcp["FastMCP 应用"]
家庭实验室模式使用 `build_runtime()` 组装持久存储、Proxmox HTTP 客户端、服务令牌身份验证中间件和就绪依赖项检查器,然后使用 FastMCP 注册工具。
## 操作员命令行界面
| 命令 | 目的 |
|---------|---------|
| `proxmox-mcp serve --mode dev` | 内存开发服务器(默认,当持久状态关闭时) |
| `proxmox-mcp serve --mode homelab` | 持久化Postgres/Redis运行时,配置Proxmox集群 |
| `proxmox-mcp validate-config` | 加载设置并运行就绪验证规则 |
| `proxmox-mcp doctor` | 验证配置并探测PostgreSQL、Redis和Proxmox API的可达性 |
| `proxmox-mcp migrate` | 应用Alembic迁移到配置的数据库 |
| `proxmox-mcp tools list` | 打印注册的工具;使用`--status live`或`--status guarded`进行过滤 |
## 快速开始
### Homelab 堆栈(推荐首次运行)
运行带有TLS、PostgreSQL、Redis、服务令牌身份验证和文件备份的Proxmox凭证的本地Docker Compose堆栈。完整的操作指南: [`docs/quickstart-homelab.md`](docs/quickstart-homelab.md)。
```powershell
git clone https://github.com/0x696E7175696C696E65/Proxmox-MCP.git
cd Proxmox-MCP
powershell -ExecutionPolicy Bypass -File scripts/bootstrap-homelab.ps1
```
编辑 `.env` 和 `secrets.local.json` 文件,填写服务令牌、数据库密码和Proxmox API令牌。然后验证并启动:
```powershell
python -m pip install -e ".[dev]"
proxmox-mcp validate-config
proxmox-mcp doctor
proxmox-mcp migrate
docker compose -f docker-compose.yml -f docker-compose.homelab.yml up --build
```
检查就绪状态(用配置的值替换令牌):
```powershell
curl.exe -fk -H "Authorization: Bearer <服务令牌>" https://localhost:8443/health/ready
```
将MCP客户端指向 `https://localhost:8443`,并在每个请求中发送 `Authorization: Bearer <服务令牌>`。
可选的Grafana配置文件:
```powershell
docker compose -f docker-compose.yml -f docker-compose.homelab.yml --profile observability up
```
### 本地开发
使用此路径评估控制平面和测试套件,而无需运行Compose堆栈。
克隆仓库:
```powershell
git clone https://github.com/0x696E7175696C696E65/Proxmox-MCP.git
cd Proxmox-MCP
```
创建环境并安装带有开发依赖的软件包:
```powershell
python -m venv .venv
.\.venv\Scripts\Activate.ps1
python -m pip install -e ".[dev]"
```
运行本地验证套件:
```powershell
python -m ruff format --check .
python -m ruff check .
python -m pyright
python -m pytest -q
```
启动默认的内存开发服务器:
```powershell
proxmox-mcp serve --mode dev
```
或打印CLI帮助:
```powershell
proxmox-mcp --help
proxmox-mcp tools list --status guarded
```
### 可丢弃的Proxmox实验室验证
在启用突变门控之前运行实验室预检:
```powershell
$env:PROXMOX_MCP_LAB_ENABLED = "true"
$env:PROXMOX_MCP_LAB_API_ENDPOINT = "https://pve.example.test:8006"
$env:PROXMOX_MCP_LAB_USERNAME = "root@pam"
$env:PROXMOX_MCP_LAB_PASSWORD = "<从本地机密中加载>"
$env:PROXMOX_MCP_LAB_NODE = "pve"
$env:PROXMOX_MCP_LAB_STORAGE = "local"
python scripts/lab_preflight.py --output-file release-evidence/lab-preflight.json
```
然后运行只读实验室测试:
```powershell
python -m pytest tests/lab -m lab -q
```
仅在预检成功并选择明确的临时ID后,才启用可丢弃的突变测试:
```powershell
$env:PROXMOX_MCP_LAB_MUTATIONS_ENABLED = "true"
$env:PROXMOX_MCP_LAB_DESTRUCTIVE_ENABLED = "true"
$env:PROXMOX_MCP_LAB_TEST_VMID = "9101"
$env:PROXMOX_MCP_LAB_TEST_CTID = "9102"
python -m pytest tests/lab -m lab --junitxml=release-evidence/lab-junit.xml -q
```
## 配置
运行时设置由环境驱动,并使用 `PROXMOX_MCP_` 前缀。复制 [.env.example](.env.example) 作为起点。
### Homelab 设置
```powershell
$env:PROXMOX_MCP_ENVIRONMENT = "homelab"
$env:PROXMOX_MCP_DURABLE_STATE_ENABLED = "true"
$env:PROXMOX_MCP_AUTH_MODE = "service_token"
$env:PROXMOX_MCP_EXTERNAL_AUTH_ENABLED = "true"
$env:PROXMOX_MCP_SERVICE_TOKEN = "<从本地机密中加载>"
$env:PROXMOX_MCP_CREDENTIAL_PROVIDER = "development"
$env:PROXMOX_MCP_SECRETS_FILE = ".\secrets.local.json"
$env:PROXMOX_MCP_CLUSTER__CLUSTER_ID = "homelab"
$env:PROXMOX_MCP_CLUSTER__API_ENDPOINT = "https://pve.example.test:8006"
$env:PROXMOX_MCP_CLUSTER__CREDENTIAL_REF__PATH = "clusters/homelab/proxmox-api"
```
在 `secrets.local.json` 中存储Proxmox API凭证,使用 [`secrets.local.json.example`](secrets.local.json.example) 作为模板。永远不要提交真实的机密。
### 通用运行时设置
```powershell
$env:PROXMOX_MCP_ENVIRONMENT = "development"
$env:PROXMOX_MCP_SERVER_HOST = "127.0.0.1"
$env:PROXMOX_MCP_SERVER_PORT = "8443"
$env:PROXMOX_MCP_DATABASE_URL = "postgresql+asyncpg://app_user:<从机密中加载>@postgres/proxmox_mcp?ssl=require"
$env:PROXMOX_MCP_REDIS_URL = "rediss://redis:6379/0"
$env:PROXMOX_MCP_DANGEROUS_OPERATIONS__REQUIRE_APPROVAL = "true"
```
类似机密的设置使用Pydantic `SecretStr`建模,并通过安全序列化助手进行编辑。数据库和Redis设置强制启用TLS:PostgreSQL必须请求TLS,Redis必须使用`rediss://`。
通过 `PROXMOX_MCP_CREDENTIAL_PROVIDER` 选择机密后端。支持的值包括 `development`、`hashicorp_vault`、`bitwarden`、`onepassword`、`aws_secrets_manager` 和 `azure_key_vault`。仅在本地开发中使用 `development` 提供程序。外部后端URL(例如 `PROXMOX_MCP_VAULT_URL` 和 `PROXMOX_MCP_AZURE_KEY_VAULT_URL`)必须使用 `https://`;如果所选提供程序缺少必需的启动配置,则就绪检查将关闭。
```powershell
$env:PROXMOX_MCP_CREDENTIAL_PROVIDER = "hashicorp_vault"
$env:PROXMOX_MCP_VAULT_URL = "https://vault.example.com"
$env:PROXMOX_MCP_VAULT_TOKEN = "<从编排机密中加载>"
```
MCP服务器仅支持HTTPS。为托管环境提供证书和密钥:
```powershell
$env:PROXMOX_MCP_TLS__CERT_FILE = "C:\certs\proxmox-mcp\tls.crt"
$env:PROXMOX_MCP_TLS__KEY_FILE = "C:\certs\proxmox-mcp\tls.key"
$env:PROXMOX_MCP_TLS__GENERATE_SELF_SIGNED = "false"
```
对于可丢弃的开发或实验室运行,可以自动生成自签名证书:
```powershell
$env:PROXMOX_MCP_TLS__GENERATE_SELF_SIGNED = "true"
$env:PROXMOX_MCP_TLS__GENERATED_CERT_DIR = "$env:TEMP\proxmox-mcp\certs"
$env:PROXMOX_MCP_TLS__COMMON_NAME = "localhost"
$env:PROXMOX_MCP_TLS__SUBJECT_ALT_NAMES = '["localhost","127.0.0.1"]'
```
客户端在连接之前必须信任配置的证书或生成的自签名证书。
### 生产配置期望
生产部署应提供:
- 通过服务器会话解析器、OIDC、mTLS或签名工作负载身份集成进行外部身份验证。
- Redis支持的工作负载身份重放保护。
- 启用TLS的PostgreSQL和Redis。
- 企业机密提供程序代替本地开发机密。
- 限权Proxmox API凭证,范围限定在预期的集群和角色。
- 当启用SSH工具时,固定SSH主机密钥。
- 破坏性和高风险操作的审批策略。
- Proxmox拓扑结构的发布证据。
## 技术栈
- Python 3.13+
- FastMCP
- Pydantic v2 和 pydantic-settings
- SQLAlchemy async 和 asyncpg
- Redis asyncio 客户端
- AsyncSSH
- cryptography
- structlog
- Alembic
- pytest 和 pytest-asyncio
- Ruff
- Pyright
当前Proxmox客户端包括用于确定性测试的内存实现。Homelab模式通过 `build_runtime()` 将 `ProxmoxHttpApiClient` 连接起来,并具有断路器保护。企业Vault/OIDC部署仍然需要操作员提供的供应商客户端和网关集成。
## 路线图状态
```mermaid
flowchart LR
m0["里程碑 0 架构"] --> m1["里程碑 1 基础运行时"]
m1 --> m2["里程碑 2 身份验证 RBAC 策略 机密"]
m2 --> m3["里程碑 3 只读 Proxmox"]
m3 --> m4["里程碑 4 安全突变"]
m4 --> m5["里程碑 5 危险操作审批"]
m5 --> m6["里程碑 6 受控 SSH"]
m6 --> m7["里程碑 7 完整的 Proxmox 覆盖"]
m7 --> m8["里程碑 8 可观察性"]
m8 --> m9["里程碑 9 生产高可用性"]
m9 --> m10["里程碑 10 硬化"]
```
详细实施路线图位于 [`docs/roadmap.md`](docs/roadmap.md)。预览实施现已涵盖计划的运行时、安全、Proxmox工具、SSH、危险操作、可观察性、部署、强化和验证扩展等里程碑,达到代码和测试级别。下一阶段是收集Ceph、HA、多节点、PBS验证、LXC模板、节点更新编排和后端特定存储扩展的额外拓扑证据,然后再进行更广泛的资格声明。
## 文档
- [`docs/quickstart-homelab.md`](docs/quickstart-homelab.md):引导、Compose、服务令牌身份验证和MCP客户端设置。
- [`docs/architecture.md`](docs/architecture.md):系统架构、模块边界和运行时流程。
- [`docs/security-model.md`](docs/security-model.md):身份验证、授权、策略、审批和危险操作。
- [`docs/threat-model.md`](docs/threat-model.md):资产、信任边界、滥用案例和缓解措施。
- [`docs/tool-specification.md`](docs/tool-specification.md):MCP工具目录(200+工具,合约测试)。
- [`docs/mcp-schema.md`](docs/mcp-schema.md):请求、响应、错误、干预、影响和审计模式。
- [`docs/database-schema.md`](docs/database-schema.md):会话、策略、审计、审批、凭证、资源和SSH记录的持久化模型。
- [`docs/testing-strategy.md`](docs/testing-strategy.md):单元、集成、安全、实验室、SSH沙箱、混沌和验收测试。
- [`docs/deployment.md`](docs/deployment.md):Docker、Kubernetes、HA、可观察性和操作指南。
- [`docs/release-hardening.md`](docs/release-hardening.md):预览发布门控、混沌场景、回滚和已知限制。
- [`docs/release-candidate-notes.md`](docs/release-candidate-notes.md):发布审查类别,涵盖预览、配置文件、操作员资格和仍受保护的功能。
- [`docs/proxmox-compatibility.md`](docs/proxmox-compatibility.md):有证据支持的兼容性配置文件和已知拓扑限制。
- [`docs/domain-pack-status.md`](docs/domain-pack-status.md):按域划分的工具推广状态和受保护的操作。
## 许可证
该项目在Apache License 2.0下为开源项目。您可以在 [`LICENSE`](LICENSE)中找到相关条款。
## 生产姿态
该项目正在积极开发中。预览实现包括企业控制平面部分和当前可丢弃的实验室证据,但生产使用仍需要环境特定的验证。
在连接到生产Proxmox基础设施之前:
- 运行完整的测试套件和强化工作流。
- 验证每个启用的突变或破坏性工具是否针对实验室Proxmox集群。
- 保持 `verify_backup`、`expand_storage` 和实时节点更新编排禁用,除非您的环境具有匹配的证据。
- 配置真实的PostgreSQL、Redis、Vault或其他受支持的机密后端和审计保留。
- 审查RBAC、策略、审批和危险操作设置,以适应您的租户模型。
- 固定SSH已知主机并验证Proxmox API TLS证书。
- 确认备份、回滚和审计恢复程序。
在相关工具经过您自己的环境验证之前,请勿启用无人值守的实时突变或破坏性操作。
MCP 配置
以下是此 MCP Server 的配置信息,可直接复制到 Cursor 或其他 MCP 客户端中使用。
mcp.json
连接信息
猜你喜欢
暂无推荐服务器