Skip to content

MCP Tools Reference

MoMail exposes four MCP tools for email interaction. Each tool accepts specific parameters and returns structured data.

Search emails using natural language queries or specific filters.

Uses vector similarity search to find emails matching your query. Supports semantic matching, so you can search by meaning rather than exact keywords.

{
"query": "Q4 budget discussions from Sarah",
"mailbox_id": "mb_abc123",
"from": "[email protected]",
"subject": "budget",
"date_from": "2024-01-01",
"date_to": "2024-01-31",
"limit": 10,
"offset": 0
}
ParameterTypeRequiredDescription
querystringYesNatural language search query
mailbox_idstringNoFilter to specific mailbox
fromstringNoFilter by sender email
tostringNoFilter by recipient email
subjectstringNoFilter by subject (partial match)
date_fromstringNoStart date (YYYY-MM-DD)
date_tostringNoEnd date (YYYY-MM-DD)
limitnumberNoMax results (1-100, default: 10)
offsetnumberNoResults to skip (default: 0)
{
"results": [
{
"email_id": "msg_abc123",
"subject": "Q4 Budget Review",
"from": "[email protected]",
"date": "2024-01-15T10:30:00.000Z",
"snippet": "Hi team, I wanted to discuss our Q4 budget allocation...",
"score": 0.92
}
],
"total": 45
}
User: Find emails about the project deadline from last week
Claude: I'll search for emails about project deadlines from the past week.
[Tool Call: search_emails]
- query: "project deadline"
- date_from: "2024-01-08"
- date_to: "2024-01-15"
- limit: 10
Results:
- "Project Timeline Update" from [email protected] (score: 0.89)
- "Re: Q1 Deliverables" from [email protected] (score: 0.85)
- "Urgent: Schedule Changes" from [email protected] (score: 0.82)

Retrieve a specific email by its ID.

Fetches complete email details including body content and attachment metadata.

{
"email_id": "msg_abc123"
}
ParameterTypeRequiredDescription
email_idstringYesThe email message ID
{
"email": {
"email_id": "msg_abc123",
"subject": "Q4 Budget Review",
"from": "[email protected]",
"to": ["[email protected]"],
"cc": ["[email protected]"],
"date": "2024-01-15T10:30:00.000Z",
"body_text": "Hi team, I wanted to discuss our Q4 budget allocation...",
"has_attachments": true,
"attachment_ids": ["att_xyz789"]
}
}
User: Show me the full content of the first email
Claude: I'll retrieve the complete email for you.
[Tool Call: get_email]
- email_id: "msg_abc123"
The email from [email protected]:
Subject: Q4 Budget Review
Date: January 15, 2024 at 10:30 AM
Hi team, I wanted to discuss our Q4 budget allocation and get your feedback on the proposed changes...
This email has 1 attachment.

Retrieve all emails in a conversation thread.

Gets the complete thread including all messages in chronological order. Useful for understanding the full context of a conversation.

{
"thread_id": "thread_abc123",
"include_body": true
}
ParameterTypeRequiredDescription
thread_idstringYesThe thread identifier
include_bodybooleanNoInclude full body text (default: true)
{
"thread_id": "thread_abc123",
"thread": [
{
"email_id": "msg_001",
"subject": "Q4 Budget Review",
"from": "[email protected]",
"to": ["[email protected]"],
"date": "2024-01-15T10:30:00.000Z",
"body_text_snippet": "Hi team, I wanted to discuss..."
},
{
"email_id": "msg_002",
"subject": "Re: Q4 Budget Review",
"from": "[email protected]",
"date": "2024-01-15T11:45:00.000Z",
"body_text_snippet": "Thanks Sarah, here are my thoughts..."
}
]
}
User: Show me the entire conversation about the budget
Claude: I'll retrieve all emails in this thread.
[Tool Call: get_email_thread]
- thread_id: "thread_abc123"
- include_body: true
This thread contains 4 messages:
1. Jan 15, 10:30 AM - Sarah: "Q4 Budget Review" (original)
2. Jan 15, 11:45 AM - John: "Re: Q4 Budget Review"
3. Jan 15, 2:15 PM - Sarah: "Re: Q4 Budget Review"
4. Jan 16, 9:00 AM - Mike: "Re: Q4 Budget Review"

List all mailboxes for the authenticated user.

Returns mailbox details including email address, status, and email counts.

This tool accepts an empty object {} as parameters.

{
"mailboxes": [
{
"mailbox_id": "mb_abc123",
"email_address": "[email protected]",
"domain": "example.com",
"status": "active",
"email_count": 152,
"last_email_date": "2024-01-15T10:30:00.000Z"
},
{
"mailbox_id": "mb_xyz789",
"email_address": "[email protected]",
"domain": "company.com",
"status": "active",
"email_count": 89,
"last_email_date": "2024-01-14T16:20:00.000Z"
}
]
}
User: What mailboxes do I have?
Claude: Let me check your mailboxes.
[Tool Call: list_mailboxes]
You have 2 active mailboxes:
- 152 emails
- Last email: January 15, 2024
- 89 emails
- Last email: January 14, 2024
Use CaseRecommended Tool
Find emails matching a descriptionsearch_emails
Read a specific email’s contentget_email
See full conversation historyget_email_thread
Check which mailboxes existlist_mailboxes
Search within a date rangesearch_emails with date filters
Find emails from a specific personsearch_emails with from filter
  1. Use natural language in query: Instead of keywords, describe what you are looking for
  2. Combine filters: Use multiple filters together for precise results
  3. Start with small limit: Begin with 10 results, increase if needed
  4. Use dates for recency: Add date_from and date_to to find recent emails

Tools may return errors in these cases:

  • Invalid parameters: The request parameters failed validation
  • Email not found: The specified email_id does not exist
  • Thread not found: The specified thread_id does not exist
  • Rate limit exceeded: Too many requests in the current window
  • Authentication failed: Invalid or expired API key