关于 mcp-trustedadvisor-server
mcp-trustedadvisor-server 是用于访问 AWS Trusted Advisor 检查项、建议和资源数据的 MCP 服务,兼容旧版 Support API 与新版 TrustedAdvisor API,并支持符合条件的组织级操作。
主要功能
- 01列出并筛选检查项
- 02浏览并筛选建议
- 03查看建议关联资源
- 04更新生命周期状态和排除项
- 05汇总组织级建议
适用场景
- 01检查 AWS 账户中的检查项
- 02跟踪建议资源及其状态
- 03管理建议生命周期
- 04查看组织范围内的建议
MCP 相关
通过 stdio 向 MCP 客户端提供 AWS Trusted Advisor 检查项、建议、资源及生命周期操作。组织级操作需要 Enterprise Support。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
MCP Trusted Advisor 服务
一个 Model Context Protocol(MCP)服务,可通过旧版 Support API 和新版 TrustedAdvisor API 端点全面访问 AWS Trusted Advisor。
概述
此服务实现了 Model Context Protocol,可标准化访问 AWS Trusted Advisor 功能,包括:
- 旧版 Support API:兼容现有的 Trusted Advisor 集成
- 新版 TrustedAdvisor API:增强功能,性能更佳、特性更丰富
- 组织支持:面向 AWS Organizations 的企业级功能
- 资源管理:详细的资源分析和生命周期管理
功能
🔍 检查项管理
- 列出所有可用的 Trusted Advisor 检查项,并支持筛选
- 获取特定检查项的详细信息
- 支持多种语言(en、ja、fr、zh)
📊 建议
- 根据各种条件列出和筛选建议
- 获取建议的详细信息
- 资源级分析与管理
- 生命周期管理(进行中、已忽略、已解决等)
🏢 组织支持(需要 Enterprise Support)
- 汇总组织范围内的建议
- 多账户资源管理
- 组织级生命周期管理
- 按账户筛选资源
⚙️ 资源操作
- 批量排除或纳入资源
- 跟踪资源状态
- 元数据和详细资源信息
- 查看跨账户资源
可用资源
旧版 Support API 资源
list-trusted-advisor-checks
使用旧版 Support API 列出所有可用的 Trusted Advisor 检查项。
- URI:
trusted-advisor://checks - 参数:
language、awsAccountId、region - 筛选条件:按语言筛选
- 要求:Business、Enterprise On-Ramp 或 Enterprise Support 计划
get-trusted-advisor-recommendation
使用旧版 Support API 获取特定建议。
- URI:
trusted-advisor://recommendations/{checkId} - 参数:
checkId、language、awsAccountId - 要求:Business、Enterprise On-Ramp 或 Enterprise Support 计划
新版 TrustedAdvisor API 资源
list-checks
列出可筛选的 Trusted Advisor 检查项集合。
- URI:
trusted-advisor://checks/list - 参数:
awsService、pillar、source、maxResults、nextToken、language、awsAccountId、region - 筛选条件:AWS 服务、支柱、来源
- 分页:支持使用
nextToken分页
get-recommendation
获取特定的 Trusted Advisor 建议。
- URI:
trusted-advisor://recommendations/{recommendationIdentifier} - 参数:
recommendationIdentifier、language、awsAccountId、region - 响应:包含生命周期信息的详细建议
list-recommendations
列出可筛选的 Trusted Advisor 建议集合。
- URI:
trusted-advisor://recommendations - 参数:
awsService、pillar、source、status、maxResults、nextToken、language、awsAccountId、region - 筛选条件:AWS 服务、支柱、来源、状态
- 分页:支持使用
nextToken分页
list-recommendation-resources
列出 Trusted Advisor 建议中的资源。
- URI:
trusted-advisor://recommendations/{recommendationIdentifier}/resources - 参数:
recommendationIdentifier、status、exclusionStatus、maxResults、nextToken、language、awsAccountId、region - 筛选条件:资源状态、排除状态
- 分页:支持使用
nextToken分页
update-recommendation-lifecycle
更新 Trusted Advisor 建议的生命周期。
- URI:
trusted-advisor://recommendations/{recommendationIdentifier}/lifecycle - 参数:
recommendationIdentifier、lifecycleStage、updateReason、updateReasonCode、language、awsAccountId、region - 生命周期阶段:
pending_response、in_progress、dismissed、resolved - 注意:仅支持优先级建议
batch-update-recommendation-resource-exclusion
更新某个建议资源列表中一个或多个资源的排除状态。
- URI:
trusted-advisor://recommendations/{recommendationIdentifier}/resource-exclusions - 参数:
recommendationIdentifier、resourceExclusions(数组)、language、awsAccountId、region - 批量大小:每个请求最多 100 个资源
- 响应:每个资源的成功/错误状态
组织资源(需要 Enterprise Support)
list-organization-recommendations
列出组织内可筛选的建议集合。
- URI:
trusted-advisor://organizations/{organizationId}/recommendations - 参数:
organizationId、awsService、pillar、source、status、maxResults、nextToken、language、awsAccountId、region - 要求:Enterprise Support 计划
- 注意:仅支持优先级建议
get-organization-recommendation
获取 AWS Organizations 组织中的特定建议。
- URI:
trusted-advisor://organizations/{organizationId}/recommendations/{recommendationIdentifier} - 参数:
organizationId、recommendationIdentifier、language、awsAccountId、region - 要求:Enterprise Support 计划
- 注意:仅支持优先级建议
list-organization-recommendation-accounts
列出拥有组织聚合建议相关资源的账户。
- URI:
trusted-advisor://organizations/{organizationId}/recommendations/{recommendationIdentifier}/accounts - 参数:
organizationId、recommendationIdentifier、maxResults、nextToken、language、awsAccountId、region - 要求:Enterprise Support 计划
- 注意:仅支持优先级建议
list-organization-recommendation-resources
列出组织内某个建议的资源。
- URI:
trusted-advisor://organizations/{organizationId}/recommendations/{recommendationIdentifier}/resources - 参数:
organizationId、recommendationIdentifier、status、exclusionStatus、affectedAccountId、maxResults、nextToken、language、awsAccountId、region - 要求:Enterprise Support 计划
- 注意:仅支持优先级建议
update-organization-recommendation-lifecycle
更新组织内某个建议的生命周期。
- URI:
trusted-advisor://organizations/{organizationId}/recommendations/{recommendationIdentifier}/lifecycle - 参数:
organizationId、recommendationIdentifier、lifecycleStage、updateReason、updateReasonCode、language、awsAccountId、region - 要求:Enterprise Support 计划
- 注意:仅支持优先级建议
配置
环境变量
所有 AWS 配置均可通过环境变量管理:
# 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
# AWS Configuration
AWS_REGION=us-east-1 # Default region
AWS_PROFILE=your_profile # AWS profile to use
# Trusted Advisor specific
AWS_SUPPORT_REGION=us-east-1 # Support API only available in us-east-1
AWS 权限
该服务需要以下 AWS 权限:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"support:DescribeTrustedAdvisorChecks",
"support:DescribeTrustedAdvisorCheckResult",
"trustedadvisor:ListChecks",
"trustedadvisor:GetRecommendation",
"trustedadvisor:ListRecommendations",
"trustedadvisor:ListRecommendationResources",
"trustedadvisor:UpdateRecommendationLifecycle",
"trustedadvisor:BatchUpdateRecommendationResourceExclusion",
"trustedadvisor:ListOrganizationRecommendations",
"trustedadvisor:GetOrganizationRecommendation",
"trustedadvisor:ListOrganizationRecommendationAccounts",
"trustedadvisor:ListOrganizationRecommendationResources",
"trustedadvisor:UpdateOrganizationRecommendationLifecycle"
],
"Resource": "*"
}
]
}
支持计划
不同功能需要不同的 AWS Support 计划:
- Basic Support:无法访问 Trusted Advisor
- Developer Support:可有限访问 Trusted Advisor
- Business Support:可完整访问单个账户的 Trusted Advisor
- Enterprise On-Ramp:可完整访问单个账户的 Trusted Advisor
- Enterprise Support:可完整访问单个账户及整个组织的 Trusted Advisor
错误处理
该服务实现了全面的错误处理:
- AWS API 错误:返回格式正确的错误响应,并包含 AWS 错误代码
- 验证错误:验证输入并提供详细的错误消息
- 网络错误:妥善处理连接问题
- 权限错误:明确指出缺少的权限
安装
# Install dependencies
pnpm install
# Build the project
pnpm run build
# Run the server
pnpm start
与 MCP 搭配使用
该服务专为与兼容 MCP 的客户端搭配使用而设计。服务通过 stdio 通信,并为所有操作提供结构化 JSON 响应。
使用 AI 客户端进行配置
Claude Desktop
将此服务添加到 Claude Desktop 配置文件中:
位置:~/Library/Application Support/Claude/claude_desktop_config.json(macOS)或 %APPDATA%/Claude/claude_desktop_config.json(Windows)
{
"mcpServers": {
"trusted-advisor": {
"command": "node",
"args": ["/path/to/mcp-trustedadvisor-server/build/main.js"],
"env": {
"AWS_REGION": "us-east-1",
"AWS_ACCESS_KEY_ID": "your_access_key",
"AWS_SECRET_ACCESS_KEY": "your_secret_key"
}
}
}
}
Amazon Q Developer
在 Amazon Q Developer 设置中配置 MCP 服务:
{
"mcp": {
"servers": {
"trusted-advisor": {
"command": "node",
"args": ["/path/to/mcp-trustedadvisor-server/build/main.js"],
"environment": {
"AWS_REGION": "us-east-1",
"AWS_PROFILE": "your-aws-profile"
}
}
}
}
}
其他 MCP 客户端
对于任何兼容 MCP 的客户端,请使用以下参数:
# Command to run the server
node /path/to/mcp-trustedadvisor-server/build/main.js
# Required environment variables
AWS_REGION=us-east-1
AWS_ACCESS_KEY_ID=your_access_key
AWS_SECRET_ACCESS_KEY=your_secret_key
# Optional environment variables
AWS_PROFILE=your-profile
AWS_SESSION_TOKEN=your_session_token
使用服务
配置完成后,你可以向 AI 客户端提出以下请求:
- 列出可用检查项:“显示所有可用的 Trusted Advisor 检查项”
- 获取建议:“我的账户当前有哪些 Trusted Advisor 建议?”
- 检查特定服务:“显示成本优化建议”
- 管理资源:“将建议 xyz 的生命周期状态更新为已解决”
- 获取组织洞察:“列出整个组织中的所有建议”
AI 客户端会根据你的请求自动使用相应的 MCP 资源,并提供包含 Trusted Advisor 数据的结构化响应。
架构
该服务遵循 Clean Code 原则,具有以下特点:
- 模块化设计:每项功能都位于独立模块中
- 可复用组件:共享架构、实用工具和错误处理
- 类型安全:使用严格类型实现的完整 TypeScript 代码
- 错误恢复能力:全面的错误处理与验证
- 可扩展性:可轻松添加新的 Trusted Advisor 功能
贡献
- Fork 此仓库
- 创建功能分支
- 按照现有模式实现更改
- 为新功能添加测试
- 提交 pull request
许可证
本项目采用 MIT License 授权,详情请参阅 LICENSE 文件。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。