microCMS

WordPressからmicroCMSへMCPサーバー経由でのコンテンツ移行を試してみた

中野紘子

はじめに

こんにちは、マーケターの中野です。

先日、「microCMS MCPサーバー紹介セミナー(アーカイブ動画もあるのでぜひご覧ください!)」にて司会を担当したのですが、参加者の方から「WordPressからmicroCMSへコンテンツ移行する際に、MCPサーバーを利用できますか?」といった旨の質問がありました。その際「WordPress MCP」の存在を知り、microCMSとWordPressのMCPサーバーを併用すれば、コードを全く書かずにWordPressからmicroCMSにコンテンツ移行することも可能なのでは…?と思いたち、試してみることにしました。

WordPressで運用していたブログをmicroCMSにコンテンツ移行する際、従来はCSVインポートやコンテンツAPIを利用しての入稿が一般的でした。しかし今回、MCPサーバーを活用することで、より手軽に移行を実現できたので、その手順を共有します。

使用したツール

WordPress MCP

補足

今回の移行ではAutomattic/wordpress-mcpを使用しましたが、WordPress公式では新たにWordPress/mcp-adapterを開発しており、将来的にはこちらが主流になるようです。

microCMS MCP Server

  • リポジトリ: microcmsio/microcms-mcp-server
  • 役割: コンテンツAPI・マネジメントAPI経由でコンテンツの作成、メディアのアップロードを行う

Claude

  • 役割: 2つのMCPサーバーが提供する操作を組み合わせて、コンテンツ移行を行う

移行対象

今回移行したWordPressサイトの構成:

  • カテゴリー: 5件
  • タグ: 5件
  • ブログ記事: 10件
  • 画像: 5枚

すべてのコンテンツが相互に関連しており、カテゴリー・タグの紐付けやアイキャッチ画像の設定も含まれています。

事前準備

1. WordPress側の準備

1-1. プラグインのインストール

WordPressの管理画面から プラグイン → 新規追加 → "WordPress MCP" を検索してインストール プラグイン → インストール済みプラグイン → "WordPress MCP" を有効化 設定 → "Enable MCP functionality" をONに設定
WordPressプラグイン「WordPress MCP」をインストールして有効化し、"Settings"タブの"Enable MCP functionality" をONにします。
※その他の設定項目に関しても、利用状況にあわせてONにしてください

自身でプラグインをアップロードする場合は、リポジトリのReleasesからwordpress-mcp.zip をダウンロードし、/wp-content/plugins/wordpress-mcpにアップロードしてください。

1-2. 認証トークンを生成


"Authentication Tokens"タブに移動した後、"TOKEN DURATION"(トークンの有効期限)を選択し、[Generate New Token] ボタンをクリックします。今回は6時間としてみました。
JWT認証は有効期限があるため、長時間の移行作業を行う場合は、途中でトークンの再発行が必要になる可能性があります。作業時間にあわせて有効期限を調整するのがよいかと思います。

生成されたトークンをコピーしておきます。このトークンは一度しか表示されません。必ずコピーして保管してください。

1-3. Claude Desktop での設定

発行したトークンをClaude Desktopの設定ファイルに追加します。macOSの場合は以下に設定ファイルがあります:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "wordpress-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@automattic/mcp-wordpress-remote@latest"
      ]
      "env": {
        "WP_API_URL": "https://your-wordpress-site.com",
        "JWT_TOKEN": "your-jwt-token-here",
        "LOG_FILE": "optional-path-to-log-file"
      }
    }
  }
}


WP_API_URLにはコンテンツ移行元WordPressのURLを設定します。
JWT_TOKENには、先ほど発行したトークンをそのまま設定します。長い文字列になりますが、すべてコピーしてください。
LOG_FILE は省いてもOKですが、エラーが出た際などに原因を特定しやすいので、設定しておくと便利です。

2. microCMS側の準備

2-1. microCMS MCPサーバーのセットアップ

セットアップ方法やAPIキーの設定については、以下のブログを参照して進めてください。
microCMSのMCPサーバーをリリースしました | microCMSブログ

claude_desktop_config.json にて設定を行う場合は、以下のように記述します。
MICROCMS_SERVICE_IDMICROCMS_API_KEY はご自身のものに置き換えてください。

{
  "mcpServers": {
    "wordpress-mcp": {
      // 1-3で設定した内容
    },
    "microcms": {
      "command": "npx",
      "args": [
        "-y",
        "microcms-mcp-server@latest",
        "--service-id", "<MICROCMS_SERVICE_ID>",
        "--api-key", "<MICROCMS_API_KEY>"
      ]
    }
  }
}

2-2. APIスキーマの設計

microCMSの管理画面で、3つのAPIを作成します。ClaudeにAPIスキーマを定義する際のインポート用JSONを発行してもらったので、簡単に作成することができました。

① カテゴリー (categories)

APIタイプ: リスト形式
フィールド:

  • name: テキストフィールド
  • description: テキストエリア
② タグ (tags)

APIタイプ: リスト形式
フィールド:

  • name: テキストフィールド
  • description: テキストエリア
③ ブログ (blogs)

APIタイプ: リスト形式
フィールド:

  • title: テキストフィールド
  • content: リッチエディタ
  • excerpt: テキストエリア
  • eyecatch: 画像
  • categories: 複数コンテンツ参照 → categories
  • tags: 複数コンテンツ参照 → tags

各MCPの接続確認

それぞれのセットアップが完了したので、接続されているか確認してみます。

接続が確認できたので、コンテンツの移行をしていきます。

コンテンツの移行

MCP経由での移行は以下の順序で進めました:

ステップ1: カテゴリーの移行

WordPress MCPから取得したカテゴリーデータを、microCMS MCPで登録します。

WordPress MCP (取得)
  ↓
IDマッピング作成 (WordPress ID → microCMS ID)
  ↓
microCMS MCP (登録)

移行されるデータ:

  • カテゴリー名
  • 説明


microCMSの管理画面を確認すると、5件すべて正しく登録されていました。

ステップ2: タグの移行

カテゴリーと同様に、タグも移行します。

WordPress MCP (取得)
  ↓
IDマッピング作成 (WordPress ID → microCMS ID)
  ↓
microCMS MCP (登録)

移行されるデータ:

  • タグ名
  • 説明


microCMSの管理画面を確認すると、5件すべて正しく登録されていました。

ステップ3: 画像の移行

WordPress上の画像をmicroCMSのメディアライブラリにアップロードします。
外部URLから直接画像をアップロードできるため、一度ローカルにダウンロードする必要がありません。

WordPress MCP (画像URL取得)
  ↓
microCMS MCP (画像アップロード)
  ↓
URLマッピング作成 (WordPress URL → microCMS URL)

microCMSの管理画面を確認すると、5枚すべてメディアライブラリにアップロード完了していました。

ステップ4: ブログ記事の移行

最後に、ブログ記事を移行します。ここが最も複雑な部分です。

WordPress MCP (記事取得)
  ↓
画像URLを置換 (WordPress → microCMS)
  ↓
カテゴリー・タグIDを変換 (WordPress ID → microCMS ID)
  ↓
microCMS MCP (記事登録)

移行されるデータ:

  • タイトル
  • 本文
  • 抜粋
  • アイキャッチ画像
  • カテゴリー
  • タグ


microCMSの管理画面を確認すると、10件すべて公開済みで登録されていました。(下書き状態での登録も可能です)

(と、ここまでステップを分けて内部的に行われている処理を記述しながらご説明してきましたが、実際に指示をしたのは「WordPressからmicroCMSにコンテンツを移行して」という内容だけで、Claude側がフローを理解して適切な順番で行ってくれました。)

移行結果の確認

移行完了後、microCMS管理画面で以下を確認しました:
カテゴリー: 5件すべて正しく登録
タグ: 5件すべて正しく登録
画像: 5枚すべてメディアライブラリにアップロード完了
ブログ記事: 10件すべて公開済みで登録
カテゴリー・タグの紐付け: 正しく関連付けられている
画像URL: 本文内のすべての画像URLがmicroCMSのURLに置換されている

まとめ

MCPを活用することで、WordPressからmicroCMSへのコンテンツ移行を効率的に実行できました。
(結局コードは一行も書いていません…!)

移行のポイント:

  • WordPressの構成を把握し、事前にmicroCMSのAPIスキーマを正しく設計する
  • カテゴリーやタグから順に移行し、IDマッピングを作成する
  • 画像URLの置換を忘れずに行う

今後の展開:

  • より大規模なサイト(100件以上の記事)での移行検証
  • カスタムフィールドの移行対応
  • 固定ページやカスタム投稿タイプへの対応


MCPサーバーは、異なるCMS間のデータ移行においても非常に有用なツールだと感じました。この記事が、同様の移行を検討している方の参考になれば嬉しいです!

microCMS 採用情報

microCMSではカスタマーエンジニアを積極採用中です!


ご興味のある方は、採用情報ページや弊社メンバーが業務内容やチームの雰囲気についてお話しているポッドキャスト「microCMS FM」をぜひチェックしてみてください。

カジュアル面談からでも大歓迎です。お気軽にご応募ください!

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

APIベースの日本製ヘッドレスCMS「microCMS」を使えば、 ものの数分でAPIの作成ができます。

microCMSを無料で始める

microCMSについてお問い合わせ

初期費用無料・14日間の無料トライアル付き。ご不明な点はお気軽にお問い合わせください。

お問い合わせ

microCMS公式アカウント

microCMSは各公式アカウントで最新情報をお届けしています。
フォローよろしくお願いします。

  • X
  • Discord
  • github

ABOUT ME

中野紘子
制作会社にてフロントエンドエンジニアの経験を経て、現在はmicroCMSでマーケターをしています。趣味はゲームと散歩です。