{"id":20981,"library":"awslabs-cfn-mcp-server","title":"AWS Labs CloudFormation MCP Server","description":"An AWS Labs Model Context Protocol (MCP) server for performing common CloudFormation tasks and managing resources in your AWS account. Current version 1.0.19, released monthly.","status":"active","version":"1.0.19","language":"python","source_language":"en","source_url":"https://github.com/awslabs/cfn-mcp-server","tags":["aws","cloudformation","mcp","model-context-protocol","infrastructure-as-code"],"install":[{"cmd":"pip install awslabs-cfn-mcp-server","lang":"bash","label":"Install from PyPI"}],"dependencies":[{"reason":"Required for AWS API calls","package":"boto3","optional":false},{"reason":"Required for MCP server implementation","package":"mcp","optional":false}],"imports":[{"note":"Correct import path is under cfn_mcp_server, not the package top-level","wrong":"from awslabs_cfn_mcp_server import mcp_server","symbol":"mcp_server","correct":"from cfn_mcp_server.server import mcp_server"}],"quickstart":{"code":"import os\nfrom cfn_mcp_server.server import mcp_server\n\n# Set AWS credentials via environment variables\nos.environ['AWS_ACCESS_KEY_ID'] = os.environ.get('AWS_ACCESS_KEY_ID', '')\nos.environ['AWS_SECRET_ACCESS_KEY'] = os.environ.get('AWS_SECRET_ACCESS_KEY', '')\nos.environ['AWS_DEFAULT_REGION'] = os.environ.get('AWS_DEFAULT_REGION', 'us-east-1')\n\nif __name__ == '__main__':\n    mcp_server.run()","lang":"python","description":"Initialize and run the MCP server. Requires AWS credentials."},"warnings":[{"fix":"Use async handlers or ensure your tools do not block the event loop.","message":"The server only reports status events if the handler runs asynchronously; blocking calls may hang the MCP connection.","severity":"gotcha","affected_versions":">=1.0.0"},{"fix":"Use the 'cfn_nag' tool instead or call cfn-lint directly from your code.","message":"The 'cfn_lint' tool may be deprecated in future releases; prefer using 'cfn_nag' or direct linting via cfn-lint package.","severity":"deprecated","affected_versions":"1.0.10 to 1.0.19"},{"fix":"Set AWS_DEFAULT_REGION environment variable or pass region in the constructor.","message":"Version 1.0.15 changed the default AWS session configuration to require explicit region setting.","severity":"breaking","affected_versions":">=1.0.15"},{"fix":"Configure the client with the correct command and arguments.","message":"The MCP server uses stdio transport by default; ensure your MCP client (e.g., Claude Desktop) is configured with 'command': 'python', 'args': ['-m', 'cfn_mcp_server'].","severity":"gotcha","affected_versions":">=1.0.0"}],"env_vars":null,"last_verified":"2026-04-27T00:00:00.000Z","next_check":"2026-07-26T00:00:00.000Z","problems":[{"fix":"Use 'from cfn_mcp_server.server import mcp_server' instead.","cause":"Incorrect import path; the package installs as 'cfn-mcp-server' but the importable module is 'cfn_mcp_server'.","error":"ModuleNotFoundError: No module named 'awslabs_cfn_mcp_server'"},{"fix":"Set AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, and AWS_DEFAULT_REGION environment variables, or configure a profile via ~/.aws/credentials.","cause":"AWS credentials not set or not properly configured for the session.","error":"botocore.exceptions.NoCredentialsError: Unable to locate credentials"},{"fix":"Set the AWS_DEFAULT_REGION environment variable or pass region when creating the server.","cause":"AWS_DEFAULT_REGION not set and no region provided to the server.","error":"ValueError: Region is required for AWS clients"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}