AWS SSO MCP
用于刷新AWS SSO身份验证令牌的模型上下文协议(MCP)服务器。适用于多个MCP客户端,包括Claude Desktop、Claude Code、Cursor、VS Code、Gemini CLI等。
运作原理
- 当AWS操作因SSO令牌过期而失败时,Claude会检测到错误
- 克劳德打电话来
refresh_aws_sso_token使用适当的配置文件或服务器名称 - 服务器从MCP配置文件中查找AWS配置文件(如果
server提供) - 打开浏览器窗口进行SSO身份验证
- 一旦通过身份验证,可以重试原始操作
支持的MCP客户端
服务器会自动检测以下MCP客户端的AWS配置文件设置:
| 客户端 | 配置位置 |
|---|---|
| 克劳德代码 | .mcp.json (项目), ~/.mcp.json (用户) |
| 克劳德桌面 | ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) |
| 光标 | .cursor/mcp.json (项目), ~/.cursor/mcp.json (用户) |
| VS代码 | .vscode/mcp.json |
| Gemini CLI | .gemini/settings.json (项目), ~/.gemini/settings.json (用户) |
| Copilot命令行界面 | ~/.copilot/mcp-config.json |
| 亚马逊Q | ~/.aws/amazonq/mcp.json |
| Cline | VS代码扩展设置 |
安装
克劳德代码(插件)
/plugin marketplace add veelenga/aws-sso-mcp
/plugin install aws-sso-mcp@aws-sso-mcp重新启动Claude Code,然后用验证 /mcp.
克劳德代码(手册)-WIP
npm install -g aws-sso-mcp
claude mcp add --scope user aws-sso aws-sso-mcp克劳德桌面版
添加到配置文件中:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
视窗: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"aws-sso": {
"command": "npx",
"args": ["-y", "aws-sso-mcp"]
}
}
}工具
refresh_aws_sso令牌
启动AWS SSO登录流以刷新过期的身份验证令牌。打开浏览器窗口,供用户完成身份验证。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| profile | string | 否\* | 要刷新令牌的AWS配置文件名称。优先于 server 参数。 |
| 服务器 | string | 否\* | MCP服务器名称,用于从MCP配置文件中查找AWS_PROFILE(例如。, bedrock-kb). |
\*至少一个 profile 或 server 必须提供。
配置文件分辨率顺序:
- 明确的
profile参数 - 通过以下方式从MCP配置文件中查找
server名字
示例响应:
{
"success": true,
"profile": "MCPServerReadAccess",
"profileSource": "mcp_config",
"message": "Successfully refreshed SSO token for profile \"MCPServerReadAccess\"."
}捆绑技能
该插件包括 aws-sso-refresh 技能提供:
- 自动检测令牌过期错误
- 处理AWS SSO身份验证的最佳实践
- 重试操作的工作流程指南
发展
# Install dependencies
npm install
# Build
npm run build
# Run tests
npm test
# Test with MCP Inspector
npx @modelcontextprotocol/inspector node dist/index.js需求
- Node.js 18+
- AWS CLI v2已安装并配置了SSO配置文件
- 在中配置的AWS SSO配置文件
~/.aws/config
安全
服务器实施了多种安全措施:
- 显式配置文件选择:需要
profile或server用于防止意外身份验证操作的参数 - 受信任的AWS CLI路径:仅从系统目录执行AWS CLI(
/usr/bin,/usr/local/bin,/opt/homebrew/bin) - Symlink验证:解析符号链接并验证实际路径是否也在受信任的位置
- 最小环境:在经过消毒的环境中孕育过程,以防止注射攻击(例如。,
LD_PRELOAD) - 回复中没有秘密:CLI输出不包含在响应中,以防止泄漏设备代码或URL
许可证
麻省理工学院
