Skip to main content
Glama
gitCarrot

AWS Cognito MCP Server

by gitCarrot

refresh_session

Refresh AWS Cognito user sessions to maintain authentication without requiring re-login, extending active session duration.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Implementation Reference

  • Handler function for the 'refresh_session' tool. Gets the current Cognito user, retrieves the current session to get the refresh token, then calls refreshSession to obtain new access and ID tokens, returning success details or error messages.
    async ({}) => { return new Promise((resolve, reject) => { const cognitoUser = userPool.getCurrentUser(); if (!cognitoUser) { resolve({ content: [ { type: "text" as const, text: "No user currently signed in", } ] }); return; } cognitoUser.getSession((err: Error | null, _session: CognitoUserSession) => { if (err) { reject({ content: [ { type: "text" as const, text: `Error getting session: ${err.message}`, } ] }); return; } const refreshToken = _session.getRefreshToken(); cognitoUser.refreshSession(refreshToken, (err, result) => { if (err) { reject({ content: [ { type: "text" as const, text: `Failed to refresh session: ${err.message}`, }, { type: "text" as const, text: `Error code: ${(err as any).code || 'Unknown'}`, } ] }); return; } resolve({ content: [ { type: "text" as const, text: "Session refreshed successfully", }, { type: "text" as const, text: `New Access Token: ${result.getAccessToken().getJwtToken()}`, }, { type: "text" as const, text: `New ID Token: ${result.getIdToken().getJwtToken()}`, }, { type: "text" as const, text: `Token Expiration: ${new Date(result.getAccessToken().getExpiration() * 1000).toISOString()}`, }, { type: "text" as const, text: `Time: ${new Date().toISOString()}`, } ] }); }); }); }); }
  • index.ts:544-622 (registration)
    Registers the 'refresh_session' tool on the MCP server with no input parameters.
    server.tool( "refresh_session", { }, async ({}) => { return new Promise((resolve, reject) => { const cognitoUser = userPool.getCurrentUser(); if (!cognitoUser) { resolve({ content: [ { type: "text" as const, text: "No user currently signed in", } ] }); return; } cognitoUser.getSession((err: Error | null, _session: CognitoUserSession) => { if (err) { reject({ content: [ { type: "text" as const, text: `Error getting session: ${err.message}`, } ] }); return; } const refreshToken = _session.getRefreshToken(); cognitoUser.refreshSession(refreshToken, (err, result) => { if (err) { reject({ content: [ { type: "text" as const, text: `Failed to refresh session: ${err.message}`, }, { type: "text" as const, text: `Error code: ${(err as any).code || 'Unknown'}`, } ] }); return; } resolve({ content: [ { type: "text" as const, text: "Session refreshed successfully", }, { type: "text" as const, text: `New Access Token: ${result.getAccessToken().getJwtToken()}`, }, { type: "text" as const, text: `New ID Token: ${result.getIdToken().getJwtToken()}`, }, { type: "text" as const, text: `Token Expiration: ${new Date(result.getAccessToken().getExpiration() * 1000).toISOString()}`, }, { type: "text" as const, text: `Time: ${new Date().toISOString()}`, } ] }); }); }); }); } )
  • Input schema for 'refresh_session' tool: no parameters required.
    { },

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/gitCarrot/mcp-server-aws-cognito'

If you have feedback or need assistance with the MCP directory API, please join our Discord server