Eclipse Dispatch MCP について
Eclipse Dispatch MCPは、レビューを前提に、正規ドラフトの作成、各プラットフォーム向けドラフトの準備、定義を保った分析レポートを行うニュースレター用ワークフローサーバーです。複数プラットフォームで活動する発行者向けで、v0.1のアダプターは実環境ではなくフィクスチャとローカルスタブを使います。
主な機能
- 01バージョン付き正規ドラフトの作成
- 02プラットフォーム別の調整内容をプレビュー
- 03コンテンツハッシュに所有者の承認を紐付け
- 04許可されたプラットフォーム向けドラフトを準備
- 05プラットフォームの出典付き分析レポート
- 06ハッシュチェーンレシートの検証
活用シーン
- 01複数プラットフォーム向けのニュースレター草稿を準備
- 02配信前にプラットフォーム別の変更を確認
- 03定義の異なる分析指標を混合せずに確認
- 04承認、配信、レポート実行を監査
MCP 対応
ローカルstdio経由で、ドラフト作成、プレビュー、承認、ドラフト配信、分析、レシートの6つのツールをMCPクライアントに公開します。v0.1のアダプターはフィクスチャとローカルのスタブHTTPサーバーを使い、実プラットフォームへの接続や公開ツールはありません。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
6掲載時のツール一覧 · 2 日前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| body | string | はい | |
| tags | array | いいえ | |
| title | string | はい | |
| audience | string | いいえ | |
| draft_id | string | いいえ | |
| subtitle | string | いいえ | |
| variants | object | いいえ | |
| canonical_url | string | いいえ |
詳細
Eclipse Dispatch MCP
Cyan Eclipse Technologies 提供 — https://cetech.ai
Eclipse Dispatch — プラットフォームの上位にあるニュースレイヤーです。一度下書きを作成し、承認済みのすべてのプラットフォームに配信するとともに、分析データを統合し、自分の購読状況をポートフォリオのように見守ります。承認なしに公開することはなく、スクレイピングも行いません。
これが必要な理由
beehiiv、Ghost、Substack を併用するパブリッシャーは、一度書いた内容を各サービスに再入力し、さらに「開封」の定義がそれぞれ異なる3つのダッシュボードを確認することになります。各プラットフォーム独自のツールは、そのプラットフォームの壁を越えません。Substack の公式 MCP は Bestseller 管理者限定の読み取り専用分析機能であり、beehiiv の公式 MCP は beehiiv の下書きしか作成できません。Dispatch は、どちらも構築しないクロスプラットフォームレイヤーです。正規の下書きを1つ作成し、承認済みの経路を通じてプラットフォームごとの下書きを作り、データをひそかに混ぜることなく分析を統合します。また、レビューを優先する仕組みはポリシーメモではなく、コードの特性として実装されています。
ステータス — 正確な表記
v0.1.0、フェーズ D0 + D1-core。ベンチマークは保留中 — 認定を主張していません。 ローカルの stdio トランスポートを使用し、Python 標準ライブラリのみで構成されています。アダプターは、同梱のフィクスチャと実際の API を模したローカルのスタブ HTTP サーバーに対して動作します — このビルドからプラットフォームに接続することはありません。 実際の接続は Wave 2 でオーナーの承認が必要です。beehiiv への登録はオーナー側の未対応項目で、ここでは Ghost のインスタンスも稼働していません。読者向け機能(仕様 §5、フェーズ D2 — 購読ポートフォリオ、更新時期の通知、エンゲージメントの実態)は v0.1 には含まれていません。仕様 §4.6 の非公式エンドポイントモジュールも含まれていません。仕様では、そもそも v1 で構築しないことを推奨しています。
ツール(6)
| ツール | 機能 |
|---|---|
draft_create | 正規の下書き(タイトル、本文、副題、自宅を指す canonical_url、タグ、対象読者、プラットフォームごとのバリエーション)を作成します。バージョン管理され、ハッシュに紐付けられます。承認の紐付け先となる content_hash を返します。既存の draft_id で再作成すると、新しいバージョンが作られ、承認状態はなしにリセットされます。 |
draft_preview | レビュー用の成果物です。プラットフォームごとのレンダリング済みプレビューに加え、正規の下書きとの差分となるすべての調整内容(バリエーションによる上書きとプラットフォームの制約。Substack は貼り付け用パック、beehiiv は下書きのみで公開はアプリ内)を表示します。 |
draft_approve | オーナーの承認を記録し、コンテンツハッシュに紐付けられたトークンを返します。 |
syndicate_drafts | 承認済みの下書きを配信します。API 形式のアダプターを通じて beehiiv/Ghost に下書きを作成し、Substack には貼り付け用パック(オーナーがアプリ内で投稿するローカルファイル)を用意します。承認トークンと、無効化されていないハッシュの両方が必要です。プラットフォームごとに受領記録を作成します。 |
analytics_report | 読み取り専用の D0 統合分析です。指標キーごとに数値を正規化し、それぞれにプラットフォームの出典情報と、そのプラットフォーム独自の定義を付けます。各ソースの定義が同一の場合に限り、統合値を表示します。それ以外では combined: null と DEFINITIONS_DIFFER を付けて示し、平均化することはありません。 |
receipt_list | 下書き、承認、配信、分析実行のハッシュチェーン形式の受領記録と、チェーンの検証機能を提供します。 |
不変条件(実装・テスト済み)
- ハッシュに紐づく承認。 承認は、正規ドラフトのコンテンツハッシュに紐づきます。承認後の編集はすべて、新しいバージョンの作成でも、気づかれないままの直接改ざんでも、承認を無効にします。シンジケーション時にハッシュを再計算し、理由を明示して拒否します。「編集済み」から「送信済み」へ、古い承認を経由する経路はありません。
- beehiiv アダプターには公開メソッドがありません。 これは意図的な設計であり、プラットフォーム自体の設計を反映しています(公式 MCP もドラフトの作成までで、公開はパブリッシャーがアプリ内で行います)。ユニットテストでメソッドが存在しないことを検証します。サーバーには公開ツールが一切なく、どのプラットフォームでも、どのティアでも、自動公開は行いません。
- Substack アダプターは読み取り専用です。 正式に認められた書き込み手段が存在しないため、書き込みを試みると名前付き拒否(
ReadOnlyRefusal:「Substack adapter is READ-ONLY…」)が発生します。Substack にはペースト用パックを渡すだけで、書き込みは行いません。仕様の非公式エンドポイントモジュールは実装されていません(仕様の決定事項 3 の推奨により、v1 には含めません)。これがなくても、動作に変化はありません。 - 分析データが暗黙に混在することはありません。 3 つのプラットフォームでは、「開封率」の対象となる母集団がそれぞれ異なります(各定義はフィクスチャに記載されています)。ディスパッチはすべての数値にラベルを付け、定義をまたいだ平均化を拒否します。
- スクレイピングは行いません。 所有者自身のパブリケーションの公開 RSS を、そのまま提供されている形で利用することは許容されます。ここに一括抽出機能はありません(仕様 §7)。
レシート
ドラフトの作成、プレビューパック、承認、プラットフォームごとのシンジケーション、分析の実行は、ハッシュチェーンで連結されたレシートとして追記されます。レシートは追記専用で、機械的に検証できます(verify_receipt_chain)。エントリが改ざんされるとチェーンが壊れ、テストで検出されます。
実行方法
python3 server.py # MCP over stdio, stdlib only
python3 smoke.py # end-to-end smoke over real stdio (temp state, fixture adapters)
python3 -m unittest discover -s tests # 15 tests
状態はサーバーと同じ場所にある data/state.json に永続化されます(ECLIPSE_DISPATCH_STATE で変更可能)。ペースト用パックは data/paste-packs/ に保存されます。data/ は gitignore の対象です。アダプターのベース URL は、ECLIPSE_DISPATCH_BEEHIIV_URL/ECLIPSE_DISPATCH_GHOST_URL を使ってスタブ(または Wave 2 では実際の)エンドポイントに向けることができます。どちらも設定されていない場合は、プロセス内のフィクスチャトランスポートが応答します。
フィクスチャ
fixtures/ には、プラットフォームごとの分析データ(各指標には、そのプラットフォーム独自の名称と定義が付いています。beehiiv と Ghost の収益額は、期間の総額と MRR という異なる定義を意図的に用いており、混在防止ルールが正しく機能するかを確かめられます)と、所有者自身のパブリケーションの RSS をフィクスチャ形式で収録した substack_feed.xml が含まれています。beehiiv v2 API と Ghost Admin API に準拠したスタブサーバーは adapters.py にあり、テストでは実際のローカル HTTP 経由で実行されます。
ロードマップ(仕様に準拠)
- D2 — 読者向け機能:購読ポートフォリオのグラフ、更新レーダー、エンゲージメントの実態、キャンセル準備(所有者自身のデータのみ、最も厳格なデータティア)。
- D3 — 正式に認められた手段が拡充されるのに合わせて Substack の機能を強化します。設計は正式な書き込み手段の登場を待ちます。スクレイピングを行うマイルストーンはありません。
- Wave 2(所有者の承認が必要) — 所有者の登録後に beehiiv と接続し、実際のインスタンスで Ghost を稼働させます。
ライセンス/帰属表示
Cyan Eclipse Technologies の製品です。「Powered by Cyan Eclipse Technologies」という帰属表示は、本製品にも付随します。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。