Aep

Full-CRUD server for AEP, Journey Optimizer and CJA. 61 tools from one OAuth credential.

LLM Mart 6 views 34 listing impressions
Transport
Not stated
Package
—
Registry id
com.focusgts/aep

No install snippet on purpose. A working MCP config is a command, its arguments and an environment block — the last two are where API keys live, so this catalogue never stores them and cannot publish them. Follow the link above for the authors' own instructions.

61 tools across 14 categories. Full read AND write. Self-hosted, Apache-2.0, no invitation required. Experience Platform, Journey Optimizer and Customer Journey Analytics — from one OAuth credential.

Ingest a batch → compose a schema → activate an audience → honour an erasure. Every mutation gated by a fail-closed write guard that asks Adobe what kind of sandbox it's in.

Ask your agent


⚡ Do it in three lines

claude mcp add aep \
  -e AEP_CLIENT_ID=... -e AEP_CLIENT_SECRET=... \
  -e AEP_ORG_ID=...@AdobeOrg -e AEP_SANDBOX_NAME=your-dev-sandbox \
  -- npx -y @focusgts/aep-mcp-server

Then just ask your agent:

"Create a schema with the Demographic Details field group, then a dataset on it." "Ingest this NDJSON file and tell me when the batch lands." "Build an audience of customers who bought twice this quarter and activate it." "Delete every record for this email address — dry run first."

Writes are off until you ask for them, and safe mode only unlocks sandboxes Adobe classifies as development.

The loop that makes it different

flowchart LR
  A["📐 Compose<br/>schema from field groups"] --> B["🗂️ Create<br/>dataset"]
  B --> C["📥 Ingest<br/>batch · upload · complete"]
  C --> D["🎯 Activate<br/>segment → destination"]
  D --> E["🧹 Govern<br/>erasure · expiration · quota"]
  E -. "re-audit the tenant" .-> A

Adobe's first-party gateway can tell you what's in your Experience Platform tenant. It cannot create a dataset, land a batch, activate an audience, or submit an erasure. This does — and does it behind a guard that fails closed.


🧠 How it works

flowchart LR
  A["AI agent<br/>(Claude · Cursor · Copilot)"] -- MCP / stdio --> B["aep-mcp-server<br/>61 tools"]
  B --> W{{"write guard<br/>fail-closed"}}
  W --> C["Schema Registry · Catalog<br/>Ingestion · Lifecycle · Privacy"]
  C --> F["Your AEP sandbox<br/>platform.adobe.io"]
  B --> J["Journey Optimizer<br/>read-only"]
  J --> K["ajo campaigns"]
  B --> Q["Customer Journey Analytics<br/>read-only, no sandbox"]
  Q --> L["cja.adobe.io"]

The agent calls tools; the server talks to live Adobe APIs over OAuth Server-to-Server. The write guard sits in the HTTP client, not in each tool, so all 61 inherit it and none can forget it. Blocked calls never reach Adobe.


🛡️ Safe by default

Three postures. Reads are never restricted in any mode.

AEP_MODE Writes permitted Use it when
read-only Never, in any sandbox Handing the server to someone to explore an environment you don't want touched
safe (default) Only where Adobe classifies the sandbox development Evaluating, or letting an agent work without risking production
production Anywhere, including production You run your own change control and don't want the server second-guessing you

From the project's README.

Related servers

Let LLM help you achieve your regression analysis with Stata

18 views

vSphere with Tanzu (VKS): Namespace and TanzuKubernetesCluster lifecycle. Requires vSphere 8.x+.

17 views

Durable agentic memory, encrypted at rest. Fully offline: no network, no API key, no cloud.

15 views

Web search, deep research, prediction markets & crypto data for AI agents. Pay per call via x402.

15 views