Skip to content

[Mail MCP] Add "move message" tool to enable inbox triage workflows (move to folder / archive) #86

@MarcRohde

Description

@MarcRohde

Area

Work IQ Mail MCP server (mcp_MailTools) — Microsoft Graph mail tools (preview)

Summary / Feature Request

Please add a Mail MCP tool that can MOVE an existing message to another mail folder (e.g., Archive, Processed, Action Required, etc.). Today, the Mail MCP server provides the ability to read/search messages and delete messages, but does not provide a way to move messages into a folder. This makes it difficult to build reliable inbox triage and workflow automation scenarios where messages must be categorized and retained rather than deleted.

Why this matters (real workflow impact)

We're trying to build an agent workflow that:

  1. identifies messages matching criteria (sender, subject, keywords, etc.)
  2. takes action to manage the inbox (triage)
  3. preserves messages for audit/tracking by filing them into folders

With only read/search + delete, the agent can't complete common inbox-management patterns like:

  • “Move to Processed” after handling
  • “Move to Needs Review” for exceptions
  • “Move to Archive” for retention
  • “Move to ” for organization

Deletion is not an acceptable substitute for many business workflows because it removes the message rather than classifying it.

Current Mail MCP tools (gap)

The current Mail MCP server lists tools such as:

  • getMessage / searchMessages (read)
  • deleteMessage (delete)
  • createMessage / sendDraft (compose/send)
  • reply / replyAll (respond)
    …but there is no moveMessage / moveToFolder equivalent. This is a major capability gap for inbox automation.

(Ref: Work IQ Mail MCP reference page)

Proposed Tool(s)

Option A: Add a dedicated move tool:

  • mcp_MailTools_graph_mail_moveMessage

Required parameters:

  • id: message ID
  • destinationFolderId OR destinationFolderPath (either one)

Optional parameters:

  • createFolderIfMissing: boolean
  • headers: optional

Return:

  • newMessageId (Graph typically creates a new ID after move)
  • destinationFolderId
  • movedDateTime

Option B: Support "archive" as a first-class operation:

  • mcp_MailTools_graph_mail_archiveMessage
    (Which moves to the default archive folder)

Acceptance Criteria

  • Can move a message to:
    • a standard folder (Inbox, Archive, Deleted Items, etc.)
    • a custom folder
  • Works for messages found via searchMessages
  • Returns the new message ID after move
  • Handles permissions and common errors clearly (folder not found, insufficient permissions, etc.)

Workarounds attempted

  • Deleting messages is not acceptable because we need classification + retention.
  • Replying/sending drafts does not help with inbox state management.
  • Without move, workflows become brittle because there is no way to reliably mark "processed" while retaining the original message.

Additional Notes

This request is specifically about enabling reliable agent-driven inbox triage workflows. A move capability would significantly expand the practical use of Mail MCP beyond read-only + delete.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions