Agent skill
aws-sso-refresh
Automatically refresh AWS SSO authentication tokens when encountering expiration errors. Use when AWS MCP tools fail due to expired SSO sessions.
Install this agent skill to your Project
npx add-skill https://github.com/veelenga/aws-sso-mcp/tree/main/skills/aws-sso-refresh
SKILL.md
AWS SSO Token Refresh
You are an expert at handling AWS SSO authentication token expiration and refresh.
When to Use This Skill
Activate this skill when you encounter AWS SSO token expiration errors, such as:
- "Token has expired and refresh failed"
- "Error when retrieving token from sso"
- "The SSO session associated with this profile has expired"
- "ExpiredTokenException"
- Any AWS MCP tool failures mentioning authentication or token issues
How to Refresh
Use the mcp__aws-sso__refresh_aws_sso_token tool. It automatically:
- Looks up the correct AWS profile from MCP config files
- Initiates the SSO login flow
- Opens a browser for authentication
Option 1: Pass the Server Name (Recommended)
When an MCP tool fails, pass the server name to automatically find the correct profile:
mcp__aws-sso__refresh_aws_sso_token(server: "bedrock-kb")
The tool searches multiple MCP client configs (Claude Code, Claude Desktop, Cursor, VS Code, Gemini CLI, etc.) to find the AWS_PROFILE for that server.
Option 2: Pass the Profile Directly
If you know the profile name:
mcp__aws-sso__refresh_aws_sso_token(profile: "MCPServerReadAccess")
Note: At least one of server or profile must be provided. The tool does not use a default profile to prevent unintended authentication actions.
Workflow
When an AWS MCP operation fails due to expired tokens:
-
Identify the failing MCP server: Note which tool failed (e.g.,
mcp__bedrock-kb__*→ server isbedrock-kb) -
Call the refresh tool with the server name:
mcp__aws-sso__refresh_aws_sso_token(server: "bedrock-kb") -
Inform the user: "Your AWS SSO session has expired. Please complete the authentication in your browser."
-
Wait for completion: The tool will return success/failure status
-
Retry the operation: Once refreshed, retry the original AWS operation
Example
Tool mcp__bedrock-kb__ListKnowledgeBases fails:
Error: Token has expired and refresh failed
Response:
mcp__aws-sso__refresh_aws_sso_token(server: "bedrock-kb")
Result:
{
"success": true,
"profile": "MCPServerReadAccess",
"profileSource": "mcp_config",
"message": "Successfully refreshed SSO token for profile \"MCPServerReadAccess\"."
}
Then retry ListKnowledgeBases.
Supported MCP Clients
The tool automatically searches these config locations:
| Client | Config Location |
|---|---|
| Claude Code | .mcp.json |
| Claude Desktop | Platform app support directory |
| Cursor | .cursor/mcp.json |
| VS Code | .vscode/mcp.json |
| Gemini CLI | .gemini/settings.json |
| Copilot CLI | ~/.copilot/mcp-config.json |
| Amazon Q | ~/.aws/amazonq/mcp.json |
| Cline | VS Code extension settings |
Proactive Behavior
- Automatically detect token expiration errors
- Use the
serverparameter to find the correct profile automatically - If profile lookup fails, always ask the user which profile to use before retrying
- Never call the tool without a
serverorprofileparameter - Keep the user informed about authentication status
Important Notes
- SSO login opens a browser window - ensure user can access it
- Tokens typically expire after several hours
- Multiple MCP servers may share the same profile
- After refresh, all servers using that profile will work again
- The tool has a 2-minute timeout for browser authentication
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
mermaid-diagrams
Creating and refining Mermaid diagrams with live reload. Use when users want flowcharts, sequence diagrams, class diagrams, ER diagrams, state diagrams, or any other Mermaid visualization. Provides best practices for syntax, styling, and the iterative workflow using mermaid_preview and mermaid_save tools.
edit-article
Edit and improve articles by restructuring sections, improving clarity, and tightening prose. Use when user wants to edit, revise, or improve an article draft.
obsidian-vault
Search, create, and manage notes in the Obsidian vault with wikilinks and index notes. Use when user wants to find, create, or organize notes in Obsidian.
setup-pre-commit
Set up Husky pre-commit hooks with lint-staged (Prettier), type checking, and tests in the current repo. Use when user wants to add pre-commit hooks, set up Husky, configure lint-staged, or add commit-time formatting/typechecking/testing.
git-guardrails-claude-code
Set up Claude Code hooks to block dangerous git commands (push, reset --hard, clean, branch -D, etc.) before they execute. Use when user wants to prevent destructive git operations, add git safety hooks, or block git push/reset in Claude Code.
handoff
Compact the current conversation into a handoff document for another agent to pick up.
Didn't find tool you were looking for?