Back to Templates

Automate Application Deployments with AWS CodeDeploy

Created by

Created by: David Ashby || cfomodz

David Ashby

Last update

Last update 5 days ago

Categories

Share


⚠️ ADVANCED USE ONLY - AWS CodeDeploy MCP Server (47 operations)

🚨 This workflow is for advanced users only!

This MCP server contains 47 operations which is significantly more than the recommended maximum of tools for most AI clients.

🔍 Recommended Alternative for basic use cases

Seek a simplified MCP server that utilizes the official n8n tool implementation for AWS CodeDeploy if available, or an MCP server with only common operations as it will be more efficient and easier to manage.

🛠️ Advanced Usage Requirements

BEFORE adding this MCP server to your client:

Disable or delete unused nodes - Review sections and disable/delete those you don't need

AFTER adding the MCP server to your client:
1.Selective tool enabling - Instead of enabling all tools (default), manually select only the specific tools you need for that Workflow's MCP client.
2. Monitor performance - Too many tools can slow down AI responses

💡 Pro Tips

Keep maximum 40 enabled tools - Most AI clients perform better with fewer tools

  • Group related operations and only enable one group at a time
  • Use the overview note to understand what each operation group does

⚡ Quick Setup

  1. Import this workflow into your n8n instance
  2. Credentials Add AWS CodeDeploy credentials
  3. Activate the workflow to start your MCP server
  4. Copy the webhook URL from the MCP trigger node
  5. Connect AI agents using the MCP URL

🔧 How it Works

This workflow converts the AWS CodeDeploy API into an MCP-compatible interface for AI agents.

MCP Trigger: Serves as your server endpoint for AI agent requests
HTTP Request Nodes: Handle API calls to http://codedeploy.{region}.amazonaws.com
AI Expressions: Automatically populate parameters via $fromAI() placeholders
Native Integration: Returns responses directly to the AI agent

📋 Available Operations (47 total)

🔧 #X-Amz-Target=Codedeploy_20141006.Addtagstoonpremisesinstances (1 endpoints)

POST /#X-Amz-Target=CodeDeploy_20141006.AddTagsToOnPremisesInstances: Adds tags to on-premises instances.

🔧 #X-Amz-Target=Codedeploy_20141006.Batchgetapplicationrevisions (1 endpoints)

POST /#X-Amz-Target=CodeDeploy_20141006.BatchGetApplicationRevisions: Gets information about one or more application revisions. The maximum number of application revisions that can be returned is 25.

🔧 #X-Amz-Target=Codedeploy_20141006.Batchgetapplications (1 endpoints)

POST /#X-Amz-Target=CodeDeploy_20141006.BatchGetApplications: Gets information about one or more applications. The maximum number of applications that can be returned is 100.

🔧 #X-Amz-Target=Codedeploy_20141006.Batchgetdeploymentgroups (1 endpoints)

POST /#X-Amz-Target=CodeDeploy_20141006.BatchGetDeploymentGroups: Gets information about one or more deployment groups.

🔧 #X-Amz-Target=Codedeploy_20141006.Batchgetdeploymentinstances (1 endpoints)

POST /#X-Amz-Target=CodeDeploy_20141006.BatchGetDeploymentInstances: <note> <p> This method works, but is deprecated. Use <code>BatchGetDeploymentTargets</code> instead. </p> </note> <p> Returns an array of one or more instances associated with a deployment. This method works with EC2/On-premises and Lambda compute platforms. The newer <code>BatchGetDeploymentTargets</code> works with all compute platforms. The maximum number of instances that can be returned is 25.</p>

🔧 #X-Amz-Target=Codedeploy_20141006.Batchgetdeploymenttargets (1 endpoints)

POST /#X-Amz-Target=CodeDeploy_20141006.BatchGetDeploymentTargets: <p> Returns an array of one or more targets associated with a deployment. This method works with all compute types and should be used instead of the deprecated <code>BatchGetDeploymentInstances</code>. The maximum number of targets that can be returned is 25.</p> <p> The type of targets returned depends on the deployment's compute platform or deployment method: </p> <ul> <li> <p> <b>EC2/On-premises</b>: Information about Amazon EC2 instance targets. </p> </li> <li> <p> <b>Lambda</b>: Information about Lambda functions targets. </p> </li> <li> <p> <b>Amazon ECS</b>: Information about Amazon ECS service targets. </p> </li> <li> <p> <b>CloudFormation</b>: Information about targets of blue/green deployments initiated by a CloudFormation stack update.</p> </li> </ul>

🔧 #X-Amz-Target=Codedeploy_20141006.Batchgetdeployments (1 endpoints)

POST /#X-Amz-Target=CodeDeploy_20141006.BatchGetDeployments: Gets information about one or more deployments. The maximum number of deployments that can be returned is 25.

🔧 #X-Amz-Target=Codedeploy_20141006.Batchgetonpremisesinstances (1 endpoints)

POST /#X-Amz-Target=CodeDeploy_20141006.BatchGetOnPremisesInstances: Gets information about one or more on-premises instances. The maximum number of on-premises instances that can be returned is 25.

🔧 #X-Amz-Target=Codedeploy_20141006.Continuedeployment (1 endpoints)

POST /#X-Amz-Target=CodeDeploy_20141006.ContinueDeployment: For a blue/green deployment, starts the process of rerouting traffic from instances in the original environment to instances in the replacement environment without waiting for a specified wait time to elapse. (Traffic rerouting, which is achieved by registering instances in the replacement environment with the load balancer, can start as soon as all instances have a status of Ready.)

🔧 #X-Amz-Target=Codedeploy_20141006.Createapplication (1 endpoints)

POST /#X-Amz-Target=CodeDeploy_20141006.CreateApplication: Creates an application.

🔧 #X-Amz-Target=Codedeploy_20141006.Createdeployment (1 endpoints)

POST /#X-Amz-Target=CodeDeploy_20141006.CreateDeployment: Deploys an application revision through the specified deployment group.

🔧 #X-Amz-Target=Codedeploy_20141006.Createdeploymentconfig (1 endpoints)

POST /#X-Amz-Target=CodeDeploy_20141006.CreateDeploymentConfig: Creates a deployment configuration.

🔧 #X-Amz-Target=Codedeploy_20141006.Createdeploymentgroup (1 endpoints)

POST /#X-Amz-Target=CodeDeploy_20141006.CreateDeploymentGroup: Creates a deployment group to which application revisions are deployed.

🔧 #X-Amz-Target=Codedeploy_20141006.Deleteapplication (1 endpoints)

POST /#X-Amz-Target=CodeDeploy_20141006.DeleteApplication: Deletes an application.

🔧 #X-Amz-Target=Codedeploy_20141006.Deletedeploymentconfig (1 endpoints)

POST /#X-Amz-Target=CodeDeploy_20141006.DeleteDeploymentConfig: <p>Deletes a deployment configuration.</p> <note> <p>A deployment configuration cannot be deleted if it is currently in use. Predefined configurations cannot be deleted.</p> </note>

🔧 #X-Amz-Target=Codedeploy_20141006.Deletedeploymentgroup (1 endpoints)

POST /#X-Amz-Target=CodeDeploy_20141006.DeleteDeploymentGroup: Deletes a deployment group.

🔧 #X-Amz-Target=Codedeploy_20141006.Deletegithubaccounttoken (1 endpoints)

POST /#X-Amz-Target=CodeDeploy_20141006.DeleteGitHubAccountToken: Deletes a GitHub account connection.

🔧 #X-Amz-Target=Codedeploy_20141006.Deleteresourcesbyexternalid (1 endpoints)

POST /#X-Amz-Target=CodeDeploy_20141006.DeleteResourcesByExternalId: Deletes resources linked to an external ID.

🔧 #X-Amz-Target=Codedeploy_20141006.Deregisteronpremisesinstance (1 endpoints)

POST /#X-Amz-Target=CodeDeploy_20141006.DeregisterOnPremisesInstance: Deregisters an on-premises instance.

🔧 #X-Amz-Target=Codedeploy_20141006.Getapplication (1 endpoints)

POST /#X-Amz-Target=CodeDeploy_20141006.GetApplication: Gets information about an application.

🔧 #X-Amz-Target=Codedeploy_20141006.Getapplicationrevision (1 endpoints)

POST /#X-Amz-Target=CodeDeploy_20141006.GetApplicationRevision: Gets information about an application revision.

🔧 #X-Amz-Target=Codedeploy_20141006.Getdeployment (1 endpoints)

POST /#X-Amz-Target=CodeDeploy_20141006.GetDeployment: <p>Gets information about a deployment.</p> <note> <p> The <code>content</code> property of the <code>appSpecContent</code> object in the returned revision is always null. Use <code>GetApplicationRevision</code> and the <code>sha256</code> property of the returned <code>appSpecContent</code> object to get the content of the deploymentâs AppSpec file. </p> </note>

🔧 #X-Amz-Target=Codedeploy_20141006.Getdeploymentconfig (1 endpoints)

POST /#X-Amz-Target=CodeDeploy_20141006.GetDeploymentConfig: Gets information about a deployment configuration.

🔧 #X-Amz-Target=Codedeploy_20141006.Getdeploymentgroup (1 endpoints)

POST /#X-Amz-Target=CodeDeploy_20141006.GetDeploymentGroup: Gets information about a deployment group.

🔧 #X-Amz-Target=Codedeploy_20141006.Getdeploymentinstance (1 endpoints)

POST /#X-Amz-Target=CodeDeploy_20141006.GetDeploymentInstance: Gets information about an instance as part of a deployment.

🔧 #X-Amz-Target=Codedeploy_20141006.Getdeploymenttarget (1 endpoints)

POST /#X-Amz-Target=CodeDeploy_20141006.GetDeploymentTarget: Returns information about a deployment target.

🔧 #X-Amz-Target=Codedeploy_20141006.Getonpremisesinstance (1 endpoints)

POST /#X-Amz-Target=CodeDeploy_20141006.GetOnPremisesInstance: Gets information about an on-premises instance.

🔧 #X-Amz-Target=Codedeploy_20141006.Listapplicationrevisions (1 endpoints)

POST /#X-Amz-Target=CodeDeploy_20141006.ListApplicationRevisions: Lists information about revisions for an application.

🔧 #X-Amz-Target=Codedeploy_20141006.Listapplications (1 endpoints)

POST /#X-Amz-Target=CodeDeploy_20141006.ListApplications: Lists the applications registered with the IAM user or Amazon Web Services account.

🔧 #X-Amz-Target=Codedeploy_20141006.Listdeploymentconfigs (1 endpoints)

POST /#X-Amz-Target=CodeDeploy_20141006.ListDeploymentConfigs: Lists the deployment configurations with the IAM user or Amazon Web Services account.

🔧 #X-Amz-Target=Codedeploy_20141006.Listdeploymentgroups (1 endpoints)

POST /#X-Amz-Target=CodeDeploy_20141006.ListDeploymentGroups: Lists the deployment groups for an application registered with the IAM user or Amazon Web Services account.

🔧 #X-Amz-Target=Codedeploy_20141006.Listdeploymentinstances (1 endpoints)

POST /#X-Amz-Target=CodeDeploy_20141006.ListDeploymentInstances: <note> <p> The newer <code>BatchGetDeploymentTargets</code> should be used instead because it works with all compute types. <code>ListDeploymentInstances</code> throws an exception if it is used with a compute platform other than EC2/On-premises or Lambda. </p> </note> <p> Lists the instance for a deployment associated with the IAM user or Amazon Web Services account. </p>

🔧 #X-Amz-Target=Codedeploy_20141006.Listdeploymenttargets (1 endpoints)

POST /#X-Amz-Target=CodeDeploy_20141006.ListDeploymentTargets: Returns an array of target IDs that are associated a deployment.

🔧 #X-Amz-Target=Codedeploy_20141006.Listdeployments (1 endpoints)

POST /#X-Amz-Target=CodeDeploy_20141006.ListDeployments: Lists the deployments in a deployment group for an application registered with the IAM user or Amazon Web Services account.

🔧 #X-Amz-Target=Codedeploy_20141006.Listgithubaccounttokennames (1 endpoints)

POST /#X-Amz-Target=CodeDeploy_20141006.ListGitHubAccountTokenNames: Lists the names of stored connections to GitHub accounts.

🔧 #X-Amz-Target=Codedeploy_20141006.Listonpremisesinstances (1 endpoints)

POST /#X-Amz-Target=CodeDeploy_20141006.ListOnPremisesInstances: <p>Gets a list of names for one or more on-premises instances.</p> <p>Unless otherwise specified, both registered and deregistered on-premises instance names are listed. To list only registered or deregistered on-premises instance names, use the registration status parameter.</p>

🔧 #X-Amz-Target=Codedeploy_20141006.Listtagsforresource (1 endpoints)

POST /#X-Amz-Target=CodeDeploy_20141006.ListTagsForResource: Returns a list of tags for the resource identified by a specified Amazon Resource Name (ARN). Tags are used to organize and categorize your CodeDeploy resources.

🔧 #X-Amz-Target=Codedeploy_20141006.Putlifecycleeventhookexecutionstatus (1 endpoints)

POST /#X-Amz-Target=CodeDeploy_20141006.PutLifecycleEventHookExecutionStatus: Sets the result of a Lambda validation function. The function validates lifecycle hooks during a deployment that uses the Lambda or Amazon ECS compute platform. For Lambda deployments, the available lifecycle hooks are <code>BeforeAllowTraffic</code> and <code>AfterAllowTraffic</code>. For Amazon ECS deployments, the available lifecycle hooks are <code>BeforeInstall</code>, <code>AfterInstall</code>, <code>AfterAllowTestTraffic</code>, <code>BeforeAllowTraffic</code>, and <code>AfterAllowTraffic</code>. Lambda validation functions return <code>Succeeded</code> or <code>Failed</code>. For more information, see <a href="https://docs.aws.amazon.com/codedeploy/latest/userguide/reference-appspec-file-structure-hooks.html#appspec-hooks-lambda">AppSpec 'hooks' Section for an Lambda Deployment </a> and <a href="https://docs.aws.amazon.com/codedeploy/latest/userguide/reference-appspec-file-structure-hooks.html#appspec-hooks-ecs">AppSpec 'hooks' Section for an Amazon ECS Deployment</a>.

🔧 #X-Amz-Target=Codedeploy_20141006.Registerapplicationrevision (1 endpoints)

POST /#X-Amz-Target=CodeDeploy_20141006.RegisterApplicationRevision: Registers with CodeDeploy a revision for the specified application.

🔧 #X-Amz-Target=Codedeploy_20141006.Registeronpremisesinstance (1 endpoints)

POST /#X-Amz-Target=CodeDeploy_20141006.RegisterOnPremisesInstance: <p>Registers an on-premises instance.</p> <note> <p>Only one IAM ARN (an IAM session ARN or IAM user ARN) is supported in the request. You cannot use both.</p> </note>

🔧 #X-Amz-Target=Codedeploy_20141006.Removetagsfromonpremisesinstances (1 endpoints)

POST /#X-Amz-Target=CodeDeploy_20141006.RemoveTagsFromOnPremisesInstances: Removes one or more tags from one or more on-premises instances.

🔧 #X-Amz-Target=Codedeploy_20141006.Skipwaittimeforinstancetermination (1 endpoints)

POST /#X-Amz-Target=CodeDeploy_20141006.SkipWaitTimeForInstanceTermination: In a blue/green deployment, overrides any specified wait time and starts terminating instances immediately after the traffic routing is complete.

🔧 #X-Amz-Target=Codedeploy_20141006.Stopdeployment (1 endpoints)

POST /#X-Amz-Target=CodeDeploy_20141006.StopDeployment: Attempts to stop an ongoing deployment.

🔧 #X-Amz-Target=Codedeploy_20141006.Tagresource (1 endpoints)

POST /#X-Amz-Target=CodeDeploy_20141006.TagResource: Associates the list of tags in the input <code>Tags</code> parameter with the resource identified by the <code>ResourceArn</code> input parameter.

🔧 #X-Amz-Target=Codedeploy_20141006.Untagresource (1 endpoints)

POST /#X-Amz-Target=CodeDeploy_20141006.UntagResource: Disassociates a resource from a list of tags. The resource is identified by the <code>ResourceArn</code> input parameter. The tags are identified by the list of keys in the <code>TagKeys</code> input parameter.

🔧 #X-Amz-Target=Codedeploy_20141006.Updateapplication (1 endpoints)

POST /#X-Amz-Target=CodeDeploy_20141006.UpdateApplication: Changes the name of an application.

🔧 #X-Amz-Target=Codedeploy_20141006.Updatedeploymentgroup (1 endpoints)

POST /#X-Amz-Target=CodeDeploy_20141006.UpdateDeploymentGroup: Changes information about a deployment group.

🤖 AI Integration

Parameter Handling: AI agents automatically provide values for:
• Path parameters and identifiers
• Query parameters and filters
• Request body data
• Headers and authentication

Response Format: Native AWS CodeDeploy API responses with full data structure

Error Handling: Built-in n8n HTTP request error management

💡 Usage Examples

Connect this MCP server to any AI agent or workflow:

Claude Desktop: Add MCP server URL to configuration
Cursor: Add MCP server SSE URL to configuration
Custom AI Apps: Use MCP URL as tool endpoint
API Integration: Direct HTTP calls to MCP endpoints

✨ Benefits

Zero Setup: No parameter mapping or configuration needed
AI-Ready: Built-in $fromAI() expressions for all parameters
Production Ready: Native n8n HTTP request handling and logging
Extensible: Easily modify or add custom logic

🆓 Free for community use! Ready to deploy in under 2 minutes.