Skip to main content
Glama

untrash_thread

Restore deleted email threads from Gmail trash to your inbox using thread ID. Recover accidentally removed conversations.

Instructions

Remove a thread from the trash

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idYesThe ID of the thread to remove from trash

Implementation Reference

  • src/index.ts:804-815 (registration)
    Registration of the 'untrash_thread' tool, including input schema (thread ID) and handler function. The handler uses the shared 'handleTool' utility to authenticate and call the Gmail API's users.threads.untrash method to remove the specified thread from trash.
    server.tool("untrash_thread", "Remove a thread from the trash", { id: z.string().describe("The ID of the thread to remove from trash") }, async (params) => { return handleTool(config, async (gmail: gmail_v1.Gmail) => { const { data } = await gmail.users.threads.untrash({ userId: 'me', id: params.id }) return formatResponse(data) }) } )
  • Inline handler function for 'untrash_thread' tool that invokes the Gmail API to untrash the thread.
    async (params) => { return handleTool(config, async (gmail: gmail_v1.Gmail) => { const { data } = await gmail.users.threads.untrash({ userId: 'me', id: params.id }) return formatResponse(data) })
  • Input schema for 'untrash_thread' tool: requires 'id' string parameter for the thread ID.
    { id: z.string().describe("The ID of the thread to remove from trash") },
  • Shared 'handleTool' helper used by 'untrash_thread' (and other tools) for OAuth2 authentication, 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}` } }
  • Shared 'formatResponse' helper used by 'untrash_thread' (and other tools) to format API responses for MCP.
    const formatResponse = (response: any) => ({ content: [{ type: "text", text: JSON.stringify(response) }] })

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