AWS成本管理MCP服务器指南
AI编辑器(VS Code、Cursor、Kiro等)分析和管理AWS成本的MCP服务器设置指南。
📋 目录
前提条件
1.安装uvx
macOS:
# Homebrew로 설치
brew install uv
# 설치 확인
uvx --versionLinux:
# 공식 설치 스크립트
curl -LsSf https://astral.sh/uv/install.sh | sh
# 쉘 재시작
source ~/.zshrc # 또는 source ~/.bashrc
# 설치 확인
uvx --version2.设置AWS凭据
# AWS CLI 설치 확인
aws --version
# AWS 자격증명 구성
aws configure需要的信息:
- AWS访问密钥ID
- AWS秘密访问密钥
- 默认区域:
us-east-1(推荐) - 默认输出格式:
json
配置MCP服务器
完整MCP设置文件
{
"mcpServers": {
"aws-billing-cost-management": {
"command": "uvx",
"args": ["awslabs.billing-cost-management-mcp-server@latest"],
"env": {
"AWS_PROFILE": "default",
"AWS_REGION": "us-east-1",
"FASTMCP_LOG_LEVEL": "ERROR"
}
},
"aws-cost-explorer": {
"command": "uvx",
"args": ["awslabs.cost-explorer-mcp-server@latest"],
"env": {
"AWS_PROFILE": "default",
"AWS_REGION": "us-east-1",
"FASTMCP_LOG_LEVEL": "ERROR"
}
},
"aws-knowledge": {
"command": "uvx",
"args": ["awslabs.aws-documentation-mcp-server@latest"],
"env": {
"FASTMCP_LOG_LEVEL": "ERROR"
}
},
"aws-pricing": {
"command": "uvx",
"args": ["awslabs.aws-pricing-mcp-server@latest"],
"env": {
"AWS_PROFILE": "default",
"AWS_REGION": "us-east-1",
"FASTMCP_LOG_LEVEL": "ERROR"
}
}
}
}安装方法
VS代码
# 프로젝트 루트에 설정 폴더 생성
mkdir -p .vscode
# MCP 설정 파일 생성
cat > .vscode/mcp.json << 'EOF'
{
"mcpServers": {
"aws-billing-cost-management": {
"command": "uvx",
"args": ["awslabs.billing-cost-management-mcp-server@latest"],
"env": {
"AWS_PROFILE": "default",
"AWS_REGION": "us-east-1",
"FASTMCP_LOG_LEVEL": "ERROR"
}
},
"aws-cost-explorer": {
"command": "uvx",
"args": ["awslabs.cost-explorer-mcp-server@latest"],
"env": {
"AWS_PROFILE": "default",
"AWS_REGION": "us-east-1",
"FASTMCP_LOG_LEVEL": "ERROR"
}
},
"aws-knowledge": {
"command": "uvx",
"args": ["awslabs.aws-documentation-mcp-server@latest"],
"env": {
"FASTMCP_LOG_LEVEL": "ERROR"
}
},
"aws-pricing": {
"command": "uvx",
"args": ["awslabs.aws-pricing-mcp-server@latest"],
"env": {
"AWS_PROFILE": "default",
"AWS_REGION": "us-east-1",
"FASTMCP_LOG_LEVEL": "ERROR"
}
}
}
}
EOF
# VS Code 재시작光标
# 프로젝트 루트에 설정 폴더 생성
mkdir -p .cursor
# MCP 설정 파일 생성 (위와 동일한 내용)
cp .vscode/mcp.json .cursor/mcp.json
# Cursor 재시작基罗
# 프로젝트 루트에 설정 폴더 생성
mkdir -p .kiro/settings
# MCP 설정 파일 생성 (위와 동일한 내용)
cp .vscode/mcp.json .kiro/settings/mcp.json
# Kiro 재시작MCP服务器详细信息
1.AWS计费和成本管理MCP服务器
角色: 综合成本管理和优化
主要API:
get_cost_and_usage:查看成本和使用情况get_cost_forecast:成本预测get_cost_optimization_recommendations:成本优化建议get_savings_plans_utilization:Savings Plans利用率get_reservation_utilization:Reserved Instances利用率get_free_tier_usage:跟踪Free Tier使用情况
使用示例:
"이번 달 AWS 비용이 얼마나 나왔어?"
"비용 최적화 권장사항을 알려줘"
"Savings Plans 활용률을 확인해줘"
"Free Tier 사용량을 보여줘"2.AWS成本浏览器MCP服务器
角色: 详细的成本分析和预测
主要API:
get_cost_and_usage:查看成本和使用情况get_dimension_values:查询维度值(服务、区域等)get_cost_forecast:成本预测get_usage_forecast:使用量预测get_cost_categories:管理成本类别get_cost_and_usage_comparisons:历史成本比较
使用示例:
"이번 달 AWS 비용을 분석해주세요"
"EC2 비용이 급증한 원인을 찾아주세요"
"다음 달 예상 비용을 계산해주세요"
"지난 달과 이번 달 비용을 비교해줘"
"서비스별 비용 분포를 보여줘"3.AWS知识MCP服务器
角色: 搜索和参考AWS官方文档
主要API:
search_documentation:搜索AWS文档read_documentation:读取特定文档recommend:推荐相关文档
使用示例:
"Cost Explorer API 사용법을 알려줘"
"AWS 비용 최적화 베스트 프랙티스를 찾아줘"
"Savings Plans 문서를 검색해줘"4.AWS定价MCP服务器
角色: 查看AWS服务定价信息
主要API:
get_pricing:特定于服务的定价信息get_pricing_service_codes:可用服务代码列表get_pricing_service_attributes:关于特定于服务的属性get_pricing_attribute_values:按属性查询可能的值
使用示例:
"EC2 t3.medium 인스턴스 가격을 알려줘"
"RDS MySQL 가격을 비교해줘"
"S3 스토리지 비용을 계산해줘"
"Lambda 함수 실행 비용이 얼마야?"使用示例
查看基本成本
질문: "이번 달 AWS 비용이 얼마나 나왔어?"
AI 응답 예시:
- 현재까지 누적 비용: $1,234.56
- 예상 월말 비용: $1,850.00
- 전월 대비: +15%按服务进行成本分析
질문: "어떤 서비스가 가장 많은 비용을 발생시키고 있어?"
AI 응답 예시:
1. Amazon EC2: $450.23 (36%)
2. Amazon RDS: $320.15 (26%)
3. Amazon S3: $180.50 (15%)
4. AWS Lambda: $95.30 (8%)
5. 기타: $188.38 (15%)优化成本
질문: "AWS 비용을 절감할 수 있는 방법을 찾아줘"
AI 응답 예시:
1. EC2 인스턴스 3개가 평균 CPU 사용률 15% 미만
→ t3.large에서 t3.medium으로 변경 시 월 $120 절감
2. EBS 볼륨 5개가 30일 이상 미사용
→ 삭제 시 월 $50 절감
3. RDS 인스턴스 1개가 저사용률
→ db.m5.large에서 db.t3.medium으로 변경 시 월 $200 절감
총 예상 절감액: 월 $370成本预测
질문: "다음 달 예상 비용을 계산해줘"
AI 응답 예시:
- 예상 비용: $1,950.00
- 현재 추세 기반 예측
- 주요 증가 요인:
* EC2 인스턴스 증가 (5개 → 7개)
* RDS 스토리지 증가 (250GB → 350GB)检查Free Tier
질문: "Free Tier 사용량을 확인해줘"
AI 응답 예시:
⚠️ 주의 필요:
- Lambda: 850,000 / 1,000,000 요청 (85%)
- DynamoDB: 22GB / 25GB (88%)
✅ 여유 있음:
- S3: 2GB / 5GB (40%)
- EC2: 450시간 / 750시간 (60%)查询定价信息
질문: "EC2 t3.medium 인스턴스 가격을 알려줘"
AI 응답 예시:
EC2 t3.medium (us-east-1):
- On-Demand: $0.0416/시간 ($30.37/월)
- 1년 Reserved: $0.0270/시간 ($19.71/월) - 35% 절감
- 3년 Reserved: $0.0166/시간 ($12.12/월) - 60% 절감IAM权限设置
所需IAM权限
在AWS Console→IAM→Policies→Create policy→JSON选项卡上粘贴以下内容:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AWSCostExplorerPermissions",
"Effect": "Allow",
"Action": [
"ce:GetCostAndUsage",
"ce:GetCostForecast",
"ce:GetDimensionValues",
"ce:GetReservationUtilization",
"ce:GetReservationCoverage",
"ce:GetSavingsPlansUtilization",
"ce:GetSavingsPlansCoverage",
"ce:GetRightsizingRecommendation",
"ce:GetSavingsPlansPurchaseRecommendation"
],
"Resource": "*"
},
{
"Sid": "AWSBillingCostManagementPermissions",
"Effect": "Allow",
"Action": [
"ce:GetCostAndUsage",
"ce:GetCostForecast",
"budgets:ViewBudget",
"cur:DescribeReportDefinitions",
"cost-optimization-hub:ListRecommendations",
"cost-optimization-hub:GetRecommendation",
"compute-optimizer:GetEC2InstanceRecommendations",
"compute-optimizer:GetEBSVolumeRecommendations",
"compute-optimizer:GetLambdaFunctionRecommendations",
"freetier:GetFreeTierUsage"
],
"Resource": "*"
},
{
"Sid": "AWSPricingPermissions",
"Effect": "Allow",
"Action": [
"pricing:DescribeServices",
"pricing:GetProducts",
"pricing:GetAttributeValues"
],
"Resource": "*"
},
{
"Sid": "AWSKnowledgePermissions",
"Effect": "Allow",
"Action": [
"iam:GetAccountSummary"
],
"Resource": "*"
}
]
}如何应用策略
- 创建策略
- 策略名称: AWSCostMCPServerPolicy - 单击Create policy
- 连接到用户
- IAM→Users→用户选择 - 权限→ 添加权限 - 直接附加策略 - AWSCostMCPServerPolicy 搜索后选择 - 添加权限
作为AWS CLI应用
# 정책 생성
aws iam create-policy \
--policy-name AWSCostMCPServerPolicy \
--policy-document file://iam_policy_cost_mcp.json
# 사용자에게 연결 (ARN은 위 명령어 결과에서 복사)
aws iam attach-user-policy \
--user-name YOUR_USERNAME \
--policy-arn arn:aws:iam::ACCOUNT_ID:policy/AWSCostMCPServerPolicy故障排除
当MCP服务器无法连接时
1.验证uvx安装
uvx --version2.验证AWS凭据
aws sts get-caller-identity3.手动测试MCP服务器
# 각 서버를 개별적으로 테스트
uvx awslabs.billing-cost-management-mcp-server@latest
uvx awslabs.cost-explorer-mcp-server@latest
uvx awslabs.aws-documentation-mcp-server@latest
uvx awslabs.aws-pricing-mcp-server@latest4.重新启动AI编辑器
- 编辑器完全关闭
- 重新打开终端
- 重新启动编辑器
发生权限错误时
错误消息:
AccessDeniedException: User is not authorized to perform: ce:GetCostAndUsage解决方法:
- 确保正确应用IAM策略
- 等待策略传播(1-2分钟)
- 刷新AWS凭据
aws configure仅当特定MCP服务器不工作时
aws-core服务器错误:
- Python 3.14兼容性问题
- 解决方案:禁用服务器(非必需)
aws-pricing服务器错误:
- 验证软件包名称:
awslabs.aws-pricing-mcp-server@latest - 验证权限:
pricing:DescribeServices
检查日志
更改日志级别以解决问题:
{
"env": {
"FASTMCP_LOG_LEVEL": "DEBUG"
}
}其他资源
______________________________________________________________________
许可证
此库根据MIT-0许可证获得许可。看 许可证 文件。
