ニュース

EmDashとは?CloudflareのWP後継CMS|MCP内蔵でAI連携

EmDashとは?CloudflareのWP後継CMS|MCP内蔵でAI連携

この記事の結論

Cloudflareが2026年4月発表のCMS「EmDash」を解説。MCPサーバー内蔵でClaude等のAIエージェントと連携、Dynamic Workersでプラグインを隔離。WordPressとの違いと移行判断を整理。

EmDashは、Cloudflareが2026年4月1日に発表したオープンソースCMSで、公式に「WordPressの精神的後継(spiritual successor)」を掲げるプロジェクトです。全編TypeScriptで書かれ、Astroとサーバーレス(Cloudflare Workers)の上で動きます。AIエージェント文脈での核心は2つ。全インスタンスにMCPサーバーが標準搭載されておりClaudeなどのAIツールから直接サイトを操作できること、そしてプラグインをDynamic Workersのサンドボックスで隔離実行することです。ただし2026年7月時点でもベータプレビュー段階(最新はv0.29.0、2026年7月10日リリース)であり、正式GAは宣言されていません。個人ブログなら試す価値は十分ありますが、法人サイトの移行は時期尚早、というのが本記事の判断です。

「WordPressの後継を名乗るCMSが出たらしいけど、今のサイトを移すべきなの?」

2026年4月の発表以来、AIエージェント運用の検証をしている中でも、この質問を受ける機会が増えました。実際にドキュメントとGitHubリポジトリを読み込んでみると、EmDashは「WordPressの置き換え」というより「AIエージェントが運用することを前提に設計されたCMS」と捉えたほうが正確だと分かります。管理画面でできる操作がそのままMCP経由でAIに開放されている設計は、既存CMSにMCPを後付けするアプローチとは根本的に違います。

この記事では、Cloudflare公式発表とGitHubの一次情報だけを根拠に、EmDashの仕組み、MCP内蔵が実務で何を意味するか、WordPressとの違い、そして「移行すべきか」の判断フレームまでを整理します。5分で試せるセットアップ手順も紹介しますので、まずは全体像をつかんでください。

EmDashとは?Cloudflareが作った「WordPressの精神的後継」CMS

EmDashは、Cloudflareが2026年4月1日に公式ブログで発表したフルスタックCMSです。エイプリルフールの日付ですが、ジョークではなく実際のプロダクトで、MITライセンスのオープンソースとしてGitHubで公開されています。発表時点のバージョンはv0.1.0の開発者向けプレビューでした。

なぜCloudflareがCMSを作ったのか

Cloudflareは発表の中で、WordPressが抱える構造的な課題を挙げています。公式発表とGitHub READMEで示されている数字は次のとおりです。

  • WordPressはインターネットの40%以上を支える最大のCMSである
  • WordPressサイトのセキュリティ問題の96%はプラグインに起因する(Patchstackのレポートに基づく)
  • WordPress公式のプラグイン審査キューは800件超に達し、審査に最低2週間かかる

WordPressのプラグインは、サイトのデータベースやファイルシステムに直接アクセスできる構造です。つまり、脆弱なプラグインが1つあるだけでサイト全体が危険にさらされます。EmDashはこの「プラグインの権限が強すぎる」問題を、アーキテクチャレベルで解決しようとするプロジェクトです。

技術スタックの全体像

EmDashの実体は「Astroのインテグレーション」です。Astroの設定ファイルに追加するだけで、管理画面・REST API・認証・メディアライブラリ・プラグインシステムを備えたCMSが立ち上がります。何をするコードかというと、Astroプロジェクトにemdashを組み込む最小構成です。

// astro.config.mjs
import emdash from "emdash/astro";
import { d1 } from "emdash/db";

export default defineConfig({
	integrations: [emdash({ database: d1() })],
});

動作環境: Node.js環境またはCloudflare Workers。データベースはCloudflare D1のほかSQLite / Turso / PostgreSQLに対応(参照日: 2026-07-21)。

# 注意: 本番環境で使用する前に、必ずテスト環境で動作確認してください。

ポイントは次の3つです。

  • 全編TypeScript: PHPのコードは一切使われていません。型安全にテーマやプラグインを書けます
  • 構造化コンテンツ: 本文はHTMLではなくPortable Text(構造化JSON)で保存されます。同じコンテンツをWebページ・アプリ・メール・API応答に出し分けられます
  • ポータブルな抽象化: SQLはKysely、ストレージはS3互換APIで抽象化されており、Cloudflare(D1 + R2 + KV)でもNode.js + SQLiteでも動きます。Cloudflareにロックインされない設計です

MCPサーバー内蔵が意味すること:AIエージェントによる記事運用

AIエージェントを扱う読者にとって、EmDashの最重要ポイントはここです。Cloudflareの発表には「すべてのEmDashインスタンスは、管理画面(Admin UI)でできるのと同じ操作ができるリモートMCPサーバーを備える」と明記されています。

「MCP後付け」と「MCP内蔵」は何が違うのか

WordPressでもMCPサーバーを立ててAIから操作する構成は既に可能で、実際にそうした連携は広がっています(詳しくはSaaSのエージェント対応まとめ記事で解説しています)。ただし後付けのMCPは、REST APIやプラグインの制約の範囲でしか操作できず、管理画面でしかできない操作が必ず残ります。

EmDashは逆で、「管理画面でできること=MCPでできること」が設計上の前提です。GitHub READMEでは「Built for agents」という節を設け、次の3点を明示しています。

  • MCPサーバー内蔵: ClaudeやChatGPTのようなAIツールがサイトを直接操作できる
  • CLI: エージェントがコンテンツとスキーマをプログラマブルに管理できる
  • エージェント用スキルファイル: プラグインやテーマの開発をAIに任せるためのスキルが同梱される

MCP(Model Context Protocol)自体の仕組みに不慣れな方は、先にClaude MCP入門の記事を読むと、この節の意味がつかみやすくなります。

実務イメージ:記事運用のパイプラインをAIに渡せる

検証環境でMCP対応CMSを運用する視点で考えると、次のようなワークフローが「スクレイピングもブラウザ自動化もなしで」組めることになります。

  • Claudeにリサーチ→ドラフト作成→EmDashへの下書き投入までを一気通貫で任せる
  • 既存記事の一覧取得→鮮度チェック→更新提案をエージェントの定期タスクにする
  • タクソノミー(カテゴリ・タグ)の整理をMCP経由で実行する(リリースノートによると、2026年7月10日のv0.29.0ではMCP操作へのタクソノミー統合や検索のページネーション対応が追加されています)

これまでのCMS運用自動化は「人間用の管理画面をAIが無理やり操作する」形になりがちでした。EmDashは最初からAIを操作主体の一つとして扱っている点で、方向性が明確に異なります。

プラグインもAIが書ける粒度になっている

何をするコードかというと、記事が公開されたら編集部にメール通知を送るプラグインの全文です。GitHub READMEに掲載されている公式サンプルをそのまま引用します。

export default () =>
	definePlugin({
		id: "notify-on-publish",
		// 使う権限をマニフェストで宣言する
		capabilities: ["read:content", "email:send"],
		hooks: {
			"content:afterSave": async (event, ctx) => {
				if (event.content.status !== "published") return;
				await ctx.email.send({
					to: "editors@example.com",
					subject: `New post: ${event.content.title}`,
				});
			},
		},
	});

動作環境: EmDashプラグインAPI(TypeScript)。サンドボックス実行にはCloudflareのDynamic Workersが必要です(参照日: 2026-07-21)。

# 注意: 本番環境で使用する前に、必ずテスト環境で動作確認してください。

ポイントはcapabilitiesの宣言です。このプラグインは「コンテンツの読み取り」と「メール送信」しかできません。公式発表には「プラグインはマニフェストで明示的に宣言したアクション以外を実行することは不可能で、外部ネットワークアクセスも持たない」とあります。この隔離を実現しているのが、プラグインごとに独立したWorkerサンドボックスを起動するDynamic Workers(Dynamic Worker Loaders)です。AIにプラグインを書かせる場合でも、権限が宣言制なので「生成コードが想定外のリソースに触る」リスクを構造的に抑えられます。MCPサーバーを自作する際の権限設計の考え方はMCPツールの安全な権限設計の記事でも扱っており、思想として通じるものがあります。

WordPressとの違い:言語・実行環境・データ・課金

両者の違いを表で整理します。EmDash側は公式発表・GitHub README・公式ドキュメントで確認できる情報のみです(参照日: 2026-07-21)。

項目 WordPress EmDash
言語 PHP(+管理画面等でJavaScript) 全編TypeScript
フレームワーク 独自アーキテクチャ Astroインテグレーション
実行環境 PHPが動くサーバー(共用/VPS等) Cloudflare Workers(サーバーレス)またはNode.jsサーバー
データベース MySQL / MariaDB D1 / SQLite / Turso / PostgreSQL(Kyselyで抽象化)
本文の保存形式 シリアライズされたHTML Portable Text(構造化JSON)
プラグインの隔離 なし(DB・ファイルに直接アクセス) Dynamic Workersサンドボックス+権限マニフェスト
AI連携 プラグイン・外部MCPで後付け MCPサーバー・CLI・エージェント用スキルを標準搭載
認証 ID/パスワード中心 パスキー(WebAuthn)優先、OAuth・マジックリンク併用
ライセンス GPL MIT
成熟度 20年超の実績・巨大エコシステム ベータプレビュー(2026年7月時点、最新v0.29.0)

課金まわりの注意:プラグインのサンドボックスは有料アカウントが前提

見落としやすいのがここです。GitHub READMEには「EmDashはセキュアなサンドボックスプラグインの実行にDynamic Workersを利用するが、Dynamic Workersは現在、有料アカウント(月5ドルから)でのみ利用可能」と明記されています。無料で試す場合は、設定ファイル(wrangler.jsonc)のworker_loadersブロックを無効化してプラグイン機能をオフにするか、Node.jsサーバーでのインプロセス実行(セーフモード)を使うことになります。

「サーバーレスだから安い」という期待は概ね正しい一方で、EmDashの目玉であるプラグイン隔離を使うなら最低でも有料プランが必要、という点は押さえておきましょう。Cloudflare Workers自体の料金体系とAIエージェント構築の実際はCloudflare WorkersでのAIエージェント構築ガイドで詳しく解説しています。

WordPressからの移行手段は用意されている

公式には、WXRエクスポート・WordPress REST API・WordPress.comの3経路から記事・固定ページ・メディア・タクソノミーをインポートする移行ウィザードが用意されています。さらにエージェント用スキルがプラグインやテーマの移植を支援する、とREADMEに記載されています。ただし「移行できること」と「移行すべきこと」は別問題です。これは後述の判断フレームで整理します。

【要注意】EmDash検証でつまずきやすいポイントと対策

失敗1:ベータプレビューであることを忘れて本番移行を計画する

❌「WordPressの後継が出たなら、法人サイトも今のうちに移そう」
⭕「まず検証環境で管理画面とMCP連携を触り、GA(正式版)宣言と破壊的変更の頻度をウォッチする」

なぜこれが重要か: EmDashは2026年7月時点でもGitHub上のステータスが「beta preview」であり、バージョンも0.x系です。4月のv0.1.0から7月のv0.29.0まで3か月あまりで28マイナーバージョン進んでおり、開発が活発である反面、仕様が固まっていないことも意味します。

失敗2:無料アカウントでプラグインが動かず「壊れている」と誤解する

❌ 無料のCloudflareアカウントでデプロイして、プラグインのエラーで諦める
⭕ Dynamic Workersが有料機能(月5ドルから)であることを理解した上で、プラグインなし構成かNode.jsローカル実行で先に全体像を検証する

なぜこれが重要か: EmDashの隔離実行はCloudflareの有料機能に依存しています。READMEに回避策(worker_loadersの無効化)が書かれているので、先に読んでおくとつまずきません。

失敗3:MCPをAIに開放して権限管理を放置する

❌ エージェントにMCP経由のフル権限を渡し、公開操作まで自動化する
⭕ 下書き作成までをAIに任せ、公開は人間のレビューを挟む。ロール(Administrator / Editor / Author / Contributor)を使い分ける

なぜこれが重要か: MCPで「管理画面と同じことができる」ということは、事故が起きたときの影響も管理画面と同じだということです。AIエージェントは誤操作やプロンプトインジェクションのリスクを常に抱えます。CMSに限らず、エージェントへの権限付与は最小権限が原則です。

失敗4:コンテンツ形式の違いを軽視する

❌「HTMLをそのままコピーすれば移行できるだろう」
⭕ Portable Text(構造化JSON)への変換で、既存テーマ・ショートコード・カスタムHTMLがどう扱われるかを小規模なサンプルで先に検証する

なぜこれが重要か: EmDashは本文をHTMLではなく構造化データとして保存します。長年運用したWordPressサイトほど、テーマ依存のHTMLやショートコードが本文に埋まっており、変換の検証なしに規模の大きい移行をすると表示崩れの温床になります。

移行判断フレーム:誰が乗るべきで、誰がまだ待つべきか

ここまでの事実を踏まえて、立場別に判断を整理します。

立場 判断 理由
個人ブログ・技術ブログ 検討可(新規なら試す価値大) 失うものが小さく、TypeScript + Astroに馴染みがあれば学習コストも低い。MCP連携の実験台として最適
新規の小規模サイト(LP・ポートフォリオ) 条件付きで検討可 公式テンプレート(ブログ/マーケティング/ポートフォリオ)が揃っている。ただしベータ由来の破壊的変更に追従できる体制が前提
法人の記事資産があるメディアサイト 時期尚早 ベータプレビューでGA未宣言。SEO資産のリダイレクト・構造化データ・計測タグまで含めた移行の検証コストがリターンに見合わない
カスタムプラグイン・独自実装が多いサイト 時期尚早 WordPressのプラグイン資産に相当するエコシステムがまだ存在しない。移植はエージェント支援があっても実質作り直し
SEOが好調な既存サイト 時期尚早(現状維持推奨) 好調なサイトのCMS引っ越しはそれ自体がリスク。EmDashの成熟を待ってからで遅くない

正直にお伝えすると、EmDashはまだ発展途上です。プラグインエコシステムは立ち上がったばかりで、WordPressの数万規模のプラグイン・テーマ資産に相当するものはありません。運用ノウハウを持つ制作会社・保守ベンダーも当然まだ存在しません。だからこそ現時点では、「本番を移す」のではなく「AIエージェント×CMSの次の標準形を先に体験しておく」という位置づけで触るのが最も費用対効果の高い付き合い方です。

試し方:5分で動かす3つのルート

何をするコマンドかというと、EmDashのプロジェクトをローカルに新規作成する公式CLIです。

# EmDashプロジェクトを新規作成(公式CLI)
npm create emdash@latest

動作環境: Node.jsが動く環境。Cloudflareへのデプロイにはアカウントが必要ですが、Node.js + SQLite構成ならCloudflareアカウントなしで動作します(参照日: 2026-07-21)。

# 注意: 本番環境で使用する前に、必ずテスト環境で動作確認してください。

用途別に3つのルートがあります。

  • コードなしで触りたい: 公式サイト(emdashcms.com)のEmDash Playgroundで管理画面を試す
  • ローカルで動かしたい: 上記のnpm create emdash@latestでプロジェクトを作成する
  • Cloudflareに即デプロイしたい: GitHubリポジトリの「Deploy to Cloudflare」ボタンからワンクリックでデプロイする

コンテンツタイプはコードではなく管理画面(ビジュアルスキーマビルダー)で定義し、開発者は稼働中のスキーマからTypeScript型を生成できます。何をするコマンドかというと、ライブスキーマから型定義を生成するものです。

# 稼働中のスキーマからTypeScript型を生成
npx emdash types

動作環境: EmDashプロジェクト内で実行(参照日: 2026-07-21)。

# 注意: 本番環境で使用する前に、必ずテスト環境で動作確認してください。

動かした後にMCP連携まで検証するなら、まずは読み取り系(記事一覧・検索)から始めて、書き込み系(下書き作成)→公開系の順に権限を広げていく流れが安全です。

よくある質問

EmDashは無料で使えますか?

ソフトウェア自体はMITライセンスのオープンソースで無料です。Node.js + SQLite構成なら自前サーバーで動かせます。ただしCloudflare上でプラグインのサンドボックス実行(Dynamic Workers)を使う場合は、月5ドルからの有料アカウントが必要です(参照日: 2026-07-21)。

WordPressからの移行ツールはありますか?

あります。WXRエクスポート・WordPress REST API・WordPress.comの3経路に対応した移行ウィザードが公式に用意されており、記事・固定ページ・メディア・タクソノミーをインポートできます。プラグインとテーマは自動移行できず、エージェント用スキルの支援を受けつつ作り直す形になります。

正式版(GA)はいつ出ますか?

2026年7月21日時点で、公式リポジトリのステータスは「beta preview」のままで、GAの時期は公表されていません。最新リリースはv0.29.0(2026年7月10日)で、月次以上のペースで活発に更新されています。

まとめ:今日から始める3つのアクション

  1. 今日やること: EmDash Playgroundで管理画面を触るか、npm create emdash@latestでローカルに立ち上げて、Portable Textベースの編集体験を確認する
  2. 今週中: 検証インスタンスのMCPサーバーにClaudeを接続し、「記事一覧取得→下書き作成」までのエージェントワークフローを試す。公開権限は渡さないこと
  3. 今月中: 自社サイトの移行判断フレーム(上表)に沿って自分のサイトを分類し、GAウォッチを継続するか・新規案件で試すかをチームで決める

あわせて読みたい:

参考・出典

この記事を読んで導入イメージが固まってきた方へ

UravationではAIエージェント導入の研修・コンサルを行っています。

著者: 佐藤傑(さとう・すぐる)
株式会社Uravation代表取締役。X(@SuguruKun_ai)フォロワー約10万人。100社以上の企業向けAI研修・導入支援。著書『AIエージェント仕事術』。

Need help moving from reading to rollout?

この記事を読んで導入イメージが固まってきた方へ

Uravationでは、AIエージェントの要件整理、PoC設計、社内導入、研修まで一気通貫で支援しています。

この記事をシェア

X Facebook LINE

※ 本記事の情報は2026年7月時点のものです。サービスの料金・仕様は変更される可能性があります。最新情報は各サービスの公式サイトをご確認ください。

関連記事