Blog Automation について
Blog Automationは、Blog Automationを通じて記事案の作成、記事生成、WordPress記事の公開や予約を行うMCPサーバーです。記事の状態、サイト、テンプレート、トークン残高も扱い、APIスコープで操作範囲を制御できます。
主な機能
- 01記事案の一覧表示と作成
- 02記事生成とジョブ状態の確認
- 03記事内容・状態・SEO項目の表示
- 04記事の公開または予約
- 05サイト・テンプレート・トークン残高の確認
活用シーン
- 01記事案から生成済みの下書きまで進める
- 02記事の状態やSEO項目を確認
- 03WordPress記事の公開を予約
- 04APIトークン残高やサイト情報を確認
MCP 対応
Blog Automation Customer APIへのツール呼び出しを仲介し、stdioとStreamable HTTPに対応します。MCPクライアントはAPIキーまたはOAuthで接続し、利用できる操作はAPIキーのスコープで制御されます。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://mcp.blog-automation.com/mcpclaude mcp add --transport http shsoftwaresolutioncom-blog-automation https://mcp.blog-automation.com/mcp{"mcpServers":{"shsoftwaresolutioncom-blog-automation":{"type":"http","url":"https://mcp.blog-automation.com/mcp"}}}Cursor で開く{"servers":{"shsoftwaresolutioncom-blog-automation":{"type":"http","url":"https://mcp.blog-automation.com/mcp"}}}VS Code で開く{"mcpServers":{"shsoftwaresolutioncom-blog-automation":{"type":"http","url":"https://mcp.blog-automation.com/mcp"}}}{"mcpServers":{"shsoftwaresolutioncom-blog-automation":{"serverUrl":"https://mcp.blog-automation.com/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
https://mcp.blog-automation.com/mcp認証が必要ツール
詳細
Blog Automation MCP サーバー
Blog Automation(https://blog-automation.com)の[Model Context Protocol](https://modelcontextprotocol.io) サーバーです。Claude、ChatGPT、Cursor、または任意の MCP クライアントから、アイデアの計画、AI による記事の執筆、WordPress への公開または予約、トークン残高の確認ができます。
Customer API https://app.blog-automation.com/api/v1/ext(アプリのリポジトリ blogposter-app、server/routes/ext.js、docs/API.md)を薄くラップしたものです。Node 22、@modelcontextprotocol/sdk 1.32、zod 4。パッケージは @blogautomation/mcp-server、コマンドは blog-automation-mcp です。
ツール
| ツール | API 呼び出し | 備考 |
|---|---|---|
list_ideas | GET /ideas | status、siteId、limit、cursor — 読み取り専用 |
create_idea | POST /ideas | title(任意で keyword、notes、audience、priority 1–3、language、siteId);Idempotency-Key |
write_article | POST /articles/generate { …, async: true } → 202 { job }、その後 3 秒ごとに GET /jobs/{id} | トークンを使用します;約 50 秒待機し、その後 jobId を返します(→ job_status);HTML なしで回答;Idempotency-Key |
job_status | GET /jobs/{id} | running / done(article)/ failed(error) |
list_articles | GET /articles | status list、siteId、q、limit、cursor(HTML なし) |
get_article | GET /articles/{id} | HTML と SEO フィールドを含みます |
article_status | GET /articles/{id}/status | ステータス、予約日時、WordPress リンク、最終エラー、ジョブ |
publish_article | POST /articles/{id}/publish または、at を指定して POST /articles/{id}/schedule | at = ISO 時刻または "next"(次の空き枠 = 「カレンダーに追加」) |
token_balance | GET /tokens | 残高、ロット、価格 |
list_sites | GET /sites | WordPress サイト(siteId に使用する ID) |
list_templates | GET /templates | 組み込みの b:… と独自テンプレート |
エラーは、isError: true を含む読みやすいツール結果として返されます。401(キーが無効または取り消し済み)、402(トークン不足:必要数 / 残高)、403 insufficient_scope(不足しているスコープ)/ plan_required(API を利用できるプラン)、404、429(Retry-After に示される秒数)。
API キー
Blog Automation → Entwickler / API → 「API-Key erstellen」(Starter および Pro プラン)。スコープ:
articles:read、articles:write、ai:generate(write_article)、articles:publish(publish_article)、ideas:read、ideas:write、
templates:read、sites:read、account:read(token_balance)。アシスタントに許可しない操作のスコープは外してください。たとえば、
articles:publish がなければ、下書きは作成できますが、公開はできません。
使い方
stdio(ローカル。キーは BA_API_KEY から取得します):
npx -y @blogautomation/mcp-server # once published; from this repo: node mcp/src/cli.js
Claude Desktop(claude_desktop_config.json)/Cursor(~/.cursor/mcp.json)— 同じブロックです:
{ "mcpServers": { "blog-automation": { "command": "npx", "args": ["-y", "@blogautomation/mcp-server"], "env": { "BA_API_KEY": "ba_live_…" } } } }
Claude Code:claude mcp add blog-automation --env BA_API_KEY=ba_live_… -- npx -y @blogautomation/mcp-server
Streamable HTTP(リモートクライアント向け — ChatGPT コネクター/開発者モード、Claude の「カスタムコネクター」、URL 経由の Cursor):
blog-automation-mcp --http --port 8787 --host 127.0.0.1 --origin https://chatgpt.com,https://claude.ai
- エンドポイントは
POST /mcp(ステートレス、JSON レスポンス)、ヘルスチェックはGET /healthzです。/mcpへの GET/DELETE は 405 を返します(セッションなし)。 - すべてのリクエストで
Authorization: Bearer ba_live_…を送信する必要があります。キーはそのリクエストの API 呼び出しにのみ使用され、保存もログへの記録もされません。 キーがない場合、または形式が不正な場合は、WWW-Authenticate: Bearerを付けて 401 を返します。 Originヘッダー付きのリクエストは、--origin/BA_MCP_ORIGINSで指定したオリジンからのみ受け付けます(DNS リバインディング対策)。このオプションを指定しない場合、 ブラウザーからのリクエストは拒否されますが、サーバー間の呼び出し(Origin なし)は機能します。- デフォルトでは 127.0.0.1 にバインドされます。公開する場合は、リバースプロキシ(TLS)の背後に配置してください。例:
https://mcp.blog-automation.com/mcp。 - OAuth(1.1.0 以降): OAuth のみを利用するクライアント(ChatGPT アプリ/開発者モード、Claude カスタムコネクター、MCP Inspector)には、URL
https://mcp.blog-automation.com/mcpを渡すだけです。401 レスポンスは/.well-known/oauth-protected-resource(RFC 9728)を参照し、認可サーバーとしてhttps://app.blog-automation.comを指定します(動的クライアント登録、PKCE S256)。ユーザーは Blog Automation にサインインし、要求された権限を確認して「Erlauben」をクリックします。アクセストークンは 1 時間有効な API キーで、自動的に更新され、「Entwickler」/「API」から取り消せます。環境変数:BA_MCP_RESOURCE(公開用の /mcp URL)、BA_OAUTH_ISSUER(アプリのベース URL)。
ChatGPT アプリ
ChatGPT → Settings → Apps & Connectors → Advanced → Developer mode →「Create」→ 名前を「Blog Automation」に設定し、MCP サーバー URL に
https://mcp.blog-automation.com/mcp を指定して、認証方式を OAuth に設定 → サインイン → 許可します。すべてのツールに readOnlyHint/destructiveHint
アノテーションが付いているため、ChatGPT は書き込み(トークン)または公開の前に確認を求めます。ChatGPT アプリディレクトリへの掲載については、SUBMISSION.md を参照してください。
BA_API_BASE を設定すると、API を上書きできます(例:https://pre.blog-automation.com/api/v1/ext)。
開発
cd mcp && npm install && npm test # node:test – 7 tests, fake API (no network, no key)
テスト:tools/list(名前、アノテーション、スキーマ)、各ツールのリクエスト形式、Idempotency-Key、非同期ジョブのポーリング(完了/実行中/失敗)、公開と予約投稿の比較、エラーのマッピング(401/402/403/404/429)、HTTP トランスポート(healthz、401、Origin 403、405、tools/list とリクエストのキーを使った呼び出し)。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。