Skip to main content
Glama

update_user

Modify user details including email, name, and role permissions to maintain accurate user profiles and access control in the system.

Instructions

Update user information

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
claimsNoUser roles/claims (choose from: Administrator, PageCreator, PageEditor, PageDeleter, PageMover, SectionCreator, SectionEditor, SectionDeleter, SectionMover, ContentDesigner, Publisher, BusinessDeleter, BusinessEditor, BusinessCreator, PublishApproval, PublishDeleter, Super, StageCreator, StageDeleter, SiteMerger, CatalogCreator, CatalogEditor, CatalogDeleter, BusinessUserCreator, BusinessUserEditor, BusinessUserDeleter)
emailNoUser email
firstNameNoFirst name
idYesUser ID
lastNameNoLast name

Implementation Reference

  • Handler function that constructs a payload from input parameters and sends a PUT request to the API endpoint `/tools/membership/users/${id}` to update the user, returning the response or error.
    try { const payload: any = {}; if (email) payload.email = email; if (firstName) payload.firstName = firstName; if (lastName) payload.lastName = lastName; if (claims !== undefined && claims !== null) { // Normalize to array payload.claims = Array.isArray(claims) ? claims : [claims]; } const response: AxiosResponse<ApiResponse<User>> = await apiClient.put(`/tools/membership/users/${id}`, payload); return { content: [ { type: "text", text: JSON.stringify(response.data, null, 2), }, ], }; } catch (error) { return { content: [ { type: "text", text: handleApiError(error), }, ], isError: true, }; } }
  • Input schema using Zod for validating parameters: id (required string), optional email, firstName, lastName, and claims (union of single enum or array from validClaims).
    id: z.string().describe("User ID"), email: z.string().email().optional().describe("User email"), firstName: z.string().optional().describe("First name"), lastName: z.string().optional().describe("Last name"), claims: z .union([ z.enum(validClaims), // single claim z.array(z.enum(validClaims)), // multiple claims ]) .optional() .describe(`User roles/claims (choose from: ${validClaims.join(", ")})`), },
  • src/index.ts:379-431 (registration)
    Registration of the 'update_user' tool using server.registerTool, including title, description, inputSchema, and handler function.
    "update_user", { title: "Update User", description: "Update user information", inputSchema: { id: z.string().describe("User ID"), email: z.string().email().optional().describe("User email"), firstName: z.string().optional().describe("First name"), lastName: z.string().optional().describe("Last name"), claims: z .union([ z.enum(validClaims), // single claim z.array(z.enum(validClaims)), // multiple claims ]) .optional() .describe(`User roles/claims (choose from: ${validClaims.join(", ")})`), }, }, async ({ id, email, firstName, lastName, claims }) => { try { const payload: any = {}; if (email) payload.email = email; if (firstName) payload.firstName = firstName; if (lastName) payload.lastName = lastName; if (claims !== undefined && claims !== null) { // Normalize to array payload.claims = Array.isArray(claims) ? claims : [claims]; } const response: AxiosResponse<ApiResponse<User>> = await apiClient.put(`/tools/membership/users/${id}`, payload); return { content: [ { type: "text", text: JSON.stringify(response.data, null, 2), }, ], }; } catch (error) { return { content: [ { type: "text", text: handleApiError(error), }, ], isError: true, }; } } );
  • Const array of valid user claims/roles used in the schema's z.enum for claims validation.
    const validClaims = [ "Administrator", "PageCreator", "PageEditor", "PageDeleter", "PageMover", "SectionCreator", "SectionEditor", "SectionDeleter", "SectionMover", "ContentDesigner", "Publisher", "BusinessDeleter", "BusinessEditor", "BusinessCreator", "PublishApproval", "PublishDeleter", "Super", "StageCreator", "StageDeleter", "SiteMerger", "CatalogCreator", "CatalogEditor", "CatalogDeleter", "BusinessUserCreator", "BusinessUserEditor", //wrap "BusinessUserDeleter", ] as const;

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/Headlesshost/mcp-server'

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