{"id":23315,"library":"awslabs-aws-iac-mcp-server","title":"AWS IaC MCP Server","description":"An MCP (Model Context Protocol) server for Infrastructure as Code (IaC) that provides CloudFormation template validation, compliance checking, and deployment troubleshooting. Version 1.0.17, released irregularly on GitHub (awslabs/mcp). Requires Python >=3.10.","status":"active","version":"1.0.17","language":"python","source_language":"en","source_url":"https://github.com/awslabs/mcp.git","tags":["aws","cloudformation","mcp","infrastructure-as-code"],"install":[{"cmd":"pip install awslabs-aws-iac-mcp-server","lang":"bash","label":"Install from PyPI"}],"dependencies":[{"reason":"AWS SDK for CloudFormation and STS calls","package":"boto3","optional":false},{"reason":"MCP protocol server framework","package":"mcp","optional":false}],"imports":[{"note":"The package exposes its own mcp app object; plain 'import mcp' pulls the wrong library.","wrong":"import mcp","symbol":"mcp","correct":"from awslabs_aws_iac_mcp_server import mcp"}],"quickstart":{"code":"from awslabs_aws_iac_mcp_server import mcp\n\nif __name__ == \"__main__\":\n    mcp.run()","lang":"python","description":"Run the MCP server. Requires AWS credentials (e.g., AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY) configured in environment or ~/.aws/credentials."},"warnings":[{"fix":"Run only as a standalone script, or use mcp.run(transport='stdio') explicitly.","message":"mcp.run() will block and start an MCP server on stdio by default. Do not call mcp.run() in an async context without understanding the I/O model.","severity":"breaking","affected_versions":"all"},{"fix":"Attach AWS managed policy 'AWSCloudFormationReadOnlyAccess' or equivalent custom policy.","message":"The server expects AWS credentials with CloudFormation DescribeStacks, ValidateTemplate, and GetTemplate permissions. Missing permissions cause cryptic boto3 errors.","severity":"gotcha","affected_versions":"all"},{"fix":"Watch the GitHub repo for migration guides when mcp 1.0 is released.","message":"The package uses the deprecated 'mcp' library (0.x) under the hood. Future versions may migrate to the new 'mcp' library (1.x).","severity":"deprecated","affected_versions":"1.x"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"Install with 'pip install awslabs-aws-iac-mcp-server' and import with underscores: 'from awslabs_aws_iac_mcp_server import mcp'.","cause":"Incorrect package name or not installed.","error":"ModuleNotFoundError: No module named 'awslabs_aws_iac_mcp_server'"},{"fix":"Grant iam:PassRole, cloudformation:DescribeStacks, cloudformation:ValidateTemplate, cloudformation:GetTemplate permissions.","cause":"AWS credentials lack CloudFormation read permissions.","error":"botocore.exceptions.ClientError: An error occurred (AccessDenied) when calling the DescribeStacks operation"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}