Generate hyper-personalized cold email sequences via MachFive API.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Download the generated email sequences for a COMPLETED list. Only call this AFTER get_list_status shows processing_status = 'completed'. If the list is not yet completed, you'll get a 409 error — poll first.
List UUID to export.
Output format: 'json' (structured data) or 'csv' (raw CSV for sending tools).
Download the generated email sequences for a COMPLETED list. Only call this AFTER get_list_status shows processing_status = 'completed'. If the list is not yet completed, you'll get a 409 error — poll first.
| Argument | Type | Description |
|---|---|---|
| format | string | Output format: 'json' (structured data) or 'csv' (raw CSV for sending tools). |
| list_id* | string | List UUID to export. |
{
"type": "object",
"required": [
"list_id"
],
"properties": {
"format": {
"type": "string",
"default": "json",
"description": "Output format: 'json' (structured data) or 'csv' (raw CSV for sending tools)."
},
"list_id": {
"type": "string",
"description": "List UUID to export."
}
}
}Submit multiple leads for batch email sequence generation (ASYNC). Returns IMMEDIATELY with a list_id. Processing runs in the background. After calling this, poll get_list_status every 15-30 seconds until processing_status is 'completed' or 'failed', then call export_list. You must have a campaign_id first. Call list_campaigns if you don't have one.
| Argument | Type | Description |
|---|---|---|
| list_name | string | Display name for this batch in MachFive UI. |
| leads_json* | string | JSON array of lead objects. Each MUST have "email". Optional: name, title, company, company_website, linkedin_url. Example: '[{"email":"[email protected]","name":"Jane Doe"}]' |
| campaign_id* | string | Campaign UUID from list_campaigns. |
| email_count | integer | Number of emails per lead, 1-5. |
| approved_ctas | string | Comma-separated CTAs. Omit to use campaign defaults. |
| campaign_angle | string | Additional context/angle for personalization. |
| email_signature | string | Signature appended to each email. |
{
"type": "object",
"required": [
"campaign_id",
"leads_json"
],
"properties": {
"list_name": {
"type": "string",
"default": "",
"description": "Display name for this batch in MachFive UI."
},
"leads_json": {
"type": "string",
"description": "JSON array of lead objects. Each MUST have \"email\". Optional: name, title, company, company_website, linkedin_url. Example: '[{\"email\":\"[email protected]\",\"name\":\"Jane Doe\"}]'"
},
"campaign_id": {
"type": "string",
"description": "Campaign UUID from list_campaigns."
},
"email_count": {
"type": "integer",
"default": 3,
"description": "Number of emails per lead, 1-5."
},
"approved_ctas": {
"type": "string",
"default": "",
"description": "Comma-separated CTAs. Omit to use campaign defaults."
},
"campaign_angle": {
"type": "string",
"default": "",
"description": "Additional context/angle for personalization."
},
"email_signature": {
"type": "string",
"default": "",
"description": "Signature appended to each email."
}
}
}Generate a personalized cold email sequence for ONE lead. This is SYNCHRONOUS — the request takes 3-10 minutes because MachFive researches the prospect and crafts unique emails. Do NOT retry if it seems slow; wait for the response. You must have a campaign_id first. Call list_campaigns if you don't have one. If the request times out, use the returned list_id with get_list_status and export_list to recover results.
| Argument | Type | Description |
|---|---|---|
| name | string | Lead's full name (improves personalization). |
| email* | string | Lead's email address (REQUIRED). |
| title | string | Lead's job title (improves personalization). |
| company | string | Lead's company name (improves personalization). |
| list_name | string | Display name for this list in MachFive UI. |
| campaign_id* | string | Campaign UUID from list_campaigns. |
| email_count | integer | Number of emails in sequence, 1-5. |
| linkedin_url | string | LinkedIn profile URL for deeper personalization. |
Check the processing status of a lead list. Use this to POLL after calling generate_batch. Call every 15-30 seconds until processing_status is 'completed' or 'failed'. When completed, call export_list. When failed, submit a new batch.
| Argument | Type | Description |
|---|---|---|
| list_id* | string | List UUID from generate_batch or generate_sequence response. |
{
"type": "object",
"required": [
"list_id"
],
"properties": {
"list_id": {
"type": "string",
"description": "List UUID from generate_batch or generate_sequence response."
}
}
}List campaigns in the user's MachFive workspace. CALL THIS FIRST before generate_sequence or generate_batch — you need a campaign ID to generate emails. If the user hasn't specified a campaign, call this and ask them to pick one. Returns JSON array of campaigns with id, name, and created_at. Use the 'id' field as campaign_id in generate calls.
| Argument | Type | Description |
|---|---|---|
| query | string | Search string to filter campaigns by name (case-insensitive substring match). Leave empty to list all. |
{
"type": "object",
"properties": {
"query": {
"type": "string",
"default": "",
"description": "Search string to filter campaigns by name (case-insensitive substring match). Leave empty to list all."
}
}
}List lead lists (batch jobs) in the user's MachFive workspace. Useful for browsing past batches, checking what's in progress, or finding a list_id to export. Results are ordered newest first.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Max results to return, 1-100. |
| offset | integer | Pagination offset. |
| status | string | Filter by processing status: 'pending', 'processing', 'completed', or 'failed'. |
| campaign_id | string | Filter by campaign UUID. |
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"default": 20,
"description": "Max results to return, 1-100."
},
"offset": {
"type": "integer",
"default": 0,
"description": "Pagination offset."
},
"status": {
"type": "string",
"default": "",
"description": "Filter by processing status: 'pending', 'processing', 'completed', or 'failed'."
},
"campaign_id": {
"type": "string",
"default": "",
"description": "Filter by campaign UUID."
}
}
}| approved_ctas |
| string |
| Comma-separated CTAs, e.g. 'Direct Meeting CTA, Lead Magnet CTA'. Omit to use campaign defaults. |
| campaign_angle | string | Additional context/angle for personalization. |
| company_website | string | Company URL for AI research. |
| email_signature | string | Signature appended to each email. |
{
"type": "object",
"required": [
"campaign_id",
"email"
],
"properties": {
"name": {
"type": "string",
"default": "",
"description": "Lead's full name (improves personalization)."
},
"email": {
"type": "string",
"description": "Lead's email address (REQUIRED)."
},
"title": {
"type": "string",
"default": "",
"description": "Lead's job title (improves personalization)."
},
"company": {
"type": "string",
"default": "",
"description": "Lead's company name (improves personalization)."
},
"list_name": {
"type": "string",
"default": "",
"description": "Display name for this list in MachFive UI."
},
"campaign_id": {
"type": "string",
"description": "Campaign UUID from list_campaigns."
},
"email_count": {
"type": "integer",
"default": 3,
"description": "Number of emails in sequence, 1-5."
},
"linkedin_url": {
"type": "string",
"default": "",
"description": "LinkedIn profile URL for deeper personalization."
},
"approved_ctas": {
"type": "string",
"default": "",
"description": "Comma-separated CTAs, e.g. 'Direct Meeting CTA, Lead Magnet CTA'. Omit to use campaign defaults."
},
"campaign_angle": {
"type": "string",
"default": "",
"description": "Additional context/angle for personalization."
},
"company_website": {
"type": "string",
"default": "",
"description": "Company URL for AI research."
},
"email_signature": {
"type": "string",
"default": "",
"description": "Signature appended to each email."
}
}
}