Skip to main content
Glama

update_send_as

Modify a Gmail send-as alias to change display name, reply-to address, signature, or primary status for email customization.

Instructions

Updates a send-as alias

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
sendAsEmailYesThe send-as alias to be updated
displayNameNoA name that appears in the 'From:' header
replyToAddressNoAn optional email address that is included in a 'Reply-To:' header
signatureNoAn optional HTML signature
isPrimaryNoWhether this address is the primary address
treatAsAliasNoWhether Gmail should treat this address as an alias

Implementation Reference

  • src/index.ts:1187-1204 (registration)
    Registration of the 'update_send_as' MCP tool. Includes input schema definition and the handler function that extracts parameters, calls the shared handleTool helper to authenticate and invoke the Gmail API's users.settings.sendAs.update method, and formats the response.
    server.tool("update_send_as", "Updates a send-as alias", { sendAsEmail: z.string().describe("The send-as alias to be updated"), displayName: z.string().optional().describe("A name that appears in the 'From:' header"), replyToAddress: z.string().optional().describe("An optional email address that is included in a 'Reply-To:' header"), signature: z.string().optional().describe("An optional HTML signature"), isPrimary: z.boolean().optional().describe("Whether this address is the primary address"), treatAsAlias: z.boolean().optional().describe("Whether Gmail should treat this address as an alias") }, async (params) => { const { sendAsEmail, ...updateData } = params return handleTool(config, async (gmail: gmail_v1.Gmail) => { const { data } = await gmail.users.settings.sendAs.update({ userId: 'me', sendAsEmail, requestBody: updateData }) return formatResponse(data) }) } )
  • Handler function for 'update_send_as' tool. Destructures params to separate sendAsEmail from update data, uses handleTool to perform authenticated Gmail API call to update the send-as alias, and returns formatted response.
    async (params) => { const { sendAsEmail, ...updateData } = params return handleTool(config, async (gmail: gmail_v1.Gmail) => { const { data } = await gmail.users.settings.sendAs.update({ userId: 'me', sendAsEmail, requestBody: updateData }) return formatResponse(data) }) }
  • Zod schema for input parameters of 'update_send_as' tool, defining sendAsEmail as required string and others as optional.
    { sendAsEmail: z.string().describe("The send-as alias to be updated"), displayName: z.string().optional().describe("A name that appears in the 'From:' header"), replyToAddress: z.string().optional().describe("An optional email address that is included in a 'Reply-To:' header"), signature: z.string().optional().describe("An optional HTML signature"), isPrimary: z.boolean().optional().describe("Whether this address is the primary address"), treatAsAlias: z.boolean().optional().describe("Whether Gmail should treat this address as an alias") },
  • Shared helper function used by all Gmail tools, including 'update_send_as', to handle OAuth2 authentication, credential validation, Gmail client creation, and API call execution with error handling.
    const handleTool = async (queryConfig: Record<string, any> | undefined, apiCall: (gmail: gmail_v1.Gmail) => Promise<any>) => { try { const oauth2Client = queryConfig ? createOAuth2Client(queryConfig) : defaultOAuth2Client if (!oauth2Client) throw new Error('OAuth2 client could not be created, please check your credentials') const credentialsAreValid = await validateCredentials(oauth2Client) if (!credentialsAreValid) throw new Error('OAuth2 credentials are invalid, please re-authenticate') const gmailClient = queryConfig ? google.gmail({ version: 'v1', auth: oauth2Client }) : defaultGmailClient if (!gmailClient) throw new Error('Gmail client could not be created, please check your credentials') const result = await apiCall(gmailClient) return result } catch (error: any) { return `Tool execution failed: ${error.message}` } }

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/nk900600/gmail-mcp'

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