Eclipse Dispatch MCP
io.github.CYAN-ECLIPSE-TECHNOLOGIES-LLC由 GitHub 帳號 CYAN-ECLIPSE-TECHNOLOGIES-LLC 發布v0.1.1更新於 Oct 29, 2026
Drafts once, syndicates drafts everywhere sanctioned, unifies the analytics. Never publishes
概覽
本機 MCP 伺服器:一次起草電子報,預覽各平台改寫版本,記錄與內容雜湊綁定的核准,再把已核准的草稿分送到 beehiiv、Ghost 與 Substack。
- 可以做什麼
- 建立並版本化含各平台變體的標準草稿,回傳內容雜湊
- 預覽各平台呈現結果以及與標準草稿之間的所有改寫差異
- 以綁定內容雜湊的權杖記錄擁有者核准
- 分送已核准草稿:經轉接器寫入 beehiiv 與 Ghost 草稿,Substack 則產生本機貼上包
- 讀取附平台來源與定義的統一分析資料,定義不一致時拒絕取平均
- 列出並驗證草稿、核准、分送與分析執行的雜湊鏈回執
- 適用情境
- 適合一次撰寫電子報、再於多個平台重複輸入,並希望採用先審後發流程與口徑清楚之統一分析資料的發行者。請注意 v0.1.0 僅針對隨附範例資料與本機樁伺服器執行,目前較適合評估流程,而非連接真實平台。
- 執行需求
- 以 Python 套件(eclipse-dispatch,透過 uvx 啟動)在本機以 stdio 執行,僅使用標準函式庫。未宣告任何驗證、環境變數或標頭。狀態寫入伺服器旁的 data/state.json,可用 ECLIPSE_DISPATCH_STATE 覆寫;轉接器位址可用 ECLIPSE_DISPATCH_BEEHIIV_URL 與 ECLIPSE_DISPATCH_GHOST_URL 設定。僅支援桌面端。
安裝
在 SourceWeft 中
- 開啟 儀表板中的 Eclipse Dispatch MCP,將其新增到工作區。
- 為需要使用其工具的對話啟用該服務。
Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。
其他 MCP 客戶端
參照 儲存庫 中的啟動說明。
README
Eclipse Dispatch MCP
Powered by Cyan Eclipse Technologies — https://cetech.ai
Eclipse Dispatch — the newsletter layer above the platforms: it drafts once and syndicates the drafts to every sanctioned platform, unifies the analytics, and watches your own subscriptions like a portfolio. It never publishes without approval, and it never scrapes.
Why this exists
A publisher multi-homed across beehiiv, Ghost, and Substack writes once and re-enters everywhere, then reads three dashboards with three different definitions of an "open." Each platform's own tooling stops at its own wall: Substack's official MCP is read-only analytics gated to Bestseller admins; beehiiv's official MCP drafts into beehiiv only. Dispatch is the cross-platform layer none of them will build — one canonical draft, per-platform drafts via sanctioned routes, analytics unified without silent blending, and review-first as a property of the code, not a policy memo.
Status — honest labels
v0.1.0, phases D0 + D1-core. Bench pending — no certification claimed. Local stdio transport, Python stdlib only. Adapters run against shipped fixtures and local stub HTTP servers shaped like the real APIs — nothing in this build contacts a platform. Live wiring is owner-gated Wave 2: the beehiiv signup is an open owner item, and no Ghost instance runs here. The reader face (spec §5, phase D2 — subscription portfolio, renewal radar, engagement truth) is not in v0.1; neither is the §4.6 unofficial-endpoint module, which the spec recommends not building in v1 at all.
Tools (6)
The invariants (encoded + tested)
- Hash-bound approval. Approval binds to the canonical draft's content hash. Any post-approval edit — a new version, or a silent in-place tamper — invalidates it; syndication recomputes the hash and refuses by name. There is no path from "edited" to "sent" that passes through a stale approval.
- The beehiiv adapter has no publish method. Deliberate, mirroring the platform's own design (its official MCP also stops at drafts; publishing is the publisher's in-app act). A unit test asserts the method's absence. The server exposes no publish tool at all — no auto-publish, at any tier, for any platform.
- The Substack adapter is read-only. No sanctioned write surface exists, so write attempts raise a named refusal (
ReadOnlyRefusal: "Substack adapter is READ-ONLY…"). Substack receives paste packs, never writes. The spec's unofficial-endpoint module is not built (spec decision 3 recommendation: not in v1) — its absence changes nothing. - Analytics never blend silently. Three platforms define "open rate" over three different populations (the fixtures say so, in each definition). Dispatch labels every figure and refuses to average across definitions.
- No scraping. Public RSS of the owner's own publication is consumption as offered; bulk extraction does not exist here (spec §7).
Receipts
Draft creations, preview packs, approvals, per-platform syndications, and analytics runs append hash-chained receipts — append-only and machine-verifiable (verify_receipt_chain); tampering with any entry breaks the chain and is detected by test.
Run it
State persists in data/state.json beside the server (override with ECLIPSE_DISPATCH_STATE); paste packs land in data/paste-packs/. data/ is gitignored. Adapter base URLs can be pointed at stub (or, in Wave 2, real) endpoints via ECLIPSE_DISPATCH_BEEHIIV_URL / ECLIPSE_DISPATCH_GHOST_URL; with none set, in-process fixture transports answer.
Fixtures
fixtures/ ships per-platform analytics (each metric with the platform's own name and definition — the beehiiv and Ghost revenue figures deliberately use different definitions, period gross vs MRR, so the no-blending rule has something honest to catch) and substack_feed.xml, the owner's own publication RSS in fixture form. Stub servers shaped like the beehiiv v2 API and the Ghost Admin API live in adapters.py and are exercised over real local HTTP by the tests.
Roadmap (per spec)
- D2 — reader face: subscription portfolio graph, renewal radar, engagement truth, cancel prep (own data only, strictest data tier).
- D3 — Substack depth as the sanctioned surface grows — design waits for sanctioned writes; no scraping milestone exists.
- Wave 2 (owner-gated) — live beehiiv wiring after the owner's signup; live Ghost against a real instance.
License / attribution
A Cyan Eclipse Technologies product. The "Powered by Cyan Eclipse Technologies" attribution travels with it.
來源:README.md,提交 5325514
工具
0版本歷史
2- v0.1.1最新Oct 29, 2026
- v0.1.0Oct 26, 2026
評分
已滿足適用檢查項的 50%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
- 近 30 天內可連通25 分
請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。
- 已宣告認證方式10 分
請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。
- 已列出工具15 分
請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。
- 描述必需15 分
- 圖示10 分
- 文件15 分
- 授權條款10 分