こんにちは、Taiyoです。
私はいま、オーストラリアのメルボルンで暮らしながら、毎日Substack(サブスタック、海外版のnoteみたいなものです)に文章を書いています。
この記事は、そんな私が最近作った、 「AIに、毎日の記事投稿を全部おまかせできるツール」 のお話と、 その実際の入れ方 を、上から順番に書いたものです。
長いです。でも、ここに書いたことを上から順にやれば、 本当に動きます。 お茶でも淹れて、ゆっくり読んでください。
文章を書くこと自体は、私はわりと好きなんです。
頭の中にあるモヤモヤを言葉にしていく時間って、整理整頓みたいで気持ちがいい。
しんどいのは、書いたあとです。
- パソコンで「投稿する画面」を開いて
- タイトルを打ち込んで
- 本文をぜんぶ貼り付けて
- 写真を1枚ずつアップロードして
- サムネイル(記事の表紙の画像)を別で用意して
- 「公開する時間」を選んで
- 「公開!」のボタンを押す
これ、毎日2〜3回。書いた直後で頭がぼーっとしてる時間に、わりとした事務作業が地味に積み重なって、 書くより、投稿のほうが疲れる日 すらあるんですよね。
毎日お弁当を作る人なら、 作るより、洗い物のほうがしんどい日 ってわかると思います。あれと、ほぼ同じ感覚です。
ある日、ふと思ったんです。
「タイトルと本文を渡して、 『あとはよろしく』って言ったら、ぜんぶやっておいてくれる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)
これだけです。料理でいうと、米と水と塩、くらいのシンプルさ。
これからの作業は 「ターミナル」 という、 黒い画面 で行います。
「黒い画面」と聞くだけで身構えるかもしれませんが、要するに、 マウスじゃなくてキーボードでパソコンに指示を出すための画面 です。電卓のちょっと賢い版だと思ってください。
- 画面の左下にある スタートボタン(Windowsのマーク)をクリック
- 出てきた検索ボックスに
PowerShellと入力 - 「Windows PowerShell」が出てきたら、それをクリック
青っぽい画面が開いたら成功です。
- キーボードの
Command(⌘)とスペースキーを同時に押す - 検索ボックスが出てくるので
ターミナルと入力 - Enterキーを押す
白い(または黒い)画面が開いたら成功です。
💡 ここから先、「ターミナルに○○と打つ」と言ったら、この画面を指しています。 コマンドを打ったあとは、必ず最後に Enterキー を押すのを忘れないでください。
最初に、私たちのお手伝いさんになる AI(Claude)の本体 を入れます。
正確には、これは「Claude Code」という名前で、 ターミナルの中で動くClaude のこと。普段ブラウザで使うClaudeとは別物です。なぜCode版が必要かというと、 MCP(私たちの作る合鍵)が使えるのはこのCode版だけ だからです。
ターミナル(PowerShell)に、以下を そのまんまコピペ してEnter:
irm https://claude.ai/install.ps1 | iexcurl -fsSL https://claude.ai/install.sh | bashガーッと文字が流れて、何分か待つとインストールが終わります。
終わったら、 ターミナルを一回閉じて、もう一度開き直してください。 これは「新しく入れたものをパソコンに認識させる」ためのおまじないです。
開き直したら、動作確認のためにこう打ってみてください:
claude --versionclaude version 2.x.x みたいな表示が出れば成功。「コマンドが見つかりません」と出たら、もう一度ターミナルを再起動してください。
claudeと打つと、ブラウザが勝手に開いて、Claudeへのログイン画面が出てきます。普段使っているClaudeのアカウント でログインしてください(持ってない方は、その場で作れます。無料)。
ログインが終わると、ターミナルにClaudeとの会話画面が現れます。試しに「こんにちは」と打って、返事が返ってきたら成功! いったん /exit と打って、ターミナルに戻ります。
私の作った「合鍵」のツールは、 Python(パイソン) というプログラミング言語で書かれています。
なので、まずパソコンにPythonをインストールします。お料理でいうと「フライパンを買う」みたいなもの。一回だけやれば終わりです。
ターミナルにこう打ってEnter:
python --versionPython 3.10.x 以上の数字が出たら、すでに入っているのでこのセクションは飛ばしてOKです。
「コマンドが見つかりません」と出たら、入っていないのでインストールします。
python.org を開いて、黄色い「Download Python 3.x.x」のボタンをクリック。インストーラーがダウンロードされます。
ダブルクリックしてインストーラーを開いたら、 一番最初の画面で「Add Python to PATH」というチェックボックスに必ずチェックを入れてください (Windowsの場合)。
これを忘れると、あとでターミナルがPythonを見つけられなくて泣くことになります。私も最初忘れて1時間溶かしました。
あとは「Install」を押して待つだけ。
uv は、Pythonのおまけ道具をスムーズに入れてくれる、超優秀な助手です。これも一回入れれば終わり。
Windows:
irm https://astral.sh/uv/install.ps1 | iexMac:
curl -LsSf https://astral.sh/uv/install.sh | sh入れたあとは、ターミナルを また一回閉じて開き直す のを忘れずに。
確認:
uv --versionバージョンの数字が出ればOK。
いよいよ、私の作った「合鍵」ツール本体をパソコンに置きます。
github.com/nanameru/substack-mcp を開いてください。
緑色の 「Code」 ボタンを押すと、ドロップダウンが開きます。一番下の 「Download ZIP」 をクリック。
ダウンロードフォルダにZIPファイル(圧縮ファイル)が落ちてくるので、ダブルクリックして解凍。
解凍してできたフォルダ(substack-mcp という名前)を、 自分のホームフォルダ に移動します。
- Windows:
C:\Users\あなたの名前\の中 - Mac:
/Users/あなたの名前/の中
そして、ターミナルでそのフォルダに移動:
cd ~/substack-mcp💡
cdは「change directory(フォルダを移動する)」の略。~(チルダ)は「自分のホームフォルダ」を意味します。
ツール本体は置いただけでは動きません。中で使われている小さな部品(ライブラリと呼びます)をぜんぶ入れる必要があります。
ターミナルで、 substack-mcp フォルダにいる状態で:
uv venv
uv pip install -e .1行目は「このツール専用の小さな作業部屋を作る」、2行目は「その部屋の中に必要な部品をぜんぶ運び込む」コマンドです。
ガーッと文字が流れて、最後に Successfully installed ... と出たら成功。1分くらいかかります。
ここが、このツールで一番大事な部分です。
さっき出てきた「セッション(付箋)」の話を覚えていますか? ここで、その付箋を作ります。
やることは、たった1つ:
- Chrome(または Edge / Brave)を開く
- substack.com にアクセス
- 自分のSubstackアカウントでログイン
- そのままタブを閉じてOK
これで、あなたのChromeの中に「Taiyoさんとして認識される付箋」が貼られた状態になりました。
いよいよ、ブラウザに貼られた付箋を取り出して、ツールに渡します。
ターミナルで:
substack-mcp-setupと打ってEnter。
たった1〜2秒で、 「Chromeから付箋をこっそり取り出して、設定ファイルにコピーする」 という作業が裏で走ります。
初回は、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秒で復旧します。
ツールは入った。付箋も渡した。最後に、 Claude Code本体に「Substack MCPっていう道具があるから使ってね」と教えてあげる 作業をします。
claude mcp add substack-mcp --scope user -- ~/substack-mcp/.venv/bin/substack-mcpclaude mcp add substack-mcp --scope user -- C:\Users\あなたの名前\substack-mcp\.venv\Scripts\substack-mcp.exeあなたの名前 の部分は、自分のWindowsユーザー名に書き換えてください。
💡
--scope userは「全部のフォルダで使えるようにする」という意味のオプション。普段はこれでOK。
ターミナルで:
claudeと打って、Claudeとの会話画面に入ります。
入ったら、 /mcp と打ってEnter。
substack-mcp が表示されて、横に 緑色で connected と書いてあれば、 完成です! おめでとうございます!
ここまでで、すでに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分で終わります)。
リポジトリの中の 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と暮らすってことです。
ここで詰まる人が多いポイントを、先回りして書いておきます。
ターミナルを再起動していない可能性が高いです。一度閉じて、もう一度開いてください。
インストール時に「Add Python to PATH」のチェックを忘れています。Pythonをアンインストール → 再インストールして、最初の画面でチェックを入れ直してください。
uv venv を先にやらないとコケます。順番を守ってください。
- そもそもChromeで一度もSubstackにログインしていない → ログインしてください
- Chromeじゃないブラウザを使ってる →
--from-browser braveのように指定 - それでもダメなら
--manualモードで手動貼り付け
たぶんパス(ファイルの場所)が間違っています。claude mcp list で登録内容を確認して、claude mcp remove substack-mcp で消してから、もう一度 claude mcp add をやり直してください。
複数のSubstackを運営している場合に起きます。config.json を直接開いて、publication_url が正しいか確認してください。
短文(Notes)を post_note.py で投稿するときは、 -X utf8 というおまじないを忘れずに:
.venv\Scripts\python.exe -X utf8 post_note.py "本文"私はこのツールを作ってから、 「書きたいときに書いて、寝てる間に世界に届けてもらう」 という生活ができるようになりました。
夜の11時にベッドの中で「明日の朝7時に、この記事を投稿しといて」と頼むと、本当にその通りに動いてくれる。朝起きて、コーヒーを飲んでいるあいだに、もう世界の誰かが私の文章を読んでくれている。
これって、考えてみるとちょっとすごいことだと思うんです。
ひと昔前なら、秘書を雇わないとできなかったことが、 AIをひとり「育てる」 だけで、自分専属のチームになる。
ここまで読んでくださって、本当にありがとうございました。
途中で詰まった箇所、わかりにくかった箇所があれば、ぜひコメントで教えてください。フィードバックをいただけると、 後から来る人がもっとラクに進めるよう、この記事をアップデートしていきます 。
良かったら、Substackの購読をお願いします。メールアドレスを入れるだけで、新しい記事が出たらお知らせが届きます。
それでは、メルボルンの朝のカフェから、Taiyoでした。