mcpField
M
model-deployment

model-deployment

github.com/awslabsCloud & DevOps931152 installsUpdated 3w ago
Repository

About model-deployment

A guided skill for selecting and generating a deployment path for LoRA fine-tuned Nova and OSS models customized through SageMaker Serverless Model Customization. It checks training-job details, presents SageMaker or Bedrock options, and requires user confirmation at key steps.

Key features

  1. 01Looks up training job details and model type
  2. 02Supports eligible LoRA-tuned Nova and OSS models
  3. 03Guides SageMaker or Bedrock target selection
  4. 04Displays model license terms before deployment
  5. 05Provides deployment summary and cleanup guidance

Use cases

  1. 01Choosing a deployment target for a supported fine-tuned model
  2. 02Generating a deployment flow from SageMaker training-job details
  3. 03Checking support and license information before deployment

MCP support

Uses the AWS MCP tool to retrieve training-job details and tags. It does not itself describe an MCP server.

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/awslabs/agent-plugins --skill model-deployment

After installing, type/model-deploymentin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

code_templates/
deploy-nova-bedrock.py
deploy-nova-sagemaker.py
deploy-oss-bedrock.py
deploy-oss-sagemaker.py
references/
code_output_guide.md
deploy-nova-bedrock.md
deploy-nova-sagemaker.md
deploy-oss-bedrock.md
deploy-oss-sagemaker.md
model-licenses.md

Details

From the project README

Model Deployment

Identifies the correct deployment pathway based on model characteristics and generates deployment code.

Scope

This skill supports deploying Nova and OSS models that were fine-tuned through SageMaker Serverless Model Customization only.

Not supported:

  • Base models (not fine-tuned)
  • Models fine-tuned through other processes
  • Full Fine-Tuning (FFT) — only LoRA fine-tuned models are supported

Prerequisites

  • The SDK environment has been verified (SDK version, region, execution role). If not done, activate the sdk-getting-started skill first.

Principles

  1. One thing at a time. Each response advances exactly one decision.
  2. Confirm before proceeding. Wait for the user to agree before moving on. But don't re-ask questions already answered in the conversation — use what you know.
  3. Don't read files until you need them. Only read pathway references after the pathway is confirmed.
  4. Use what you know. If conversation history or artifacts already answer a question, confirm your understanding instead of asking again.

Workflow

Step 1: Identify the Training Job

You need the training job name or ARN. Check the conversation history first — the user may have already mentioned it, or it may be available from earlier steps in the workflow (e.g., fine-tuning). If not, ask the user.

Once you have the training job name or ARN, use the AWS MCP tool to look it up:

  1. Use the AWS MCP tool describe-training-job and extract:
    • S3 output path (from ModelArtifacts.S3ModelArtifacts or OutputDataConfig.S3OutputPath)
    • IAM role ARN (from RoleArn)
    • Region
  2. Use the AWS MCP tool list-tags on the training job ARN and extract:
    • Model ID from the sagemaker-studio:jumpstart-model-id tag
  3. Determine the model type from the model ID:
    • Contains "nova" (nova-micro, nova-lite, nova-pro) → Nova
    • Llama, Mistral, Qwen, GPT-OSS, DeepSeek, etc. → OSS

Unsupported models: This skill only supports OSS and Nova models that were LoRA fine-tuned through SageMaker Serverless Model Customization. If the model doesn't match, tell the user this skill can't help and suggest the finetuning skill.

Step 2: Determine Eligible Deployment Targets

Use the following table:

Model TypeEligible Targets
OSSSageMaker, Bedrock
NovaSageMaker, Bedrock

If only one target is eligible, confirm it with the user. Use details from Step 5.

If multiple targets are eligible, help the user decide. Use details from Step 5.

If no targets are eligible, tell the user and explain why.

Step 3: Let the User Choose a Deployment Target

Present the eligible options to the user. Present these details to help them decide between SageMaker and Bedrock, if both are available options:

SageMaker Endpoint:

  • Dedicated compute resources for consistent performance
  • Control instance types and scaling
  • Best for predictable workloads with specific latency requirements

Bedrock:

  • Fully managed serverless inference
  • Auto-scales instantly with no capacity planning
  • Pay per request
  • Best for variable workloads with fluctuating demand

Do NOT make a recommendation. Let the user choose.

Do NOT mention technical details like merged/unmerged weights, reference files, or APIs, unless the user asks.

⏸ Wait for user to select a deployment option.

Step 4: Display License Agreement

Before proceeding to deployment, display the model's license or service terms to the user.

  1. Read references/model-licenses.md and look up the model by its model ID (determined in Step 1).
  2. Follow the instructions in the Notes column — use the exact phrasing provided.
  3. If the model ID is not found in the table, warn the user that you could not find license information for their model and recommend they verify the license independently before proceeding.

⏸ Wait for the user to confirm before proceeding.

Step 5: Follow Pathway Workflow

Read the reference file for the selected pathway and follow its instructions.

Model TypeDeployment TargetReference
OSSSageMakerreferences/deploy-oss-sagemaker.md
OSSBedrockreferences/deploy-oss-bedrock.md
NovaSageMakerreferences/deploy-nova-sagemaker.md
NovaBedrockreferences/deploy-nova-bedrock.md
Step 6: Post-Deployment Summary

After deployment completes, provide the user with a summary. Cover these topics, using details from the pathway reference doc you followed in Step 5:

  • What was deployed — endpoint or model name, ARN, status
  • How to use it — sample invoke code for the specific deployment target
  • Cost — billing model (instance-based vs. pay-per-request) and what to expect
  • Cleanup — how to delete the endpoint or model when done

Troubleshooting

How to check if a model was LoRA or FFT fine-tuned

If deployment fails unexpectedly, the model may have been full fine-tuned (FFT) rather than LoRA. To check, download the training job's hydra config from its S3 output path at .hydra/config.yaml:

  • peft_config populated (r, alpha, dropout, etc.) → LoRA (supported)
  • peft_config: null → FFT (not supported by this skill)

Comments

Markdown supported