Skip to content

RFC: aws-transform plugin #163

@youtuyy

Description

@youtuyy

Is this related to an existing feature request or issue?

Related MCP server contribution: awslabs/mcp#2811 (RFC: AWS Transform MCP Server), landed via awslabs/mcp#3282 as src/aws-transform-mcp-server/. This RFC proposes the companion plugin that brings AWS Transform's domain expertise to coding agents and composes with that MCP.

Summary

Add an aws-transform plugin for migration architects, modernization leads, and partner consultants — users who arrive with a workload to migrate rather than an AWS API to call. AWS Transform is AWS's AI-powered code and workload modernization service, and the plugin wraps it into a focused, persona-scoped tool surface (assess, plan, transform, validate) backed by the awslabs.aws-transform-mcp-server (published to PyPI, maintained by the AWS Transform service team).

AWS Transform launched a Kiro Power on 2026-04-30 bundling its MCP and skills. This RFC and the accompanying PR deliver the equivalent experience to users of Claude Code, Cursor, Codex, and other agents that install from awslabs/agent-plugins, targeting a 2026-05-14 launch alongside the broader AWS Transform anniversary release.

Use case

The plugin serves three concrete persona use cases:

  • Migration architects planning and executing workload moves to AWS:
    • .NET Framework → .NET 8/10 on Linux (project file migration, API replacements, runtime compatibility)
    • Mainframe COBOL → Java (program decomposition, dependency analysis, assessment)
    • VMware → EC2 (discovery via connector, landing zone setup, network migration, server rehost via MGN, containerization to ECS/EKS)
    • SQL Server / Oracle / MySQL → Amazon Aurora (schema conversion, data migration planning)
  • Modernization leads driving in-place code upgrades:
    • Java 8/11/17 → 17/21
    • Python 2 → 3
    • Node.js version bumps
    • AWS SDK v2 → v3 migrations
  • Partner consultants running user-defined transformations across customer fleets — single-repo local execution for fast iteration, or many-repo remote execution for scale.

The plugin can grow within the migration-and-modernization persona over time by absorbing related tooling (for example, DMS, MGN, Migration Hub, Application Discovery Service) under one installable rather than splintering into per-service plugins.

Proposal

Structure

plugins/aws-transform/
├── .claude-plugin/
│   └── plugin.json
├── .codex-plugin/
│   └── plugin.json
├── .mcp.json
├── README.md
├── skills/
│   └── aws-transform/
│       ├── SKILL.md
│       └── references/
│           ├── auth.md
│           ├── tools.md
│           ├── workflow.md
│           ├── custom.md
│           ├── custom-cli-reference.md
│           ├── custom-multi-transformation.md
│           ├── custom-remote-execution.md
│           ├── custom-repo-analysis.md
│           ├── custom-results-synthesis.md
│           ├── custom-single-transformation.md
│           ├── custom-troubleshooting.md
│           ├── dotnet.md
│           ├── mainframe.md
│           ├── sql.md
│           ├── vmware.md
│           ├── vmware-containerization.md
│           ├── vmware-landing-zone.md
│           ├── vmware-network.md
│           └── vmware-server.md
└── test-prompts.json

The SKILL.md dispatches only the relevant reference file(s) per request — dotnet.md for a .NET migration, the vmware*.md subtree for a VMware migration, the custom*.md subtree for user-defined transformations, etc. — to keep context compact.

MCP dependency

.mcp.json references the published PyPI package:

{
  "mcpServers": {
    "aws-transform-mcp": {
      "command": "uvx",
      "args": ["awslabs.aws-transform-mcp-server@latest"]
    }
  }
}

The MCP server handles the full authentication surface AWS Transform customers use today — IAM Identity Center (IdC), external Identity Providers (IdP) via OAuth 2.0 bearer tokens, and AWS Credentials (SigV4) — and manages token issuance and refresh at runtime.

Marketplace registration

Entries added to both .claude-plugin/marketplace.json (category migration) and .agents/plugins/marketplace.json (category Migration), plus an entry in the README.md plugins table.

User experience

Before: a user with, e.g., a .NET 4.x codebase has no agent-native path to AWS Transform. They install the MCP separately and need to know which tools to call in which order.

After: the plugin provides workflow guidance that routes through assess → plan → transform → validate, with just-in-time authentication, surfaced through natural prompts like "migrate this .NET app to AWS", "upgrade this Java codebase", or "move these VMware VMs to EC2".

Out of scope

  • Bundling or packaging the MCP server itself. The MCP lives in awslabs/mcp and is installed via uvx.
  • Authoring new transformation definitions as the default workflow. Supported via custom-td-creation guidance but remains a specialist flow.
  • Generic code modernization outside AWS Transform's scope.
  • Infrastructure provisioning or CI/CD tooling outside the transformation domain.

Potential challenges

  • Large reference surface. ~19 reference files across multiple workloads; mitigated by workload-scoped dispatch in SKILL.md.
  • Authentication diversity. AWS Transform supports IdC/IdP/OAuth bearer tokens in addition to SigV4; the plugin delegates auth handling to the MCP, which ships with all three paths.
  • Remote-mode infrastructure. Custom remote-mode transformations provision a CDK stack; documented in custom-remote-execution.md with explicit cost and teardown guidance.
  • Parity with the service. AWS Transform adds new workload agents over time; the plugin will need coordinated updates, driven from the same internal source of truth as the Kiro Power.

Dependencies and Integrations

  • Depends on awslabs.aws-transform-mcp-server (PyPI, maintained in awslabs/mcp).
  • Consumes the AWS Transform CLI (atx) for local-mode custom transformations.
  • For remote custom transformations, provisions a CDK stack documented in the custom-remote-execution reference.
  • Authenticates via the MCP's IdC, IdP (OAuth bearer), and SigV4 paths.

Alternative solutions

  • Point users to the MCP only. Works but loses workflow, decision-point, and troubleshooting guidance — the MCP describes tools, not usage.
  • Keep the plugin in a separate repo. Fragments the AWS agent-plugin catalog; awslabs/agent-plugins is the canonical home.

Metadata

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions