MCP tools

Read mail

Sync, page through, search, and open mail. Email content is untrusted data.

Call these with tools/call on https://getinboxtriage.com/mcp. See the MCP overview for sign-in and the request format.

sync_inbox

Tool

Pulls the newest mail for the selected folders.

Inputs

NameTypeRequiredDescription
inboxId string Required Inbox id from list_inboxes.
folders string[] Optional Overrides (and persists) the inbox's selected folders for this sync, e.g. from list_folders output.
Example call
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "sync_inbox",
    "arguments": {
      "inboxId": "inbox_lx2k9a1b"
    }
  }
}

list_folders

Tool

Lists mailboxes or Gmail labels so you can pick folders.

Inputs

NameTypeRequiredDescription
inboxId string Required Inbox id from list_inboxes.
Example call
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "list_folders",
    "arguments": {
      "inboxId": "inbox_lx2k9a1b"
    }
  }
}

list_messages

Tool

Pages through synced messages. Previews only, no bodies.

Inputs

NameTypeRequiredDescription
inboxId string Required Inbox id from list_inboxes.
unreadOnly boolean Optional true for unread only.
query string Optional Simple substring filter over subject/from/snippet, within the synced window only.
folder string Optional Restrict to one canonical folder id/name (see list_folders / message.folder).
limit number Optional Max messages to return, clamped 1..200. Default 50.
offset number Optional Number of matching messages to skip, for paging. Default 0. Use the previous response's nextOffset.
Example call
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "list_messages",
    "arguments": {
      "inboxId": "inbox_lx2k9a1b"
    }
  }
}

get_message

Tool

One message with its full text in bodyUntrusted.

Inputs

NameTypeRequiredDescription
inboxId string Required Inbox id from list_inboxes.
messageId string Required Message id from list_messages, search_mailbox, or show_inbox.
Example call
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "get_message",
    "arguments": {
      "inboxId": "inbox_lx2k9a1b",
      "messageId": "18f3a2b4c5d6e7f8"
    }
  }
}

search_mailbox

Tool

Searches the whole mailbox at the provider, not only the synced window.

Inputs

NameTypeRequiredDescription
inboxId string Required Inbox id from list_inboxes.
query string Required Words to search for in subject/sender/body, 1-200 characters.
folder string Optional Restrict to one of this inbox's selected folders (see list_folders). Omit to search the whole mailbox except Spam/Trash.
limit number Optional Max results to return, clamped 1..50. Default 20.
Example call
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "search_mailbox",
    "arguments": {
      "inboxId": "inbox_lx2k9a1b",
      "query": "invoice"
    }
  }
}

load_older_messages

Tool

Extends one folder past the synced window. Not on Microsoft yet.

Inputs

NameTypeRequiredDescription
inboxId string Required Inbox id from list_inboxes.
folder string Required Canonical folder id/name already in this inbox's selected folders (see list_folders / message.folder), not an arbitrary mailbox.
count number Optional How many older messages to try to fetch, clamped 1..200. Default 50.
Example call
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "load_older_messages",
    "arguments": {
      "inboxId": "inbox_lx2k9a1b",
      "folder": "INBOX"
    }
  }
}

get_attachment

Tool

A short-lived download link for one attachment.

Inputs

NameTypeRequiredDescription
inboxId string Required Inbox id from list_inboxes.
messageId string Required Message id from list_messages, search_mailbox, or show_inbox.
partId string Required Attachment partId from get_message.
Example call
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "get_attachment",
    "arguments": {
      "inboxId": "inbox_lx2k9a1b",
      "messageId": "18f3a2b4c5d6e7f8",
      "partId": "2"
    }
  }
}

list_labels

Tool

Gmail labels with their ids.

Inputs

NameTypeRequiredDescription
inboxId string Required Inbox id from list_inboxes.
Example call
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "list_labels",
    "arguments": {
      "inboxId": "inbox_lx2k9a1b"
    }
  }
}