Skip to main content
Glama

markAsRead

Mark email messages as read in your inbox using their unique identifiers. This tool helps manage email notifications and organize your mailbox by updating message status.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
uidYes
folderNoINBOX

Implementation Reference

  • Core implementation of markAsRead in MailService class. Connects to IMAP, opens the specified folder, and adds the '\Seen' flag to the email UID to mark it as read.
    async markAsRead(uid: number | string, folder: string = 'INBOX'): Promise<boolean> { await this.connectImap(); // 确保 uid 为数字类型 const numericUid = typeof uid === 'string' ? parseInt(uid, 10) : uid; return new Promise((resolve, reject) => { this.imapClient.openBox(folder, false, (err) => { if (err) { reject(err); return; } this.imapClient.addFlags(numericUid, '\\Seen', (err) => { if (err) { reject(err); return; } resolve(true); }); }); }); }
  • Registration of the 'markAsRead' MCP tool. Defines input schema using Zod (uid: number, folder: string default 'INBOX') and a wrapper handler that delegates to MailService.markAsRead and formats the response.
    "markAsRead", { uid: z.number(), folder: z.string().default('INBOX') }, async ({ uid, folder }) => { try { const numericUid = Number(uid); const success = await this.mailService.markAsRead(numericUid, folder); if (success) { return { content: [ { type: "text", text: `邮件(UID: ${uid})已标记为已读` } ] }; } else { return { content: [ { type: "text", text: `标记邮件(UID: ${uid})为已读失败` } ] }; } } catch (error) { return { content: [ { type: "text", text: `标记邮件为已读时发生错误: ${error instanceof Error ? error.message : String(error)}` } ] }; } }
  • Zod schema defining input parameters for the markAsRead tool: uid (number, required) and folder (string, defaults to 'INBOX').
    { uid: z.number(), folder: z.string().default('INBOX') },

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/shuakami/mcp-mail'

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