Skip to main content
Glama

mark_as_read

Mark email messages as read to manage your inbox and track which messages you have viewed using the iMail-mcp server.

Instructions

Mark email messages as read

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
mailboxNoMailbox name (default: INBOX)INBOX
messageIdsYesArray of message IDs to mark as read

Implementation Reference

  • Core handler implementation that marks all messages in the mailbox as read by adding the IMAP \\Seen flag (ignores specific messageIds)
    async markAsRead( _messageIds: string[], mailbox: string = 'INBOX' ): Promise<void> { return new Promise((resolve, reject) => { this.imap.openBox(mailbox, false, (err: Error) => { if (err) { reject(err); return; } this.imap.search(['ALL'], (err: Error, results: number[]) => { if (err) { reject(err); return; } if (!results || results.length === 0) { resolve(); return; } this.imap.addFlags(results, ['\\Seen'], (err: Error) => { if (err) { reject(err); return; } resolve(); }); }); }); }); }
  • MCP server dispatch handler for the 'mark_as_read' tool call, extracts arguments and invokes the mail client method
    case 'mark_as_read': { if (!mailClient) { throw new McpError( ErrorCode.InvalidRequest, 'iCloud Mail not configured. Please set ICLOUD_EMAIL and ICLOUD_APP_PASSWORD environment variables.' ); } const messageIds = args?.messageIds as string[]; const mailbox = (args?.mailbox as string) || 'INBOX'; await mailClient.markAsRead(messageIds, mailbox); return { content: [ { type: 'text', text: `Marked ${messageIds.length} messages as read`, }, ], }; }
  • src/index.ts:110-129 (registration)
    Tool registration including name, description, and input schema definition in the ListTools response
    { name: 'mark_as_read', description: 'Mark email messages as read', inputSchema: { type: 'object', properties: { messageIds: { type: 'array', items: { type: 'string' }, description: 'Array of message IDs to mark as read', }, mailbox: { type: 'string', description: 'Mailbox name (default: INBOX)', default: 'INBOX', }, }, required: ['messageIds'], }, },

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/Racimy/iMail-mcp'

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