AEM as a Cloud Serviceでの MCP の使用 using-mcp-with-aem-as-a-cloud-service
はじめに introduction
現在、多くのAdobe Experience Manager(AEM)チームは、統合開発環境(IDE)や、Cursor、OpenAI ChatGPT、Anthropic Claude、Microsoft Copilot Studio などのチャットベースのアプリケーションで作業しています。 これらのアプリケーションは、アプリケーションがバックエンドツールを標準化された方法で大規模な言語モデル(LLM)に公開できるようにするモデルコンテキストプロトコル(MCP)をサポートしています。
AEMの MCP 統合を使用すると、様々なペルソナが同じコンテンツを中心に共同作業を行うことができます。
- 開発者、IDE またはチャットアプリケーションからコンテンツ操作やワークフローを調整できます
- 実務担当者 とコンテンツアーキテクトは、AEMの既存の権限モデル内に留まりながら、AI 支援を使用してサイト、コンテンツフラグメントおよびアセットを管理できます。
この記事では、AEMの MCP 機能の機能、サポートされている MCP アプリケーション、設定方法、実際の使用方法について説明します。
MCP がAEMのお客様に役立つ理由 why-mcp-is-useful-for-aem-customers
最新の IDE およびチャットアプリケーションは、MCP サーバーの背後に公開されているツールを LLM が呼び出す方法として MCP を使用します。 お客様は、低レベルの API 仕様に照らしてコードを記述する代わりに、自然言語で意図を記述できます。 例えば、「すべてのページでこのキャンペーンのヒーローバナーを更新する」のようなプロンプトを使用すると LLM は適切な MCP ツールを呼び出し、その後、AEMの API とやり取りできます。
主なメリットは次のとおりです。
- API 給排水衛生設備配管の代わりの自然言語インタラクション
MCP ツールは、使用可能な操作とその呼び出し方法を記述します。 LLM では、これらのスキーマを使用して、呼び出すツールと使用するパラメータを決定します。 - アプリケーション間で一貫したエクスペリエンス
複数の MCP 互換アプリケーションから同じAEM MCP ツールを使用できるので、同じAEMの基本機能を呼び出しながら、最も生産的な場所で作業できます。 - 安全とガバナンスの維持
AEM MCP ツールへのリクエストは、認証済みユーザーの ID で実行され、各ツールによってユーザーの既存のAEM権限が適用されます。 AI を利用した操作は、AEMの手動操作と同じアクセスルールに従います。
AEMが提供する MCP サーバー mcp-servers-provided-by-aem
AEMは、MCP サーバーを HTTP エンドポイントとして公開します。 以下に示すエンドポイントは、以下に関連しています。
https://mcp.adobeaemcloud.com/adobe/mcp/
MCP サーバー mcp-servers
/content/content-readonly/cloudmanagerこの MCP サーバーは現在 ベータ版 です。アクセスをリクエストするには、ユースケースの説明を添えて aemcs-mcp-feedback@adobe.com にメールで送信してください。
各 MCP サーバーによって公開される特定のツールは、時間の経過と共に進化する可能性があります。 実際には、次のようなプロンプトを使用してツールを検出するように MCP 対応のアプリケーションに依頼できます。
"List all AEM MCP tools available from this server and describe what they do."
MCP クライアントは MCP プロトコルを使用してツール リストとスキーマを取得します。このスキーマは LLM で使用できます。
これらの機能とその使用方法について詳しくは、Content MCP Server のチュートリアル および Cloud Manager MCP サーバーのビデオ を参照してください。
サポートされる MCP アプリケーション supported-mcp-applications
AEMの MCP サーバーは、MCP 互換アプリケーションの定義済みセットで動作するように設計されています。 各アプリケーションは独自の設定エクスペリエンスを提供しますが、大まかな手順は似ています。
チャットアプリケーション(Web およびデスクトップ) chat-applications
- 人類的クロード
- OpenAI ChatGPT
開発者ツール (IDE 拡張機能、デスクトップアプリケーション、CLI) developer-tools
- 人類学的なクロードコード (CLI、JetBrains、VS Code、Cursor)
- 拡張コード(CLI、JetBrains、VS Code、カーソル)
- 拡張インデント デスクトップ アプリ
- Cline (JetBrains、VS Code、カーソル)
- カーソル
- GitHub コパイロット(VS Code)
- Kiro (デスクトップアプリケーション、CLI)
- OpenAI Codex (デスクトップアプリ)
- OpenAI Codex CLI
- ウィンドサーフ
エンタープライズプラットフォーム enterprise-platforms
- Microsoft コパイロット スタジオ
設定の概要 setup-overview
AEMの MCP の設定には、主に次の 2 つの部分があります。
- 各 MCP クライアントアプリケーションでの設定 これにより、アプリケーションはAEM MCP サーバーへの接続方法を把握し、OAuth ログインを実行できます。
- MCP サーバを選択 してからプロンプトを表示し、MCP クライアントが MCP サーバの使用を認識できるようにします。
AEM の設定 aem-configuration
デフォルトでは、個々のユーザーがAEM内で持つ権限によって、AEMの MCP サーバーへのアクセスが制御されます。 MCP クライアントアプリケーションを使用して認証を行う場合、MCP ツールはAEMでの手動操作と同じアクセスルールを適用します。 ユーザーが実行できるのは、既に実行を許可されているアクションのみです。
許可された MCP クライアントアプリケーション permitted-mcp-client-applications
次の MCP クライアントアプリケーションがデフォルトで許可されています。
- 人類的クロード
- 人類的クロードコード
- 拡張コード
- インデントの拡張
- Cline
- カーソル
- GitHub コパイロット
- カイロ
- Microsoft コパイロット スタジオ
- OpenAI ChatGPT
- OpenAI Codex
- OpenAI Codex CLI
- ウィンドサーフ
MCP サーバーの制限 restricting-mcp-servers
すべての MCP サーバはデフォルトで許可リストに加えるされます。 管理者には、特定の MCP サーバーへのアクセスを組織、プログラム、環境レベルで制限するオプションがあります。 この制限により、組織内のユーザーが使用できる MCP 機能を詳細に制御できます。
MCP クライアント・アクセスの管理 managing-mcp-client-access
また、管理者は、組織のポリシーで必要とされる場合、特定の MCP クライアントアプリケーションのアクセスを無効にすることもできます。 Adobeで追加の MCP クライアント製品のサポートを有効にする場合は、製品の web サイトへのリンクを送信します。 カスタム MCP クライアントを許可リストに加えるする必要がある場合は、こちらにも問い合わせてください。
MCP サーバーに関するご要望は、aemcs-mcp-feedback@adobe.comまでお気軽にお問い合わせください
MCP クライアントアプリケーションの設定 mcp-client-application-configuration
各ユーザーがこの手順を実行するか、MCP クライアントアプリケーションの管理者がサポートされている場合は実行できます。 設定の詳細は、アプリケーションによって若干異なります。 MCP クライアントは急速に進化しており、リモート MCP サーバのサポートが積極的に開発されています。 リモートサーバーを追加する機能にアクセスするには、開発者モードを有効にする必要がある場合がありますが、通常のプロセスは次のとおりです。
- 1 つ以上のAEM MCP サーバー URL を追加
- 上記の表から 1 つ以上の MCP エンドポイントを設定します。 次に例を示します。
https://mcp.adobeaemcloud.com/adobe/mcp/content-readonly
- 上記の表から 1 つ以上の MCP エンドポイントを設定します。 次に例を示します。
- 接続のトリガー
- MCP クライアントアプリケーションがAEM MCP サーバーへの接続を試みるように、設定を保存またはアクティベートします
- Adobe IDでログイン
- プロンプトが表示されたら、Adobe ログインフローを実行し、Adobe IDに関連付けられた OAuth トークンをアプリケーションが取得できるようにします
- 検出されたツールの検証
- 認証が完了すると、アプリケーションはサーバから MCP ツールを検出します。 その後、LLM に対してAEM操作の実行を促すプロンプトを開始できます。
サポートされているアプリケーションを以下に示します。これらのアプリケーションには、順を追ったガイドへのリンクが含まれています。
チャットアプリケーション(Web およびデスクトップ) setup-chat-applications
開発者ツール (IDE 拡張機能、デスクトップアプリケーション、CLI) setup-developer-tools
- 人類学的なクロードコード (CLI、JetBrains、VS Code、Cursor)
- 拡張コード(CLI、JetBrains、VS Code、カーソル)
- 拡張インデント デスクトップ アプリ
- Cline (JetBrains、VS Code、カーソル)
- カーソル
- GitHub コパイロット(VS Code)
- Kiro (デスクトップアプリケーション、CLI)
- OpenAI Codex (デスクトップアプリ)
- OpenAI Codex CLI
- ウィンドサーフ
エンタープライズプラットフォーム setup-enterprise-platforms
認証 authentication
Adobeでホストされる MCP サーバーは、OAuth を実装し、Adobeの ID システムと統合されています。
- MCP クライアントアプリケーションがAEM MCP サーバーに接続すると、Adobeのログインダイアログが表示され、Adobe IDを使用して認証 行われます。
- ログインに成功すると、システムは MCP クライアントアプリケーションが組織で許可され、リクエストされた MCP サーバーが許可されていることを確認します。 いずれかのチェックが失敗した場合は、エラーメッセージが表示されます。
- 検証が完了すると、MCP サーバーは、アプリケーションが後続のツール呼び出しに使用するトークンを発行します
- MCP ツールは、ユーザーのAEM権限を尊重します。 AEMのコンテンツフラグメントを変更する権限を持つユーザーのみが、MCP を使用して変更できます。
このアプローチにより、AI を利用した操作が、既存のAEMのセキュリティおよびガバナンスモデルに確実に準拠するようになります。
AEMでの MCP の使用 using-mcp-with-aem
AEMと MCP クライアントアプリケーションが設定されたら、任意のアプリケーションで作業し、LLM にAEM操作を実行するように求めることができます。 LLM は、MCP ツール スキーマを読み取り、呼び出すツールを選択し、要求を満たすために必要に応じてシーケンスを実行します。
使用例 example-usecases
代表的なシナリオを次に示します。
-
環境の検出
- 環境とライセンスのリストを作成して、ワークフローの実行場所を決定します。
-
サイト管理
- サイトのリスト
- ページおよびページコンテンツを作成、読み取り、更新、削除します。
-
コンテンツフラグメント管理
- コンテンツフラグメントを検索
- フラグメントの新規作成
- キャンペーンメッセージの変更時に既存のフラグメントを更新する。
-
Assetsの管理
- アセットの読み込み
- 既存のアセットの検索
- アセットの公開
ワークフローの例 example-workflows
次の例は、LLM が MCP ツールを連結する方法を示しています。
-
ページによって参照されるコンテンツフラグメントの操作
- ページコンテンツを取得 -
get-aem-page-contentなどのツールを呼び出して、ページを取得し、fragmentPathプロパティを見つけます。 - フラグメントパスの解決 -
resolve_fragment_pathを使用して、パスを UUID に変換します。 - フラグメントデータを取得 -
get_fragmentを呼び出して、現在のフィールドを取得します。 - フラグメントの更新 -
patch_fragmentを呼び出して、フラグメントコンテンツに変更を適用します。
- ページコンテンツを取得 -
-
モデルに基づく新しいコンテンツの作成
- モデルの検出 -
list_modelsを使用して、使用可能なコンテンツフラグメントモデルを確認します。 - モデルを検査 -
get_modelを使用してモデルのフィールドスキーマを理解します。 - コンテンツを作成 - プロンプトから派生した値を使用して新しいフラグメントを作成する場合は、
create_fragmentを使用します。
- モデルの検出 -
-
既存コンテンツの安全な更新
- 現在のデータを読み取り -
get_fragmentを使用して、既存のデータと ETag を取得します。 - JSON パッチを適用 - ETag および JSON パッチドキュメントと共に
patch_fragmentを使用して、フラグメントを更新し、楽観的同時実行をサポートします。
- 現在のデータを読み取り -
ユーザーの観点からは、次のようなプロンプトを使用してワークフローを開始できます。
"Create a new content fragment for the spring campaign based on our hero banner model and fill in its fields from this brief."
LLM は、必要な MCP ツールを自動的に選択し、調整します。
期待管理 expectation-management
MCP を使用して LLM を操作する場合は、次の点に注意してください。
-
能力は高いが確実ではない
LLM は複雑なタスクを実行できますが、エラーが発生する可能性が高くなります。 同じプロンプトを使用すると、明らかな理由もなく、結果やプレゼンテーションが若干異なる場合があります。 実稼動コンテンツに変更を適用する前に、必ず出力を確認してください。 -
機能の進化
LLM モデルは継続的に改善されています。 時間が経つにつれて、MCP ツールを組み合わせて目標を達成する新しい方法を発見する際に賢くなります。 今日、複数のプロンプトが必要なタスクは、明日、1 つのプロンプトでシームレスに動作する可能性があります。 -
人間による監督が不可欠:
LLM は、監視が必要な知識が豊富なアシスタントと考えてください。 幅広い知識があり、創造的なソリューションを考案できますが、ガイダンスとレビューからメリットを得ることができます。 結果を検証し(特に重要な操作の場合)、出力が期待に合わない場合はフィードバックを提供します。 -
ツールの実行を自動確認する場合は注意が必要
Claude などの一部の MCP クライアント アプリケーションでは、LLM から要求されたツール実行を自動確認するオプションが提供されています。 このオプションは、コンテンツの検索や取得などの読み取り専用操作に便利ですが、コンテンツを更新または削除するツールには注意が必要です。 AEM環境を変更するアクションを確認する前に、各ツール実行リクエストを確認してください。
制限事項 limitations
AEMは現在、 サポートされる MCP アプリケーション の下にリストされているアプリケーションで MCP サーバーの設定をサポートしています。
別の MCP クライアントアプリケーションを使用する場合は、aemcs-mcp-feedback@adobe.com に問い合わせて、追加のクライアントのサポートをリクエストするか、カスタムクライアントを許可リストに加えるしてください。