Skip to main content
Glama
gitCarrot

AWS Cognito MCP Server

by gitCarrot

update_user_attributes

Modify user profile attributes in AWS Cognito by specifying name-value pairs to update user information and maintain accurate account details.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
attributesYes

Implementation Reference

  • Handler function that updates the current Cognito user's attributes by mapping input attributes to CognitoUserAttribute objects and calling updateAttributes.
    async ({ attributes }) => { 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 attributeList = attributes.map(attr => new CognitoUserAttribute({ Name: attr.name, Value: attr.value }) ); cognitoUser.updateAttributes(attributeList, (err, result) => { if (err) { reject({ content: [ { type: "text" as const, text: `Failed to update attributes: ${err.message}`, }, { type: "text" as const, text: `Error code: ${(err as any).code || 'Unknown'}`, } ] }); return; } resolve({ content: [ { type: "text" as const, text: "User attributes updated successfully", }, { type: "text" as const, text: `Username: ${cognitoUser.getUsername()}`, }, { type: "text" as const, text: `Result: ${result}`, }, { type: "text" as const, text: `Updated attributes: ${attributes.map(a => a.name).join(', ')}`, }, { type: "text" as const, text: `Time: ${new Date().toISOString()}`, } ] }); }); }); }); }
  • Zod schema defining the input as an array of objects with 'name' and 'value' strings for user attributes.
    { attributes: z.array(z.object({ name: z.string(), value: z.string() }))
  • index.ts:624-709 (registration)
    Registration of the 'update_user_attributes' tool using server.tool, including name, input schema, and handler function.
    server.tool( "update_user_attributes", { attributes: z.array(z.object({ name: z.string(), value: z.string() })) }, async ({ attributes }) => { 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 attributeList = attributes.map(attr => new CognitoUserAttribute({ Name: attr.name, Value: attr.value }) ); cognitoUser.updateAttributes(attributeList, (err, result) => { if (err) { reject({ content: [ { type: "text" as const, text: `Failed to update attributes: ${err.message}`, }, { type: "text" as const, text: `Error code: ${(err as any).code || 'Unknown'}`, } ] }); return; } resolve({ content: [ { type: "text" as const, text: "User attributes updated successfully", }, { type: "text" as const, text: `Username: ${cognitoUser.getUsername()}`, }, { type: "text" as const, text: `Result: ${result}`, }, { type: "text" as const, text: `Updated attributes: ${attributes.map(a => a.name).join(', ')}`, }, { type: "text" as const, text: `Time: ${new Date().toISOString()}`, } ] }); }); }); }); } )

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