Resilience Architect MCP
Your proactive chaos engineering companion that analyzes infrastructure code and designs targeted resilience experiments before problems occur.
README
Resilience Architect MCP
Your proactive chaos engineering companion that analyzes infrastructure code and designs targeted resilience experiments before problems occur.
Description
The Resilience Architect MCP bridges the gap between infrastructure analysis and chaos engineering by proactively examining your AWS infrastructure blueprints (CloudFormation templates, CDK code, Terraform) and automatically designing appropriate fault injection experiments. This MCP server implements the Model Context Protocol to expose AWS Fault Injection Simulator (FIS) capabilities through an intelligent architectural lens.
The Resilience Architect doesn't just run chaos experiments—it thinks like a solutions architect to understand your infrastructure patterns, identify potential failure points, and craft targeted resilience tests. By analyzing your infrastructure code ahead of time, it helps you build more resilient systems through preemptive chaos engineering rather than reactive troubleshooting.
The server provides the following MCP tools:
AWS FIS Experiment Management Tools
list_fis_experiments: Retrieves a list of available FIS experiments organized by nameget_experiment: Gets detailed information about a specific experiment by IDlist_experiment_templates: Lists all experiment templates with pagination supportget_experiment_template: Gets details about a specific experiment template by IDstart_experiment: Starts an experiment from a template (requires --allow-writes flag)
AWS FIS Experiment Template Management Tools
create_experiment_template: Creates a new FIS experiment template (requires --allow-writes flag)update_experiment_template: Updates an existing FIS experiment template
AWS Resource Discovery Tools
CloudFormation Tools
list_cfn_stacks: Lists all CloudFormation stacks with pagination supportget_stack_resources: Gets resources from a specific CloudFormation stack
AWS Resource Explorer Tools
list_resource_explorer_views: Lists all Resource Explorer viewscreate_resource_explorer_view: Creates a new Resource Explorer view (requires --allow-writes flag)search_resources: Searches for AWS resources using Resource Explorer based on query string and view ARNdiscover_resource_relationships: Discovers relationships for a specific AWS resource using AWS Config
Requirements
- Python 3.10+
- AWS credentials with appropriate IAM permissions
- Required Python packages (see Installation)
Pre-requisites
AWS Credentials
Create a .env file in the project root with the following AWS credentials:
AWS_ACCESS_KEY_ID=your_access_key
AWS_SECRET_ACCESS_KEY=your_secret_key
AWS_SESSION_TOKEN=your_session_token # If using temporary credentials
Install uv & python 3.10+
- Install uv from Astral or the GitHub README
- Install Python 3.10 or newer using
uv python install 3.10(or a more recent version)
Setting up the environment
- Clone this repo
git clone https://github.com/ckq-aws/aws-fis-mcp.git - Change directory
cd src/aws-fis-mcp-server - Run
uv syncto install project dependencies
AWS Documenation MCP Server Installation
To ensure AI assistants can accurately determine available FIS actions, it's essential to install the AWS Documentation MCP server alongside this server. This combination prevents hallucinations and guarantees that fault injection experiment templates contain only valid FIS actions.
For detailed installation instructions, please refer to the AWS Documentation MCP Server README
AWS FIS MCP Server Installation
Configure the MCP server in your MCP client configuration (e.g., for Amazon Q Developer CLI, edit ~/.aws/amazonq/mcp.json)" --> as shown here: https://github.com/awslabs/mcp/tree/main/src/amazon-kendra-index-mcp-server#installation
Start the AWS FIS MCP server by configuring your mcp.json file as follows:
In mcp.json:
{
"mcpServers": {
"aws_fis_tool": {
"command": "uv",
"args": ["awslabs.aws_fis_mcp_server@latest"],
"env": {
"FASTMCP_LOG_LEVEL": "ERROR"
},
"disabled": false,
"autoApprove": []
}
}
}
Additional Information & Troubleshooting
Understanding MCP (Model Context Protocol)
MCP is a protocol that enables AI models to interact with external tools and data sources. It provides three main capabilities:
1. Tools
Tools are functions that allow AI models to perform actions in the real world. In this server, tools enable the AI to interact with AWS services like FIS, CloudFormation, and Resource Explorer. Tools have:
- A name and description
- Input parameters with types
- Return values that the AI can interpret
Example from this project:
@main_mcp.tool('list_fis_experiments')
def list_all_fis_experiments():
# Function implementation
# Returns data that the AI can use
2. Prompts
Prompts provide context and instructions to the AI model about how to use the tools. They can include:
- Descriptions of what the tools do
- Examples of how to use them
- Guidelines for interpreting results
Prompts help the AI understand the domain (AWS FIS in this case) and make appropriate decisions.
3. Resources
Resources are additional data that the AI can access, such as:
- Documentation
- Examples
- Templates
- Historical data
Resources provide the AI with the information it needs to make informed decisions when using the tools.
Troubleshooting with MCP Inspector
The MCP Inspector is a powerful tool for debugging and troubleshooting your MCP server. It runs locally and acts as a client-side portal to test your MCP server and its functions in real-time without needing to integrate with an actual LLM.
Installing & Running MCP Inspector
- Install Node.js if you haven't already: https://nodejs.org/en/download. This will automatically install npx which is needed to run the mcp inspector. The inspector runs directly through npx without requiring installation.
- Change directory:
cd src/aws-fis-mcp-server
- Run MCP Inspector:
- Command to Start MCP Inspector:
mcp dev server.py
- In your terminal copy or click the link to the inspector with the pre-filled token: http://localhost:6274/?MCP_PROXY_AUTH_TOKEN=[PRE-FILLED TOKEN]
- Happy debugging!
Using MCP Inspector
- Interactive Testing: Test your MCP server tools directly through a user-friendly interface without needing an LLM
- Inspect Tool Calls: View all tool calls, including parameters and return values in real-time
- Debug Errors: Identify where errors occur in your tool implementations with detailed error reporting
- Test Tools Manually: Execute tools directly with custom parameters to verify they work as expected
- View Request/Response Flow: See the complete interaction between the client and your MCP server
- Analyze Performance: Identify slow tools that might need optimization with timing metrics
Common Issues and Solutions
-
Authentication Errors:
- Check your AWS credentials in the
.envfile - Verify IAM permissions for the services being accessed
- Check your AWS credentials in the
-
Tool Execution Failures:
- Use the Inspector to view the exact error message
- Check parameter types and values being passed
-
Slow Performance:
- Look for tools that take a long time to execute
- Consider implementing pagination or limiting result sets
-
Connection Issues:
- Verify network connectivity to AWS services
- Check for any VPC or security group restrictions
For more information on the MCP Inspector, visit the official documentation.
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
Built by cquarcoo@amazon.com with ❤️
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。