List replies
Most recent replies, bounces, out-of-office notes and unsubscribes with the message text.
MCP tool mailshake_read → list_replies
Returns the newest replies to your sent emails, 25 to a page, newest first. type tells a real reply from a bounce, an out-of-office note, an unsubscribe or a delay notification; pass reply_type reply to get only real replies. Each item carries the plain-text body, the campaign and the recipient. recipient_email_address also matches part of an address, so a domain finds everyone at that company.
Parameters
| Name | Type | Description |
|---|---|---|
| reply_type enum | enum | reply, bounce, out-of-office, unsubscribe or delay-notification. Default: all types. |
| campaign_id integer | integer | Only replies in this campaign. |
| recipient_email_address string | string | An address, or part of one such as a domain. |
| per_page integer | integer | 1 to 25. Default: 25. |
| next_token string | string | Next page token from the previous call. |
tools/call
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "mailshake_read",
"arguments": {
"operation": "list_replies",
"arguments": {}
}
}
} Example response
{
"content": [
{
"type": "text",
"text": "{ ... same JSON as structuredContent ... }"
}
],
"structuredContent": {
"results": [
{
"reply_id": 88140,
"type": "reply",
"action_date": "2026-10-21T14:12:00.000Z",
"recipient": {
"id": 771204,
"email_address": "dana@brightpath.example",
"full_name": "Dana Whitfield"
},
"campaign": {
"id": 4821,
"title": "Agency outreach Q4"
},
"subject": "Re: Quick question about your client reporting",
"body": "Hi Sam, we are open to a call. What does pricing look like?"
}
],
"next_token": null
},
"isError": false
}