Skip to main content
Glama

batch_delete_messages

Delete multiple Gmail messages at once by specifying their IDs, helping you manage your inbox efficiently by removing unwanted emails in bulk.

Instructions

Delete multiple messages

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idsYesThe IDs of the messages to delete

Implementation Reference

  • src/index.ts:501-511 (registration)
    Registration of the 'batch_delete_messages' tool using server.tool(), including inline schema definition and handler function that performs batch deletion via Gmail API's users.messages.batchDelete.
    server.tool("batch_delete_messages", "Delete multiple messages", { ids: z.array(z.string()).describe("The IDs of the messages to delete") }, async (params) => { return handleTool(config, async (gmail: gmail_v1.Gmail) => { const { data } = await gmail.users.messages.batchDelete({ userId: 'me', requestBody: { ids: params.ids } }) return formatResponse(data) }) }
  • The handler function for 'batch_delete_messages' tool. It invokes handleTool which authenticates and calls the Gmail API to batch delete messages by their IDs.
    async (params) => { return handleTool(config, async (gmail: gmail_v1.Gmail) => { const { data } = await gmail.users.messages.batchDelete({ userId: 'me', requestBody: { ids: params.ids } }) return formatResponse(data) }) }
  • Zod schema for the input parameters of the 'batch_delete_messages' tool, requiring an array of message IDs.
    { ids: z.array(z.string()).describe("The IDs of the messages to delete") },
  • Shared helper function 'handleTool' used by 'batch_delete_messages' and other tools for OAuth authentication, client creation, and executing the Gmail API call.
    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/HitmanLy007/gmail-mcp'

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