mcpField
A
aem-mcp-server

aem-mcp-server

ローカル
github.com/easingthemesビジネス・マーケティング420 週間前に更新

aem-mcp-server について

aem-mcp-serverは、AIエージェントをAdobe Experience Managerに接続し、コンテンツ、コンポーネント、アセット、ワークフローを自然言語で管理できるようにします。AEMaaCSとセルフホスト環境に対応し、複数インスタンスにも接続できます。

主な機能

  1. 01AEM操作用の57個のツール
  2. 02コンテンツフラグメントとエクスペリエンスフラグメントの管理
  3. 03検索、公開、ワークフロー制御
  4. 04AEMカタログを調べる読み取り専用リソース
  5. 05複数インスタンスへの接続
  6. 06Basic authとOAuth S2S

活用シーン

  1. 01自然言語によるAEMコンテンツ管理
  2. 02ページやコンテンツフラグメントの検索
  3. 03コンテンツの公開とワークフローの進行
  4. 04複数のAEMインスタンスをまたぐ作業

MCP 対応

AEMのコンポーネント、サイト、テンプレート、ワークフローモデルを参照する読み取り専用リソースと、57個のMCPツールを提供します。stdioとstreamable HTTPのトランスポートに対応しています。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"easingthemes-aem": {
"command": "npx",
"args": [
"-y",
"aem-mcp-server"
]
}
}
}
起動コマンドnpx -y aem-mcp-server

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmaem-mcp-server1.3.9

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

AEM MCP Server (aem-mcp-server)

Version Release Status CodeQL Analysis semver: semantic-release AGPL-3.0

AEM MCP Server は、Adobe Experience Manager(AEM)向けのフル機能の Model Context Protocol(MCP)サーバーです。 あらゆる AI エージェントと簡単に連携できます。 このプロジェクトは、自然言語で AEM を管理したい技術者以外の方を対象に設計されています。


概要

  • 自然言語で AEM インスタンスを管理 — コンテンツ、コンポーネント、アセット、ワークフロー
  • あらゆる MCP 対応クライアントで利用可能:
    • AI IDE — Cursor、VS Code + Copilot、Windsurf、Cline、JetBrains AI Assistant、Zed
    • CLI エージェント — Claude Code、GitHub Copilot CLI、Gemini CLI、Amazon Q CLI
    • チャットおよびデスクトップアプリ — Claude Desktop、ChatGPT Desktop、Goose
  • AEMaaCS とセルフホスト可能な AEM インスタンスの両方をサポート
  • 2 種類のトランスポートモード — npx 経由の stdio(推奨、インストール不要)とストリーミング可能な HTTP

クイックスタート

前提条件
  • Node.js 20.19.0+ || 22.12.0+ || 23+
  • AEM インスタンスへのアクセス(ローカルまたはリモート)
Stdio トランスポート(推奨)

インストールは不要です。AI エージェントが npx 経由でプロセスを自動的にダウンロードして起動します。

プロジェクトの MCP 設定(.mcp.json、.vscode/mcp.json、.cursor/mcp.json など)に追加します:

{
  "mcpServers": {
    "AEM": {
      "command": "npx",
      "args": ["-y", "aem-mcp-server", "-t", "stdio", "-H", "http://localhost:4502", "-u", "admin", "-p", "admin"]
    }
  }
}

シークレット: MCP 設定ファイルは通常リポジトリにコミットされるため、認証情報をハードコードしないでください。代わりに、クライアントの環境変数構文を使用します:

クライアント構文
Claude Code(.mcp.json)${AEM_PASSWORD} または ${AEM_PASSWORD:-admin}
VS Code / Copilot${input:aem-password}(安全に入力を求める)または envFile
Cursor${env:AEM_PASSWORD}

環境変数参照を使用する例(Claude Code):

{
  "mcpServers": {
    "AEM": {
      "command": "npx",
      "args": ["-y", "aem-mcp-server", "-t", "stdio", "-H", "${AEM_HOST:-http://localhost:4502}", "-u", "${AEM_USER:-admin}", "-p", "${AEM_PASSWORD:-admin}"]
    }
  }
}
ストリーミング可能な HTTP トランスポート(代替)

永続的なサーバーが必要な場合(チームで共有するサーバー、複数のクライアントが同時に接続する場合など)は、グローバルにインストールし、サーバーを手動で起動します:

npm install aem-mcp-server -g
aem-mcp -H=http://localhost:4502 -u=admin -p=admin

その後、AI エージェントに URL を指定します:

{
  "mcpServers": {
    "AEM": {
      "url": "http://127.0.0.1:8502/mcp"
    }
  }
}

Install MCP Server

設定
Options:
      --version    Show version number                                 [boolean]
  -H, --host                         [string] [default: "http://localhost:4502"]
  -u, --user                                         [string] [default: "admin"]
  -p, --pass                                         [string] [default: "admin"]
  -i, --id         clientId                               [string] [default: ""]
  -s, --secret     clientSecret                           [string] [default: ""]
  -m, --mcpPort                                         [number] [default: 8502]
  -t, --transport  Transport mode: http (default) or stdio
                           [string] [choices: "http", "stdio"] [default: "http"]
  -I, --instances  Named AEM instances: "local:http://localhost:4502:admin:admin
                   ,qa:https://qa.example.com:user:pass"  [string] [default: ""]
  -h, --help       Show help                                           [boolean]

認証:

  • AEMaaCS では、OAuth S2S 認証に clientId と clientSecret を使用します。詳細はこちら。
  • セルフホスト型 AEM では、user/pass を使用します。デフォルトの認証情報は admin:admin です。

複数インスタンス: 複数の AEM インスタンスに同時に接続できます:

aem-mcp --instances "author:http://localhost:4502:admin:admin,publish:http://localhost:4503:admin:admin"

すべてのツールに、対象のインスタンスを指定するための instance パラメーターが追加されます。


機能

  • 57 個の MCP ツール:ページ、コンポーネント、アセット、ワークフロー、コンテンツフラグメント、エクスペリエンスフラグメントを網羅
  • MCP リソース — エージェントは resources/list を介して、コンポーネント、サイト、テンプレート、ワークフローモデルを事前に検出できるため、検出のためのラウンドトリップをなくせます
  • ツールアノテーション — すべてのツールに group、readOnly、complexity のタグが付いているため、エージェントはより適切にツールを選択できます
  • 応答の詳細度 — コンテンツ読み取りツールの verbosity パラメーター(summary/standard/full)により、JCR 内部情報を除外し、長いテキストを切り詰めます
  • 実行可能なエラー — エラー応答には suggestion と alternatives フィールドが含まれ、エージェントのワークフローが自動でエラーから回復できるようにします
  • コンポーネント操作:AEM コンポーネント(エクスペリエンスフラグメントを含む)の更新、スキャン、追加、変換、一括管理
  • コンテンツフラグメントとエクスペリエンスフラグメント:CF と XF の両方で、完全な CRUD とバリエーション管理に対応します。また、単一の JSON エンコードフィールド内にキー→値マップ全体を保存する CF 向けに、サーバー側で JSON 文字列フィールドをマージできます(manageContentFragment のアクション mergeJsonField)
  • 高度な検索:QueryBuilder、全文検索、あいまい検索、拡張ページ検索
  • レプリケーションとワークフロー:コンテンツの公開/非公開、ワークフローステージの開始/進行/委任
  • テキストと画像の抽出:フラグメントを含め、ページからすべてのテキストと画像を抽出
  • テンプレートと構造の検出:テンプレートの一覧表示、ページ/コンポーネント構造の分析
  • マルチインスタンス:複数の AEM インスタンスに同時に接続できます。ツールとリソースはインスタンスを認識します
  • セキュリティ:Basic 認証と OAuth S2S、環境ベースの設定、安全な操作のデフォルト設定

使用方法

AI IDE で設定したら、自然言語で尋ねるだけです。

List all components on MyPage
JSON 文字列フィールドへのマージ

一部のコンテンツフラグメントでは、キー→値マップ全体を、単一フィールド内に JSON エンコード文字列として保存します。全体をやり取りすることなく、いくつかのキーをアップサートするには、mergeJsonField アクションを使用します。読み取り、マージ、書き込みはサーバー側で実行されます。

{
  "action": "mergeJsonField",
  "fragmentPath": "/content/dam/<site>/.../labels",
  "field": "CFMValue",                 // the field holding the JSON string
  "jsonPointer": "/0/content/0/value", // RFC-6901 pointer to the object to merge into ("" = field root)
  "merge": { "search": "Search", "clear_search": "Clear search" },
  "variation": "master"                // default: master
}

新しいキーは追加され、既存のキーは上書きされ(ディープマージ)、変更されていないキーは保持されます。応答には、追加/上書きされたキーと、ポインター位置でのマージ前後のキー数が示されます。

MCP リソース

サーバーは読み取り専用の MCP リソースを公開し、エージェントがツール呼び出しなしで AEM カタログを検出できるようにします。

リソース URI説明
aem://{instance}/componentsすべてのコンポーネント(名前、resourceType、タイトル、グループ)
aem://{instance}/sites/content 配下のサイトルートと言語構造
aem://{instance}/templates使用可能なページテンプレート(パス、タイトル)
aem://{instance}/workflow-modelsワークフローモデル(ID、タイトル、説明)

リソースは概要データのみを返します。マルチインスタンスモードでは、各インスタンスに独自のリソース URI セットが割り当てられます。

API ドキュメント

詳細な API ドキュメントについては、API ドキュメントを参照してください。

類似プロジェクト

  1. https://github.com/easingthemes/aem-mcp-server(このプロジェクトのベースとして使用)
  2. https://github.com/indrasishbanerjee/aem-mcp-server(#1 のベースとして使用)
  3. https://www.npmjs.com/package/@myea/aem-mcp-handler(#2 の元のソースと思われる)

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。