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
| Name | Type | Required | Description |
|---|---|---|---|
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
| Name | Type | Required | Description |
|---|---|---|---|
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
| Name | Type | Required | Description |
|---|---|---|---|
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
| Name | Type | Required | Description |
|---|---|---|---|
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
| Name | Type | Required | Description |
|---|---|---|---|
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
| Name | Type | Required | Description |
|---|---|---|---|
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
| Name | Type | Required | Description |
|---|---|---|---|
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
| Name | Type | Required | Description |
|---|---|---|---|
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"
}
}
}