AWS SSO MCP Server

AWS SSO MCP Server

用于 AWS 单点登录 (SSO) 的 Node.js/TypeScript MCP 服务器。使 AI 系统(LLM)能够使用工具来启动 SSO 登录(设备授权流程)、列出账户/角色,并使用临时凭证安全地执行 AWS CLI 命令。简化 AI 与 AWS 资源的交互。

aashari

云平台
访问服务器

README

AWS SSO MCP 服务器

本项目提供了一个模型上下文协议 (MCP) 服务器,它使用单点登录 (SSO) 身份验证将 AI 助手(如 Anthropic 的 Claude、Cursor AI 或其他兼容 MCP 的客户端)连接到 AWS 服务。它使 AI 模型能够通过结构化的工具与您的 AWS 资源进行交互和管理,并简化了身份验证。


概述

什么是 MCP?

模型上下文协议 (MCP) 是一种开放标准,允许 AI 系统安全且有上下文地连接到外部工具和数据源。

此服务器专门为 AWS SSO 实现了 MCP,使用安全、临时的凭证将您的 AI 助手与 AWS 服务连接起来。

为什么要使用此服务器?

  • 无缝 AWS SSO 集成:通过安全的单点登录连接到 AWS,避免在 AI 交互中管理或暴露长期凭证。

  • 安全凭证管理:使用通过 AWS SSO 获取的临时凭证,遵循 AWS 安全最佳实践,并自动轮换凭证。

  • 多账户访问:轻松发现和使用您通过 SSO 配置有权访问的所有 AWS 账户和角色。

  • 完整的 AWS CLI 支持:通过 AI 助手直接执行任何 AWS CLI 命令,并进行适当的身份验证和凭证管理。

  • 自动化身份验证流程:自动处理浏览器启动和令牌轮询,使身份验证过程简单直观。


入门

前提条件

  • Node.js (>=18.x): 下载
  • 已配置 SSO 的 AWS 账户:您需要一个已启用 SSO 且具有适当权限的 AWS 账户
  • AWS CLI v2:用于本地 SSO 身份验证设置

步骤 1:配置 AWS SSO

如果您尚未配置,请在您的 AWS 组织中设置 AWS SSO:

  1. 在您的 AWS 账户中启用 AWS IAM Identity Center(AWS SSO 的后继者)
  2. 配置您的身份源(AWS SSO 目录、Active Directory 或外部 IdP)
  3. 设置权限集并将用户分配到 AWS 账户
  4. 记下您的 AWS SSO 启动 URL - 您将需要它进行配置

步骤 2:配置凭证

方法 A:MCP 配置文件(推荐)

创建或编辑 ~/.mcp/configs.json

{
	"@aashari/mcp-server-aws-sso": {
		"environments": {
			"DEBUG": "true",
			"AWS_REGION": "us-east-1",
			"AWS_SSO_START_URL": "https://your-sso-portal.awsapps.com/start"
		}
	}
}
  • AWS_REGION:您的主要 AWS 区域(例如,us-east-1
  • AWS_SSO_START_URL:您的 AWS SSO 门户 URL

方法 B:环境变量

在运行服务器时直接传递凭证:

DEBUG=true \
AWS_REGION=us-east-1 \
AWS_SSO_START_URL=https://your-sso-portal.awsapps.com/start \
npx -y @aashari/mcp-server-aws-sso

步骤 3:连接您的 AI 助手

配置您的 MCP 兼容客户端以启动此服务器。

Claude / Cursor 配置:

{
	"mcpServers": {
		"aashari/mcp-server-aws-sso": {
			"command": "npx",
			"args": ["-y", "@aashari/mcp-server-aws-sso"]
		}
	}
}

此配置在运行时自动启动服务器。


工具

本节介绍在使用此服务器与 AI 助手时可用的 MCP 工具。请注意,MCP 工具对工具名称使用 snake_case,对参数使用 camelCase

login

通过浏览器使用 AWS SSO 进行身份验证。

{}

或:

{ "launchBrowser": false }

"登录到 AWS SSO,以便我可以访问我的资源。"


list_accounts

列出所有可通过 SSO 访问的 AWS 账户和角色。

{}

"显示我可以通过 SSO 访问的所有 AWS 账户。"


exec

使用来自 AWS SSO 的临时凭证执行 AWS CLI 命令。

{
	"accountId": "123456789012",
	"roleName": "ReadOnly",
	"command": "aws s3 ls"
}

或:

{
	"accountId": "123456789012",
	"roleName": "AdminRole",
	"command": "aws ec2 describe-instances",
	"region": "us-west-2"
}

"使用 ReadOnly 角色列出账户 123456789012 中的 S3 存储桶。"


命令行界面 (CLI)

CLI 对命令使用 kebab-case(例如,login),对选项使用 kebab-case(例如,--account-id)。

使用 npx 快速使用

# 设置必需的环境变量(替换为您的值)
export AWS_SSO_START_URL=https://your-sso-portal.awsapps.com/start
export AWS_REGION=us-east-1

# 登录到 AWS SSO
npx -y @aashari/mcp-server-aws-sso login

# 列出可用的账户和角色
npx -y @aashari/mcp-server-aws-sso list-accounts

# 使用 SSO 凭证执行 AWS CLI 命令
npx -y @aashari/mcp-server-aws-sso exec \
  --account-id 123456789012 \
  --role-name ReadOnly \
  --command "aws s3 ls"

全局安装

npm install -g @aashari/mcp-server-aws-sso

然后直接运行:

mcp-aws-sso login

发现更多 CLI 选项

使用 --help 查看所有可用命令的标志和用法:

mcp-aws-sso --help

或者获取特定命令的详细帮助:

mcp-aws-sso login --help
mcp-aws-sso exec --help
mcp-aws-sso list-accounts --help

许可证

ISC 许可证

推荐服务器

contentful-mcp

contentful-mcp

在你的 Contentful Space 中更新、创建、删除内容、内容模型和资源。

精选
TypeScript
Supabase MCP Server

Supabase MCP Server

一个模型上下文协议(MCP)服务器,它提供对 Supabase 管理 API 的编程访问。该服务器允许 AI 模型和其他客户端通过标准化的接口来管理 Supabase 项目和组织。

精选
JavaScript
Azure MCP Server

Azure MCP Server

通过 Claude Desktop 实现与 Azure 服务的自然语言交互,支持资源管理、订阅处理和租户选择,并提供安全身份验证。

官方
本地
TypeScript
Settlemint

Settlemint

利用 SettleMint 的模型上下文协议服务器,无缝地与企业区块链基础设施交互。通过人工智能驱动的助手构建、部署和管理智能合约,从而简化您的区块链开发工作流程,实现最高的效率。

官方
本地
TypeScript
Brev

Brev

在云端运行、构建、训练和部署机器学习模型。

官方
本地
Python
Story Protocol SDK MCP

Story Protocol SDK MCP

这个服务器提供 MCP(模型上下文协议)工具,用于与 Story 的 Python SDK 交互。 功能: * 获取许可条款 * 使用 PIL 条款铸造和注册 IP 资产 * 铸造许可代币 * 向钱包发送 $IP * 通过 Pinata [外部] 上传图像到 ipfs * 通过 Pinata [外部] 上传 IP 和 NFT 元数据

官方
Python
Tembo MCP Server

Tembo MCP Server

一个 MCP 服务器,它使 Claude 能够与 Tembo Cloud 平台 API 交互,从而允许用户通过自然语言管理 Tembo Cloud 资源。

官方
TypeScript
Workers MCP

Workers MCP

一个连接 Claude Desktop 和其他 MCP 客户端到 Cloudflare Workers 的软件包,从而可以通过模型上下文协议,使用自然语言访问自定义功能。

官方
TypeScript
Appwrite MCP Server

Appwrite MCP Server

一个模型上下文协议服务器,允许 AI 助手与 Appwrite 的 API 交互,从而提供管理 Appwrite 项目中数据库、用户、函数、团队和其他资源的工具。

官方
Python
MCP2Lambda

MCP2Lambda

通过 MCP 协议,人工智能模型能够与 AWS Lambda 函数交互,从而在安全的环境中访问私有资源、实时数据和自定义计算。

官方
Python