Skip to main content
Glama
stubbedev

Adobe Experience Assets Dev MCP

by stubbedev
README.md
# Adobe Experience Assets Dev MCP

An MCP server that helps you design, validate, and generate Adobe Experience Manager Assets API calls for integration work.

This server focuses on the practical integration flow you asked for:

- Upload assets (direct binary upload flow)
- Create and manage folders/directories
- Sync and update metadata in bulk-friendly patterns

The server constructs request plans. It does not execute HTTP calls.

## What it does

- Builds valid request blueprints for AEM Assets operations
- Returns HTTP method, endpoint, headers, and body payload templates
- Provides upload planning guidance (initiate, chunking, complete)
- Helps with metadata sync manifests for multiple assets
- Loads tool categories on demand so startup stays lean

## Tools

### Always available

- `list_categories`
- `aem_set_context`
- `aem_get_context`
- `aem_reset_context`
- `load_category`
- `search_aem_assets_api`
- `aem_list_operation_presets`
- `aem_get_operation_preset`
- `aem_validate_integration_plan`
- `aem_explain_auth`
- `aem_explain_pagination`
- `aem_explain_hierarchy_data_access`
- `aem_plan_efficient_upload_metadata_sync`
- `aem_explain_upload_flow`
- `aem_explain_metadata_sync`
- `aem_explain_error_handling`
- `aem_explain_implementation_playbook`

### Categories (loaded on demand)

- `uploads` - direct binary upload flow helpers
- `folders` - create/list/copy/move/delete folders
- `assets` - get/copy/move/delete assets
- `metadata` - get/update metadata and build sync manifests
- `search` - Query Builder discovery and delta-window retrieval
- `renditions` - create/update/delete rendition binaries

## Installation

Run with `npx`:

```bash
npx -y @stubbedev/adobe-experience-dev-mcp
```

### Claude Desktop

`~/Library/Application Support/Claude/claude_desktop_config.json` (macOS)
or `%APPDATA%\Claude\claude_desktop_config.json` (Windows):

```json
{
  "mcpServers": {
    "adobe-experience-dev": {
      "command": "npx",
      "args": ["-y", "@stubbedev/adobe-experience-dev-mcp"]
    }
  }
}
```

### Claude Code (CLI)

```bash
claude mcp add adobe-experience-dev -- npx -y @stubbedev/adobe-experience-dev-mcp
```

Or in `.mcp.json`:

```json
{
  "mcpServers": {
    "adobe-experience-dev": {
      "command": "npx",
      "args": ["-y", "@stubbedev/adobe-experience-dev-mcp"]
    }
  }
}
```

### Cursor

`~/.cursor/mcp.json`:

```json
{
  "mcpServers": {
    "adobe-experience-dev": {
      "command": "npx",
      "args": ["-y", "@stubbedev/adobe-experience-dev-mcp"]
    }
  }
}
```

### OpenCode

`~/.config/opencode/config.json`:

```json
{
  "mcp": {
    "adobe-experience-dev": {
      "type": "local",
      "command": ["npx", "-y", "@stubbedev/adobe-experience-dev-mcp"]
    }
  }
}
```

## Development

```bash
git clone https://github.com/stubbedev/adobe-experience-dev-mcp.git
cd adobe-experience-dev-mcp
npm install
npm run build
npm start
```

For live development:

```bash
npm run dev
```

Smoke check:

```bash
npm run smoke
```

Run regression tests:

```bash
npm run test
```

Run routing/accuracy eval harness:

```bash
npm run eval:accuracy
```

## License

MIT

TDQS

A3.5/5.0

Scored across 17 tools

Disambiguation5/5

Each tool has a distinct purpose: the seven explain tools cover different topics (auth, error handling, etc.), context tools are clearly get/set/reset, presets have get (singular) and list (plural), and planning, validation, category, and search are all unique. No two tools appear to do the same thing.

Naming Consistency4/5

Most tools use a consistent snake_case verb_noun pattern with an 'aem_' prefix (e.g., aem_explain_auth, aem_set_context). However, three tools (list_categories, load_category, search_aem_assets_api) lack the 'aem_' prefix, creating a minor inconsistency.

Tool Count4/5

At 17 tools, the count is slightly above the ideal range of 3-15 but still reasonable for a server covering explanations, planning, context, presets, categories, and search. It feels appropriately scoped for its purpose.

Completeness2/5

The server is heavily focused on explanatory, planning, and meta-tools (context, presets, categories) but lacks any actionable tools to perform actual AEM Assets operations (e.g., list assets, upload, delete). This leaves agents unable to execute tasks, representing a significant gap.

Maintenance

ActivityActive
ResponsivenessNo issues