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
この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。
このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。
使っている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月6日にチェック
レジストリ名は、リポジトリを所有するGitHubアカウント CYAN-ECLIPSE-TECHNOLOGIES-LLC で確認済みです
このリポジトリはまだGitHubから読み取っていません
このリポジトリはまだGitHubから読み取っていません
これはパソコンで動くため、インターネット上のエンドポイントはありません
パソコンで動き、代わりにローカルの設定を使います
パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
レジストリには必須のキーは載っていません。ただし、最初に使うときにサインインを求めるサーバーもあります。
あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。
GitHubリポジトリの最終更新は–、最新バージョン(0.1.1)がレジストリに届いたのは10 日前です。
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにPython (uv)も必要です。
同じカテゴリには:Spec Driven Development, Remote Desktop Commander, Symantec Cloud DLP AIops
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:★ GitHubスターi3つの柱:レビュー · チェック · 利用状況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.
Governed Symantec Cloud DLP — 14 MCP tools, read-only with audit.
作者のリポジトリから書かれたとおりにコピーしたものです。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.*