Adobe Experience Manager MCP Server
Create a powerful Model Context Protocol (MCP) server for Adobe Experience Manager (AEM) in minutes with our AI Gateway. This guide walks you through setting up seamless content management integration with enterprise-grade security and instant OAuth authentication.
About Adobe Experience Manager API
Adobe Experience Manager is a comprehensive content management solution for building websites, mobile apps, and forms. The API provides programmatic access to content, assets, workflows, and the entire digital experience platform.
Key Capabilities
- Content Management: Pages, components, templates
- Digital Asset Management: Images, videos, documents
- Sites Management: Multi-site, multi-language
- Forms & Documents: Adaptive forms, document services
- Workflow Engine: Approval processes, automation
- Personalization: Targeted content delivery
- Publishing: Multi-channel distribution
- Experience Fragments: Reusable content blocks
API Features
- REST API: Content and asset operations
- GraphQL API: Headless content delivery
- Sling API: Resource manipulation
- OAuth 2.0: Secure authentication
- Content Services: JSON content delivery
- Assets HTTP API: DAM operations
- Forms API: Document generation
- Query Builder API: Advanced search
What You Can Do with Adobe Experience Manager MCP Server
The MCP server transforms AEM's API into a natural language interface, enabling AI agents to:
Content Management
-
Page Operations
- "Create new landing page from template"
- "Update homepage banner content"
- "Publish page to production"
- "Schedule content for future release"
-
Component Management
- "Add hero component to page"
- "Update text in footer component"
- "Rearrange page components"
- "Configure component properties"
-
Content Fragments
- "Create product description fragment"
- "Update fragment variations"
- "Link fragments to pages"
- "Manage fragment models"
Digital Asset Management
-
Asset Operations
- "Upload marketing images to DAM"
- "Create image renditions"
- "Update asset metadata"
- "Move assets to archive folder"
-
Asset Search
- "Find all images tagged 'summer'"
- "Search videos by creation date"
- "Locate assets missing metadata"
- "Find unused assets"
-
Asset Processing
- "Generate thumbnails for videos"
- "Apply watermark to images"
- "Convert documents to PDF"
- "Optimize images for web"
Sites Management
-
Multi-site Operations
- "Create language copy for French site"
- "Sync content across regions"
- "Manage site blueprints"
- "Configure live copies"
-
Navigation & Structure
- "Update site navigation menu"
- "Reorganize page hierarchy"
- "Create site map"
- "Set up redirects"
-
Template Management
- "Create page template"
- "Update template policies"
- "Lock template components"
- "Export template structure"
Forms & Documents
-
Adaptive Forms
- "Create application form"
- "Add validation rules"
- "Configure form workflow"
- "Set up data prefill"
-
Document Services
- "Generate PDF from template"
- "Merge form data with document"
- "Apply digital signatures"
- "Create document packages"
-
Form Analytics
- "Track form abandonment"
- "Analyze field completion rates"
- "Monitor submission errors"
- "Export form data"
Workflow Management
-
Workflow Creation
- "Create content approval workflow"
- "Set up review process"
- "Configure auto-publish rules"
- "Design translation workflow"
-
Process Automation
- "Trigger workflow on upload"
- "Route to appropriate reviewer"
- "Send notification emails"
- "Execute workflow steps"
-
Workflow Monitoring
- "Check workflow status"
- "View pending approvals"
- "Track workflow history"
- "Identify bottlenecks"
Personalization
-
Audience Management
- "Create visitor segments"
- "Define targeting rules"
- "Set up A/B tests"
- "Configure experiences"
-
Content Targeting
- "Show personalized banner"
- "Display targeted offers"
- "Customize by location"
- "Adapt content by device"
-
Experience Fragments
- "Create reusable content blocks"
- "Manage fragment variations"
- "Target fragments to audiences"
- "Track fragment performance"
Publishing & Distribution
-
Publishing Queue
- "Publish content tree"
- "Schedule bulk publish"
- "Unpublish outdated content"
- "Manage replication agents"
-
Multi-channel Delivery
- "Export content as JSON"
- "Deliver to mobile apps"
- "Sync with external systems"
- "Configure CDN settings"
-
Preview & Staging
- "Preview unpublished changes"
- "Compare versions"
- "Test on staging environment"
- "Validate before publish"
Search & Query
-
Content Search
- "Find pages containing keyword"
- "Search by author or date"
- "Locate orphaned pages"
- "Full-text content search"
-
Query Builder
- "Build complex search queries"
- "Filter by properties"
- "Sort search results"
- "Export query results"
-
Faceted Search
- "Configure search facets"
- "Create search indexes"
- "Optimize search performance"
- "Analyze search patterns"
Prerequisites
- Access to Cequence AI Gateway
- Adobe Experience Manager instance (Cloud or On-premise)
- AEM administrator access
- Adobe Developer Console access
Step 1: Configure AEM OAuth
1.1 Access Adobe Developer Console
- Go to console.adobe.io
- Select your organization
- Create new project for AEM
1.2 Add AEM API
- Click Add API
- Select Experience Manager
- Choose authentication method:
- OAuth for user context
- Service Account for system integration
1.3 Configure OAuth Settings
-
OAuth Configuration:
- Redirect URI:
https://auth.aigateway.cequence.ai/v1/outbound/oauth/callback
- Select required scopes
- Redirect URI:
-
Service Account:
- Generate key pair
- Configure technical account
1.4 Configure AEM Instance
- In AEM, go to Tools Security Adobe IMS Configurations
- Create new IMS configuration
- Link to Adobe Developer Console project
- Configure permissions
Step 2-4: Standard Setup
Follow standard steps to access AI Gateway, find Adobe Experience Manager API, and create MCP server.
Step 5: Configure API Endpoints
- Base URL:
- Cloud:
https://author-pXXXXX-eXXXXX.adobeaemcloud.com
- On-premise:
https://your-aem-instance.com
- Cloud:
- Select AEM endpoints:
- Content API endpoints
- Assets API endpoints
- Forms API endpoints
- Workflow endpoints
- Click Next
Step 6: MCP Server Configuration
- Name: "Adobe Experience Manager"
- Description: "Content and digital asset management"
- Configure production mode
- Click Next
Step 7: Configure Authentication
- Authentication Type: OAuth 2.0
- Authorization URL:
https://ims-na1.adobelogin.com/ims/authorize/v2
- Token URL:
https://ims-na1.adobelogin.com/ims/token/v3
- Enter Client ID and Secret
- Configure AEM-specific settings
Available Adobe Experience Manager OAuth Scopes
Content Management Scopes
-
aem_content_read
- Read pages and content
- View components
- Access templates
- Read fragments
-
aem_content_write
- Create and edit pages
- Modify components
- Update content
- Manage fragments
Asset Management Scopes
-
dam_read
- View assets
- Download files
- Read metadata
- Access renditions
-
dam_write
- Upload assets
- Update metadata
- Create folders
- Delete assets
Administrative Scopes
aem_admin
- User management
- Workflow configuration
- System settings
- Replication control
Recommended Scope Combinations
For Content Authors:
aem_content_read
aem_content_write
dam_read
dam_write
For Administrators:
aem_content_read
aem_content_write
dam_read
dam_write
aem_admin
Step 8-10: Complete Setup
Configure security, choose deployment, and deploy.
Using Your Adobe Experience Manager MCP Server
With Claude Desktop
{
"servers": {
"aem": {
"url": "your-mcp-server-url",
"auth": {
"type": "oauth2",
"client_id": "your-client-id"
}
}
}
}
Natural Language Commands
- "Create new product page from template"
- "Upload product images to DAM"
- "Publish all pages under /products"
- "Find assets tagged with 'outdated'"
- "Generate PDF from registration form"
API Integration Example
// Initialize MCP client
const mcpClient = new MCPClient({
serverUrl: 'your-mcp-server-url',
auth: {
type: 'oauth2',
token: 'access-token'
}
});
// Create page
const page = await mcpClient.aem.pages.create({
parentPath: '/content/mysite/en/products',
pageName: 'new-product',
template: '/conf/mysite/settings/wcm/templates/product-page',
title: 'Amazing New Product',
properties: {
'jcr:description': 'Our latest innovation',
'pageTitle': 'Amazing Product - Buy Now',
'navTitle': 'Amazing Product',
'tags': ['products', 'new', 'featured']
}
});
// Upload asset
const asset = await mcpClient.aem.assets.upload({
folderPath: '/content/dam/mysite/products',
file: productImageBuffer,
filename: 'product-hero.jpg',
metadata: {
'dc:title': 'Product Hero Image',
'dc:description': 'Main product image for homepage',
'dam:scene7File': 'mysite/products/hero',
'tags': ['product', 'hero', 'homepage']
}
});
// Create content fragment
const fragment = await mcpClient.aem.contentFragments.create({
parentPath: '/content/dam/mysite/fragments',
model: '/conf/mysite/settings/dam/cfm/models/product',
name: 'product-description',
title: 'Product Description',
elements: {
'title': 'Revolutionary Design',
'description': 'Experience the future of technology...',
'features': [
'Advanced AI Integration',
'Seamless Connectivity',
'Eco-Friendly Materials'
],
'price': '$999',
'availability': 'In Stock'
}
});
// Start workflow
const workflow = await mcpClient.aem.workflows.start({
model: '/var/workflow/models/content-approval',
payload: page.path,
title: 'Review new product page',
comment: 'Please review and approve for publishing',
assignee: 'content-reviewers'
});
// Publish content
await mcpClient.aem.replication.activate({
paths: [
page.path,
asset.path,
fragment.path
],
agents: ['publish'],
deep: true,
modified: true
});
// Query content
const results = await mcpClient.aem.queryBuilder.search({
path: '/content/mysite',
type: 'cq:Page',
property: 'jcr:content/cq:tags',
property_value: 'products',
orderby: '@jcr:content/jcr:lastModified',
orderby_sort: 'desc',
p_limit: 10
});
// Create adaptive form
const form = await mcpClient.aem.forms.create({
parentPath: '/content/forms/mysite',
template: '/libs/fd/af/templates/simpleRegistrationTemplate',
title: 'Product Interest Form',
components: [
{
type: 'text',
name: 'fullName',
title: 'Full Name',
required: true
},
{
type: 'email',
name: 'email',
title: 'Email Address',
required: true,
validation: 'email'
},
{
type: 'dropdown',
name: 'interest',
title: 'Product Interest',
options: ['Product A', 'Product B', 'Both']
}
],
submitAction: '/bin/forms/submit/email'
});
Common Use Cases
Content Management
- Multi-channel content delivery
- Content localization
- Editorial workflows
- Content versioning
Digital Asset Management
- Brand asset library
- Dynamic media delivery
- Asset processing pipelines
- Rights management
Website Management
- Multi-site deployment
- Responsive design
- SEO optimization
- Performance monitoring
Marketing Operations
- Campaign microsites
- Landing page creation
- A/B testing
- Personalization
Security Best Practices
-
OAuth Security:
- Use minimal required scopes
- Implement token rotation
- Monitor API usage
- Use service accounts for automation
-
Content Security:
- Implement access controls
- Use closed user groups
- Enable SSL/TLS
- Audit content changes
-
Asset Security:
- Control asset permissions
- Watermark sensitive images
- Monitor downloads
- Implement DRM if needed
Troubleshooting
Common Issues
-
Authentication Errors
- Verify IMS configuration
- Check client credentials
- Validate redirect URIs
- Review token expiration
-
Permission Issues
- Check user permissions
- Verify group membership
- Review ACLs
- Validate service user
-
API Errors
- Check API endpoints
- Verify content paths
- Review request format
- Monitor rate limits
Getting Help
- Documentation: AI Gateway Docs
- Support: support@cequence.ai
- AEM Documentation: experienceleague.adobe.com/docs/experience-manager