microCMSブログ

microCMSの最新情報や活用事例などをお届けします。

活用方法

WRITE APIのリクエストボディ作成に迷ったら、microCMS MCP Serverを使ってみよう

WRITE APIのリクエストボディ作成に迷ったら、microCMS MCP Serverを使ってみよう
下津曲 浩 下津曲 浩

microCMSでは、WRITE系APIを利用することでコンテンツの作成や更新をAPI経由で行うことができます。これにより、管理画面からの入稿だけでなく、何らかのワークフローの一部でmicroCMSのコンテンツを追加したり、書き換えたりすることが可能です。

活用できるシーンの多いWRITE系APIですが、その一方で、APIのスキーマ構造が複雑になってくると、送信するリクエストボディの作成に迷うことがあります。たとえば、以下のようなケースです。

  • カスタムフィールド、繰り返しフィールドを含む
  • 複数のフィールドが入れ子になっている
  • 既存コンテンツの一部だけを更新したい

...などなど。

microCMSのAPIスキーマは自由自在に作成できるがゆえに、リクエストボディの表現方法もバリエーションが広がります。このような場合、リクエストボディとして指定する値(JSON)の組み立ては慣れていないと少し大変です。

そこで今回ご紹介したいのが、microCMS MCP Server です。

microCMS MCP Serverとは

microCMS MCP Serverは、ClaudeやCursorなどのAIツールからmicroCMSを操作するためのMCPサーバーです。

MCPは、AIが外部サービスと連携するためのプロトコルです。microCMS MCP Serverを利用すると、AIツールから自然言語でmicroCMSのコンテンツ作成・更新などを行えるようになります。⁠⁠​

たとえば、以下のような用途で活用できます。

  • コンテンツを自動生成する
  • 既存コンテンツを校正する
  • microCMS上のコンテンツを確認する
  • APIスキーマに合わせた入力内容を相談する

microCMSでは2025年7月にこのMCPサーバーをリリースしました。microCMS MCP Serverを活用した開発・運用のユースケースは幅広く、以下のようにユーザーの皆様もご自身で構築した様々なワークフローをご紹介してくださっています。

この記事では、その中でもかなり補助的なユースケースにはなりますが 「複雑なスキーマに合わせたWRITE APIのリクエストボディ作成を手伝ってもらう」 という使い方を紹介します。

なぜリクエストボディ作成が難しくなるのか

シンプルなAPIであれば、リクエストボディは比較的簡単です。

{
  "title": "記事タイトル",
  "description": "記事の説明文"
}

しかし、実際のプロジェクトでは、このような単純なAPIスキーマ構造で運用されることはあまりなく、コンテンツの表現力を高めるために カスタムフィールド繰り返しフィールド を利用することが多くなります。

たとえば、「おすすめ商品を紹介するブログ記事」を作成するAPIを考えてみます。

記事には、以下のようなフィールドがあるとします。

  • タイトル(title
  • 本文(body
  • 商品選びのポイント(selectionGuide
  • 商品紹介(products
  • 用途別のおすすめ商品(comparison

「商品選びのポイント」はカスタムフィールドで、見出し、説明文、おすすめ対象、注意書きを持つ構造だとします。

「商品紹介」は繰り返しフィールドで、複数の商品コンポーネントを登録できる構造です。各商品コンポーネントには、商品名、説明文、価格、商品URL、商品画像を持たせます。

さらに、「用途別のおすすめ商品」はカスタムフィールドとして管理し、その中に「比較項目」という繰り返しフィールドを持たせます。そのため、単に記事本文や商品情報を並べるだけでなく、カスタムフィールドの中に繰り返しフィールドが含まれる入れ子構造 になります。

この場合、リクエストボディは単純なキーと値の組み合わせではなく、以下のようにオブジェクトや配列を組み合わせた構造になります。

{
  "title": "在宅ワークを快適にするおすすめデスク周りアイテム3選",
  "body": "在宅ワークでは、長時間作業しても疲れにくい環境づくりが大切です。この記事では、デスク周りを快適に整えるためのおすすめアイテムを紹介します。",
  "selectionGuide": {
    "heading": "作業姿勢とデスク上の整理しやすさを重視",
    "description": "今回は、長時間の作業でも体への負担を減らしやすく、限られたデスクスペースを有効活用できるアイテムを中心に選びました。",
    "recommendedFor": "在宅ワークの作業環境を見直したい方、肩こりや腰の負担を減らしたい方",
    "note": "価格や仕様は掲載時点の情報です。購入前に販売ページで最新情報をご確認ください。"
  },
  "products": [
    {
      "name": "エルゴノミクスチェア",
      "description": "長時間座っていても疲れにくいよう、腰まわりをしっかり支えるワークチェアです。座面の高さやアームレストを調整できるため、自分の作業姿勢に合わせて使えます。",
      "price": 24800,
      "url": "https://example.com/products/ergonomic-chair",
      "image": "https://images.microcms-assets.io/assets/example/ergonomic-chair.jpg"
    },
    {
      "name": "モニターアーム",
      "description": "ディスプレイの高さや角度を自由に調整できるモニターアームです。目線の高さに合わせることで、首や肩への負担を軽減できます。デスク上のスペースを広く使える点も魅力です。",
      "price": 6980,
      "url": "https://example.com/products/monitor-arm",
      "image": "https://images.microcms-assets.io/assets/example/monitor-arm.jpg"
    },
    {
      "name": "ワイヤレス静音キーボード",
      "description": "タイピング音を抑えたワイヤレスキーボードです。オンライン会議中や夜間の作業でも音が気になりにくく、コンパクトなサイズでデスク周りをすっきり保てます。",
      "price": 4980,
      "url": "https://example.com/products/wireless-silent-keyboard",
      "image": "https://images.microcms-assets.io/assets/example/wireless-silent-keyboard.jpg"
    }
  ],
  "comparison": {
    "heading": "用途別のおすすめ商品",
    "description": "重視したいポイントごとに、おすすめの商品を整理しました。",
    "items": [
      {
        "label": "長時間作業を快適にしたい方",
        "recommendedProduct": "エルゴノミクスチェア",
        "reason": "腰まわりを支える設計で、長時間座っていても疲れにくいためです。"
      },
      {
        "label": "デスクを広く使いたい方",
        "recommendedProduct": "モニターアーム",
        "reason": "モニター下のスペースを有効活用でき、作業スペースを確保しやすいためです。"
      }
    ]
  }
}

このように、カスタムフィールドや繰り返しフィールドを含む場合は、フィールドの値を文字列として指定するだけではなく、オブジェクトや配列として正しい形式で組み立てる必要があります。

特に、以下のような点で迷いやすくなります。

  • カスタムフィールド、繰り返しフィールドをどのようなJSON構造で指定すればよいか
  • 各項目のフィールド名や型がスキーマと一致しているか
  • PATCHリクエストで更新する場合に、どこまでの値を含めるべきか

このようなケースでは、スキーマを見ながら手作業でJSONを組み立てるよりも、microCMS MCP Serverを使ってAIに相談しながらリクエストボディ案を作成すると便利です。

microCMS MCP Serverにリクエストボディを相談する

それでは、上記の構造を持つAPIに対してWRITE系リクエストをする際のリクエストボディを、microCMS MCP Serverと作ってみたいと思います。

なお、MCPサーバーの設定については完了しているものとし、ここでは省略させていただきます。方法についてはこちらのブログ、およびドキュメントを参照してください。

相談の進め方

まずは、AIツールに対して「どのAPIに、どのようなコンテンツを登録したいのか」を自然言語で伝えます。 APIスキーマの構造を、擬似的にマークダウン形式にすることで伝えています。

商品紹介ブログ記事APIに対して、WRITE APIでコンテンツを作成したいです。

APIスキーマを確認したうえで、POSTリクエスト用のJSON bodyを作成してください。

記事の内容は以下です。

- タイトル:在宅ワークを快適にするおすすめデスク周りアイテム3選
- 本文:在宅ワークでは、長時間作業しても疲れにくい環境づくりが大切です。この記事では、デスク周りを快適に整えるためのおすすめアイテムを紹介します。
- 商品選びのポイント:
  - 見出し:作業姿勢とデスク上の整理しやすさを重視
  - 説明文:今回は、長時間の作業でも体への負担を減らしやすく、限られたデスクスペースを有効活用できるアイテムを中心に選びました。
  - おすすめ対象:在宅ワークの作業環境を見直したい方、肩こりや腰の負担を減らしたい方
  - 注意書き:価格や仕様は掲載時点の情報です。購入前に販売ページで最新情報をご確認ください。
- 商品紹介:
  - 商品名:エルゴノミクスチェア
    - 説明文:長時間座っていても疲れにくいよう、腰まわりをしっかり支えるワークチェアです。座面の高さやアームレストを調整できるため、自分の作業姿勢に合わせて使えます。
    - 価格:24800
    - 商品URL:https://example.com/products/ergonomic-chair
    - 商品画像URL:https://images.microcms-assets.io/assets/4b11dc2c009047429f4db9a12549d6b9/f8851ab38c35490690e92042974bc840/sample.jpg
  - 商品名:モニターアーム
    - 説明文:ディスプレイの高さや角度を自由に調整できるモニターアームです。目線の高さに合わせることで、首や肩への負担を軽減できます。デスク上のスペースを広く使える点も魅力です。
    - 価格:6980
    - 商品URL:https://example.com/products/monitor-arm
    - 商品画像URL:https://images.microcms-assets.io/assets/4b11dc2c009047429f4db9a12549d6b9/f8851ab38c35490690e92042974bc840/sample.jpg
  - 商品名:ワイヤレス静音キーボード
    - 説明文:タイピング音を抑えたワイヤレスキーボードです。オンライン会議中や夜間の作業でも音が気になりにくく、コンパクトなサイズでデスク周りをすっきり保てます。
    - 価格:4980
    - 商品URL:https://example.com/products/wireless-silent-keyboard
    - 商品画像URL:https://images.microcms-assets.io/assets/4b11dc2c009047429f4db9a12549d6b9/f8851ab38c35490690e92042974bc840/sample.jpg
- 用途別のおすすめ商品:
  - 見出し:用途別のおすすめ商品
  - 説明文:重視したいポイントごとに、おすすめの商品を整理しました。作業時間の長さやデスクスペースの使い方に合わせて、自分に合ったアイテムを選んでみてください。
  - 比較項目:
    - 長時間作業を快適にしたい方
      - おすすめ商品:エルゴノミクスチェア
      - 理由:腰まわりを支える設計で、長時間座っていても疲れにくいためです。
    - デスクを広く使いたい方
      - おすすめ商品:モニターアーム
      - 理由:モニター下のスペースを有効活用でき、作業スペースを確保しやすいためです。

このように依頼すると、microCMS MCP Serverを通じてAIが対象APIのスキーマを確認し、フィールド構造に合わせたリクエストボディを作成してくれます。 上記の例だと以下のようなJSONが生成されます。

{
  "title": "在宅ワークを快適にするおすすめデスク周りアイテム3選",
  "body": "<p>在宅ワークでは、長時間作業しても疲れにくい環境づくりが大切です。この記事では、デスク周りを快適に整えるためのおすすめアイテムを紹介します。</p>",
  "selectionGuide": {
    "fieldId": "selectionGuide",
    "heading": "作業姿勢とデスク上の整理しやすさを重視",
    "description": "今回は、長時間の作業でも体への負担を減らしやすく、限られたデスクスペースを有効活用できるアイテムを中心に選びました。",
    "recommendedFor": "在宅ワークの作業環境を見直したい方、肩こりや腰の負担を減らしたい方",
    "note": "価格や仕様は掲載時点の情報です。購入前に販売ページで最新情報をご確認ください。"
  },
  "products": [
    {
      "fieldId": "products",
      "name": "エルゴノミクスチェア",
      "description": "長時間座っていても疲れにくいよう、腰まわりをしっかり支えるワークチェアです。座面の高さやアームレストを調整できるため、自分の作業姿勢に合わせて使えます。",
      "price": 24800,
      "url": "https://example.com/products/ergonomic-chair",
      "image": "https://images.microcms-assets.io/assets/4b11dc2c009047429f4db9a12549d6b9/f8851ab38c35490690e92042974bc840/sample.jpg"
    },
    {
      "fieldId": "products",
      "name": "モニターアーム",
      "description": "ディスプレイの高さや角度を自由に調整できるモニターアームです。目線の高さに合わせることで、首や肩への負担を軽減できます。デスク上のスペースを広く使える点も魅力です。",
      "price": 6980,
      "url": "https://example.com/products/monitor-arm",
      "image": "https://images.microcms-assets.io/assets/4b11dc2c009047429f4db9a12549d6b9/f8851ab38c35490690e92042974bc840/sample.jpg"
    },
    {
      "fieldId": "products",
      "name": "ワイヤレス静音キーボード",
      "description": "タイピング音を抑えたワイヤレスキーボードです。オンライン会議中や夜間の作業でも音が気になりにくく、コンパクトなサイズでデスク周りをすっきり保てます。",
      "price": 4980,
      "url": "https://example.com/products/wireless-silent-keyboard",
      "image": "https://images.microcms-assets.io/assets/4b11dc2c009047429f4db9a12549d6b9/f8851ab38c35490690e92042974bc840/sample.jpg"
    }
  ],
  "comparison": {
    "fieldId": "comparison",
    "heading": "用途別のおすすめ商品",
    "description": "重視したいポイントごとに、おすすめの商品を整理しました。作業時間の長さやデスクスペースの使い方に合わせて、自分に合ったアイテムを選んでみてください。",
    "items": [
      {
        "fieldId": "items",
        "label": "長時間作業を快適にしたい方",
        "recommendedProduct": "エルゴノミクスチェア",
        "reason": "腰まわりを支える設計で、長時間座っていても疲れにくいためです。"
      },
      {
        "fieldId": "items",
        "label": "デスクを広く使いたい方",
        "recommendedProduct": "モニターアーム",
        "reason": "モニター下のスペースを有効活用でき、作業スペースを確保しやすいためです。"
      }
    ]
  }
}

カスタムフィールドはオブジェクト、繰り返しフィールドは配列として表現されており、さらに comparison の中には items という繰り返しフィールドが含まれています。

このように、複雑なスキーマであっても、AIに自然言語で作成したいコンテンツの内容を伝えることで、スキーマに沿ったリクエストボディのたたき台を作成できます。

プログラムで処理する際にJSONを組み立てる場合、フィールド名や階層構造を1つずつ確認する必要がありますが、microCMS MCP Serverを利用することで、実際のスキーマを参照しながら適切な形式を提案してもらえる点が便利です。

もちろん、生成されたJSONはそのまま利用するのではなく、実際のスキーマや登録したい内容と照らし合わせて確認することをおすすめします。特に、画像フィールドや参照フィールドなどを含む場合は、値の指定方法が意図どおりになっているか確認しておくと安心です。

PATCHリクエストのbody作成にも活用する

既存コンテンツの一部を更新する場合は、PATCHリクエストのbody作成にも活用できます。

新規作成時のPOSTとは異なり、PATCHでは「どのフィールドを更新したいのか」を意識してリクエストボディを作成する必要があります。

特に、カスタムフィールドや繰り返しフィールドを含むコンテンツでは、更新したい箇所が入れ子構造の中にあるため、bodyの作成に迷いやすくなります。

たとえば、以下のようなケースです。

  • 商品紹介のうち、特定商品の価格や商品URLだけを更新したい
  • 商品画像を差し替えたい
  • 用途別のおすすめ商品に比較項目を追加したい

このような場合も、microCMS MCP Serverを使ってAIに相談できます。

既存の商品紹介ブログ記事をPATCHリクエストで更新したいです。

対象APIのスキーマを確認したうえで、以下の変更内容を反映するJSON bodyを作成してください。

変更内容:
- モニターアームの価格を7980に変更
- 用途別のおすすめ商品に以下の比較項目を追加
  - 静かな環境で作業したい方
    - おすすめ商品:ワイヤレス静音キーボード
    - 理由:タイピング音を抑えられるため、オンライン会議中や夜間の作業でも使いやすいためです。

このように変更したい内容を自然言語で伝えることで、AIがスキーマに合わせてPATCH用のbody案を作成してくれます。

{
  "products": [
    {
      "fieldId": "products",
      "name": "エルゴノミクスチェア",
      "description": "長時間座っていても疲れにくいよう、腰まわりをしっかり支えるワークチェアです。座面の高さやアームレストを調整できるため、自分の作業姿勢に合わせて使えます。",
      "price": 24800,
      "url": "https://example.com/products/ergonomic-chair",
      "image": "https://images.microcms-assets.io/assets/4b11dc2c009047429f4db9a12549d6b9/f8851ab38c35490690e92042974bc840/sample.jpg"
    },
    {
      "fieldId": "products",
      "name": "モニターアーム",
      "description": "ディスプレイの高さや角度を自由に調整できるモニターアームです。目線の高さに合わせることで、首や肩への負担を軽減できます。デスク上のスペースを広く使える点も魅力です。",
      "price": 7980,
      "url": "https://example.com/products/monitor-arm",
      "image": "https://images.microcms-assets.io/assets/4b11dc2c009047429f4db9a12549d6b9/f8851ab38c35490690e92042974bc840/sample.jpg"
    },
    {
      "fieldId": "products",
      "name": "ワイヤレス静音キーボード",
      "description": "タイピング音を抑えたワイヤレスキーボードです。オンライン会議中や夜間の作業でも音が気になりにくく、コンパクトなサイズでデスク周りをすっきり保てます。",
      "price": 4980,
      "url": "https://example.com/products/wireless-silent-keyboard",
      "image": "https://images.microcms-assets.io/assets/4b11dc2c009047429f4db9a12549d6b9/f8851ab38c35490690e92042974bc840/sample.jpg"
    }
  ],
  "comparison": {
    "fieldId": "comparison",
    "heading": "用途別のおすすめ商品",
    "description": "重視したいポイントごとに、おすすめの商品を整理しました。作業時間の長さやデスクスペースの使い方に合わせて、自分に合ったアイテムを選んでみてください。",
    "items": [
      {
        "fieldId": "items",
        "label": "長時間作業を快適にしたい方",
        "recommendedProduct": "エルゴノミクスチェア",
        "reason": "腰まわりを支える設計で、長時間座っていても疲れにくいためです。"
      },
      {
        "fieldId": "items",
        "label": "デスクを広く使いたい方",
        "recommendedProduct": "モニターアーム",
        "reason": "モニター下のスペースを有効活用でき、作業スペースを確保しやすいためです。"
      },
      {
        "fieldId": "items",
        "label": "静かな環境で作業したい方",
        "recommendedProduct": "ワイヤレス静音キーボード",
        "reason": "タイピング音を抑えられるため、オンライン会議中や夜間の作業でも使いやすいためです。"
      }
    ]
  }
}

microCMS MCP Serverを利用すると、対象APIのスキーマを確認しながら、更新したい内容に応じたbody案を作成できます。

複雑な入れ子構造を含むコンテンツでも、自然言語で「何を変更したいか」を伝えられるため、PATCHリクエストのbody作成を進めやすくなります。

まとめ

カスタムフィールドや繰り返しフィールド、またはそれらの入れ子構造を含むAPIなどでは、WRITE APIのリクエストボディが複雑になりやすくなります。

microCMS MCP Serverを活用すると、AIツールに自然言語で相談しながら、スキーマに合ったリクエストボディ案を作成できます。

リクエストボディをゼロから作る場合だけでなく、作成済みのJSONをレビューしたり、問い合わせ対応用のサンプルを作成したりする用途にも便利です。ぜひご活用ください!

まずは、無料で
試してみましょう。

microCMSは無料ではじめられます。
ご不明な点はお気軽にお問い合わせください。