aep — MCP-сервер для Claude Code: запись в Adobe Experience Platform
MCP-сервер на 61 инструмент, который даёт агенту не только читать данные Adobe Experience Platform, Journey Optimizer и Customer Journey Analytics, но и записывать их.
claude mcp add --env AEP_CLIENT_ID=<AEP_CLIENT_ID> --env AEP_CLIENT_SECRET=<AEP_CLIENT_SECRET> --env AEP_ORG_ID=<AEP_ORG_ID> --env AEP_SANDBOX_NAME=<AEP_SANDBOX_NAME> --env AEP_MODE=<AEP_MODE> --transport stdio aep -- npx -y @focusgts/aep-mcp-serverЧто делает aep
Сервер ходит в живые API Adobe через OAuth Server-to-Server и отдаёт агенту инструменты для схем, датасетов, загрузки батчей, сегментов и запросов на удаление. Один и тот же OAuth-креденшл покрывает Experience Platform, Journey Optimizer и Customer Journey Analytics; у JO и CJA инструменты только на чтение.
Запись включается не сразу. По умолчанию стоит режим safe: изменения разрешены лишь в песочнице, которую сам Adobe помечает как development. Перед каждой правкой сервер спрашивает у Sandbox Management API тип песочницы. Если тип не удалось определить — блокировка. Незнакомое значение AEP_MODE тоже откатывается в safe, а песочница с именем prod отклоняется до выбора режима. Плюс отдельный флаг AEP_ALLOW_MUTATIONS=true: без него изменений не будет вообще.
Необратимые действия требуют подтверждения строкой с идентификатором. Удаление записей начинается с dryRun: true, а реальная отправка принимает только фразу вида DELETE RECORDS <datasetId> <identityDigest>, где дайджест привязан к конкретному набору идентичностей. Удаление сегмента, датасета и завершение батча устроены так же. Для работы нужны AEP_CLIENT_ID, AEP_CLIENT_SECRET, AEP_ORG_ID и имя песочницы.
Какие задачи решает
- составить схему из наборов полей и создать под неё датасет
- залить NDJSON и дождаться, пока батч завершится
- собрать сегмент и активировать его на назначение
- выполнить запрос на удаление персональных данных без риска задеть лишнее
- посмотреть остаток квоты жизненного цикла данных
Примеры запросов агенту
- Сделай схему с набором полей Demographic Details и датасет на её основе.
- Загрузи этот NDJSON и скажи, когда батч завершится.
- Удали все записи с этим email, сначала прогон без отправки.
Как установить aep
Командой платформы
claude mcp add --env AEP_CLIENT_ID=<AEP_CLIENT_ID> --env AEP_CLIENT_SECRET=<AEP_CLIENT_SECRET> --env AEP_ORG_ID=<AEP_ORG_ID> --env AEP_SANDBOX_NAME=<AEP_SANDBOX_NAME> --env AEP_MODE=<AEP_MODE> --transport stdio aep -- npx -y @focusgts/aep-mcp-serverВместо <…> подставьте свои значения. Ещё 1 переменная окружения — в README сервера
Командой платформы
codex mcp add aep --env AEP_CLIENT_ID=<AEP_CLIENT_ID> --env AEP_CLIENT_SECRET=<AEP_CLIENT_SECRET> --env AEP_ORG_ID=<AEP_ORG_ID> --env AEP_SANDBOX_NAME=<AEP_SANDBOX_NAME> --env AEP_MODE=<AEP_MODE> -- npx -y @focusgts/aep-mcp-serverВместо <…> подставьте свои значения. Ещё 1 переменная окружения — в README сервера
Файл настроек
{
"mcpServers": {
"aep": {
"command": "npx",
"args": [
"-y",
"@focusgts/aep-mcp-server"
],
"env": {
"AEP_CLIENT_ID": "<AEP_CLIENT_ID>",
"AEP_CLIENT_SECRET": "<AEP_CLIENT_SECRET>",
"AEP_ORG_ID": "<AEP_ORG_ID>",
"AEP_SANDBOX_NAME": "<AEP_SANDBOX_NAME>",
"AEP_MODE": "<AEP_MODE>"
}
}
}
}Вместо <…> подставьте свои значения. Ещё 1 переменная окружения — в README сервера
Файл настроек
{
"servers": {
"aep": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@focusgts/aep-mcp-server"
],
"env": {
"AEP_CLIENT_ID": "<AEP_CLIENT_ID>",
"AEP_CLIENT_SECRET": "<AEP_CLIENT_SECRET>",
"AEP_ORG_ID": "<AEP_ORG_ID>",
"AEP_SANDBOX_NAME": "<AEP_SANDBOX_NAME>",
"AEP_MODE": "<AEP_MODE>"
}
}
}
}Вместо <…> подставьте свои значения. Ещё 1 переменная окружения — в README сервера
Командой платформы
gemini mcp add -e AEP_CLIENT_ID=<AEP_CLIENT_ID> -e AEP_CLIENT_SECRET=<AEP_CLIENT_SECRET> -e AEP_ORG_ID=<AEP_ORG_ID> -e AEP_SANDBOX_NAME=<AEP_SANDBOX_NAME> -e AEP_MODE=<AEP_MODE> aep npx -y @focusgts/aep-mcp-serverВместо <…> подставьте свои значения. Ещё 1 переменная окружения — в README сервера
По шагам, с командами для каждой платформы: Как подключить MCP-сервер: Claude Code, Codex, Cursor, VS Code, Gemini CLI и другие
Вопросы о aep
Как установить aep в Claude Code?
Через CLI: `claude mcp add aep -e AEP_CLIENT_ID=<AEP_CLIENT_ID> -e AEP_CLIENT_SECRET=<AEP_CLIENT_SECRET> -e AEP_ORG_ID=<AEP_ORG_ID> -- npx -y @focusgts/aep-mcp-server. Второй вариант задаёт ещё AEP_SANDBOX_NAME и AEP_MODE: claude mcp add --env AEP_CLIENT_ID=<AEP_CLIENT_ID> --env AEP_CLIENT_SECRET=<AEP_CLIENT_SECRET> --env AEP_ORG_ID=<AEP_ORG_ID> --env AEP_SANDBOX_NAME=<AEP_SANDBOX_NAME> --env AEP_MODE=<AEP_MODE> --transport stdio aep -- npx -y @focusgts/aep-mcp-server`.
Что делает aep?
Даёт агенту инструменты Adobe Experience Platform: создание схем и датасетов, загрузка данных, работа с сегментами и запросами на удаление. Всего 61 инструмент в 14 категориях.
Почему сервер отказывается писать в песочницу?
В режиме safe запись разрешена только в песочницу, которую Adobe классифицирует как development. Если тип определить не удалось, сервер блокирует изменения. Для записи также нужен AEP_ALLOW_MUTATIONS=true.