#

<div class="header">
  <div class="inner">
    <img src="/static/images/logos/mcp-logo.png" alt="MCP Logo">
    <div>
      <h1 style="color: #222;">Model Context Protocol Serverless (MCP)</h1>
      <p style="padding-left: 2rem; margin-bottom: 0; color: #222;">Provides standardized AI-to-system integration, secure data access, tool orchestration, and context management for LLMs.</p>
    </div>
  </div>
  
</div>

## Prerequisites

* Have an existing [AWS Account](/quickstart/cloud/aws)</a>.
* Have an existing <a href="https://console.aws.amazon.com/acm/" target="_blank">Certificate <span>:icon-link-external:</span></a>.
* Previously created <a href="https://console.aws.amazon.com/route53/" target="_blank">Hostname <span>:icon-link-external:</span></a>.
* Preexisting VPC <a href="https://us-east-1.console.aws.amazon.com/cloudformation/home?region=us-east-1#/stacks/create?stackName=solodev-vpc&templateURL=https://s3.amazonaws.com/solodev-cms/cloudformation/infrastructure/vpc.yaml" target="_blank" class="btn-orange-sm mt-2" style="margin-left: .5rem;">LAUNCH STACK <span>:icon-play:</span></a>

## Subscription

The following steps cover the setup of the **MCP Serverless** on the AWS Marketplace. Click the **“Continue to Subscribe”** button at the top of the AWS Marketplace listing page to continue the process. MCP Serverless is available as a monthly subscription on the AWS Marketplace. The subscription includes the software's operational and infrastructure costs for running on AWS.

1. Subscribe to Solodev on the AWS Marketplace. 

2. Review and accept the **"Terms and Conditions"**.
3. Click **"Continue to Configuration"**.

!!!NOTE:
Once accepted, you will receive a thank you message asking you to configure your software. <br>This process can take a few moments. Please do not exit the screen or refresh the page.
!!!

### <span class="text-teal">Configure Software</span>

1. Choose a fulfillment option and software version to launch this software.

**Name** | **Description** 
:--- | ---
Fulfillment option | Select a fulfillment option. Default: Deploy Container.
Software version | Select the software version. The latest version of MCP Serverless is always recommended.

2. Click <span class="text-orange">**"Continue to Launch."**</span>

!!!danger Important:
On the next screen, click on **"Usage Instructions"** and then select the Quickstart link to continue the installation.
!!!

### <span class="text-teal">Launch Software</span>

Review the launch configuration details and follow the instructions to launch this software.

{% tabs %}

{% tab title="CloudFormation" %}

To continue the installation, click the **Launch** button below and follow the outlined steps.

!!!NOTE:
If your AWS region is different from `us-east-1`, make sure to select your specific region from the top menu.
!!!

#### Create Stack

1. Create a stack.

2. Click <span class="text-orange">**Next**</span>.

#### Stack Details

##### Provide a stack name

1. Provide a stack name. Stack name must be 1 to 128 characters, start with a letter, and only contain alphanumeric characters.

##### Parameters

1. Specify the parameters in the setup section.

Name   | Description
---    | ---
CertificateArn | (Required) CertificateArn for SSL cert that matches the FQDN above. Please visit the <a href="https://docs.aws.amazon.com/acm/" target="_blank">AWS Certificate Manager :icon-link-external:</a>.

2. VPC Settings.

Name   | Description
---    | ---
VPCID | Choose which VPC the Application should be deployed to. <br><br>An Amazon Virtual Private Cloud (VPC) is a dedicated environment that lets you launch the AWS resources that power your MCP Serverless in an isolated virtual network. If you do not have a VPC, you will need to create one in your VPC Console. For instructions on how to create a VPC, <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-vpc.html" target="_blank">click here for instructions :icon-link-external:</a>.
PubSubnets | The ID of the public subnets in Availability Zone 1 and 2 in your existing VPC (e.g., subnet-a0246dcd). <br><br>A subnet is a range of IP addresses contained in your VPC. You can create AWS resources, such as EC2 instances, in specific subnets, enabling you to group network resources more efficiently. If you do not have any existing subnets, you will need to create one in your Subnet Console. For instructions, <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-vpc.html#ec2-shared-VPC-subnets" target="_blank">click here :icon-link-external:</a>. (Choose two).
PrivSubnets | The ID of the private subnets in Availability Zone 1 and 2 in your existing VPC (e.g., subnet-a0246dcd). (Choose two).
DBSubnets | The ID of the database subnets in Availability Zone 1 and 2 in your existing VPC (e.g., subnet-a0246dcd). (Choose two).

3. Fargate Task Size Settings

Name   | Description
---    | ---
TaskCPU | The amount of CPU to reserve for your MCP task.
TaskMemory | The amount of memory to reserve for your MCP task. Please confirm the memory you select is compatible with the TaskCPU: <a href="https://docs.aws.amazon.com/AmazonECS/latest/userguide/fargate-task-defs.html#fargate-tasks-size" target="_blank">https://docs.aws.amazon.com/AmazonECS/latest/userguide/fargate-task-defs.html#fargate-tasks-size :icon-link-external:</a>

4. AutoScaling Settings

<p><img src="/static/images/keycloak/keycloak-autoscaling-settings.jpg" alt="MCP Serverless AutoScaling Settings" style="width: 28%;"></p>

Name   | Description
---    | ---
MinContainers | Minimum containers count.
MaxContainers | Maximum containers count.
AutoScalingTargetCpuUtilization | Auto scaling target CPU utilization.

5. Environment variable

<p><img src="/static/images/keycloak/keycloak-environment-variable.jpg" alt="MCP Serverless Environment variable" style="width: 80%;"></p>

Name   | Description
---    | ---
JavaOpts | JAVA_OPTS environment variable.
DeletionPolicy | A Deletion Policy is a configuration that you can set for resources in AWS CloudFormation templates to specify what should happen to the resource when its stack is deleted.
HostnameStrict | Enables strict hostname validation. If you do not have a domain yet, set to `false`. For production environments, it's recommended to set this to `true` to ensure the request hostname matches the configured hostname for security purposes, unless your reverse proxy or load balancer overwrites the `Host` header.

!!!Note:
If you set `HostnameStrict=true`, you need to create your domain in [Amazon Route 53](https://console.aws.amazon.com/route53).
!!!

6. Click <span class="text-orange">**Next**</span>.

#### Configure Stack Options

1. Add a new tag. **This step is optional**.

Tags (key-value pairs) are used to apply metadata to AWS resources, which can help in organizing, identifying, and categorizing those resources. You can add up to 50 unique tags for each stack. If you need more information about tags, click here.

<p><img src="/static/images/quickstart/stack-tags.jpg" alt="MCP Serverless tags" style="width: 80%;"></p>

2. Specify an existing AWS Identity and Access Management (IAM) service role that CloudFormation can assume. **This step is optional**.

<p><img src="/static/images/quickstart/stack-permissions.jpg" alt="MCP Serverless permissions" style="width: 80%;"></p>

3. Select the stack failure options.

<p><img src="/static/images/quickstart/stack-failure.jpg" alt="MCP Serverless failure" style="width: 80%;"></p>

Name   | Description
---    | ---
Behavior on provisioning failure | Specify the roll back behavior for a stack failure..
Delete newly created resources during a rollback | Specify whether resources that were created during a failed operation should be deleted regardless of their deletion policy.

To learn more about the stack failure options, <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stack-failure-options.html" target="_blank">click here :icon-link-external:</a>.

#### Advanced options

1. You can set additional options for your stack, like notification options and a stack policy. For more information, <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-console-add-tags.html" target="_blank">click here :icon-link-external:</a>.

<p><img src="/static/images/quickstart/stack-advanced.jpg" alt="MCP Serverless advanced options" style="width: 50%;"></p>

2. Click <span class="text-orange">**Next**</span>.

### Review and create

1. Review your settings.

2. Acknowledge the AWS CloudFormation terms. For more information, [click here](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html?icmpid=docs_cfn_console#using-iam-capabilities).

<p><img src="/static/images/quickstart/stack-capabilities-short.jpg" alt="MCP Serverless capabilities" style="width: 62%;"></p>

3. Click <span class="text-orange">**Submit**</span>.

### Stacks

1. <span class="text-orange">**Watch your MCP being created!**</span> Once the status changes from **CREATE_IN_PROGRESS** to **CREATE_COMPLETE**, you can access your MCP.

{% endtab %}

{% endtabs %}

<style>
  /* Headers */
  .header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 2rem 1.5rem;
    margin-bottom: 2rem;
    background-color: #eef6ff;
  }
  .header .inner {
    display: flex;
    align-items: center;
    justify-content: start;
  }
  .header img {
    width: 80px;
  }
  .header h1 {
    margin-left: 0;
    font-size: 2rem;
    margin-bottom: 0.25rem;
  }
  .header p {
    padding-left: 2rem;
    margin-bottom: 0;
  }
</style>
