← ドキュメント

ニュースやブログを管理する

Claude Code から記事を投稿する

管理画面の AI チャットではなく、ご自身のターミナル上の Claude Code から presto.pw に記事を追加・更新する手順です。LLM の利用料金は Claude Code の契約に含まれ、presto.pw 側で追加課金は発生しません。

このページの Agent API は、公開 Content API(読み取り専用)とは別物です。
用途エンドポイントAPI キー
記事の取得(サイト埋め込み)/api/public/...チェックなし(読み取り専用)
記事の作成・更新(AI エージェント)/api/agent/...「AI から投稿・更新を許可」あり(書き込み)
どちらも pcms_... 形式ですが、権限と使えるエンドポイントが異なります。読み取り専用で React や静的サイトから記事を取得したい場合は コンテンツAPI ガイド を参照してください。

1. 投稿用 API キーを発行する

  1. 管理画面の /dashboard/settings で対象サイトを選択します。
  2. + 新規発行 をクリックし、ラベルを付けます。
  3. AI(Claude Code など)から記事を投稿・更新を許可できるようにする にチェックを入れて発行します。
  4. 表示された pcms_... キーを控えます(再表示できないので忘れず控えておきましょう)

チェックなしのキーは公開 Content API(/api/public/...)の読み取り専用です。詳細は コンテンツAPI ガイド を参照してください。
投稿には必ずチェックありの書き込み用キーを使ってください。

2. Claude Code に MCP を接続する

API ベース URL: https://api.presto.pw

claude mcp add --scope project --transport http presto https://api.presto.pw/mcp --header "Authorization: Bearer pcms_YOUR_WRITE_KEY"

プロジェクトルートに .mcp.json を置く場合:

{
  "mcpServers": {
    "presto": {
      "type": "http",
      "url": "https://api.presto.pw/mcp",
      "headers": {
        "Authorization": "Bearer pcms_YOUR_WRITE_KEY"
      }
    }
  }
}

キーはサイトごとに紐づきます。複数サイトを扱う場合は、サイトごとにキーと MCP 設定を用意してください。

3. 使い方の例

Claude Code に自然言語で指示すると、MCP ツール(list_content_setscreate_entryupdate_entryupload_media など)を自動で呼び出します。コンテンツセットは id(例: newsblog)または表示名で指定できます。以下の例ではnews / blog を使っていますが、ご自身のセット名に読み替えてください。

既定のステータスは下書きです。公開する場合はプロンプトで明示するか、管理画面で公開してください。

新規作成

下書きで新規作成 — チャット内にタイトルと Markdown 本文を書いて保存します。

このサイトの news コンテンツセットに、以下の Markdown で記事を下書き保存して。 タイトル: サービスをアップデートしました ## サービスをアップデートしました 本日、**ダッシュボード**の操作性を改善しました。 ### 主な変更点 - 記事一覧の表示を調整 - 下書き保存の応答を改善 1. 管理画面で確認 2. 公開 API で取得 > 詳細は管理画面のお知らせもご確認ください。 *斜体* と ~~打ち消し線~~ も使えます。 --- [リリースノート全文](https://example.com/release)

Markdown ファイルから作成 — リポジトリ内の .md を読んで投稿します。

docs/release-note.md を読んで blog コンテンツセットに下書き保存して。タイトルはファイル名から推測して。

公開記事として作成 — いきなり公開したい場合は status: published を指定します。

news コンテンツセットに以下の内容で公開記事として保存して(status: published)。 タイトル: サービスをアップデートしました ## サービスをアップデートしました 本日、**ダッシュボード**の操作性を改善しました。 ### 主な変更点 - 記事一覧の表示を調整 - 下書き保存の応答を改善 1. 管理画面で確認 2. 公開 API で取得 > 詳細は管理画面のお知らせもご確認ください。 *斜体* と ~~打ち消し線~~ も使えます。 --- [リリースノート全文](https://example.com/release)

更新・公開

既存記事の本文を更新 — 記事一覧・詳細を取得してから、本文を差し替えます。

news コンテンツセットの記事一覧を確認し、「サービスをアップデートしました」という記事を取得して、以下の Markdown で本文を差し替えて。 ## サービスをアップデートしました 本日、**ダッシュボード**の操作性を改善しました。 ### 主な変更点 - 記事一覧の表示を調整 - 下書き保存の応答を改善 1. 管理画面で確認 2. 公開 API で取得 > 詳細は管理画面のお知らせもご確認ください。 *斜体* と ~~打ち消し線~~ も使えます。 --- [リリースノート全文](https://example.com/release)

下書きを公開に変更 — ステータスだけを変更します。

news コンテンツセットの下書き「サービスをアップデートしました」を公開ステータスに変更して。

タイトルだけ修正 — 部分更新の例です。本文は触りません。

news コンテンツセットの「旧タイトル」という記事のタイトルを「新タイトル」に変更して。本文は変更しないで。

確認

コンテンツセット・記事一覧の確認 — 投稿前にセット名や既存記事を確認します。

このサイトのコンテンツセット一覧と、news の記事一覧(下書き含む)を教えて。

メディアへ画像をアップロード

画像ファイルをメディアライブラリに投稿 — 管理画面の「メディア」に表示されます。 返ってきた url は公開配信用 URL です。

screenshot.png をメディアライブラリにアップロードして。返ってきた url を教えて。

1 ファイルあたり最大 5MB。対応形式: JPEG / PNG / WebP / GIF / AVIF / SVG。 記事本文の Markdown に ![alt](url) として画像を埋め込む機能はまだ非対応です。アップロード後は管理画面の記事エディタから画像を挿入してください。

Markdown のサンプル

プロンプトに渡す本文の例です。Markdown 本文への画像埋め込みは非対応です。対応記法の一覧はセクション 6 を参照してください。

## サービスをアップデートしました

本日、**ダッシュボード**の操作性を改善しました。

### 主な変更点

- 記事一覧の表示を調整
- 下書き保存の応答を改善

1. 管理画面で確認
2. 公開 API で取得

> 詳細は管理画面のお知らせもご確認ください。

*斜体* と ~~打ち消し線~~ も使えます。

---

[リリースノート全文](https://example.com/release)

オプション(slug・タグ)

slug・タグを指定して作成 — URL 用の slug やタグを指定できます。

blog コンテンツセットに slug: my-post、tags: ["release", "update"] を指定して、以下の Markdown で下書き保存して。 タイトル: サービスをアップデートしました ## サービスをアップデートしました 本日、**ダッシュボード**の操作性を改善しました。 ### 主な変更点 - 記事一覧の表示を調整 - 下書き保存の応答を改善 1. 管理画面で確認 2. 公開 API で取得 > 詳細は管理画面のお知らせもご確認ください。 *斜体* と ~~打ち消し線~~ も使えます。 --- [リリースノート全文](https://example.com/release)

記事タグは Pro プラン以上で利用できます。無料プランではタグ指定はエラーになります。

更新する場合は list_entries / get_entry で既存記事を確認し、update_entry で部分更新できます。保存後、レスポンスの editUrl から管理画面のエディタを開けます。

4. 利用可能な MCP ツール

ツール用途
get_siteキーに紐づくサイト(id / name / slug)
list_content_setsコンテンツセット一覧(下書きセットも含む)
list_entries記事一覧
get_entry記事1件(bodyMarkdown 付き)
create_entryMarkdown から記事作成
update_entry記事の部分更新
upload_media画像をメディアライブラリにアップロード(id / key / url を返す)

5. REST API(任意)

MCP の代わりに HTTP でも同じ操作ができます。認証は Authorization: Bearer pcms_...(投稿用キー)です。ここで使うのは /api/agent/... であり、読み取り専用の /api/public/... とは別のエンドポイントです。

MethodPath用途
GET/api/agent/siteサイト情報
GET/api/agent/content-setsコンテンツセット一覧
GET/api/agent/content-sets/:ref/entries記事一覧
GET/api/agent/content-sets/:ref/entries/:id記事1件
POST/api/agent/content-sets/:ref/entries記事作成(title, bodyMarkdown
PATCH/api/agent/content-sets/:ref/entries/:id記事更新
POST/api/agent/media画像アップロード(multipart の file フィールド)

:ref にはコンテンツセットの id(例: news)または表示名を指定できます。

メディアアップロード(curl)

curl -X POST https://api.presto.pw/api/agent/media \
  -H "Authorization: Bearer pcms_YOUR_WRITE_KEY" \
  -F "file=@screenshot.png"

成功時は idkeyurl などを含む JSON が返ります。url は認証不要で配信される公開 URL です。

6. Markdown の対応範囲

サーバーが Lexical リッチテキストに変換します。対応: 段落、見出し(h1–h3)、箇条書き・番号付きリスト、引用、水平線、リンク、太字・斜体・打ち消し線。Markdown 本文への画像(![alt](url))は非対応です。画像は upload_media でメディアに投稿し、管理画面のエディタから挿入してください。

保存後、管理画面の記事エディタでそのまま開いて編集できます。