Skip to main content
Glama
gitCarrot

AWS Cognito MCP Server

by gitCarrot

refresh_session

Extend AWS Cognito user session validity by renewing authentication tokens without requiring re-login.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Implementation Reference

  • The handler function for the 'refresh_session' tool. It retrieves the current Cognito user, gets the current session to extract the refresh token, and calls cognitoUser.refreshSession to obtain new access and ID tokens.
    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)
    Registration of the 'refresh_session' tool using server.tool(name, inputSchema, handler).
    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()}`, } ] }); }); }); }); } )
  • Empty input schema indicating the tool requires no parameters.
    { },

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