{"id":7860,"date":"2026-10-15T18:48:27","date_gmt":"2026-10-15T18:48:27","guid":{"rendered":"https:\/\/onwardpath.com\/intelligence\/?p=7860"},"modified":"2026-10-15T18:49:30","modified_gmt":"2026-10-15T18:49:30","slug":"ai-assisted-aem-development-on-your-laptop-agents-md-adobes-agent-skills-and-the-quickstart-and-dispatcher-mcp-servers","status":"publish","type":"post","link":"https:\/\/onwardpath.com\/intelligence\/ai-assisted-aem-development-on-your-laptop-agents-md-adobes-agent-skills-and-the-quickstart-and-dispatcher-mcp-servers\/","title":{"rendered":"AI-Assisted AEM Development on Your Laptop: AGENTS.md, Adobe&#8217;s Agent Skills, and the Quickstart and Dispatcher MCP Servers"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Most conversation about AI and AEM is about content: assistants that edit pages or search the DAM. There is a second, quieter category aimed at the people who build AEM projects: tooling that runs <strong>locally<\/strong> next to your AEM SDK and Dispatcher, so an AI coding assistant can see your project\u2019s logs, OSGi state, and Dispatcher configuration instead of guessing. Adobe documents four pieces of it. This post summarizes what the documentation says each does, what each needs, where Adobe says to be careful, and what the page does not tell you.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Status: What the Page Does and Doesn\u2019t Say<\/strong><\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td><strong>Item<\/strong><\/td><td><strong>What the documentation says<\/strong><\/td><\/tr><tr><td><strong>All four tools below<\/strong><\/td><td>NO STATUS LABELS STATED. Adobe\u2019s &#8220;Local Development with AI Tools&#8221; page (last updated October 9, 2026) shows no GA, Beta, or Early Access label for any of them. We did not verify when each piece launched, so we don\u2019t call any of them new or long-standing. Confirm maturity with Adobe before building a team process on them.<\/td><\/tr><tr><td><strong>Scope<\/strong><\/td><td>The page says the AGENTS.md file and skills cover the Java stack only not AEM 6.5 and not Edge Delivery Services.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Not the same as the AEM MCP Server.<\/strong> Our previous post covered the cloud-hosted, unified AEM MCP Server, which lets assistants work with content and Cloud Manager. The tools here are different: they run on your own machine against a local AEM SDK and a local Dispatcher.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>What Runs Where<\/strong><\/h3>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img decoding=\"async\" width=\"776\" height=\"477\" loading=\"lazy\" src=\"https:\/\/i0.wp.com\/onwardpath.com\/intelligence\/wp-content\/uploads\/2026\/10\/image.jpg?fit=776%2C477&amp;ssl=1\" alt=\"\" class=\"wp-image-7862\" style=\"aspect-ratio:1.62565445026178;width:621px;height:auto\" srcset=\"https:\/\/i0.wp.com\/onwardpath.com\/intelligence\/wp-content\/uploads\/2026\/10\/image.jpg?w=776&amp;ssl=1 776w, https:\/\/i0.wp.com\/onwardpath.com\/intelligence\/wp-content\/uploads\/2026\/10\/image.jpg?resize=300%2C184&amp;ssl=1 300w, https:\/\/i0.wp.com\/onwardpath.com\/intelligence\/wp-content\/uploads\/2026\/10\/image.jpg?resize=768%2C472&amp;ssl=1 768w\" sizes=\"auto, (max-width: 776px) 100vw, 776px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><em>Local tooling as described in Adobe\u2019s documentation.<\/em><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>The Four Pieces, as Adobe Documents Them<\/strong><\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td><strong>Piece<\/strong><\/td><td><strong>What it does (per the page)<\/strong><\/td><td><strong>Prerequisites and notes<\/strong><\/td><\/tr><tr><td><strong>AGENTS.md<\/strong><\/td><td>A project context file at the project root that AI coding tools load at the start of each session. A skill generates it from the project\u2019s pom.xml. Once the file exists, the skill no longer runs, so you edit it directly when your project structure changes.<\/td><td>A skill named ensure-agents-md creates both AGENTS.md and CLAUDE.md.<\/td><\/tr><tr><td><strong>Agent skills (Adobe\u2019s skills repository, AEM as a Cloud Service plugin)<\/strong><\/td><td>create-component (scaffolds component definitions, dialogs, HTL, Sling Models, tests, and clientlibs); dispatcher (Dispatcher and Apache HTTPD configuration help, routed to six sub-skills); migration (migrates AEM 6.x, AMS, or on-premise code and configs, one pattern at a time); workflow (design, development, and production debugging); code-assessment (finds and fixes best-practice and correctness issues locally; the page says it never commits or pushes); and ensure-agents-md.<\/td><td>Installed through Claude Code marketplace commands, a skills command-line tool, or a GitHub CLI extension; installing once makes the skills available on that machine. The migration skill pairs with the Cloud Migration MCP or a Best Practices Analyzer CSV. The page does not state the AEM SDK version required for the skills.<\/td><\/tr><tr><td><strong>AEM Quickstart MCP server<\/strong><\/td><td>A content package that exposes runtime data from a local AEM SDK instance to connected AI tools. Three tools are listed: aem-logs, diagnose-osgi-bundle, and recent-requests.<\/td><td>Installed through Package Manager on the local instance. Validated with AEM SDK 2026.2.24678 (February 26, 2026 build) and newer. The endpoint is on the local instance and requires an authorization header.<\/td><\/tr><tr><td><strong>Dispatcher MCP server<\/strong><\/td><td>Bundled with the AEM Dispatcher SDK. Validates Dispatcher configuration and inspects behavior against a local Dispatcher running in Docker. Tools: validate, lint, sdk, trace_request, inspect_cache, monitor_metrics, tail_logs. Tools only, with no prompts or resources.<\/td><td>Requires Docker Desktop 4.x or later, running, plus the Dispatcher SDK from the Software Distribution Portal, with a configuration-root environment variable set. The page does not state the SDK version required.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Which AI Tools Work With It<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The page lists Claude Code, Cursor, GitHub Copilot CLI, and GitHub Copilot in IntelliJ IDEA. Any MCP client can connect to the AEM Quickstart server. The Dispatcher SDK documentation includes examples for Claude Desktop and VS Code, but this page gives no setup steps for them. It also does not list required versions of any of these tools.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Adobe\u2019s Security and Safety Notes<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li class=\"\">A local AEM Quickstart ships with default admin credentials. The page says not to use them in non-local environments.<\/li>\n\n\n\n<li class=\"\">Use the Dispatcher MCP server only against a local Docker instance.<\/li>\n\n\n\n<li class=\"\">The code-assessment skill never commits or pushes, but the page says to review its diffs before committing.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Documented Limitations<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li class=\"\">The context file and skills cover the Java stack only not AEM 6.5 or Edge Delivery Services.<\/li>\n\n\n\n<li class=\"\">The migration skill works one pattern per session.<\/li>\n\n\n\n<li class=\"\">The page does not state the AEM SDK version required for the Dispatcher MCP server or for the skills, and does not list required versions of the AI tools.<\/li>\n\n\n\n<li class=\"\">Adobe notes a workaround for a Docker client-version error some Docker users may see; check the page if you hit it.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>How This Might Fit Your Workflow (Our Reading)<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>This is our interpretation, not Adobe guidance, and we have not used these tools on a customer project. The ideas below are not documented outcomes.<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li class=\"\"><strong>Start with the project context file.<\/strong> It is the lowest-risk piece: it only gives an assistant background about your project. Review what gets generated, and keep it current.<\/li>\n\n\n\n<li class=\"\"><strong>Use the Quickstart tools for diagnosis.<\/strong> Logs, recent requests, and OSGi bundle state are what a developer checks first when something fails locally; having an assistant read them directly may save copy-and-paste, though we haven\u2019t measured it.<\/li>\n\n\n\n<li class=\"\"><strong>Use the Dispatcher tools to check configuration before a pipeline run.<\/strong> Validating and linting locally is a natural fit for mistakes that otherwise surface later.<\/li>\n\n\n\n<li class=\"\"><strong>Treat all generated code like any other contribution.<\/strong> Review it, run your tests, and keep your normal pull request process.<\/li>\n\n\n\n<li class=\"\"><strong>Keep credentials local.<\/strong> Don\u2019t point these tools at shared or production environments.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>What We Haven\u2019t Verified<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li class=\"\">We read Adobe\u2019s page on October 14, 2026 (last updated October 9, 2026). We have not installed or run any of these tools on a project.<\/li>\n\n\n\n<li class=\"\">The page states no GA\/Beta\/Early Access label, and we did not independently confirm maturity or when each piece launched.<\/li>\n\n\n\n<li class=\"\">We did not review the individual skill definitions, the tool schemas, or the setup guides for each AI tool in detail.<\/li>\n\n\n\n<li class=\"\">We have not measured any productivity or quality benefit. Evaluate on your own codebase.<\/li>\n\n\n\n<li class=\"\">Skill and tool names, supported versions, and prerequisites may change; re-check the page before relying on specifics.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Try-It-Safely Checklist<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li class=\"\">Confirm with Adobe the current maturity of these tools, since the page gives no label<\/li>\n\n\n\n<li class=\"\">Check that your project is on the Java stack (not AEM 6.5, not Edge Delivery Services)<\/li>\n\n\n\n<li class=\"\">Pick a supported AI tool and follow Adobe\u2019s current setup guidance for it<\/li>\n\n\n\n<li class=\"\">Generate the project context file, then read and correct it before relying on it<\/li>\n\n\n\n<li class=\"\">Confirm your local AEM SDK meets the version the Quickstart MCP server was validated with<\/li>\n\n\n\n<li class=\"\">Confirm Docker Desktop and the Dispatcher SDK are in place before trying the Dispatcher tools<\/li>\n\n\n\n<li class=\"\">Never reuse the default local admin credentials outside your local machine<\/li>\n\n\n\n<li class=\"\">Point the Dispatcher MCP server only at local Docker<\/li>\n\n\n\n<li class=\"\">Review every diff from the code-assessment and migration skills before committing<\/li>\n\n\n\n<li class=\"\">Run your normal tests and pull request review on anything an assistant produced<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Final Thoughts<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Giving an AI assistant real visibility into a local AEM instance and a local Dispatcher is a sensible direction: the assistant works from your project\u2019s actual state instead of general knowledge. The sensible way to try it is the same as any new developer tool: on a local machine, with nothing shared, and with your usual review process unchanged. Since Adobe\u2019s page doesn\u2019t state a maturity label, treat it as something to evaluate, not something to standardize on yet.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Adobe documents local tooling that lets an AI coding assistant see your AEM project\u2019s real state instead of guessing: a project context file, a set of agent skills, an AEM Quickstart MCP server for logs and OSGi diagnostics, and a Dispatcher MCP server for validating configuration against a local Docker Dispatcher. This post summarizes what each piece does, its documented prerequisites and limits (Java stack only), and Adobe\u2019s security notes. It also flags what the page doesn\u2019t say, including any GA or Beta label.<\/p>\n","protected":false},"author":7,"featured_media":7867,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"nf_dc_page":"","site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"advanced_seo_description":"","jetpack_seo_html_title":"","jetpack_seo_noindex":false,"jetpack_seo_schema_type":"","_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_hide_featured_image":false,"_jetpack_featured_image_duplicate_dismissed":0,"_jetpack_memberships_contains_paid_content":false,"nfd_image_url":"","nfd_onboarding_generated":"","footnotes":""},"categories":[138,227,235,37],"tags":[137],"class_list":["post-7860","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-adobe-experience-manager","category-aem","category-aem-ai","category-technology-blog","tag-adobe-experience-manager"],"jetpack_sharing_enabled":true,"jetpack_featured_media_url":"https:\/\/i0.wp.com\/onwardpath.com\/intelligence\/wp-content\/uploads\/2026\/10\/surreal-cherry-5120x2880-26233-scaled.jpg?fit=2560%2C1440&ssl=1","_links":{"self":[{"href":"https:\/\/onwardpath.com\/intelligence\/wp-json\/wp\/v2\/posts\/7860","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/onwardpath.com\/intelligence\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/onwardpath.com\/intelligence\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/onwardpath.com\/intelligence\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/onwardpath.com\/intelligence\/wp-json\/wp\/v2\/comments?post=7860"}],"version-history":[{"count":1,"href":"https:\/\/onwardpath.com\/intelligence\/wp-json\/wp\/v2\/posts\/7860\/revisions"}],"predecessor-version":[{"id":7868,"href":"https:\/\/onwardpath.com\/intelligence\/wp-json\/wp\/v2\/posts\/7860\/revisions\/7868"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/onwardpath.com\/intelligence\/wp-json\/wp\/v2\/media\/7867"}],"wp:attachment":[{"href":"https:\/\/onwardpath.com\/intelligence\/wp-json\/wp\/v2\/media?parent=7860"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/onwardpath.com\/intelligence\/wp-json\/wp\/v2\/categories?post=7860"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/onwardpath.com\/intelligence\/wp-json\/wp\/v2\/tags?post=7860"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}