Resilience Architect MCP

Resilience Architect MCP

Your proactive chaos engineering companion that analyzes infrastructure code and designs targeted resilience experiments before problems occur.

Category
访问服务器

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 name
  • get_experiment: Gets detailed information about a specific experiment by ID
  • list_experiment_templates: Lists all experiment templates with pagination support
  • get_experiment_template: Gets details about a specific experiment template by ID
  • start_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 support
  • get_stack_resources: Gets resources from a specific CloudFormation stack

AWS Resource Explorer Tools

  • list_resource_explorer_views: Lists all Resource Explorer views
  • create_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 ARN
  • discover_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+

  1. Install uv from Astral or the GitHub README
  2. Install Python 3.10 or newer using uv python install 3.10 (or a more recent version)

Setting up the environment

  1. Clone this repo git clone https://github.com/ckq-aws/aws-fis-mcp.git
  2. Change directory cd src/aws-fis-mcp-server
  3. Run uv sync to 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

Install MCP Server

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

  1. 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.
  2. Change directory:
cd src/aws-fis-mcp-server
  1. Run MCP Inspector:
  • Command to Start MCP Inspector:
mcp dev server.py
  1. 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]
  2. 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

  1. Authentication Errors:

    • Check your AWS credentials in the .env file
    • Verify IAM permissions for the services being accessed
  2. Tool Execution Failures:

    • Use the Inspector to view the exact error message
    • Check parameter types and values being passed
  3. Slow Performance:

    • Look for tools that take a long time to execute
    • Consider implementing pagination or limiting result sets
  4. 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

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选