mcpField
S
Substack Publisher MCP

Substack Publisher MCP

ローカル
publisher-api.substack.comデータ・分析66 日前に更新

Substack Publisher MCP について

Substack Publisher MCPは、MCPクライアントからSubstack公式Publisher APIの出版物・購読者データを読み取り専用で参照するサーバーです。複数の出版物に対応し、投稿検索や内容、反応指標、購読者情報を取得できます。

主な機能

  1. 01出版物と公開済み投稿の一覧表示
  2. 02投稿の検索と本文の取得
  3. 03投稿の反応統計の確認
  4. 04購読者数と購読者情報の取得
  5. 05設定済み出版物の選択

活用シーン

  1. 01テーマや日付で投稿を検索
  2. 02開封数、クリック数、閲覧数の確認
  3. 03購読者数の推移を追跡
  4. 04メールアドレスで購読者を検索

MCP 対応

ClaudeやCursorなどのMCPクライアントに、Substack公式Publisher APIを参照する読み取り専用ツールを公開します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

substack-publisher-mcp

Substack の公式 Publisher API 用 MCP サーバー

License: MIT Node.js MCP

注記: これは非公式のコミュニティ開発ツールであり、Substack, Inc. との提携、同社による推奨またはサポートはありません。

Substack の公式 Publisher API 用 MCP サーバーです。Claude、Cursor、または任意の MCP クライアントから、投稿の検索や閲覧、投稿の分析データと購読者数の取得、購読者の検索ができます。すべてのツールは読み取り専用です。

Claude Code での substack-publisher-mcp のデモ

このサーバーを選ぶ理由

substack-publisher-mcpその他の Substack MCP サーバー
API公式 Publisher API非公式の内部 API
認証API キー(安定)ブラウザー Cookie(不安定)
安定性公式の文書化された APISubstack が内部仕様を変更すると動作しなくなる
複数出版物への対応標準搭載利用不可

前提条件

  • Node.js 22 以降。 node --version で確認してください。インストールされていない場合は、nodejs.org からインストールしてください。
  • Substack Publisher API キー。 出版物の Substack ダッシュボードから生成してください。Publisher API の項目が表示されない場合は、出版物でまだ有効になっていない可能性があります。利用可能かどうかは Publisher API のドキュメント をご覧ください。

クイックスタート

1. インストール
git clone https://github.com/dkships/substack-publisher-mcp.git
cd substack-publisher-mcp
npm install && npm run build
2. MCP クライアントを設定する

クライアントの MCP 設定ファイルに追加します(ファイルがない場合は作成してください)。

クライアント設定ファイル
Claude Desktop(macOS)~/Library/Application Support/Claude/claude_desktop_config.json
Claude Desktop(Windows)%APPDATA%\Claude\claude_desktop_config.json
Claude Codeプロジェクトディレクトリの .mcp.json
Cursor.cursor/mcp.json
{
  "mcpServers": {
    "substack": {
      "command": "node",
      "args": ["/path/to/substack-publisher-mcp/dist/index.js"],
      "env": {
        "SUBSTACK_API_KEY": "your-api-key-here"
      }
    }
  }
}

Claude Code のユーザーへ: サーバー設定に "type": "stdio" を追加してください。

設定ファイルを編集した後、MCP クライアントを再起動してください。サーバーは起動時に読み込まれます。

3. 使い始める

Claude(または MCP クライアント)に次のように尋ねます。

  • 「設定している Substack の出版物はどれですか?」
  • 「先月の投稿を表示して」
  • 「価格設定についての投稿を探して」
  • 「スラッグが my-latest-post の投稿を表示して」
  • 「最新の投稿の開封数とクリック数はいくつですか?」
  • 「過去 30 日間の購読者数を教えて」
  • 「[email protected] の購読者情報を検索して」

AI エージェントやレジストリを通じてインストールしますか?簡潔で機械可読なセットアップガイドについては、llms-install.md をご覧ください。

ツール

ツール説明主なパラメーター
list_publications設定済みの出版物を一覧表示しますなし
list_posts公開済みの投稿を一覧表示しますstartDate、endDate、sortBy、type、maxResults、next
search_posts公開済みの投稿を全文検索しますquery(必須)、maxResults(1~100)
get_postURL スラッグで投稿と本文を取得しますurlSlug(必須)、bodyFormat
get_post_stats投稿のエンゲージメント統計を取得しますurlSlug(必須)
get_subscriber_counts種類別の日次購読者数を取得しますstartDate、endDate
get_subscriberメールアドレスで購読者を検索しますemail(必須)

複数の出版物を設定している場合、list_publications 以外のすべてのツールで、任意の publication パラメーターを指定できます。

get_post は、デフォルトで投稿本文を Markdown として返します。Substack は本文を JSON エンコードされた ProseMirror ドキュメントとして送信するため、通常は約 2 倍のサイズになります。生のドキュメントを取得するには bodyFormat: "prosemirror" を、メタデータのみを取得するには "none" を指定してください。

日付フィルターには YYYY-MM-DD を指定します。list_posts では endDate は範囲に含まれませんが、get_subscriber_counts では含まれます。

レスポンス例
get_subscriber_counts
[
  {
    "date": "2025-01-15",
    "total_email_subscribers": 25000,
    "paid_subscribers": 500,
    "free_trial_subscribers": 10,
    "comp_subscribers": 50,
    "gift_subscribers": 15,
    "lifetime_subscribers": 0,
    "founding_subscribers": 25
  }
]
get_post_stats
{
  "clicks": 320,
  "opens": 5400,
  "post_id": 12345678,
  "recipients": 10000,
  "views": 6100,
  "new_free_subscriptions": 80,
  "new_paid_subscriptions": 5,
  "estimated_revenue_increase": 400
}
list_posts
{
  "posts": [
    {
      "post_id": 12345678,
      "title": "My Latest Post",
      "audience": "only_paid",
      "subtitle": "A deep dive into the topic",
      "postDate": "2025-01-15T12:00:00.000Z",
      "urlSlug": "my-latest-post",
      "coverImage": "https://substackcdn.com/image/..."
    }
  ],
  "next": "abc123cursor"
}

最終ページでは、next は null になります。

複数の出版物

複数のSubstack出版物を管理している場合は、SUBSTACK_API_KEY_<NAME> の形式でそれぞれに個別のAPIキーを設定します。

{
  "mcpServers": {
    "substack": {
      "command": "node",
      "args": ["/path/to/substack-publisher-mcp/dist/index.js"],
      "env": {
        "SUBSTACK_API_KEY_MAIN": "your-main-blog-key",
        "SUBSTACK_API_KEY_TECH": "your-tech-newsletter-key",
        "SUBSTACK_API_KEY_COMPANY": "your-company-updates-key"
      }
    }
  }
}

次に、クエリ対象の出版物を指定します。

「mainの購読者数を表示して」 「tech出版物の最近の投稿を一覧表示して」

設定済みの出版物名をすべて確認するには、list_publications を使用します。

トラブルシューティング

問題解決策
Unauthorized エラーAPIキーが正しいことを確認してください。キーは Bearer プレフィックスを付けずに、authorization ヘッダーに直接指定します。
起動時に ... duplicates publication ... または ... ignoring it が表示される2つの環境変数が同じ出版物名に対応している(名前の大文字・小文字は区別されず、SUBSTACK_API_KEY は default です)か、キーの形式が正しくありません。重複する環境変数の名前を変更するか、削除してください。
サーバーが起動しないクローンした後に npm run build を実行したことを確認してください。サーバーは src/ ではなく、dist/ から実行されます。
No API keys configuredMCP クライアントの設定で SUBSTACK_API_KEY または SUBSTACK_API_KEY_<NAME> を設定してください。
クライアントにサーバーが表示されない設定ファイルが有効なJSONであること(末尾にカンマがないこと)を確認してから、クライアントを再起動してください。
command not found / spawn node ENOENTNode.jsがインストールされていないか、PATHに含まれていません。node --version を確認してください。
それでも解決しない場合クライアントのMCPログを確認してください。macOS版Claude Desktopの場合:~/Library/Logs/Claude/mcp*.log。

APIリファレンス

このサーバーはSubstack Publisher APIをラップしています。利用可能なデータやレート制限の詳細については、Substackのドキュメントを参照してください。

コントリビューション

ガイドラインについては、CONTRIBUTING.mdを参照してください。

ライセンス

MIT Licenseです。詳細については、LICENSEを参照してください。


SubstackはSubstack, Inc.の商標です。このプロジェクトはSubstack, Inc.とは提携していません。Substackの名称は説明を目的としてのみ使用しています。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。