Home

tropmail

v1.0.0
Base URL
https://mcp.tropmail.com/mcp

Inbound-only private email for contained agents: list, search, read, update, and scan mailbox mail via TropMail.

Connect

Add to your MCP client configuration:

{ "mcpServers": { "tropmail": { "url": "https://mcp.tropmail.com/mcp" } } }
Protocol MCP 2026-07-28Transport streamable-httpCapabilities tools

Tools

tropmail_list_mailboxes

read-onlyidempotent
TOOLtropmail_list_mailboxes

List inboxes this API key may see. Call first to learn mailbox ids for later tools.

Returns

Returns MCP content array (text, image, or embedded resource).

tropmail_list_mailboxes
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "name": "tropmail_list_mailboxes",
    "arguments": {}
  }
}
const result = await client.callTool("tropmail_list_mailboxes", {});
result = await session.call_tool("tropmail_list_mailboxes", arguments={})
Response
{
  "content": [
    {
      "type": "text",
      "text": "..."
    }
  ]
}

tropmail_get_mailbox

read-onlyidempotent
TOOLtropmail_get_mailbox

Mailbox summary counts (opened, closed, favorite). Requires a mailbox UUID from tropmail_list_mailboxes.

Parameters

mailbox_idstringrequiredargument

Mailbox UUID

Returns

Returns MCP content array (text, image, or embedded resource).

tropmail_get_mailbox
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "name": "tropmail_get_mailbox",
    "arguments": {
        "mailbox_id": "string"
      }
  }
}
const result = await client.callTool("tropmail_get_mailbox", {
  "mailbox_id": "string"
});
result = await session.call_tool("tropmail_get_mailbox", arguments={
  "mailbox_id": "string"
})
Response
{
  "content": [
    {
      "type": "text",
      "text": "..."
    }
  ]
}

tropmail_list_emails

read-onlyidempotent
TOOLtropmail_list_emails

List emails with pagination and optional status filter. Prefer small limits for LLM context.

Parameters

mailbox_idstringrequiredargument

Mailbox UUID

limitinteger[1, 100]10argument

Emails per page

pageinteger>= 11argument

Page number

statusstringallOpenCloseFavoriteBlockPhishingScamMaliciousallargument

Filter by status

Returns

Returns MCP content array (text, image, or embedded resource).

tropmail_list_emails
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "name": "tropmail_list_emails",
    "arguments": {
        "mailbox_id": "string",
        "limit": 10,
        "page": 1,
        "status": "all"
      }
  }
}
const result = await client.callTool("tropmail_list_emails", {
  "mailbox_id": "string",
  "limit": 10,
  "page": 1,
  "status": "all"
});
result = await session.call_tool("tropmail_list_emails", arguments={
  "mailbox_id": "string",
  "limit": 10,
  "page": 1,
  "status": "all"
})
Response
{
  "content": [
    {
      "type": "text",
      "text": "..."
    }
  ]
}

tropmail_search_emails

read-onlyidempotent
TOOLtropmail_search_emails

Full-text search emails in the mailbox. Requires a non-empty query.

Parameters

mailbox_idstringrequiredargument

Mailbox UUID

querystringrequiredargument

Full-text search query

limitinteger[1, 100]10argument

Results per page

pageinteger>= 11argument

Page number

Returns

Returns MCP content array (text, image, or embedded resource).

tropmail_search_emails
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "name": "tropmail_search_emails",
    "arguments": {
        "mailbox_id": "string",
        "query": "string",
        "limit": 10,
        "page": 1
      }
  }
}
const result = await client.callTool("tropmail_search_emails", {
  "mailbox_id": "string",
  "query": "string",
  "limit": 10,
  "page": 1
});
result = await session.call_tool("tropmail_search_emails", arguments={
  "mailbox_id": "string",
  "query": "string",
  "limit": 10,
  "page": 1
})
Response
{
  "content": [
    {
      "type": "text",
      "text": "..."
    }
  ]
}

tropmail_get_email

read-onlyidempotent
TOOLtropmail_get_email

Get one email by UUID (default view: text). Prefer text or markdown for agents. Markdown may block up to ~60s on first conversion.

Parameters

mailbox_idstringrequiredargument

Mailbox UUID

email_idstringrequiredargument

Email UUID

viewstringtexthtmlmarkdowntextargument

Content view

Returns

Returns MCP content array (text, image, or embedded resource).

tropmail_get_email
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "name": "tropmail_get_email",
    "arguments": {
        "mailbox_id": "string",
        "email_id": "string",
        "view": "text"
      }
  }
}
const result = await client.callTool("tropmail_get_email", {
  "mailbox_id": "string",
  "email_id": "string",
  "view": "text"
});
result = await session.call_tool("tropmail_get_email", arguments={
  "mailbox_id": "string",
  "email_id": "string",
  "view": "text"
})
Response
{
  "content": [
    {
      "type": "text",
      "text": "..."
    }
  ]
}

tropmail_update_email

TOOLtropmail_update_email

Update email_state and/or action_status. Send empty action_status to clear.

Parameters

mailbox_idstringrequiredargument

Mailbox UUID

email_idstringrequiredargument

Email UUID

email_statestringOpenCloseargument

Open or Close

action_statusstringFavoriteDeleteBlockPhishingScamMaliciousargument

Action status or empty string to clear

timestampstringargument

Optional RFC3339 timestamp from the list or detail response

Returns

Returns MCP content array (text, image, or embedded resource).

tropmail_update_email
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "name": "tropmail_update_email",
    "arguments": {
        "mailbox_id": "string",
        "email_id": "string",
        "email_state": "Open",
        "action_status": "Favorite",
        "timestamp": "string"
      }
  }
}
const result = await client.callTool("tropmail_update_email", {
  "mailbox_id": "string",
  "email_id": "string",
  "email_state": "Open",
  "action_status": "Favorite",
  "timestamp": "string"
});
result = await session.call_tool("tropmail_update_email", arguments={
  "mailbox_id": "string",
  "email_id": "string",
  "email_state": "Open",
  "action_status": "Favorite",
  "timestamp": "string"
})
Response
{
  "content": [
    {
      "type": "text",
      "text": "..."
    }
  ]
}

tropmail_scan_email_attachments

TOOLtropmail_scan_email_attachments

Start a malware scan for all attachments on an email. Poll tropmail_get_attachment until scan_status leaves Processing.

Parameters

mailbox_idstringrequiredargument

Mailbox UUID

email_idstringrequiredargument

Email UUID

Returns

Returns MCP content array (text, image, or embedded resource).

tropmail_scan_email_attachments
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "name": "tropmail_scan_email_attachments",
    "arguments": {
        "mailbox_id": "string",
        "email_id": "string"
      }
  }
}
const result = await client.callTool("tropmail_scan_email_attachments", {
  "mailbox_id": "string",
  "email_id": "string"
});
result = await session.call_tool("tropmail_scan_email_attachments", arguments={
  "mailbox_id": "string",
  "email_id": "string"
})
Response
{
  "content": [
    {
      "type": "text",
      "text": "..."
    }
  ]
}

tropmail_get_email_download_urls

read-onlyidempotent
TOOLtropmail_get_email_download_urls

List attachments on an email for download (ids + available). Then call tropmail_get_download_url per attachment_id.

Parameters

mailbox_idstringrequiredargument

Mailbox UUID

email_idstringrequiredargument

Email UUID

Returns

Returns MCP content array (text, image, or embedded resource).

tropmail_get_email_download_urls
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "name": "tropmail_get_email_download_urls",
    "arguments": {
        "mailbox_id": "string",
        "email_id": "string"
      }
  }
}
const result = await client.callTool("tropmail_get_email_download_urls", {
  "mailbox_id": "string",
  "email_id": "string"
});
result = await session.call_tool("tropmail_get_email_download_urls", arguments={
  "mailbox_id": "string",
  "email_id": "string"
})
Response
{
  "content": [
    {
      "type": "text",
      "text": "..."
    }
  ]
}

tropmail_get_attachment

read-onlyidempotent
TOOLtropmail_get_attachment

Attachment metadata including scan_status and scan_result.

Parameters

mailbox_idstringrequiredargument

Mailbox UUID

attachment_idstringrequiredargument

Attachment UUID

Returns

Returns MCP content array (text, image, or embedded resource).

tropmail_get_attachment
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "name": "tropmail_get_attachment",
    "arguments": {
        "mailbox_id": "string",
        "attachment_id": "string"
      }
  }
}
const result = await client.callTool("tropmail_get_attachment", {
  "mailbox_id": "string",
  "attachment_id": "string"
});
result = await session.call_tool("tropmail_get_attachment", arguments={
  "mailbox_id": "string",
  "attachment_id": "string"
})
Response
{
  "content": [
    {
      "type": "text",
      "text": "..."
    }
  ]
}

tropmail_scan_attachment

TOOLtropmail_scan_attachment

Start a malware scan for one attachment. Poll tropmail_get_attachment for results.

Parameters

mailbox_idstringrequiredargument

Mailbox UUID

attachment_idstringrequiredargument

Attachment UUID

Returns

Returns MCP content array (text, image, or embedded resource).

tropmail_scan_attachment
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "name": "tropmail_scan_attachment",
    "arguments": {
        "mailbox_id": "string",
        "attachment_id": "string"
      }
  }
}
const result = await client.callTool("tropmail_scan_attachment", {
  "mailbox_id": "string",
  "attachment_id": "string"
});
result = await session.call_tool("tropmail_scan_attachment", arguments={
  "mailbox_id": "string",
  "attachment_id": "string"
})
Response
{
  "content": [
    {
      "type": "text",
      "text": "..."
    }
  ]
}

tropmail_get_download_url

read-onlyidempotent
TOOLtropmail_get_download_url

Download one attachment as base64 (max ~4MB). Prefer SDK/CLI for larger files.

Parameters

mailbox_idstringrequiredargument

Mailbox UUID

attachment_idstringrequiredargument

Attachment UUID

Returns

Returns MCP content array (text, image, or embedded resource).

tropmail_get_download_url
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "name": "tropmail_get_download_url",
    "arguments": {
        "mailbox_id": "string",
        "attachment_id": "string"
      }
  }
}
const result = await client.callTool("tropmail_get_download_url", {
  "mailbox_id": "string",
  "attachment_id": "string"
});
result = await session.call_tool("tropmail_get_download_url", arguments={
  "mailbox_id": "string",
  "attachment_id": "string"
})
Response
{
  "content": [
    {
      "type": "text",
      "text": "..."
    }
  ]
}