投稿する

note 有料記事生成パイプライン

スマホのメモやWebの自律収集から、noteの3万字級有料記事を自動生成する強力なパイプラインです。DiscordやLINE経由で送ったアイデアをGoogleスプレッドシートに集約し、8体の専門エージェントが「企画・執筆・装飾・校閲」を分担して高品質な原稿を仕上げます。 特筆すべきは、単なるテキスト生成に留まらず、文体ガイドや参考記事に基づいた装飾、DALL-Eによる画像生成、さらにはPlaywrightを用いたnoteへの下書きアップロードまで完結する点です。 「ネタ探しから投稿準備までの執筆工程をAIに任せ、人間は最終的な公開判断と微調整だけに集中したい」というクリエイターやエンジニアのコンテンツ制作を圧倒的に効率化します。
zip未取得

Bridge — Discord/LINE MCP セットアップ

Claude Code が Discord/LINE を直接読み書きするための MCP サーバセットアップガイド。

これにより Zapier/Make 等の外部 SaaS を経由せず、@inbox-sync エージェントが Claude Code 内で完結する。

全体アーキテクチャ

[スマホ]                  [PC: Claude Code]
   │
   ├ Discord ──→ Discord MCP ──┐
   │                            ├─→ @inbox-sync ─→ Google Sheets (Drive MCP)
   └ LINE ────→ LINE MCP ──────┘                         │
                                                          ▼
                                                     @scout 読込
                                                          │
                                                          ▼
                                                  topics-YYYYMMDD.md

---

1. Discord MCP のセットアップ

1-1. Discord Bot の作成

  1. Discord Developer Portal で新規アプリケーション作成
  2. 「Bot」タブで Bot を作成し、MESSAGE CONTENT INTENT を ON
  3. Bot Token を取得(後で MCP に渡す)
  4. OAuth2 → URL Generator で bot スコープ、Read Message History / Read Messages / Add Reactions 権限を選択
  5. 生成された URL で自分のサーバに招待
  6. 専用チャンネル #note-ideas を作成し、Bot を読める設定にする

1-2. Discord MCP サーバの導入

コミュニティで公開されている Discord MCP サーバを利用する。代表的なもの:

  • @hanweg/mcp-discord (TypeScript): npx @hanweg/mcp-discord
  • mcp-discord (Python): pip install mcp-discord 系
  • 自前実装も可

最新の選択肢は https://github.com/modelcontextprotocol 配下や npmjs.com で mcp discord 検索で確認すること。

1-3. Claude Code への登録

Claude Code の設定ファイル(~/.claude/mcp.json または .claude/mcp.json)に追加:

{
  "mcpServers": {
    "discord": {
      "command": "npx",
      "args": ["-y", "@hanweg/mcp-discord"],
      "env": {
        "DISCORD_BOT_TOKEN": "YOUR_BOT_TOKEN_HERE",
        "DISCORD_GUILD_ID": "YOUR_SERVER_ID",
        "DISCORD_CHANNEL_ID": "YOUR_NOTE_IDEAS_CHANNEL_ID"
      }
    }
  }
}

mcp.json の正確な配置場所と書式は使用する MCP サーバ実装の README を確認すること。Claude Code 公式の MCP 設定方法は /mcp コマンドで確認できる。

1-4. 動作確認

Claude Code を再起動後、以下のような呼び出しでツールが見えれば成功:

mcp__discord__get_recent_messages
mcp__discord__add_reaction
mcp__discord__send_message

ツール名は MCP サーバの実装によって異なる。@inbox-sync エージェントの実装は実際のツール名に合わせて微調整が必要。

---

2. LINE MCP のセットアップ

2-1. LINE Messaging API のチャネル作成

  1. LINE Developers でログイン
  2. 新規プロバイダー → Messaging API チャネル作成
  3. チャネルアクセストークン(長期)を発行
  4. 自分の LINE アカウントから Bot を友だち追加
  5. 自分の LINE ユーザー ID を取得(Webhook で events[0].source.userId を確認 or 別途取得方法)

2-2. LINE MCP サーバの導入

LINE 公式が提供している MCP サーバ:

  • @line/line-bot-mcp-server: LINE 公式リポジトリ(https://github.com/line/line-bot-mcp-server)

または自前で Messaging API ラッパーを書く。

2-3. Claude Code への登録

{
  "mcpServers": {
    "line": {
      "command": "npx",
      "args": ["-y", "@line/line-bot-mcp-server"],
      "env": {
        "LINE_CHANNEL_ACCESS_TOKEN": "YOUR_TOKEN",
        "LINE_USER_ID": "YOUR_OWN_LINE_USER_ID"
      }
    }
  }
}

2-4. メッセージ履歴の取扱い

LINE Messaging API は履歴取得が制限的(プッシュベース)。

回避策:

  • Option A: LINE 側で webhook サーバを立て、受信メッセージをローカルファイル(例: bridge/line-inbox.jsonl)に蓄積。MCP はこのファイルを読む
  • Option B: LINE MCP 内部で webhook サーバを起動する実装を使う(一部の実装ではこの方式)

自前 webhook の最小例は bridge/line-webhook-sample.py を参照(必要なら作成可能)。

---

3. Google Sheets の準備

3-1. スプレッドシート作成

  • ファイル名: note-ideas
  • タブ名: inbox
  • ヘッダー(1行目):
A: 投稿日時B: テーマC: メモD: ソースE: ステータス

3-2. 共有設定

Google Drive MCP からアクセスできる必要がある。以下のいずれか:

  • (a) 「リンクを知っている全員が編集可能」(簡単・推奨)
  • (b) Google Drive MCP に紐づくアカウントに直接共有

3-3. URL を /docs/scout-config.md に記入

https://docs.google.com/spreadsheets/d/[SHEET_ID]/edit

3-4. Sheets 書き込み権限について

Google Drive MCP の現行ツールセットは主に「ファイルの作成・読み取り」中心で、シート行への append が直接できない。

そのため Google Apps Script (GAS) Web App を立てて REST API として扱う方式 を採用する。

  • GAS Web App セットアップ: bridge/gas-setup.md に詳細手順
  • GAS コード: bridge/gas-code.gs (コピペでデプロイ可能)
  • クライアント: bridge/sheets_client.py (.env から接続情報を読み、Python urllib で叩く)
  • 機能: 行追加 (append) / 一覧取得 (list-new) / ステータス更新 (update-status)
  • 認証: スクリプトプロパティに保存したトークン(.env の GAS_API_TOKEN)
  • 呼び出し: @inbox-sync と @scout から python bridge/sheets_client.py ... で叩く

代替手段(GAS を使いたくない場合):

  • Python gspread ヘルパー: service account + gspread で書く
  • Drive MCP 直接: ファイル全体を書き直す方式(行数が多いと非効率)

---

4. .env への設定追記

リポジトリルートの .env(無ければ .env.example をコピー)に以下を埋める:

SHEETS_WRITE_METHOD=gas
SHEETS_ID=...
SHEETS_TAB=inbox

GAS_WEB_APP_URL=https://script.google.com/macros/s/.../exec
GAS_API_TOKEN=...

DISCORD_GUILD_ID=...
DISCORD_CHANNEL_ID=...
DISCORD_USER_IDS=...
DISCORD_PROCESSED_REACTION=✅

LINE_USER_ID=Uxxxxxxxxxxxxxxx
LINE_RECEIPT_REPLY=受領しました📥

docs/scout-config.md 側にはペルソナ・読者像・NG ジャンルなどの運用設定のみを残す

(接続情報は .env に一本化)。

---

5. 動作確認フロー

  1. Discord の #note-ideas チャンネルに テストメッセージ と投稿
  2. LINE で Bot に テストメッセージ と送信
  3. Claude Code で @inbox-sync を実行
  4. 期待結果:
  • Sheets note-ideas の inbox シートに 2行追記される
  • Discord 側のメッセージに ✓ リアクションが付く
  • LINE Bot から「受領しました📥」と返信が届く
  1. @scout を実行し、Sheets から拾えていることを確認

---

トラブルシューティング

Discord MCP のツールが見えない

  • Claude Code を再起動
  • /mcp コマンドで MCP サーバの状態を確認
  • Bot Token が正しいか、Bot がチャンネルを読める権限を持つか
  • Message Content Intent が ON か

LINE のメッセージが届かない

  • Bot を友だち追加しているか
  • webhook URL が HTTPS で公開されているか(ngrok や Cloudflare Tunnel が必要な場合あり)
  • チャネルアクセストークンが有効か

Sheets に書き込めない

  • 共有設定(リンクを知っている全員に編集権限)
  • Drive MCP の認証が有効か
  • GAS Web App / Python helper の URL/パスが正しいか

同じメッセージが二重取り込みされる

  • /docs/inbox-sync-state.md が更新されているか確認
  • Discord 側に ✓ リアクションが付いているか確認(付いていなければ書き込み失敗の可能性)

---

オプション: 自動定期実行

@inbox-sync を手動実行する代わりに、Claude Code の /schedule スキルで定期実行も可能。

例: 30分ごとに @inbox-sync を実行し、新規メッセージを Sheets に流す。

/schedule */30 * * * * @inbox-sync

詳細は Claude Code の /schedule スキルのドキュメントを参照。