Skip to content

Latest commit

 

History

History
590 lines (343 loc) · 26.3 KB

article_substack_mcp_setup.md

File metadata and controls

590 lines (343 loc) · 26.3 KB

「AIさん、今日の記事、投稿しといて」── が、本当に通じる時代になりました

こんにちは、Taiyoです。

私はいま、オーストラリアのメルボルンで暮らしながら、毎日Substack(サブスタック、海外版のnoteみたいなものです)に文章を書いています。

この記事は、そんな私が最近作った、 「AIに、毎日の記事投稿を全部おまかせできるツール」 のお話と、 その実際の入れ方 を、上から順番に書いたものです。

長いです。でも、ここに書いたことを上から順にやれば、 本当に動きます。 お茶でも淹れて、ゆっくり読んでください。


毎日、文章を投稿するって、地味にしんどい

文章を書くこと自体は、私はわりと好きなんです。

頭の中にあるモヤモヤを言葉にしていく時間って、整理整頓みたいで気持ちがいい。

しんどいのは、書いたあとです。

  • パソコンで「投稿する画面」を開いて
  • タイトルを打ち込んで
  • 本文をぜんぶ貼り付けて
  • 写真を1枚ずつアップロードして
  • サムネイル(記事の表紙の画像)を別で用意して
  • 「公開する時間」を選んで
  • 「公開!」のボタンを押す

これ、毎日2〜3回。書いた直後で頭がぼーっとしてる時間に、わりとした事務作業が地味に積み重なって、 書くより、投稿のほうが疲れる日 すらあるんですよね。

毎日お弁当を作る人なら、 作るより、洗い物のほうがしんどい日 ってわかると思います。あれと、ほぼ同じ感覚です。


「これ、AIに全部やってもらえないかな」と思った

ある日、ふと思ったんです。

「タイトルと本文を渡して、 『あとはよろしく』って言ったら、ぜんぶやっておいてくれるAI がいたら、人生変わるな」と。

それで、作りました。名前は 「Substack MCP(サブスタック・エム・シー・ピー)」 といいます。

名前は難しそうですが、やってることは超シンプル。

AIに「投稿しといて」とお願いすると、本当にぜんぶやってくれる、魔法の取次役 です。


具体的に、何ができるようになったか

たとえば、私が朝ごはんを食べながらAIにこう言うとします。

「今日のお昼12時に、この文章を投稿しておいて。サムネはこの写真を使って。本文の途中に、犬の写真も入れてほしい」

すると、私が何もしなくても、

  • お昼12時ぴったりに、 記事が自動で公開される
  • サムネには、ちゃんと指定した写真が表示される
  • 本文の途中に、犬の写真がきれいに埋め込まれている
  • 読者にメール通知も届く

これがぜんぶ、 AIに日本語で1回お願いするだけ で起きるんです。

しかも、こんなこともできます。

  • 「来週ぶんの記事を、月〜金で1本ずつ予約投稿しといて」
  • 「過去に書いた下書きを全部見せて。古いやつは消しておいて」
  • 「この長い記事、もう少し短くまとめてから投稿して」
  • 「Substackの短文(Notes)に、2時間ごとに何かつぶやいといて」
  • 「Substackのチャットに新しい返信が来てたら、僕の口調で返事しといて」

朝のうちに「今週ぶんの新聞配達、よろしくね」とお願いしておけば、あとは勝手に毎日配ってくれる、 AI新聞配達員 がうちに来てくれた感覚です。


どうしてそんなことができるの?

ここ、ちょっとだけ、仕組みのお話をします。難しくならないよう、おばあちゃんの家を例にします。

想像してみてください。

  • AI(Claudeという名前のAIです) = 賢いお手伝いさん。日本語で何でも頼める。でも、おばあちゃんの家の鍵は持ってない。
  • Substack = おばあちゃんの家。ここに記事という「お手紙」を置きにいく必要がある。
  • Substack MCP = お手伝いさんに、 おばあちゃんの家の合鍵を渡してあげる役 。

合鍵がないと、お手伝いさんはおばあちゃんの家に入れません。だから、いくら賢くても投稿できない。

でも合鍵を渡してあげれば、 「お手伝いさんが、自分でおばあちゃんの家に入って、お手紙を置いてきてくれる」 ようになります。

私が作ったのは、その「合鍵」を渡す仕組みです。


ちょっとだけ専門用語:「セッション」って何?

ふだんブラウザ(インターネットを見るアプリ)でSubstackやAmazonにログインすると、ブラウザの中に 「あ、この人はTaiyoさんだ」って覚えておくための、小さな付箋 が貼られます。

これを 「Cookie(クッキー)」 とか 「セッション」 と呼びます。

たとえばAmazonに毎回パスワードを入れなくてもログイン状態が続くのは、この付箋のおかげなんです。

私の作ったツールは、 その「付箋」をAIにこっそり渡してあげる ことで、AIが「Taiyoさん本人として」Substackに投稿できるようになる、という仕組みです。

「自分の代わりに、自分のフリをしてくれる」というイメージ。Substack側からは、私自身が投稿しているのと完全に同じに見えます。怖くありません。


ここから、実際に入れていきます

ここからが本題です。

途中で「?」となったら、その箇所だけコメントやDMで教えてください。

所要時間は、初めてだと1〜1.5時間くらい見ておいてください。慣れた人なら20分です。


用意するもの(材料リスト)

お料理を始める前にキッチンに材料を並べるみたいに、まずは必要なものを揃えます。

  • パソコン(Windowsでも、Macでも、どちらでもOK)
  • Substackのアカウント(substack.com で作れます。無料)
  • Google Chrome(普段使っているブラウザ。Microsoft EdgeやBraveでも代用可。Safariは今のところ非対応)
  • Anthropic(アンソロピック)のアカウント(claude.ai で作れます。無料でもOK)

これだけです。料理でいうと、米と水と塩、くらいのシンプルさ。


ステップ0:ターミナルを開く(一番最初の壁、でも怖くない)

これからの作業は 「ターミナル」 という、 黒い画面 で行います。

「黒い画面」と聞くだけで身構えるかもしれませんが、要するに、 マウスじゃなくてキーボードでパソコンに指示を出すための画面 です。電卓のちょっと賢い版だと思ってください。

Windowsをお使いの方

  1. 画面の左下にある スタートボタン(Windowsのマーク)をクリック
  2. 出てきた検索ボックスに PowerShell と入力
  3. 「Windows PowerShell」が出てきたら、それをクリック

青っぽい画面が開いたら成功です。

Macをお使いの方

  1. キーボードの Command(⌘) と スペースキー を同時に押す
  2. 検索ボックスが出てくるので ターミナル と入力
  3. Enterキーを押す

白い(または黒い)画面が開いたら成功です。

💡 ここから先、「ターミナルに○○と打つ」と言ったら、この画面を指しています。 コマンドを打ったあとは、必ず最後に Enterキー を押すのを忘れないでください。


ステップ1:「Claude Code(クロード・コード)」を入れる

最初に、私たちのお手伝いさんになる AI(Claude)の本体 を入れます。

正確には、これは「Claude Code」という名前で、 ターミナルの中で動くClaude のこと。普段ブラウザで使うClaudeとは別物です。なぜCode版が必要かというと、 MCP(私たちの作る合鍵)が使えるのはこのCode版だけ だからです。

Windowsの方

ターミナル(PowerShell)に、以下を そのまんまコピペ してEnter:

irm https://claude.ai/install.ps1 | iex

Macの方

curl -fsSL https://claude.ai/install.sh | bash

ガーッと文字が流れて、何分か待つとインストールが終わります。

終わったら、 ターミナルを一回閉じて、もう一度開き直してください。 これは「新しく入れたものをパソコンに認識させる」ためのおまじないです。

開き直したら、動作確認のためにこう打ってみてください:

claude --version

claude version 2.x.x みたいな表示が出れば成功。「コマンドが見つかりません」と出たら、もう一度ターミナルを再起動してください。

初回ログイン

claude

と打つと、ブラウザが勝手に開いて、Claudeへのログイン画面が出てきます。普段使っているClaudeのアカウント でログインしてください(持ってない方は、その場で作れます。無料)。

ログインが終わると、ターミナルにClaudeとの会話画面が現れます。試しに「こんにちは」と打って、返事が返ってきたら成功! いったん /exit と打って、ターミナルに戻ります。


ステップ2:PythonとuvというAIツール用の道具を入れる

私の作った「合鍵」のツールは、 Python(パイソン) というプログラミング言語で書かれています。

なので、まずパソコンにPythonをインストールします。お料理でいうと「フライパンを買う」みたいなもの。一回だけやれば終わりです。

Pythonが入っているか、まず確認

ターミナルにこう打ってEnter:

python --version

Python 3.10.x 以上の数字が出たら、すでに入っているのでこのセクションは飛ばしてOKです。

「コマンドが見つかりません」と出たら、入っていないのでインストールします。

Pythonのインストール

python.org を開いて、黄色い「Download Python 3.x.x」のボタンをクリック。インストーラーがダウンロードされます。

ダブルクリックしてインストーラーを開いたら、 一番最初の画面で「Add Python to PATH」というチェックボックスに必ずチェックを入れてください (Windowsの場合)。

これを忘れると、あとでターミナルがPythonを見つけられなくて泣くことになります。私も最初忘れて1時間溶かしました。

あとは「Install」を押して待つだけ。

uv(ユーブイ)をインストール

uv は、Pythonのおまけ道具をスムーズに入れてくれる、超優秀な助手です。これも一回入れれば終わり。

Windows:

irm https://astral.sh/uv/install.ps1 | iex

Mac:

curl -LsSf https://astral.sh/uv/install.sh | sh

入れたあとは、ターミナルを また一回閉じて開き直す のを忘れずに。

確認:

uv --version

バージョンの数字が出ればOK。


ステップ3:Substack MCPの本体をダウンロードする

いよいよ、私の作った「合鍵」ツール本体をパソコンに置きます。

github.com/nanameru/substack-mcp を開いてください。

緑色の 「Code」 ボタンを押すと、ドロップダウンが開きます。一番下の 「Download ZIP」 をクリック。

ダウンロードフォルダにZIPファイル(圧縮ファイル)が落ちてくるので、ダブルクリックして解凍。

解凍してできたフォルダ(substack-mcp という名前)を、 自分のホームフォルダ に移動します。

  • Windows: C:\Users\あなたの名前\ の中
  • Mac: /Users/あなたの名前/ の中

そして、ターミナルでそのフォルダに移動:

cd ~/substack-mcp

💡 cd は「change directory(フォルダを移動する)」の略。~(チルダ)は「自分のホームフォルダ」を意味します。


ステップ4:必要な部品をぜんぶ入れる

ツール本体は置いただけでは動きません。中で使われている小さな部品(ライブラリと呼びます)をぜんぶ入れる必要があります。

ターミナルで、 substack-mcp フォルダにいる状態で:

uv venv
uv pip install -e .

1行目は「このツール専用の小さな作業部屋を作る」、2行目は「その部屋の中に必要な部品をぜんぶ運び込む」コマンドです。

ガーッと文字が流れて、最後に Successfully installed ... と出たら成功。1分くらいかかります。


ステップ5:ブラウザでSubstackにログインしておく

ここが、このツールで一番大事な部分です。

さっき出てきた「セッション(付箋)」の話を覚えていますか? ここで、その付箋を作ります。

やることは、たった1つ:

  1. Chrome(または Edge / Brave)を開く
  2. substack.com にアクセス
  3. 自分のSubstackアカウントでログイン
  4. そのままタブを閉じてOK

これで、あなたのChromeの中に「Taiyoさんとして認識される付箋」が貼られた状態になりました。

⚠️ 注意:このあとも、ブラウザ自体をアンインストールしたり、Cookieを全削除したりはしないでください。付箋がはがれてしまいます。


ステップ6:付箋(合鍵)をAIに渡す

いよいよ、ブラウザに貼られた付箋を取り出して、ツールに渡します。

ターミナルで:

substack-mcp-setup

と打ってEnter。

たった1〜2秒で、 「Chromeから付箋をこっそり取り出して、設定ファイルにコピーする」 という作業が裏で走ります。

Macの方への注意

初回は、Macが「Chromeのキーチェーン(パスワード保管庫)にアクセスしていい?」と聞いてきます。

これは、Macが「Chromeに保存されている付箋は暗号化されていて、その鍵がキーチェーンに眠っている」という仕組みのため。「常に許可」 のボタンを押してください。これを選ばないと、毎回パスワードを聞かれてしまいます。

うまくいかないとき

別のブラウザを使っている場合:

# Braveを使ってる
substack-mcp-setup --from-browser brave

# Edgeを使ってる
substack-mcp-setup --from-browser edge

# どうしてもダメなら、付箋を手動で貼り付けるモード
substack-mcp-setup --manual

--manual のときは、ChromeでSubstackを開いて、F12キー → 「Application」タブ → 「Cookies」 → https://substack.com → substack.sid という項目の値(長い文字列)をコピーして、聞かれたところに貼り付けます。

設定ファイルはどこに保存される?

成功すると、こんな場所に config.json というファイルが作られます:

  • Mac: ~/Library/Application Support/substack-mcp/config.json
  • Windows: C:\Users\あなたの名前\AppData\Roaming\substack-mcp\config.json

中身はこんな感じ(数字や文字列はダミーです):

{
  "user_id": 214533556,
  "publication_url": "https://taiyoai.substack.com",
  "session_cookie": "s%3AaBcDeFgHiJkLmNoPqRsTuV..."
}

session_cookie の部分が、まさにあなたの「付箋の中身」です。

この設定ファイルの取り扱い注意

⚠️ この config.json は、誰かに渡るとあなたのSubstackアカウントを乗っ取られかねないファイルです。 パスワードと同じ感覚で扱ってください。

具体的には:

  • 絶対にGitHubにアップロードしない
  • スクリーンショットをSNSに上げない
  • DropboxやGoogle Driveの中に置かない

Mac/Linuxではファイル権限が「自分だけ読み書きOK」に設定されているので、同じパソコンの他のユーザーからは読めません。

付箋が剥がれたら?(よくあるトラブル)

Substackの付箋(セッション)は、永遠ではありません。以下のときに消えます:

  • Substackのウェブサイトで明示的に「ログアウト」を押した
  • 数ヶ月以上ログインしっぱなしで放置した
  • パスワードを変更した

そうなると、AIに「投稿して」と頼んでも「ログインできません」と返ってきます。

復活方法はカンタン。もう一回ブラウザでSubstackにログインし直して、 substack-mcp-setup をまた実行するだけ。30秒で復旧します。


ステップ7:Claude Codeに「合鍵があるよ」と教える

ツールは入った。付箋も渡した。最後に、 Claude Code本体に「Substack MCPっていう道具があるから使ってね」と教えてあげる 作業をします。

Macの方

claude mcp add substack-mcp --scope user -- ~/substack-mcp/.venv/bin/substack-mcp

Windowsの方

claude mcp add substack-mcp --scope user -- C:\Users\あなたの名前\substack-mcp\.venv\Scripts\substack-mcp.exe

あなたの名前 の部分は、自分のWindowsユーザー名に書き換えてください。

💡 --scope user は「全部のフォルダで使えるようにする」という意味のオプション。普段はこれでOK。


ステップ8:本当に使えるか確認する

ターミナルで:

claude

と打って、Claudeとの会話画面に入ります。

入ったら、 /mcp と打ってEnter。

substack-mcp が表示されて、横に 緑色で connected と書いてあれば、 完成です! おめでとうございます!


ステップ9:Skill(おまかせ手順書)を入れる(おすすめ)

ここまでで、すでにClaudeに「Substackに下書き作って」と頼めば動くようになっています。

ただ、ツールの数が多くて(記事・Notes・チャット返信など)、 「どの場面でどう頼めば、どの順番で動いてくれるか」をClaudeに毎回説明するのは面倒 です。

そのために用意したのが 「Skill(スキル)」 です。

Skillというのは、Claudeに「Substackの依頼が来たら、こういう順番で考えて、こういう聞き方で確認して、こう動いてね」という おまかせ手順書 をあらかじめ渡しておく仕組み。これを入れると、Claudeに 「Substackに記事書いて」と一言頼むだけ で、構成案の確認 → 執筆 → 下書き作成 → サムネ生成 → カバーセット → 公開許可確認、まで一気通貫で進めてくれるようになります。

インストール方法

Vercelが出している skills というCLIツールを使うと、 コマンド1発 でインストールできます。

ターミナルで:

npx skills add nanameru/substack-mcp -a claude-code

これだけです。

裏で起きていること:

  • GitHubの nanameru/substack-mcp リポジトリから skills/substack/SKILL.md を取ってくる
  • 自動で ~/.claude/skills/substack/ に配置してくれる
  • -a claude-code は「Claude Code向けに入れて」という指定(Cursor、Cline、GitHub Copilotなど他のAIツールにも対応している)

初回はnpxが裏で skills パッケージをダウンロードするので、少し時間がかかります(30秒くらい)。2回目以降は一瞬。

💡 npx って何?:Node.js(ノード・ジェイ・エス)というツールに付いてくる、 「インターネットから道具を借りてきて、その場で使う」 ためのコマンド。インストール不要で、必要なときだけ走らせるイメージです。Node.jsが入ってない方は nodejs.org からインストーラーをダウンロードしてください(5分で終わります)。

手動でインストールしたい方(npxを使いたくない場合)

リポジトリの中の skills/substack/ フォルダを、Claude Codeのスキル置き場に直接コピーしてもOKです。

Mac:

mkdir -p ~/.claude/skills
cp -r ~/substack-mcp/skills/substack ~/.claude/skills/

Windows(PowerShell):

New-Item -ItemType Directory -Force -Path "$HOME\.claude\skills"
Copy-Item -Recurse "$HOME\substack-mcp\skills\substack" "$HOME\.claude\skills\"

どちらの方法でも、Claude Codeを次に起動したとき自動で読み込まれます。

使い方の例

Skillを入れたあとは、Claudeにこんな風に話しかけられます:

  • 「Substackに記事書いて」 → ヒアリング → 構成案 → 執筆 → 下書き作成、まで自動進行
  • 「SubstackのNotesに何かつぶやいて」 → 文字数・改行ルールを守って自動投稿
  • 「Substackチャットの新着返信ある?」 → 検出 → 返信案を起案 → 許可とったら投稿
  • 「下書き一覧見せて。古いやつ整理して」 → 一覧表示 → 削除確認

Claudeが「次は何しますか?」「これで公開していいですか?」と適切な箇所で止まってくれるので、 流れに乗って答えるだけ で投稿が完了します。


使ってみる:最初の投稿

Claudeとの会話画面で、こう打ってみてください:

Substackに「テスト投稿」というタイトルで「これは私が初めてAIに頼んだ投稿です」という本文の下書きを作って

Claudeが「下書きを作りました。ID: 12345...」みたいに返したら大成功。

substack.com/publish を開くと、本当に下書きが追加されているはずです。鳥肌、立ちませんか?

もう少し本格的な例

Substackに以下の内容で下書きを作って、サムネには ~/Pictures/cover.jpg を設定し、明日の朝7時に予約投稿してほしい

タイトル: 庭の梅が咲きました
本文(Markdownで):
今朝、庭に出たら、梅が咲いていました。

去年植えたばかりの若木で、今年が初めての花です。

写真も撮ったので、貼っておきますね。

これ1発で、下書き作成 → サムネ設定 → 予約投稿、ぜんぶやってくれます。

朝、お茶を飲みながらこう頼むだけで、その日の夕方には世界に届く。 これが、AIと暮らすってことです。


つまづきポイントTOP 7

ここで詰まる人が多いポイントを、先回りして書いておきます。

1. 「claude コマンドが見つかりません」と出る

ターミナルを再起動していない可能性が高いです。一度閉じて、もう一度開いてください。

2. 「python が見つかりません」と出る(特にWindows)

インストール時に「Add Python to PATH」のチェックを忘れています。Pythonをアンインストール → 再インストールして、最初の画面でチェックを入れ直してください。

3. uv pip install -e . でエラー

uv venv を先にやらないとコケます。順番を守ってください。

4. substack-mcp-setup で付箋が取れない

  • そもそもChromeで一度もSubstackにログインしていない → ログインしてください
  • Chromeじゃないブラウザを使ってる → --from-browser brave のように指定
  • それでもダメなら --manual モードで手動貼り付け

5. /mcp で failed(赤色)と出る

たぶんパス(ファイルの場所)が間違っています。claude mcp list で登録内容を確認して、claude mcp remove substack-mcp で消してから、もう一度 claude mcp add をやり直してください。

6. 「投稿が違うpublicationに行った」

複数のSubstackを運営している場合に起きます。config.json を直接開いて、publication_url が正しいか確認してください。

7. Windowsで日本語が文字化けする

短文(Notes)を post_note.py で投稿するときは、 -X utf8 というおまじないを忘れずに:

.venv\Scripts\python.exe -X utf8 post_note.py "本文"

最後に

私はこのツールを作ってから、 「書きたいときに書いて、寝てる間に世界に届けてもらう」 という生活ができるようになりました。

夜の11時にベッドの中で「明日の朝7時に、この記事を投稿しといて」と頼むと、本当にその通りに動いてくれる。朝起きて、コーヒーを飲んでいるあいだに、もう世界の誰かが私の文章を読んでくれている。

これって、考えてみるとちょっとすごいことだと思うんです。

ひと昔前なら、秘書を雇わないとできなかったことが、 AIをひとり「育てる」 だけで、自分専属のチームになる。

ここまで読んでくださって、本当にありがとうございました。

途中で詰まった箇所、わかりにくかった箇所があれば、ぜひコメントで教えてください。フィードバックをいただけると、 後から来る人がもっとラクに進めるよう、この記事をアップデートしていきます 。

良かったら、Substackの購読をお願いします。メールアドレスを入れるだけで、新しい記事が出たらお知らせが届きます。

それでは、メルボルンの朝のカフェから、Taiyoでした。