ACM MCP Server

MCP server for AEM Content Manager: the agent validates and runs Groovy scripts on Adobe Experience Manager and reads run history

  • 37 ★ on the repository
  • Last commit
  • Apache-2.0
MCP serverOfficial

Broad access

Why this level

  • The agent runs arbitrary Groovy on AEM with the configured user's rights and can change or delete content and permissions
  • AEM tokens, cookies or passwords sit in configuration or files next to the agent, and page content can try to steer it
All reasons and checks

wttech/acm

Install

In your terminal, with SkillFoxx CLI

npx skillfoxx add mcp/acm-mcp-server

Detects the agents on your machine, shows the access level and pins the version.

Other ways to install

Access and checks

How we review

Broad accessThe tool can change data, run commands or handle secrets.

  • The agent runs arbitrary Groovy on AEM with the configured user's rights and can change or delete content and permissions
  • AEM tokens, cookies or passwords sit in configuration or files next to the agent, and page content can try to steer it

This is third-party code. Review the repository files before installing.

What it does

AEM Content Manager (ACM) is a Wunderman Thompson Technology tool for Adobe Experience Manager: bulk content and permission changes as code, an IDE-style console and data import or export. The MCP server in the tools/mcp-server directory connects an AI agent to it. The agent checks a Groovy script for compile errors without running it (`acm_validate_code`), queues code, waits for completion and gets the console output (`acm_run_code`). It also looks up executions by ID, lists history, reads scripts stored on the instance, resolves input parameters declared in describeRun() and fetches output files. A running execution can be stopped with `acm_abort_execution`. The server works with several AEM instances at once: a local author, publish and cloud environments. Each gets an auth mode (basic, bearer or cookie), a secret in a variable, a file or inline in the settings, and a readonly flag that blocks running and aborting code on that instance. The package also includes the ACM Groovy scripting skill, which teaches the agent to write correct and safe scripts with dry runs and abortable loops.

Who it is for. Adobe Experience Manager developers and administrators who run bulk content and permission changes with ACM scripts and want an agent to help write and debug them.

Good fit when

  • A content migration script fails and the agent needs the status and console output of the latest execution
  • Before running on a shared instance a script must be checked for compile errors with line and column
  • You want to compare how a script behaves on a local author and in a cloud dev environment
  • The agent has to read scripts already stored on the instance before writing a new one
  • A long run hung and has to be stopped with `acm_abort_execution`

Not a fit when

  • ACM is not installed on your AEM: the server calls its API at /apps/acm/api
  • You need unattended runs on a production instance: the server runs arbitrary Groovy with your permissions
  • You only need content edits with no scripts: the ACM interface and the scripts themselves cover that, no agent needed

Example request

Validate the page move script for errors, run it on local-author and show the console output.

MCP

Transport
stdio
Authentication
key is optional

Environment variables

ACM_CONFIG_FILE required
Path to the JSON with AEM instances and auth modes
ACM_CONFIG secret
The same document inline, taking precedence over the file

Limitations

You need Node.js 22 or newer, ACM on each AEM instance and a user with access to the ACM API. Running without history (history: false) needs ACM 0.9.74 or newer. Configuration is a JSON document with the same acm.* keys as the VS Code extension, so a block from settings.json can be pasted in.

The server lets the agent run arbitrary Groovy on AEM with the configured user's rights, so production instances should carry the readonly flag. It blocks only the run, describe-inputs and abort calls and is not a security boundary: validation still sends code to the instance. Runs without history are written to ACM's audit log.

How to disable. Remove the server from the MCP client configuration and restart the client. Clear secrets from variables and files separately, and revoke AEM tokens issued for the agent in Cloud Manager.

FAQ

How do I connect ACM to Claude Code?

Register the server as stdio with the npx command and the arguments -y @wppes/acm-mcp-server, and set ACM_CONFIG_FILE in the environment to a JSON file listing the AEM instances. The easiest way is to ask the agent to register it; a ready prompt is in the server README.

Which auth mode should I pick for AEM?

For AEM as a Cloud Service bearer with a local development token from Cloud Manager is recommended; it lasts 24 hours and acts as your user. A login-token cookie suits a quick start, and basic with admin and admin fits a local SDK.

How do I protect a production instance?

Mark it readonly: health, validation, history and script reading keep working while running, describing inputs and aborting code are blocked. Also give the agent a least-privileged user and do not auto-approve `acm_run_code`.

What is the ACM Groovy scripting skill?

A tools/skills/acm-groovy-script folder with SKILL.md and an API reference generated from the ACM sources. It teaches the agent script types, dry runs through repo.dryRun, abortable loops and logging. The server and the VS Code extension include it; for other agents the folder is copied into .claude/skills.

Is there a VS Code extension?

Yes, wppes.acm on the Marketplace and Open VSX, in preview. It runs scripts on AEM instances from the editor and bundles the MCP server and the skill, so Copilot in agent mode works with ACM without separate setup.

Discussion

No questions or reviews yet.

Official

FireCMS Cloud MCP server: an agent reads Firestore data, infers collection schemas and manages the project's users.

MCP serverBroad access1.3KRepository stars
Official

Apollo's MCP server: turns chosen GraphQL operations into tools the agent uses to work with your API

MCP serverBroad access319Repository stars

Sanity's official agent kit: a remote MCP with project access, skills on content modeling, SEO and migrations, and plugins

PluginBroad access197Repository stars
Official

The official Appwrite MCP server opens a project databases, users, functions and storage to an agent through OAuth.

MCP serverBroad access72Repository stars

Firebase MCP Server

Firebase CLI and MCP Server

Official

Official Firebase MCP server from the Firebase CLI: projects, Firestore, Auth, Crashlytics, Remote Config and function logs

MCP serverBroad access4.5KRepository stars

Comparison with similar tools

Cards that share the main search query, and how they differ.

ToolOfficialAuthenticationRepository starsMain difference
ACM MCP Server (this card)yeskey is optional37
Contentful MCP ServeryesAPI key62content management in the hosted Contentful
FireCMS MCP ServeryesOAuth1,283a Firebase-based CMS with its own API
Sanity Agent Toolkitnonot required197a toolkit for the Sanity CMS with GROQ queries

README in short

The ACM README covers product features, package installation, permissions, script documentation and developer tools. The server's own README covers requirements, instance setup, auth modes, the list of eleven tools and security measures.

README badge

Report a problem