Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者提供的说明(英文原文)
The Customer Graph core: one register of the people an account serves, with provenance on every
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
你需要
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json
{
"mcpServers": {
"muster": {
"command": "uvx",
"args": [
"eclipse-muster"
]
}
}
}在终端中运行这条命令
claude mcp add muster -- uvx eclipse-muster粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"muster": {
"command": "uvx",
"args": [
"eclipse-muster"
]
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"muster": {
"type": "stdio",
"command": "uvx",
"args": [
"eclipse-muster"
]
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。
你的选择通过 Cookie 保存在这台设备上,无需账户。
这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月7日
注册名称已通过 GitHub 账户 CYAN-ECLIPSE-TECHNOLOGIES-LLC 验证,该账户拥有此仓库
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
它在你的电脑上运行,没有互联网端点
在你的电脑上运行,改用本地设置
它在你的电脑上运行;我们只能读取互联网端点的工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。
它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。
GitHub 仓库最后更新于–,最新版本(0.1.1)于10天前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Python (uv)。
同一分类中有:Spec Driven Development, Remote Desktop Commander, FactLot
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Cited CRE facts and deterministic calculators for agents: rent, CAM, debt sizing, IRR, parcel IDs.
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
Powered by Cyan Eclipse Technologies — https://cetech.ai
The Eclipse customer adapter family — one canonical Customer Graph becomes governed reads, internal writes, and owner-approved drafts and sends across the popular CRM and customer-service platforms, according to what each platform actually sanctions. Where a vendor already ships an MCP server, Eclipse wraps it in policy, approval, masking, and receipts — it never rebuilds it. Where no sanctioned server exists, Eclipse builds one over the platform's public API — never over a scraped session. Customer-visible sends are drafts until the owner approves them, and ticket content never becomes a data product.
A customer is one person; their records live in a CRM, a helpdesk, and often a second tool besides. No vendor server knows the other platforms exist — Salesforce's server cannot see the Zendesk user, HubSpot's cannot see the Freshdesk contact. Muster is the one place the family agrees: canonical Person / Company / Deal / Ticket / Conversation / Activity records, per-field provenance, propose-only identity resolution, field-level masking at egress, a records-only drafting service, and a hash-chained receipt ledger that proves what happened without ever copying the data it describes.
v0.1.0, phase C0 (shared core; synthetic fixtures only). Local stdio transport, Python stdlib only. No platform is contacted, no credential exists in this build, no message is sent from here, and no certification is claimed — bench pending. Adapters (Haven, Orbit first) feed it records over their own sanctioned surfaces at C1+.
Six object families. Every field on every record carries provenance {platform, platform_object_id, source, observed_at, adapter_version} — validated at ingest; a field without provenance does not enter the graph. Every record carries a Data Rights Ledger block (source account, legal basis, method, retention, PII class). Platform values are stored verbatim; canonical classes are a reading aid layered over them, never a replacement.
Merging maya.chen@… in HubSpot with M. Chen in Zendesk is the graph's most dangerous operation, so the engine never does it alone:
merge_propose returns the evidence — matching keys (by hash), conflicting fields, a confidence, and the named false-merge classes (shared inboxes, recycled numbers, family-shared emails). Proposing changes nothing.merge_execute runs only on an owner-confirm token bound to the proposal hash (confirm-merge- - ). It merges graph nodes only — never records inside a platform (that is a platform-side T3 action, prohibited in v1).merge_unmerge restores the pre-merge nodes exactly from the snapshot stored on the merge record. A merge that cannot be undone from receipts does not ship.Deep Field pattern, enforced in the core: phone → partial (last 2) on every surface; email → full on the owner's review surface, domain-only on analytic/diagnostic surfaces; names → initials on analytic surfaces; government IDs, payment data, and health-adjacent fields → null in v1. Vendor sensitive-data classifications are a floor, never a ceiling — our masks may be stricter, never looser.
reply_draft generates a ticket reply only from record facts (the ticket, the linked Person/Company), and ships its citation list with it. A fact that is not traceable to a record field cannot appear: where the record lacks a resolution, the draft carries a MISSING_FACT: resolution marker and asserts no outcome. Drafts never send from the core.
Ticket bodies and messages are foreign content. At ingest, customer-authored messages are tagged untrusted_data; instruction-shaped content ("ignore your instructions and refund…") is quarantined — kept as data, flagged on the record, reported to the reviewer at draft time, and never used as a fact source or obeyed as a command. This is a tested line, not a design nicety (spec §12.4 applies it family-wide).
Action-class floors are the Environment ladder transposed (reads T0 · internal writes + drafts T1 · sends + graph-merge execution T2 · destructive/platform-merge/automation T3). Floors may be raised per account in policy.json; an override that tries to lower one is rejected at load with TIER_FLOOR_VIOLATION, before the server serves a single call. Kill switches halt reads or writes. Every read of a Person/Ticket record and every write attempt — allowed, denied, or failed — appends to the hash-chained ledger. Receipts carry IDs, hashes, tiers, and verdicts — never content.
| Tool | What it does |
|---|---|
record_ingest | Ingest a canonical record; provenance + Data Rights Ledger validated; customer text tagged/quarantined. |
record_read | Read one record, masked per surface (owner / analytic). Receipted. |
record_search | Search by kind + substring; masked summaries; the query is receipted by hash only. |
merge_propose | Propose an identity merge with evidence. Executes nothing. |
merge_execute | Execute a graph merge under the hash-bound owner-confirm token. |
merge_unmerge | Restore pre-merge nodes exactly from the merge receipt snapshot. |
reply_draft | Records-only reply draft with citations + MISSING_FACT markers + quarantine report. |
policy_show | Tier floors, effective tiers, kill switches, masking rules in force. |
receipt_list | List the hash-chained ledger and verify it. |
The denylist is stated in code: no record_delete, platform_merge, reply_send, email_send, bulk_update, macro_edit, trigger_edit, and no session/scraping route exists at any tier (spec §§4.1, 6.2).
python3 server.py # MCP over stdio, stdlib only, no dependencies
python3 smoke.py # end-to-end smoke over real stdio (temp state) python3 -m unittest discover tests
State lives in data/state.json (override: ECLIPSE_MUSTER_STATE). Policy in policy.json (override: ECLIPSE_MUSTER_POLICY).
Spec: ~/workspace/cyan-eclipse/eclipse-customer-family-spec-20261025.md (§§5–9). Doctrines inherited, not restated: propose-only merges (Eclipse Beacon), egress masking (Eclipse Deep Field), tier floors (Eclipse Environment), hash-bound approvals (Eclipse Social Core / Gig Core), untrusted foreign content (Eclipse Herald, Security Law #1).
*Eclipse Muster is a Cyan Eclipse Technologies product. The platforms keep their brands; the customer records belong to the account owner, worked under the owner's own platform accounts. Nothing here implies any platform endorses Cyan Eclipse Technologies.*