项目简介
AWS CloudGuard MCP Server 是一个基于 Model Context Protocol (MCP) 构建的应用后端,旨在为 LLM 应用提供 AWS 云服务监控和事件响应能力。它包含两个 MCP 服务器:监控代理服务器和诊断代理服务器,分别负责 AWS CloudWatch 日志和指标的监控分析,以及 Jira 工单的自动创建。
主要功能点
- AWS 云服务监控: 监控 EC2, Lambda, RDS, CloudTrail 等多种 AWS 服务 CloudWatch 日志和指标。
- 智能异常检测: 分析日志和指标,识别 AWS 环境中的异常模式和潜在问题。
- Jira 工单自动创建: 当检测到问题时,自动创建包含详细信息和 AWS 推荐的修复步骤的 Jira 工单。
- 自然语言交互: 通过自然语言与系统交互,查询 AWS 监控数据和创建 Jira 工单。
- 多服务器架构: 采用独立的 MCP 服务器分别处理监控和工单任务,提高系统模块化和可维护性。
安装步骤
-
安装 uv (Python 包管理器): 按照仓库 README.md 中的指引安装 'uv'。
-
克隆仓库:
git clone https://github.com/madhurprash/AWS_CloudGuardMCP.git cd AWS_CloudGuardMCP -
创建 Python 虚拟环境并安装依赖:
uv venv --python 3.12 source .venv/bin/activate # 或 .venv\Scripts\activate (Windows) uv pip install --requirement pyproject.toml -
配置 AWS 凭证: 如果尚未配置 AWS 凭证,请创建 '~/.aws/credentials' 和 '~/.aws/config' 文件并配置您的 AWS 访问密钥和区域。
-
配置 Jira 环境变量: 导出 Jira API Token、用户名、实例 URL 和项目 Key 等环境变量,例如:
export JIRA_API_TOKEN="<your-jira-api-token>" export JIRA_USERNAME="<your-jira-username>" export JIRA_INSTANCE_URL="<your-jira-instance-url>" export PROJECT_KEY="<jira-project-key>"
服务器配置
MCP 客户端 (例如 Claude Desktop) 需要以下 JSON 配置信息来连接到 AWS CloudGuard MCP Server。请将以下配置添加到 Claude Desktop 的配置文件 'claude_desktop_config.json' 中。
{ "mcpServers": { "aws_monitoring": { "command": "/path/to/your/venv/bin/python3", // 请替换为您的虚拟环境 Python 路径 "args": [ "/path/to/your/repo/server_scripts/monitoring_agent_server.py" // 请替换为您的仓库 server_scripts 目录 monitoring_agent_server.py 路径 ], "env": { "AWS_ACCESS_KEY_ID": "YOUR_ACCESS_KEY_ID", // 您的 AWS 访问密钥 "AWS_SECRET_ACCESS_KEY": "YOUR_SECRET_ACCESS_KEY", // 您的 AWS 密钥 "AWS_REGION": "<your-aws-region>", // 您的 AWS 区域 "MCP_TRANSPORT": "stdio" } }, "jira_server": { "command": "/path/to/your/venv/bin/python3", // 请替换为您的虚拟环境 Python 路径 "args": [ "/path/to/your/repo/server_scripts/diagnosis_agent_server.py" // 请替换为您的仓库 server_scripts 目录 diagnosis_agent_server.py 路径 ], "env": { "JIRA_API_TOKEN": "YOUR_JIRA_API_TOKEN", // 您的 Jira API Token "JIRA_USERNAME": "[email protected]", // 您的 Jira 用户名 "JIRA_INSTANCE_URL": "https://your-instance.atlassian.net", // 您的 Jira 实例 URL "PROJECT_KEY": "YOUR_PROJECT_KEY", // 您的 Jira 项目 Key "MCP_TRANSPORT": "stdio" } } } }
注意:
- 请根据您的实际环境替换 'command' 和 'args' 中的路径。
- 配置文件路径取决于您的操作系统,详细信息请参考仓库 README.md。
基本使用方法
- 启动 MCP 客户端 (例如 Claude Desktop) 并连接到配置的 'aws_monitoring' 和 'jira_server'。
- 使用自然语言向客户端提问,例如:
- "Show me the CloudWatch logs for EC2 in the last 24 hours" (查看 EC2 CloudWatch 日志)
- "Are there any errors in the Lambda logs?" (检查 Lambda 日志错误)
- "Create a Jira ticket for the EC2 memory utilization issue" (创建 EC2 内存利用率问题的 Jira 工单)
您也可以直接运行仓库提供的 'client.py' 脚本进行交互式会话。
uv run client.py --model-id=<bedrock-model>
信息
分类
开发者工具