Content MCP Serverを使用したAEM Content Operationsの高速化
Cursor IDEなどのAIを搭載したIDEの Content MCP Server を使用して、AEM コンテンツを自然言語で動作させ、低レベルのAPI コードやUI ナビゲーションを使用しません。
このチュートリアルでは、アドベンチャーコンテンツフラグメントの詳細をレビュー、フラグメントを更新 (例:アドベンチャーの価格)および 確認 して、WKND Adventures React アプリ の変更内容を下位のAEM環境 (RDEまたは開発)に対してIDEからMCP フローを離れずに変更します。
概要
AEM as a Cloud Serviceは MCP サーバー を提供しているため、IDEまたはチャットアプリはAEMと安全に連携できます。 Content MCP Serverは、ページ、フラグメント、アセットをサポートしています。 詳しくは、AEMのMCP サーバーを参照してください。
開発者による使用方法
Cursor IDEをContent MCP Serverに接続し、以下のシナリオを実行します。
セットアップ – カーソル内のコンテンツ MCP サーバー
次の手順で、カーソルを合わせてContent MCP Serverを設定します。
-
お使いのマシンでカーソルを開きます。
-
カーソルメニューから設定 > カーソル設定に移動して、設定ウィンドウを開きます。
-
左側のサイドバーで、ツールとMCPをクリックして、そのパネルを開きます。
-
カスタム MCPまたは 新規MCP Server をクリックして
mcp.jsonを開き、次の設定に貼り付けます。code language-json { // You do not need both but just content-readonly or content is fine. The content server includes everything the content-readonly server offers. For demo purposes, we added both. "mcpServers": { // Use this for create, read, update, and delete operations "AEM-RDE-Content": { "url": "https://mcp.adobeaemcloud.com/adobe/mcp/content" }, //Use this for read-only operations "AEM-RDE-Content-Read-Only": { "url": "https://mcp.adobeaemcloud.com/adobe/mcp/content-readonly" } } }note caution CAUTION チュートリアルの目的で、上記の設定では、このチュートリアルに コンテンツ と コンテンツ(読み取り専用) の両方が追加されます。 実際、コンテンツには、既に コンテンツ(読み取り専用) のオファーと、作成/更新/削除ツールがすべて含まれています。 コンテンツの作成、変更、または削除の可能性を回避するには、コンテンツ(読み取り専用) ( /content-readonly)のみを設定し、コンテンツ (/content)を省略します。 そうすることで、偶発的な変化を避けることができます。
-
カーソル設定ウィンドウで、Connectをクリックして認証プロセスを開始します。OAuth 2.0 PKCE フローを使用して、User Specific Access Tokenを取得し、AEM MCP Serverにアクセスします。
-
Adobe IDでログインし、カーソル設定ウィンドウに戻ります。
-
AEM-RDE-Content-Read-Onlyと AEM-RDE-Content が接続されていることを確認します。 各サーバーを展開して、そのツールを表示できます。
セットアップ - WKND Adventures React アプリ
次に、カーソルでWKND Adventures React Appを設定します。
-
マシン上で次の2つのリポジトリを複製します。
code language-bash ## WKND GraphQL repo, the `react-app` folder is the WKND Adventures app $ git clone git@github.com:adobe/aem-guides-wknd-graphql.git ## WKND Site repo, you deploy this to RDE so the app can use its content fragments data via GraphQL $ git clone git@github.com:adobe/aem-guides-wknd.git -
WKND サイト プロジェクトをRDEにデプロイします。 詳細な手順については、迅速な開発環境の使用方法を参照してください。
-
IDEで
react-appフォルダーを開きます。 -
.env.developmentを編集して設定:REACT_APP_HOST_URI: RDE オーサーURLREACT_APP_AUTH_METHOD:basicへREACT_APP_BASIC_AUTH_USERとREACT_APP_AEM_AUTH_PASSWORD:aem-headlessになる(このユーザーをRDEで作成し、administratorsグループに追加します)
-
IDE ターミナルから、以下を実行します。
code language-bash $ cd aem-guides-wknd-graphql/react-app $ npm install $ npm start -
ブラウザーで、http://localhost:3000に移動して、WKND Adventures アプリを表示します。
生産性のシナリオ - AEM コンテンツのレビューと更新
単純なルールが満たされたときに、アドベンチャーカードにHOT DEAL バナーを表示する必要があるとします。 通常のアプローチは次のようになります。
- アドベンチャーカードのコンポーネントコードを確認する
- バナーを表示するロジックを追加します
- AEMのアドベンチャーコンテンツフラグメントモデルを確認します
- 1つ以上のアドベンチャーフラグメントプロパティを変更して、ルールをテストします
物事をシンプルにするために、アドベンチャーの価格が100 ドル未満の場合にHOT DEAL バナーを表示しましょう。
React アプリはRDE環境からデータを取得するので、Adventure コンテンツフラグメントモデルを知ってから、適切なフラグメントプロパティを更新する必要があります。 AEM Content MCP Serverには、まさにこのような機能があります。 その方法をご紹介します。
-
カーソルで新しいチャットを開き、次のように入力します。
code language-text I want to review my Content Fragment Models from AEM RDE, can you list the Adventure Content Fragment details.
Content MCP Serverを呼び出す前に、確認を求めて続行します。 そのため、コンテンツの運用はユーザーが制御できます。
AIはContent MCP サーバーを使用してデータを取得し、それを明確かつ構造化された方法で表示します。 これには、コンテンツフラグメントモデルの詳細、フラグメント数、概要情報が含まれます。
-
HOT DEAL バナーをトリガーするには、アドベンチャーの価格を更新してください。 同じチャットで、次のことをお試しください。
code language-text Can you update adventure Beervana in Portland's price to 99.99
同様に、AIはコンテンツを更新する前に、確認を求めます。 また、更新前と更新後のコンテンツ操作についても要約します。
-
React アプリで、Beervana カードにHOT DEAL バナーが表示されていることを確認します。
追加のプロンプト
コンテンツに焦点を当てたプロンプトをIDEで試して(Content MCP Serverに接続して)、より多くのワークフローと機能を確認します。
-
コンテンツを見る:
code language-text List all content fragments in the WKND Adventures folder List all WKND Site pages from US English site Can you give me page metadata for Tahoe Skiing English page? List assets of Bali Surf camp What Content Fragment models are available in this environment? -
コンテンツの検索:
code language-text Search for content fragments that mention 'cycling' Do we have a magazine page in US English site with "Camping" in it -
コンテンツを更新:
code language-text In WKND US English create a copy of Downhill Skiing Wyoming as "Test Downhill Skiing Wyoming" In newly created "Test Downhill Skiing Wyoming" please change title to "Duplicated Page" -
公開または非公開:
code language-text Can you publish the page at /us/en/adventures/test-downhill-skiing-wyoming and give me publish page URL Can you unpublish the test-downhill-skiing-wyoming page
概要
AEM Content MCP ServerをCursorで設定し、RDE (またはDevelopment)環境に接続します。 次に、WKND Adventures React アプリを使用し、自然言語でチャットしながらアドベンチャーコンテンツフラグメントの詳細を確認しました。 また、AIが各コンテンツ操作の前に確認を求めるフラグメントの価格を更新しました。 実行中のアプリの変更を確認しました。 AEM UIに切り替えたり、低レベルのAPI コードを記述したりすることなく、IDEから同じ人間中心のフローを使用して、AEM コンテンツをレビュー、更新、作成できます。