npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@dwao/adobe-launch-mcp-server

v1.0.6

Published

MCP server for Adobe Launch (Tags) and Adobe Experience Platform APIs — 69 tools for complete tag management, schema configuration, and data collection via Web SDK and Mobile SDK

Readme

@dwao/adobe-launch-mcp-server

An MCP (Model Context Protocol) server that provides complete programmatic access to Adobe Launch (Tags) and Adobe Experience Platform (AEP) APIs. Designed to be used with AI agents via npx for automating tag management, schema configuration, and data collection infrastructure using the Web SDK and Mobile SDK approaches.

Features

  • 69 MCP tools covering the full Adobe Launch + AEP configuration lifecycle
  • Dual auth: OAuth client credentials (auto-refresh) or direct access token
  • Web SDK + Mobile SDK: Full support for both platforms
  • End-to-end workflows: Property → Host → Environment → Extensions → Data Elements → Rules → Library → Build → Publish
  • AEP integration: Schemas, field groups, datasets for XDM data modeling
  • npx-ready: Run directly with npx @dwao/adobe-launch-mcp-server

Quick Start

Prerequisites

  • Node.js >= 18 (or Bun)
  • Adobe Developer Console project with:
    • OAuth Server-to-Server credentials (recommended) OR a valid access token
    • API Key, Org ID, and Company ID

Installation

# Clone and build
git clone <repo-url>
cd adobe-launch-mcp
bun install   # or npm install
bun run build # or npm run build

Configuration

Copy .env.example and fill in your credentials:

cp .env.example .env

Environment Variables

| Variable | Required | Description | |----------|----------|-------------| | CLIENT_ID | Yes* | OAuth client ID from Adobe Developer Console | | CLIENT_SECRET | Yes* | OAuth client secret | | ADOBE_ACCESS_TOKEN | Yes* | Direct access token (alternative to OAuth) | | API_KEY | Yes | API key from Adobe Developer Console | | IMS_ORG_ID | Yes | Adobe organization ID (e.g., ABC123@AdobeOrg) | | COMPANY_ID | Yes | Adobe Launch company ID | | ADOBE_TENANT_ID | No | AEP tenant namespace (default: digiwebanaoptznapacptrsd) | | ADOBE_SANDBOX_NAME | No | AEP sandbox name (default: aep-test) |

*Provide either CLIENT_ID + CLIENT_SECRET (OAuth, recommended) or ADOBE_ACCESS_TOKEN (direct token).

Authentication Modes

OAuth Client Credentials (recommended for production)

Uses CLIENT_ID and CLIENT_SECRET to automatically obtain and refresh access tokens via the Adobe IMS token endpoint. Tokens are refreshed transparently before expiry.

Direct Access Token (for quick testing)

Set ADOBE_ACCESS_TOKEN directly. No automatic refresh -- when the token expires, you must provide a new one.

Usage

With Claude Desktop

Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "adobe-launch": {
      "command": "node",
      "args": ["/absolute/path/to/adobe-launch-mcp/dist/index.js"],
      "env": {
        "CLIENT_ID": "your-client-id",
        "CLIENT_SECRET": "your-client-secret",
        "API_KEY": "your-api-key",
        "IMS_ORG_ID": "your-org-id@AdobeOrg",
        "COMPANY_ID": "your-company-id"
      }
    }
  }
}

With Claude Code

Add to your project's .claude/settings.json:

{
  "mcpServers": {
    "adobe-launch": {
      "command": "node",
      "args": ["/absolute/path/to/adobe-launch-mcp/dist/index.js"],
      "env": {
        "CLIENT_ID": "your-client-id",
        "CLIENT_SECRET": "your-client-secret",
        "API_KEY": "your-api-key",
        "IMS_ORG_ID": "your-org-id@AdobeOrg",
        "COMPANY_ID": "your-company-id"
      }
    }
  }
}

Via npx (after publishing)

npx @dwao/adobe-launch-mcp-server

Development

bun run dev   # Run with tsx (hot reload)
bun run build # Compile TypeScript
bun run start # Run compiled JS

Tools Reference

Adobe Launch -- Properties (6 tools)

| Tool | Description | |------|-------------| | adobe_launch_list_properties | List all properties for the configured company | | adobe_launch_create_property | Create a new property (web or mobile platform) | | adobe_launch_get_property | Get property details by ID | | adobe_launch_update_property | Update property attributes (name, domains, SSL, etc.) | | adobe_launch_delete_property | Delete a property and all its resources | | adobe_launch_list_company_properties | List properties for a specific company ID |

Adobe Launch -- Hosts (5 tools)

| Tool | Description | |------|-------------| | adobe_launch_create_host | Create an Akamai or SFTP host | | adobe_launch_get_host | Get host details by ID | | adobe_launch_update_host | Update host attributes | | adobe_launch_list_property_hosts | List all hosts for a property | | adobe_launch_delete_host | Delete a host |

Adobe Launch -- Environments (5 tools)

| Tool | Description | |------|-------------| | adobe_launch_create_environment | Create a development/staging/production environment | | adobe_launch_get_environment | Get environment details by ID | | adobe_launch_update_environment | Update environment attributes | | adobe_launch_list_environments | List all environments for a property | | adobe_launch_delete_environment | Delete an environment |

Adobe Launch -- Extensions (6 tools)

| Tool | Description | |------|-------------| | adobe_launch_add_extension | Install an extension on a property (Core, Web SDK, ACDL, etc.) | | adobe_launch_list_installed_extensions | List extensions installed on a property | | adobe_launch_list_extension_packages | List all available extension packages in the catalog | | adobe_launch_get_extension_id_by_name | Resolve an extension name to its installed ID | | adobe_launch_get_extension | Get installed extension details by ID | | adobe_launch_delete_extension | Remove an extension from a property |

Adobe Launch -- Data Elements (5 tools)

| Tool | Description | |------|-------------| | adobe_launch_list_data_elements | List all data elements for a property | | adobe_launch_create_data_element | Create a data element (supports Core, Web SDK, ACDL types) | | adobe_launch_get_data_element | Get data element details by ID | | adobe_launch_update_data_element | Update data element attributes | | adobe_launch_delete_data_element | Delete a data element |

Core extension: constant, cookie, custom-code, dom-attribute, javascript-variable, local-storage, page-info, query-string-parameter, random-number, session-storage, visitor-behavior, device-attributes, runtime-environment, conditional-value, merged-objects, javascript-tools

Adobe Experience Platform Web SDK: variable, xdm-object, identity-map, event-merge-id, qoe-details-data

Adobe Client Data Layer: datalayer-computed-state, datalayer-size

Adobe Launch -- Rules (6 tools)

| Tool | Description | |------|-------------| | adobe_launch_list_rules | List all rules for a property | | adobe_launch_create_rule | Create a new rule | | adobe_launch_get_rule | Get rule details by ID | | adobe_launch_update_rule | Update rule attributes (name, enabled, order) | | adobe_launch_delete_rule | Delete a rule | | adobe_launch_list_rule_components | List all components (events/conditions/actions) for a rule |

Adobe Launch -- Rule Components (4 tools)

| Tool | Description | |------|-------------| | adobe_launch_create_rule_component | Create an event, condition, or action and attach to a rule | | adobe_launch_get_rule_component | Get rule component details by ID | | adobe_launch_update_rule_component | Update a rule component | | adobe_launch_delete_rule_component | Delete a rule component |

Core events: click, custom-code, custom-event, direct-call, dom-ready, element-exists, enters-viewport, hover, library-loaded, window-loaded, time-on-page, history-change, tab-blur, tab-focus, and more

Core conditions: browser, cookie, custom-code, domain, path, value-comparison, variable, screen-resolution, operating-system, and more

Core actions: custom-code, direct-call

Web SDK events: send-event-complete, decisions-received, subscribe-ruleset-items, monitor-triggered

Web SDK actions: send-event, set-consent, update-variable, apply-propositions, apply-response, redirect-with-identity, send-media-event, evaluate-rulesets, and more

Adobe Client Data Layer events: datalayer-push

Adobe Client Data Layer actions: reset-datalayer, push-event-to-datalayer

Adobe Launch -- Libraries & Publishing (7 tools)

| Tool | Description | |------|-------------| | adobe_launch_list_libraries | List all libraries for a property | | adobe_launch_get_library | Get library details by ID | | adobe_launch_create_library | Create a new library | | adobe_launch_add_resources_to_library | Add rules, data elements, or extensions to a library | | adobe_launch_remove_resources_from_library | Remove resources from a library | | adobe_launch_set_library_environment | Assign a library to an environment | | adobe_launch_transition_library | Transition library state (submit/approve/reject/develop) |

Adobe Launch -- Builds (4 tools)

| Tool | Description | |------|-------------| | adobe_launch_create_build | Trigger a build for a library | | adobe_launch_list_builds | List builds for a library | | adobe_launch_get_build | Get build details and status | | adobe_launch_republish_build | Republish an existing build |

Adobe Launch -- App Configurations (5 tools)

| Tool | Description | |------|-------------| | adobe_launch_list_app_configurations | List app configurations for mobile SDK | | adobe_launch_get_app_configuration | Get app configuration details | | adobe_launch_create_app_configuration | Create an app configuration (APNS/FCM push credentials) | | adobe_launch_update_app_configuration | Update app configuration attributes | | adobe_launch_delete_app_configuration | Delete an app configuration |

AEP -- Schemas (6 tools)

| Tool | Description | |------|-------------| | aep_list_schemas | List schemas in a container (tenant/global) | | aep_create_schema | Create an XDM ExperienceEvent schema | | aep_get_schema | Get full schema details by ID | | aep_update_schema | Update a schema using JSON Patch operations | | aep_delete_schema | Delete a tenant schema | | aep_attach_field_group_to_schema | Attach a field group to a schema |

AEP -- Field Groups (6 tools)

| Tool | Description | |------|-------------| | aep_list_field_groups | List tenant field groups | | aep_create_field_group | Create a field group from raw payload | | aep_create_field_group_from_fields | Create a field group from a simple field list (with nesting support) | | aep_get_field_group | Get field group details by ID | | aep_update_field_group | Update a field group using JSON Patch operations | | aep_delete_field_group | Delete a tenant field group |

AEP -- Datasets (4 tools)

| Tool | Description | |------|-------------| | aep_list_datasets | List all datasets | | aep_create_dataset | Create a dataset linked to a schema | | aep_get_dataset | Get dataset details by ID | | aep_delete_dataset | Delete a dataset |

Typical Workflows

Web SDK Implementation (end-to-end)

1. adobe_launch_create_property (platform: "web")
2. adobe_launch_create_host (type: "akamai")
3. adobe_launch_create_environment (stage: "development")
4. adobe_launch_add_extension ("Core")
5. adobe_launch_add_extension ("Adobe Experience Platform Web SDK")
6. adobe_launch_create_data_element (multiple)
7. adobe_launch_create_rule
8. adobe_launch_create_rule_component (events, conditions, actions)
9. adobe_launch_create_library
10. adobe_launch_add_resources_to_library
11. adobe_launch_set_library_environment
12. adobe_launch_create_build

AEP Schema Setup

1. aep_create_schema
2. aep_create_field_group_from_fields
3. aep_attach_field_group_to_schema
4. aep_create_dataset

Mobile SDK Setup

1. adobe_launch_create_property (platform: "mobile")
2. adobe_launch_create_app_configuration
3. adobe_launch_add_extension (mobile extensions)
4. ... (same flow as web for rules/data elements/library/build)

Adobe API Coverage

| API | Resources | Operations | Coverage | |-----|-----------|------------|----------| | Reactor API (Launch) | Properties, Hosts, Environments, Extensions, Data Elements, Rules, Rule Components, Libraries, Builds, App Configurations | Full CRUD + Library lifecycle + Build/Publish | Complete for tag configuration | | Schema Registry API (AEP) | Schemas, Field Groups | Full CRUD + attach | Complete for XDM modeling | | Catalog Service API (AEP) | Datasets | List, Create, Get, Delete | Complete for dataset management |

License

MIT