AEM Content Manager (ACM) MCP Server
by wttechio.github.wttech/acm-mcp-serverv0.1.1
Validate and run Groovy scripts on Adobe Experience Manager through AEM Content Manager (ACM).
context tax
queued
security
queued
cold start
queued
freshness
Active1d ago
Install AEM Content Manager (ACM) MCP server
Install in Claude Code
claude mcp add wttech -e AEM_BASE_URL='<aem-base-url>' -e AEM_TOKEN='<aem-token>' -e AEM_COOKIE='<aem-cookie>' -e AEM_PASSWORD='<aem-password>' -- npx -y @wppes/acm-mcp-serverInstall in Cursor
{
"mcpServers": {
"wttech": {
"command": "npx",
"args": [
"-y",
"@wppes/acm-mcp-server"
],
"env": {
"AEM_BASE_URL": "<aem-base-url>",
"AEM_TOKEN": "<aem-token>",
"AEM_COOKIE": "<aem-cookie>",
"AEM_PASSWORD": "<aem-password>"
}
}
}
}Add to ~/.cursor/mcp.json (global) or .cursor/mcp.json (project).
Install in Claude Desktop
{
"mcpServers": {
"wttech": {
"command": "npx",
"args": [
"-y",
"@wppes/acm-mcp-server"
],
"env": {
"AEM_BASE_URL": "<aem-base-url>",
"AEM_TOKEN": "<aem-token>",
"AEM_COOKIE": "<aem-cookie>",
"AEM_PASSWORD": "<aem-password>"
}
}
}
}Settings → Developer → Edit Config (claude_desktop_config.json), then restart.
Install in VS Code
{
"servers": {
"wttech": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@wppes/acm-mcp-server"
],
"env": {
"AEM_BASE_URL": "<aem-base-url>",
"AEM_TOKEN": "<aem-token>",
"AEM_COOKIE": "<aem-cookie>",
"AEM_PASSWORD": "<aem-password>"
}
}
}
}Add to .vscode/mcp.json in your workspace.
Install in Windsurf
{
"mcpServers": {
"wttech": {
"command": "npx",
"args": [
"-y",
"@wppes/acm-mcp-server"
],
"env": {
"AEM_BASE_URL": "<aem-base-url>",
"AEM_TOKEN": "<aem-token>",
"AEM_COOKIE": "<aem-cookie>",
"AEM_PASSWORD": "<aem-password>"
}
}
}
}Add to ~/.codeium/windsurf/mcp_config.json.
Configuration
| Variable | Required | Secret | Description |
|---|---|---|---|
| AEM_BASE_URL | yes | — | AEM author URL, e.g. https://author-pXXXX-eYYYY.adobeaemcloud.com or http://localhost:4502 |
| AEM_TOKEN | — | yes | Bearer token, e.g. an AEMaaCS local development token from the Developer Console |
| AEM_COOKIE | — | yes | Value of the AEM login-token cookie from a browser session |
| AEM_COOKIE_FILE | — | — | Path to a file holding the login-token value, re-read on every request |
| AEM_USER | — | — | Basic auth user, for a local AEM SDK |
| AEM_PASSWORD | — | yes | Basic auth password, for a local AEM SDK |
| ACM_READONLY | — | — | Set to true to block the tools that run code. A guardrail against accidental runs, not a security boundary |
Freshness
Active — last maintenance signal 1d ago. The newest of the signals below sets the band.
Last commit (default branch)
2026-10-08 · 1d ago · GitHub
Latest release
2026-10-08 · 1d ago · GitHub · 1.0.19
Package published
no data · npm/PyPI
Registry entry updated
2026-10-07 · 2d ago · official registry · v0.1.1
FAQ
›How do I install the AEM Content Manager (ACM) MCP server in Claude Code?
Run: claude mcp add wttech -e AEM_BASE_URL='<aem-base-url>' -e AEM_TOKEN='<aem-token>' -e AEM_COOKIE='<aem-cookie>' -e AEM_PASSWORD='<aem-password>' -- npx -y @wppes/acm-mcp-server. For Cursor, VS Code, Claude Desktop and Windsurf, use the install tabs above.
›Does AEM Content Manager (ACM) require an API key?
Yes. It expects AEM_BASE_URL, AEM_TOKEN, AEM_COOKIE, AEM_PASSWORD, of which 3 are secrets.
›Can I use AEM Content Manager (ACM) as a remote (hosted) MCP server?
No hosted endpoint is published; it runs locally over stdio.
›Is AEM Content Manager (ACM) in the official MCP registry?
Yes, as io.github.wttech/acm-mcp-server.