一个通过传统支持API和现代TrustedAdvisor API端点提供对AWS Trusted Advisor全面访问的模型上下文协议(MCP)服务器。
此服务器实现了模型上下文协议,以提供标准化的AWS Trusted Advisor功能访问,包括:
list-trusted-advisor-checks使用传统的支持API列出所有可用的Trusted Advisor检查。
trusted-advisor://checkslanguage, awsAccountId, regionget-trusted-advisor-recommendation使用传统的支持API获取特定建议。
trusted-advisor://recommendations/{checkId}checkId, language, awsAccountIdlist-checks列出一组可筛选的Trusted Advisor检查。
trusted-advisor://checks/listawsService, pillar, source, maxResults, nextToken, language, awsAccountId, regionnextTokenget-recommendation获取特定的Trusted Advisor建议。
trusted-advisor://recommendations/{recommendationIdentifier}recommendationIdentifier, language, awsAccountId, regionlist-recommendations列出一组可筛选的Trusted Advisor建议。
trusted-advisor://recommendationsawsService, pillar, source, status, maxResults, nextToken, language, awsAccountId, regionnextTokenlist-recommendation-resources列出Trusted Advisor建议的资源。
trusted-advisor://recommendations/{recommendationIdentifier}/resourcesrecommendationIdentifier, status, exclusionStatus, maxResults, nextToken, language, awsAccountId, regionnextTokenupdate-recommendation-lifecycle更新Trusted Advisor建议的生命周期。
trusted-advisor://recommendations/{recommendationIdentifier}/lifecyclerecommendationIdentifier, lifecycleStage, updateReason, updateReasonCode, language, awsAccountId, regionpending_response, in_progress, dismissed, resolvedbatch-update-recommendation-resource-exclusion更新一批建议资源的排除状态。
trusted-advisor://recommendations/{recommendationIdentifier}/resource-exclusionsrecommendationIdentifier, resourceExclusions (数组), language, awsAccountId, regionlist-organization-recommendations列出组织内的一组可筛选建议。
trusted-advisor://organizations/{organizationId}/recommendationsorganizationId, awsService, pillar, source, status, maxResults, nextToken, language, awsAccountId, regionget-organization-recommendation获取组织内的特定建议。
trusted-advisor://organizations/{organizationId}/recommendations/{recommendationIdentifier}organizationId, recommendationIdentifier, language, awsAccountId, regionlist-organization-recommendation-accounts列出拥有组织聚合建议资源的账户。
trusted-advisor://organizations/{organizationId}/recommendations/{recommendationIdentifier}/accountsorganizationId, recommendationIdentifier, maxResults, nextToken, language, awsAccountId, regionlist-organization-recommendation-resources列出组织内建议的资源。
trusted-advisor://organizations/{organizationId}/recommendations/{recommendationIdentifier}/resourcesorganizationId, recommendationIdentifier, status, exclusionStatus, affectedAccountId, maxResults, nextToken, language, awsAccountId, regionupdate-organization-recommendation-lifecycle更新组织内建议的生命周期。
trusted-advisor://organizations/{organizationId}/recommendations/{recommendationIdentifier}/lifecycleorganizationId, recommendationIdentifier, lifecycleStage, updateReason, updateReasonCode, language, awsAccountId, region所有AWS配置可以通过环境变量管理:
# AWS凭证
AWS_ACCESS_KEY_ID=your_access_key
AWS_SECRET_ACCESS_KEY=your_secret_key
AWS_SESSION_TOKEN=your_session_token # 如果使用临时凭证
# AWS配置
AWS_REGION=us-east-1 # 默认区域
AWS_PROFILE=your_profile # 使用的AWS配置文件
# Trusted Advisor特定配置
AWS_SUPPORT_REGION=us-east-1 # 支持API仅在us-east-1可用
该服务器需要以下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支持计划:
该服务器实现了全面的错误处理:
# 安装依赖
pnpm install
# 构建项目
pnpm run build
# 运行服务器
pnpm start
此服务器设计用于与兼容MCP的客户端一起使用。服务器通过stdio通信,并为所有操作提供结构化的JSON响应。
将此服务器添加到您的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设置中配置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的客户端,请使用这些参数:
# 运行服务器的命令
node /path/to/mcp-trustedadvisor-server/build/main.js
# 必要的环境变量
AWS_REGION=us-east-1
AWS_ACCESS_KEY_ID=your_access_key
AWS_SECRET_ACCESS_KEY=your_secret_key
# 可选的环境变量
AWS_PROFILE=your-profile
AWS_SESSION_TOKEN=your_session_token
一旦配置完成,您可以向您的AI客户端询问:
AI客户端将根据您的请求自动使用适当的MCP资源,并提供带有Trusted Advisor数据的结构化响应。
服务器遵循Clean Code原则,包括:
本项目采用MIT许可证——详情见LICENSE文件。