UNPKG

@chinchillaenterprises/mcp-amplify

Version:

AWS Amplify MCP server with intelligent deployment automation, specialized logging suite, and recursive resource discovery

292 lines 11.7 kB
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)" }, createComputeRole: { type: "boolean", description: "Automatically create and attach an IAM compute role for SSR app access to AWS Secrets Manager. Role will be scoped to secrets named '{appName}-*'. (default: true)" } }, 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"] } }, { name: "amplify_get_sandbox_secret_commands", description: "Generate commands for setting Amplify sandbox secrets. Returns the exact CLI commands for the user to run manually, avoiding invisible character issues with programmatic input.", inputSchema: { type: "object", properties: { secrets: { type: "array", description: "Array of secret names to generate commands for", items: { type: "object", properties: { name: { type: "string", description: "Secret name (e.g., 'STRIPE_SECRET_KEY', 'DATABASE_URL')" }, description: { type: "string", description: "Optional description of what this secret is for" } }, required: ["name"] } }, sandboxIdentifier: { type: "string", description: "Optional sandbox identifier (use with --identifier flag for named sandboxes)" } }, required: ["secrets"] } }, { name: "amplify_deploy_app_cloudformation", description: "Deploy a new Amplify app using CloudFormation infrastructure-as-code. Reads CloudFormation template and parameters from disk, deploys the stack, and returns stack outputs. Use this for production-grade deployments with full infrastructure control.", inputSchema: { type: "object", properties: { templatePath: { type: "string", description: "Absolute path to CloudFormation template file (YAML or JSON)" }, parametersPath: { type: "string", description: "Absolute path to CloudFormation parameters file (JSON). Optional - if not provided, will use template defaults." }, stackName: { type: "string", description: "Name for the CloudFormation stack. If not provided, will derive from template or use app name from package.json." } }, required: ["templatePath"] } }, { name: "amplify_update_app_cloudformation", description: "Update an existing Amplify app CloudFormation stack. Reads updated template and parameters from disk, creates a change set, and applies the changes. Supports zero-downtime updates and automatic rollback on failure.", inputSchema: { type: "object", properties: { stackName: { type: "string", description: "Name of the existing CloudFormation stack to update" }, templatePath: { type: "string", description: "Absolute path to updated CloudFormation template file (YAML or JSON)" }, parametersPath: { type: "string", description: "Absolute path to updated CloudFormation parameters file (JSON). Optional - if not provided, will reuse existing parameter values." } }, required: ["stackName", "templatePath"] } } ]; //# sourceMappingURL=app-management.js.map