@chinchillaenterprises/mcp-amplify
Version:
AWS Amplify MCP server with intelligent deployment automation, specialized logging suite, and recursive resource discovery
212 lines • 7.8 kB
JavaScript
export const appManagementTools = [
{
name: "amplify_list_apps",
description: "List all Amplify apps in the current AWS account/region",
inputSchema: {
type: "object",
properties: {
maxResults: {
type: "number",
description: "Maximum number of apps to return (default: 25, max: 100)"
}
}
}
},
{
name: "amplify_get_app_info",
description: "Get Amplify app details and status with enhanced branch info",
inputSchema: {
type: "object",
properties: {
appId: { type: "string", description: "Amplify application ID to get info for" }
},
required: ["appId"]
}
},
{
name: "amplify_list_branches",
description: "List all branches for a specific Amplify app",
inputSchema: {
type: "object",
properties: {
appId: { type: "string", description: "Amplify app ID" },
maxResults: {
type: "number",
description: "Maximum number of branches to return (default: 50)"
}
},
required: ["appId"]
}
},
{
name: "amplify_get_build_logs",
description: "Get build logs for a specific branch of an Amplify app",
inputSchema: {
type: "object",
properties: {
appId: { type: "string", description: "Amplify app ID" },
branchName: { type: "string", description: "Branch name (e.g., 'main', 'dev')" },
jobId: {
type: "string",
description: "Specific job ID (optional - defaults to latest build)"
},
maxLines: {
type: "number",
description: "Maximum number of log lines to return (default: 1000)"
}
},
required: ["appId", "branchName"]
}
},
{
name: "amplify_create_nextjs_app",
description: "Create a new Amplify Gen 2 Next.js application from the official AWS template",
inputSchema: {
type: "object",
properties: {
projectName: {
type: "string",
description: "Name for the new project (will be used as directory name). Use '.' to create in current directory"
},
directory: {
type: "string",
description: "Parent directory where to create the project (default: current directory)"
},
installDependencies: {
type: "boolean",
description: "Automatically install npm packages (default: false)"
},
initGit: {
type: "boolean",
description: "Initialize a new git repository (default: false)"
},
useCurrentDirectory: {
type: "boolean",
description: "Create the app in the current directory instead of creating a new one (default: false)"
}
},
required: ["projectName"]
}
},
{
name: "amplify_deploy_app",
description: "Deploy a local Amplify app to AWS by creating an Amplify app and connecting it to a GitHub repository",
inputSchema: {
type: "object",
properties: {
appName: {
type: "string",
description: "Name for the Amplify app in AWS"
},
githubOwner: {
type: "string",
description: "GitHub username or organization name"
},
githubRepo: {
type: "string",
description: "GitHub repository name (must already exist)"
},
branch: {
type: "string",
description: "Git branch to deploy (default: 'main')"
},
platform: {
type: "string",
enum: ["WEB", "WEB_COMPUTE"],
description: "Platform type - WEB for static sites, WEB_COMPUTE for SSR (default: 'WEB_COMPUTE')"
},
environmentVariables: {
type: "object",
description: "Environment variables to set for the app"
},
enableBranchAutoBuild: {
type: "boolean",
description: "Automatically build on every push (default: true)"
},
enableBranchAutoDeletion: {
type: "boolean",
description: "Automatically delete branches when deleted in Git (default: false)"
}
},
required: ["appName", "githubOwner", "githubRepo"]
}
},
{
name: "amplify_check_app_exists",
description: "Check if an Amplify app already exists for a given GitHub repository",
inputSchema: {
type: "object",
properties: {
githubOwner: {
type: "string",
description: "GitHub username or organization name"
},
githubRepo: {
type: "string",
description: "GitHub repository name"
}
},
required: ["githubOwner", "githubRepo"]
}
},
{
name: "amplify_update_build_spec",
description: "Update the build specification for an existing Amplify app with Node 20+ defaults",
inputSchema: {
type: "object",
properties: {
appId: {
type: "string",
description: "Amplify app ID"
},
buildSpec: {
type: "string",
description: "Custom build specification (optional - defaults to Node 20+ template)"
}
},
required: ["appId"]
}
},
{
name: "amplify_setup_iam_role",
description: "Setup or update IAM service role for Amplify app to enable CDK operations",
inputSchema: {
type: "object",
properties: {
appId: {
type: "string",
description: "Amplify app ID"
},
roleArn: {
type: "string",
description: "IAM role ARN (optional - will auto-detect AmplifySSRLoggingRole if not provided)"
}
},
required: ["appId"]
}
},
{
name: "amplify_trigger_deployment",
description: "Manually trigger a deployment for an existing Amplify app branch",
inputSchema: {
type: "object",
properties: {
appId: {
type: "string",
description: "Amplify app ID"
},
branchName: {
type: "string",
description: "Branch name to deploy (default: 'main')"
},
jobType: {
type: "string",
enum: ["RELEASE", "RETRY", "MANUAL"],
description: "Type of deployment job (default: 'RELEASE')"
}
},
required: ["appId"]
}
}
];
//# sourceMappingURL=app-management.js.map