AWS可信顾问MCPサーバー
此项目包括:AWS Trusted Advisor利用机能MCP (Multimodal Conversational Processing) 提供服务器。AWS Trusted Advisor查看项目中可用的所有族EC2停止实例EBS建议进行建议的更改,例如创建快照。重要信息:此工具不实际更改IaC中描述的场景,使用以下步骤创建明细表,以便在概念设计中分析体量的体积。
存储库URL:
机能
- 低利用率EC2停止实例建议: Trusted Advisor将条目添加到文档注册表EC2确定实例并根据标记提出停止建议
- EBS创建快照建议:备份不足EBS建议创建卷快照
- 建议禁用已发布的访问密钥:已发布IAM检测访问密钥并建议禁用
- S3启用时段版本化建议:未启用版本化S3确定时段并建议启用版本化
安装,安装
前提条件
- Node.js 14以上
- npm 在工作空间的边缘yarn
- AWS 帐户和IAM用户(需要对Trusted Advisor和相关服务的访问权限)
- 在工作空间的边缘Docker 打开Docker Compose (在容器中运行时)
安装
# リポジトリをクローン
git clone https://github.com/enomoto11/aws-trusted-advisor-mcp-server.git
cd aws-trusted-advisor-mcp-server
# 依存関係のインストール
npm install
# 開発モードで実行
npm run devDocker使用执行
项目是Docker也可以作为容器运行。
# イメージをビルドして起動
docker-compose up -d
# ログの確認
docker-compose logs -f
# コンテナの停止
docker-compose downAWS设置凭据
这个项目AWS SDK中描述的场景,使用以下步骤创建明细表,以便在概念设计中分析体量的体积AWS必须设置凭据:
1. .env 使用文件
在项目根目录中 .env 创建文件并添加以下内容:
AWS_ACCESS_KEY_ID=あなたのアクセスキーID
AWS_SECRET_ACCESS_KEY=あなたのシークレットアクセスキー
AWS_SESSION_TOKEN=あなたのセッショントークン(必要な場合)
AWS_REGION=us-east-12. AWS使用配置文件
AWS CLI如果已安装,请使用以下命令设置凭据:
aws configure3.如何使用环境变量
直接在壳中设置环境变量:
export AWS_ACCESS_KEY_ID=あなたのアクセスキーID
export AWS_SECRET_ACCESS_KEY=あなたのシークレットアクセスキー
export AWS_SESSION_TOKEN=あなたのセッショントークン(必要な場合)
export AWS_REGION=us-east-1重要: Trusted Advisor API来修改标记元素的显示属性IAM用户必须具有相应的权限。至少,起码 support:DescribeTrustedAdvisorChecks 单击功能区上 support:DescribeTrustedAdvisorCheckResult 需要访问许可。
Cursor中的设置和使用
Cursor要在编辑器中使用此工具:
1. MCP服务器设置
- 本地克隆此存储库
- 安装从属关系并启动服务器
npm install
npm run dev- 服务器
http://localhost:3000中描述的场景,使用以下步骤创建明细表,以便在概念设计中分析体量的体积
2. Cursor MCP插件设置
- Cursor打开编辑器
- 打开设置画面(macOS中
Cmd+,、Windows那么,那么Ctrl+,) - 从左侧菜单中选择“扩展”或“扩展”
- 「MCP」查找并选择节
- 「Add MCP」或者单击“添加MCP”按钮
- 输入以下信息:
- 姓名: Trusted Advisor - 网址: http://localhost:3000(直接执行时)或 http://localhost:3001(Docker执行容器时)
- 「Add」或单击“添加”按钮保存
3. Cursor在中使用
- 打开命令选项板(在macOS中
Cmd+Shift+P、Windows那么,那么Ctrl+Shift+P) MCP: Switch MCP Server的双曲正切值- 从列表中选择可信顾问
- 现在AI和助手聊天Trusted Advisor中描述的场景,使用以下步骤创建明细表,以便在概念设计中分析体量的体积
- 聊天时“低利用率”EC2请检查实例“等MCP通过服务器AWS显示环境分析结果
4.聊天提示示例
- “低利用率EC2请检查实例,并提出要停止的实例。“
- “需要备份EBS请扫描卷,告诉我需要创建快照。“
- “公开的IAM请确认没有访问密钥“
- “未启用版本化”S3请检查时段“
使用方法
服务器启动后,以下端点可用:
GET /:检查服务器状态GET /tools:获取可用工具列表POST /execute:运行工具
工具示例
以下示例使用本地运行时的端口3000。Docker容器运行时请用端口3001替换。
低利用率EC2停止实例建议
curl -X POST http://localhost:3000/execute \
-H "Content-Type: application/json" \
-d '{
"toolName": "low_utilization_ec2_instances",
"parameters": {
"region": "us-east-1",
"tagKey": "environment",
"tagValue": "dev"
}
}'EBS创建快照建议
curl -X POST http://localhost:3000/execute \
-H "Content-Type: application/json" \
-d '{
"toolName": "ebs_snapshots",
"parameters": {
"region": "all"
}
}'建议禁用已发布的访问密钥
curl -X POST http://localhost:3000/execute \
-H "Content-Type: application/json" \
-d '{
"toolName": "exposed_access_keys",
"parameters": {}
}'S3启用时段版本化建议
curl -X POST http://localhost:3000/execute \
-H "Content-Type: application/json" \
-d '{
"toolName": "s3_bucket_versioning",
"parameters": {}
}'建议格式
该工具为每个资源提供了包含以下信息的建议:
- 推荐行动:应执行AWS CLI命令
- terraformExample: IaC对较大场景进行渲染期间已观察到该故障Terraform代码示例
- 管理警告:资源IaC中所述的工具,调整墙的布局和几何形状
例:
{
"recommendations": [
{
"instanceId": "i-0123456789abcdef0",
"region": "us-east-1",
"recommendedAction": "aws ec2 stop-instances --instance-ids i-0123456789abcdef0 --region us-east-1",
"terraformExample": "# Terraformの例:\nresource \"aws_instance\" \"0123456789abcdef0\" {\n # 他の設定はそのままに\n instance_id = \"i-0123456789abcdef0\"\n # インスタンスを停止状態に設定\n instance_initiated_shutdown_behavior = \"stop\"\n}",
"managedWarning": "※注意: このインスタンスは terraform:managed=true で管理されています。変更はIaCツールを通じて行ってください。"
}
]
}添加自定义工具
要添加新工具:
src/config.ts添加工具定义src/tools.ts添加实施- 实施
implementTools注册对象
许可证
这个项目 MIT许可证 的明细栏样式中定义的设置。
