Eclipse Constellation MCP

io.github.CYAN-ECLIPSE-TECHNOLOGIES-LLC由 GitHub 账号 CYAN-ECLIPSE-TECHNOLOGIES-LLC 发布v0.1.1更新于 Oct 29, 2026

The governed, vendor-neutral VM fleet layer for agents: one policy, one receipt ledger, every cloud

概览

AI 生成的概览

只读、受策略治理的虚拟机机群层:列出已声明目标、按策略评估生命周期操作、探测主机,并维护哈希链收据账本。

可以做什么
  • 列出已声明的机群目标及其类型、地址、通道、负责代理与声明资源
  • 按策略评估生命周期操作(配额、允许清单、TTL、快照前置条件、Tier-3 审批),返回 ALLOW/DENY 及理由
  • 对已声明目标执行固定模板的只读探测(identity、uptime、disk、memory、services)
  • 对全部已声明目标做机群快照,记录各目标状态与新鲜度
  • 列出账本收据并校验只追加的哈希链
适用场景
适合需要让助手判断某项虚拟机操作在书面策略下是否被允许、并留下可审计收据记录的场合。适合早期评估这一治理层,而非真实的机群运维。
运行要求
以 Python 包(eclipse-constellation,通过 uvx 启动)在本地以 stdio 运行,仅用标准库、无依赖。未声明认证或 API 密钥。可通过环境变量覆盖状态、目标与策略文件路径。仅通过声明的本地通道探测本机。
安装前请注意
版本为 v0.1.0、规范阶段 C0+,仅观察:不含任何变更代码路径,ALLOW 只是判定而非执行。销毁、网络变更、快照删除等 Tier-3 操作因审批通道未接通而始终 DENY。声明的资源数值与镜像哈希为占位元数据。收据写入本地状态文件,应视为审计记录。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Eclipse Constellation MCP,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

Eclipse Constellation MCP

Powered by Cyan Eclipse Technologies — https://cetech.ai

Eclipse Constellation — the governed, vendor-neutral VM fleet layer for agents: one policy, one receipt ledger, every cloud and hypervisor underneath.

Why this exists

Every cloud and hypervisor now ships its own agent surface, and each one owns exactly its own estate. What none of them provides is the layer above: who may do what to a machine, under whose authority, within what limits — and the receipts to prove it afterwards. Constellation is that layer. It is the Agent Wallet pattern transposed from money to machines: policy is written by a human, checked before anything executes, and every decision is ledgered.

Status — honest labels

v0.1.0, spec phase C0+ (fleet state + policy evaluation). OBSERVE-ONLY: this build contains no mutation code paths at all. Nothing in this file can start, stop, resize, snapshot, or destroy a machine — lifecycle actions exist only as policy evaluations that return ALLOW/DENY with reasons. Local stdio transport, Python stdlib only. The only target probed is this host itself, over its declared channel. No certification claimed — bench pending.

Explicitly NOT in v0.1, by spec and by the build's safety brief:

  • No execution adapters. ALLOW is a policy verdict, not an action. Execution lands in phase C1+ behind an owner gate.
  • No Tier-3 ALLOW. Destroy, network changes, and snapshot deletion require explicit human confirmation every time; the approval channel is not wired in v0.1, so Tier-3 evaluations always DENY here, with the reason stated.
  • The Eclipse Connect droplet is NOT a declared target. Its migration (spec §6.4: declare → read → snapshot discipline → gated mutation) is owner-gated; v0.1 declares this VM only.

Tools (5)

ToolWhat it does
target_listLists declared targets only: name, kind, address, declared channel, owner agent, desk, declared resources. Undeclared targets are invisible to every tool.
policy_evaluateEvaluates a lifecycle action against policy — quotas (arithmetic shown on refusal), image + network allowlists, TTL + purpose discipline, the snapshot-before-mutation precondition, Tier-3 approval gating. Returns ALLOW/DENY + reasons + per-check results. Every evaluation is receipted, DENYs included. Evaluates only; never executes.
probe_targetRead-only probes against a declared target over its declared channel. Probes are fixed command templates chosen by name (identity, uptime, disk, memory, services). There is no free-form command argument — that is law in v0.1, enforced in the tool.
fleet_snapshotProbes every declared target and stores a receipted fleet snapshot with per-target status, probe results, and freshness.
receipt_listLists ledger receipts (evaluations incl. DENYs, probes, snapshots) and verifies the append-only hash chain.

The registry doctrine

Targets are declared, never discovered or improvised: targets.json is the fleet's Device Registry. Each target declares its kind, address, channel (local for this host — it runs no sshd, and this build does not start one; ssh for future declared remote targets, via the system ssh client in batch mode), owner agent, desk, and declared resources. A target with no declared channel is inventory-only; the layer never invents one.

Shipped registry v0.1: one target, self-vm — this VM (2 vCPU / 8 GB declared). Declared-resource figures in targets.json and image hashes in policy.json are declared metadata: the image entries are named registry slots whose real hashes land when the first allowlisted images are registered at C1.

The policy core (spec §4, as evaluated)

  • Quotas are caps. Per-desk and fleet ceilings on vCPU, RAM, disk, VM count. A creation that would breach a cap is refused with the arithmetic in the reason string.
  • Image + network allowlists. Creations boot only from registered images (name, and hash when supplied); targets join only declared networks. A new network is a policy change, not a runtime flag.
  • Snapshot-before-mutation is mechanical. resize, image_change, exec_push, rollout, and destroy require a fresh snapshot receipt for the same target. No snapshot receipt, no mutation — checked, not advised.
  • Ephemeral by default. Creations require a purpose tag and a TTL within the policy ceiling (default 24h, ceiling 168h). Permanence is a human grant.
  • Identity is bound. Every evaluation names its actor (agent + desk). Anonymous evaluations are denied.
  • Receipts are the product. Append-only, hash-chained, GENESIS-anchored — evaluations, probes, and snapshots all land in the same ledger (data/state.json, overridable via env).

Snapshot-receipt binding (v0.1 semantics, stated plainly): until execution adapters land, a qualifying snapshot receipt is the ALLOW evaluation receipt of a snapshot_create action for the same target, fresh within policy.snapshot_fresh_seconds (24h). C1 adapters will record execution receipts of the same shape; the precondition check does not change.

Run it

bash
python3 server.py            # MCP over stdio, stdlib only, no dependenciespython3 smoke.py             # end-to-end smoke over real stdio (temp state)python3 -m unittest discover tests   # test suite

Env overrides: ECLIPSE_CONSTELLATION_STATE, ECLIPSE_CONSTELLATION_TARGETS, ECLIPSE_CONSTELLATION_POLICY.

Roadmap (spec §8)

C1 — lifecycle execution under policy on the first declared adapter (owner-gated; the droplet migration is its own owner decision). C2 — exec + console layers over declared channels. C3 — a second substrate behind the same policy core, which is when the vendor-neutrality claim becomes testable, then sayable.


A Cyan Eclipse Technologies product. The "Powered by Cyan Eclipse Technologies" attribution travels with it.

来源:README.md,提交 2f64118

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

2
  1. v0.1.1最新Oct 29, 2026
  2. v0.1.0Oct 26, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分