Resilience Architect MCP
Provides analysis of Terraform infrastructure code to design targeted resilience experiments before problems occur.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Resilience Architect MCP analyze my CloudFormation stack and design experiments"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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
Related MCP server: FIS Recommender MCP Server
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 credentialsInstall 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.gitChange directory
cd src/aws-fis-mcp-serverRun
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 use2. 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-serverRun MCP Inspector:
Command to Start MCP Inspector:
mcp dev server.pyIn 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
.envfileVerify IAM permissions for the services being accessed
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 ❤️
Available Tools
13 toolsCreateFISExperimentTemplateB
Create a new AWS FIS experiment template.
This tool creates a new experiment template that defines the parameters for
fault injection experiments, including targets, actions, and stop conditions.
Args:
ctx: The MCP context for logging and communication
clientToken: Client token for idempotency
description: Description of the experiment template
role_arn: IAM role ARN for experiment execution
name: Required name for the experiment template (will be added as Name tag)
tags: Optional additional tags to apply to the template
stop_conditions: Conditions that stop the experiment
targets: Target resources for the experiment
actions: Actions to perform during the experiment
log_configuration: Configuration for experiment logging
experiment_options: Additional experiment options
report_configuration: Configuration for experiment reporting
Returns:
Dict containing the created experiment template
Raises:
Exception: For AWS API errors or when writes are disabled
Inputs: name (required), role_arn (required), clientToken (required), description (required), +7 more.
CreateResourceExplorerViewB
Create a Resource Explorer view.
This tool creates a new Resource Explorer view that can be used to find
and filter resources for fault injection experiments.
Args:
ctx: The MCP context for logging and communication
query: Filter string for the view
view_name: Name of the view
name: Required name for the view (will be added as Name tag)
tags: Optional additional tags to apply to the view
scope: Scope of the view
client_token: Client token for idempotency
Returns:
Dict containing the created view details
Raises:
Exception: For AWS API errors or when writes are disabled
Inputs: name (required), query (required), view_name (required), tags, +2 more.
DiscoverResourceRelationshipsA
Discover relationships for a specific AWS resource using AWS Config.
This tool retrieves the configuration history for a specific AWS resource
and returns its relationships with other resources. This is useful for
understanding resource dependencies, such as finding which subnet an ALB
is placed in or which security groups are attached to an instance.
Args:
ctx: The MCP context for logging and communication
resource_type: AWS resource type (e.g., AWS::EC2::Instance)
resource_id: AWS resource ID to discover relationships for
limit: Maximum number of configuration items to retrieve
chronological_order: Order of configuration items (Reverse or Forward)
Returns:
Dict containing resource relationships and configuration details
Inputs: resource_id (required), resource_type (required), limit, chronological_order.
GetFISExperimentB
Get detailed information about a specific experiment.
This tool retrieves comprehensive information about a single FIS experiment
identified by its ID.
Args:
ctx: The MCP context for logging and communication
id: The experiment ID
Returns:
Dict containing experiment details
Inputs: id (required).
GetFISExperimentTemplateC
Get detailed information about a specific experiment template.
This tool retrieves comprehensive information about a single FIS experiment template
identified by its ID.
Args:
ctx: The MCP context for logging and communication
id: The experiment template ID
Returns:
Dict containing experiment template details
Inputs: id (required).
GetStackResourcesB
Retrieves the resources that have been created by an individual stack.
This tool lists all resources within a specific CloudFormation stack,
which can be useful for identifying potential targets for fault injection experiments.
Args:
ctx: The MCP context for logging and communication
stack_name: Name of the CloudFormation stack
Returns:
Dict containing stack resources
Inputs: stack_name (required).
ListCloudFormationStacksA
Retrieve all AWS CloudFormation Stacks.
This tool lists all CloudFormation stacks in the current AWS account and region,
providing information that can help identify potential targets for fault injection.
Returns:
Dict containing CloudFormation stack information
Inputs: no named parameters.
ListFISExperimentsA
Retrieves a list of Experiments available in the AWS FIS service.
This tool fetches all FIS experiments in the current AWS account and region,
organizing them by name for easy reference. It handles pagination automatically.
Returns:
Dict containing experiment details organized by name
Inputs: no named parameters.
ListFISExperimentTemplatesB
List all experiment templates.
This tool retrieves all FIS experiment templates in the current AWS account and region.
It handles pagination automatically to ensure all templates are returned.
Returns:
List of experiment templates with their details
Inputs: no named parameters.
ListResourceExplorerViewsA
List Resource Explorer views.
This tool retrieves all Resource Explorer views in the current AWS account and region,
which can be used to find and filter resources for fault injection experiments.
Returns:
List of Resource Explorer views
Inputs: no named parameters.
SearchResourcesB
Search for AWS resources using Resource Explorer.
This tool searches for AWS resources using Resource Explorer based on a query string
and view ARN. It can be used to find specific resources for fault injection experiments.
Args:
ctx: The MCP context for logging and communication
query_string: The query string to search for resources
view_arn: The ARN of the Resource Explorer view to use
max_results: Maximum number of results to return (default: 100)
next_token: Token for pagination (optional)
Returns:
Dict containing search results and pagination information
Inputs: view_arn (required), query_string (required), next_token, max_results.
StartFISExperimentB
Starts an AWS FIS experiment and returns immediately after starting.
Args:
ctx: The MCP context for logging and communication
id: The experiment template ID
name: Required name for the experiment
tags: Optional additional tags to apply to the experiment
action: The actions mode (default: 'run-all')
Returns:
Dict containing experiment start response
Raises:
Exception: For AWS API errors or when writes are disabled
Inputs: id (required), name (required), tags, action.
UpdateFISExperimentTemplateC
Update an existing AWS FIS experiment template.
This tool updates an existing experiment template with new parameters for
fault injection experiments, including targets, actions, and stop conditions.
Args:
ctx: The MCP context for logging and communication
id: ID of the experiment template to update
description: Updated description of the experiment template
stop_conditions: Updated conditions that stop the experiment
targets: Updated target resources for the experiment
actions: Updated actions to perform during the experiment
role_arn: Updated IAM role ARN for experiment execution
log_configuration: Updated configuration for experiment logging
experiment_options: Updated experiment options
experiment_report_configuration: Updated configuration for experiment reporting
Returns:
Dict containing the updated experiment template
Inputs: id (required), actions, targets, role_arn, +5 more.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 13 tools
Each tool has a clearly distinct purpose: FIS experiment vs template operations, Resource Explorer view management, resource search vs relationship discovery. The names and descriptions make boundaries clear, and there is no significant overlap that would cause misselection.
All tools follow a consistent CamelCase verb-noun pattern (e.g., GetFISExperiment, ListFISExperiments, CreateFISExperimentTemplate). Service prefixes are used consistently within FIS tools, and minor variations like GetStackResources vs ListCloudFormationStacks are justified by different actions.
13 tools is well-scoped for a resilience architecture server covering FIS, Resource Explorer, CloudFormation, and Config. Each tool serves a distinct operation without redundancy, fitting comfortably in the ideal 3-15 range.
The surface covers discovery, template creation/update, and experiment start, but lacks critical lifecycle operations like stopping an experiment, deleting templates, and deleting/updating Resource Explorer views. These gaps could hinder full workflow execution for an agent.
Related MCP Connectors
Autonomous and governed SRE & MLOps control plane for AI agent platforms.
Run real, auto-recovered cloud attacks on AWS, Azure and GCP to test your defenses.
Threat modeling, code/cloud/pipeline scanning, shadow-AI discovery, compliance checks and fixes.
Diagnose AI workflows for failure, security, and handoff risks — RED/AMBER/GREEN per node.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables AI assistants to perform chaos engineering and resilience testing on Kubernetes clusters through Chaos Mesh. Supports creating and managing 24 types of chaos experiments including network failures, stress tests, pod disruptions, and I/O faults through natural language conversations.2MIT
- AlicenseNot gradedqualityBmaintenanceAnalyzes DevOps findings to automatically recommend and generate AWS Fault Injection Simulator (FIS) experiment templates. It helps teams validate system resilience by mapping reported issues to specific chaos engineering actions across AWS services.MIT
- FlicenseNot gradedqualityCmaintenanceEnables users to investigate infrastructure incidents in plain English, correlate observability and deploy data with runbooks, and get evidence-backed root-cause proposals with approval-gated remediation.5-
- AlicenseNot gradedqualityCmaintenanceEnables state-aware Terraform/OpenTofu plan evaluation against live AWS topology and CloudWatch telemetry, detecting reliability blast radius and FinOps waste before merge.Apache 2.0