TropMail MCP Server
Model Context Protocol (MCP) server providing email management tools for AI assistants. All tools use JSON-RPC 2.0 over HTTP with Bearer token authentication.
tropmail_get_mailbox mailbox
Retrieves mailbox summary information including email counts and statistics.
Returns a summary of the authenticated mailbox, including total counts of opened, closed, and favorited emails. No parameters required as the mailbox is determined by the API key used for authentication.
Parameters
No parameters required.
Examples
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "tropmail_get_mailbox",
"arguments": {}
}
}
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"content": [
{
"type": "text",
"text": "{\n \"id\": \"550e8400-e29b-41d4-a716-446655440000\",\n \"email\": \"user@example.com\",\n \"opened_count\": 10,\n \"closed_count\": 5,\n \"favorite_count\": 2\n}"
}
],
"isError": false
}
}
tropmail_list_emails email
Lists emails in the mailbox with pagination and filtering support.
Retrieves a paginated list of emails from the mailbox. Supports filtering by status and configurable page size. Results include email metadata like subject, sender, timestamp, and attachment count.
Parameters
| Name | Type | Description |
|---|---|---|
limitoptional |
integerdefault: 10 | Number of emails per page |
pageoptional |
integerdefault: 1 | Page number to retrieve |
statusoptional |
stringdefault: "all" | Filter by email status allOpenedClosedSavedBlockedPhishingScamMalicious |
Examples
{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/call",
"params": {
"name": "tropmail_list_emails",
"arguments": {
"limit": 20,
"page": 1,
"status": "Opened"
}
}
}
{
"jsonrpc": "2.0",
"id": 2,
"result": {
"content": [
{
"type": "text",
"text": "{\n \"emails\": [\n {\n \"id\": \"550e8400-e29b-41d4-a716-446655440000\",\n \"timestamp\": \"2025-01-01T00:00:00Z\",\n \"subject\": \"Welcome to TropMail\",\n \"from\": {\n \"name\": \"TropMail Team\",\n \"address\": \"support@tropmail.com\"\n },\n \"body\": \"Welcome to your new mailbox...\",\n \"attachmentsCount\": 0,\n \"status\": \"Opened\",\n \"email_state\": \"Opened\",\n \"action_status\": null\n }\n ],\n \"limit\": 20,\n \"page\": 1\n}"
}
],
"isError": false
}
}
tropmail_search_emails email
Searches emails by query string across subject, body, and sender.
Performs a full-text search across email subjects, body content, and sender information. Returns matching emails in a paginated list.
Parameters
| Name | Type | Description |
|---|---|---|
queryrequired |
string | Search query string |
limitoptional |
integerdefault: 10 | Number of results per page |
pageoptional |
integerdefault: 1 | Page number to retrieve |
Examples
{
"jsonrpc": "2.0",
"id": 3,
"method": "tools/call",
"params": {
"name": "tropmail_search_emails",
"arguments": {
"query": "invoice payment",
"limit": 10,
"page": 1
}
}
}
{
"jsonrpc": "2.0",
"id": 3,
"result": {
"content": [
{
"type": "text",
"text": "{\n \"emails\": [\n {\n \"id\": \"660f9511-e29b-41d4-a716-446655440001\",\n \"timestamp\": \"2025-01-15T10:30:00Z\",\n \"subject\": \"Invoice #1234 - Payment Due\",\n \"from\": {\n \"name\": \"Billing\",\n \"address\": \"billing@example.com\"\n },\n \"body\": \"Your invoice is ready for payment...\",\n \"attachmentsCount\": 1,\n \"status\": \"Closed\",\n \"email_state\": \"Closed\",\n \"action_status\": null\n }\n ],\n \"limit\": 10,\n \"page\": 1\n}"
}
],
"isError": false
}
}
tropmail_get_email email
Retrieves detailed information about a specific email.
Fetches complete email details including full content, headers, attachments, and security information. Supports multiple content formats (text, HTML, markdown).
Parameters
| Name | Type | Description |
|---|---|---|
email_idrequired |
string | UUID of the email to retrieve |
viewoptional |
stringdefault: "html" | Content view format texthtmlmarkdown |
Examples
{
"jsonrpc": "2.0",
"id": 4,
"method": "tools/call",
"params": {
"name": "tropmail_get_email",
"arguments": {
"email_id": "550e8400-e29b-41d4-a716-446655440000",
"view": "html"
}
}
}
{
"jsonrpc": "2.0",
"id": 4,
"result": {
"content": [
{
"type": "text",
"text": "{\n \"id\": \"550e8400-e29b-41d4-a716-446655440000\",\n \"from\": {\n \"name\": \"Sender\",\n \"address\": \"sender@example.com\"\n },\n \"to\": [\n {\n \"name\": \"\",\n \"address\": \"recipient@example.com\"\n }\n ],\n \"cc\": [],\n \"subject\": \"Important Update\",\n \"content\": \"Hello
Email content here...
\",\n \"timestamp\": \"2025-01-01T00:00:00Z\",\n \"status\": \"Opened\",\n \"email_state\": \"Opened\",\n \"action_status\": null,\n \"attachments\": [\n {\n \"attachment_id\": \"770g0600-e29b-41d4-a716-446655440002\",\n \"filename\": \"document.pdf\",\n \"size\": 12345,\n \"mime_type\": \"application/pdf\",\n \"scan_status\": \"Clean\"\n }\n ],\n \"headers\": {},\n \"security\": {}\n}"
}
],
"isError": false
}
}
tropmail_update_email email
Updates email state and/or action status.
Modifies an email's read/unread state or applies action statuses like Favorite, Block, or security classifications. Use empty string for action_status to clear any existing status.
Parameters
| Name | Type | Description |
|---|---|---|
email_idrequired |
string | UUID of the email to update |
email_stateoptional |
string | Set email read/unread state OpenClose |
action_statusoptional |
string | Set action status (empty string to clear) FavoriteDeleteBlockPhishingScamMalicious |
Examples
{
"jsonrpc": "2.0",
"id": 5,
"method": "tools/call",
"params": {
"name": "tropmail_update_email",
"arguments": {
"email_id": "550e8400-e29b-41d4-a716-446655440000",
"email_state": "Close",
"action_status": "Favorite"
}
}
}
{
"jsonrpc": "2.0",
"id": 5,
"result": {
"content": [
{
"type": "text",
"text": "{\n \"success\": true,\n \"message\": \"Email updated successfully\",\n \"data\": {\n \"email_id\": \"550e8400-e29b-41d4-a716-446655440000\",\n \"email_state\": \"Closed\",\n \"action_status\": \"Saved\"\n }\n}"
}
],
"isError": false
}
}
tropmail_get_attachment attachment
Retrieves attachment metadata including scan status and download URL.
Fetches detailed information about an email attachment, including file metadata, security scan status, and a temporary download URL.
Parameters
| Name | Type | Description |
|---|---|---|
attachment_idrequired |
string | UUID of the attachment |
Examples
{
"jsonrpc": "2.0",
"id": 6,
"method": "tools/call",
"params": {
"name": "tropmail_get_attachment",
"arguments": {
"attachment_id": "770g0600-e29b-41d4-a716-446655440002"
}
}
}
{
"jsonrpc": "2.0",
"id": 6,
"result": {
"content": [
{
"type": "text",
"text": "{\n \"attachment_id\": \"770g0600-e29b-41d4-a716-446655440002\",\n \"email_id\": \"550e8400-e29b-41d4-a716-446655440000\",\n \"filename\": \"document.pdf\",\n \"size\": 12345,\n \"mime_type\": \"application/pdf\",\n \"scan_status\": \"Clean\",\n \"scanned_at\": \"2025-01-01T00:05:00Z\",\n \"download_url\": \"https://dl.tropmail.com/abc123\"\n}"
}
],
"isError": false
}
}
tropmail_scan_attachment attachment
Triggers a security scan for an attachment.
Initiates an asynchronous security scan on an attachment. The scan checks for malware, viruses, and other security threats. Use tropmail_get_attachment to check scan status.
Parameters
| Name | Type | Description |
|---|---|---|
attachment_idrequired |
string | UUID of the attachment to scan |
Examples
{
"jsonrpc": "2.0",
"id": 7,
"method": "tools/call",
"params": {
"name": "tropmail_scan_attachment",
"arguments": {
"attachment_id": "770g0600-e29b-41d4-a716-446655440002"
}
}
}
{
"jsonrpc": "2.0",
"id": 7,
"result": {
"content": [
{
"type": "text",
"text": "{\n \"success\": true,\n \"message\": \"Scan initiated\",\n \"data\": {\n \"attachment_id\": \"770g0600-e29b-41d4-a716-446655440002\",\n \"scan_status\": \"Processing\"\n }\n}"
}
],
"isError": false
}
}
tropmail_get_download_url attachment
Gets or generates a secure download URL for an attachment.
Generates a time-limited, secure download URL for an attachment. URLs typically expire after a short period for security. Use this to download attachments after verifying they are safe.
Parameters
| Name | Type | Description |
|---|---|---|
attachment_idrequired |
string | UUID of the attachment |
Examples
{
"jsonrpc": "2.0",
"id": 8,
"method": "tools/call",
"params": {
"name": "tropmail_get_download_url",
"arguments": {
"attachment_id": "770g0600-e29b-41d4-a716-446655440002"
}
}
}
{
"jsonrpc": "2.0",
"id": 8,
"result": {
"content": [
{
"type": "text",
"text": "{\n \"success\": true,\n \"message\": \"Download URL retrieved\",\n \"data\": {\n \"attachment_id\": \"770g0600-e29b-41d4-a716-446655440002\",\n \"download_url\": \"https://dl.tropmail.com/abc123\",\n \"expires_at\": \"2025-01-01T01:00:00Z\"\n }\n}"
}
],
"isError": false
}
}
Data Types & Enums
Email States
Opened |
Closed |
Expired |
Action Statuses
Saved | Email is favorited/saved |
Deleted | Email is deleted |
Blocked | Email is blocked |
Phishing | Marked as phishing |
Scam | Marked as scam |
Malicious | Marked as malicious |
Scan Statuses
NotScanned | Not yet scanned |
Processing | Scan in progress |
Clean | Scan completed, no threats |
Malicious | Threat detected |
Suspicious | Suspicious content found |
Unknown | Scan result unknown |
Error Codes
| Code | Description |
|---|---|
401 | Authentication failed (invalid API key) |
403 | Access denied (tier restriction) |
404 | Resource not found |
429 | Rate limit exceeded |
500 | Internal server error |