Server definition
- Hash
- sha256:0e1f8569ccb7fc86aad93c2ab60a5a707550f38ca90fef7238c75bbfd65f683a
- What it is
- What a remote MCP server returned when asked what it offers: 6 tools
The blob, as servednamed by its sha256
{
"instructions": "MachFive generates hyper-personalized cold email sequences. Start by calling list_campaigns to find a campaign ID, then use generate_sequence (single lead) or generate_batch (multiple leads). For batches: poll get_list_status until completed, then call export_list.",
"tools": [
{
"description": "Download the generated email sequences for a COMPLETED list.\n\nOnly call this AFTER get_list_status shows processing_status = 'completed'.\nIf the list is not yet completed, you'll get a 409 error — poll first.",
"inputSchema": {
"properties": {
"format": {
"default": "json",
"description": "Output format: 'json' (structured data) or 'csv' (raw CSV for sending tools).",
"type": "string"
},
"list_id": {
"description": "List UUID to export.",
"type": "string"
}
},
"required": [
"list_id"
],
"type": "object"
},
"name": "export_list",
"outputSchema": {
"description": "Generic wrapper for non-object return types.",
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
],
"type": "object",
"x-fastmcp-wrap-result": true
}
},
{
"description": "Submit multiple leads for batch email sequence generation (ASYNC).\n\nReturns IMMEDIATELY with a list_id. Processing runs in the background.\nAfter calling this, poll get_list_status every 15-30 seconds until\nprocessing_status is 'completed' or 'failed', then call export_list.\n\nYou must have a campaign_id first. Call list_campaigns if you don't have one.",
"inputSchema": {
"properties": {
"approved_ctas": {
"default": "",
"description": "Comma-separated CTAs. Omit to use campaign defaults.",
"type": "string"
},
"campaign_angle": {
"default": "",
"description": "Additional context/angle for personalization.",
"type": "string"
},
"campaign_id": {
"description": "Campaign UUID from list_campaigns.",
"type": "string"
},
"email_count": {
"default": 3,
"description": "Number of emails per lead, 1-5.",
"type": "integer"
},
"email_signature": {
"default": "",
"description": "Signature appended to each email.",
"type": "string"
},
"leads_json": {
"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\"}]'",
"type": "string"
},
"list_name": {
"default": "",
"description": "Display name for this batch in MachFive UI.",
"type": "string"
}
},
"required": [
"campaign_id",
"leads_json"
],
"type": "object"
},
"name": "generate_batch",
"outputSchema": {
"description": "Generic wrapper for non-object return types.",
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
],
"type": "object",
"x-fastmcp-wrap-result": true
}
},
{
"description": "Generate a personalized cold email sequence for ONE lead.\n\nThis is SYNCHRONOUS — the request takes 3-10 minutes because MachFive\nresearches the prospect and crafts unique emails. Do NOT retry if it\nseems slow; wait for the response.\n\nYou must have a campaign_id first. Call list_campaigns if you don't have one.\nIf the request times out, use the returned list_id with get_list_status\nand export_list to recover results.",
"inputSchema": {
"properties": {
"approved_ctas": {
"default": "",
"description": "Comma-separated CTAs, e.g. 'Direct Meeting CTA, Lead Magnet CTA'. Omit to use campaign defaults.",
"type": "string"
},
"campaign_angle": {
"default": "",
"description": "Additional context/angle for personalization.",
"type": "string"
},
"campaign_id": {
"description": "Campaign UUID from list_campaigns.",
"type": "string"
},
"company": {
"default": "",
"description": "Lead's company name (improves personalization).",
"type": "string"
},
"company_website": {
"default": "",
"description": "Company URL for AI research.",
"type": "string"
},
"email": {
"description": "Lead's email address (REQUIRED).",
"type": "string"
},
"email_count": {
"default": 3,
"description": "Number of emails in sequence, 1-5.",
"type": "integer"
},
"email_signature": {
"default": "",
"description": "Signature appended to each email.",
"type": "string"
},
"linkedin_url": {
"default": "",
"description": "LinkedIn profile URL for deeper personalization.",
"type": "string"
},
"list_name": {
"default": "",
"description": "Display name for this list in MachFive UI.",
"type": "string"
},
"name": {
"default": "",
"description": "Lead's full name (improves personalization).",
"type": "string"
},
"title": {
"default": "",
"description": "Lead's job title (improves personalization).",
"type": "string"
}
},
"required": [
"campaign_id",
"email"
],
"type": "object"
},
"name": "generate_sequence",
"outputSchema": {
"description": "Generic wrapper for non-object return types.",
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
],
"type": "object",
"x-fastmcp-wrap-result": true
}
},
{
"description": "Check the processing status of a lead list.\n\nUse this to POLL after calling generate_batch. Call every 15-30 seconds\nuntil processing_status is 'completed' or 'failed'.\nWhen completed, call export_list. When failed, submit a new batch.",
"inputSchema": {
"properties": {
"list_id": {
"description": "List UUID from generate_batch or generate_sequence response.",
"type": "string"
}
},
"required": [
"list_id"
],
"type": "object"
},
"name": "get_list_status",
"outputSchema": {
"description": "Generic wrapper for non-object return types.",
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
],
"type": "object",
"x-fastmcp-wrap-result": true
}
},
{
"description": "List campaigns in the user's MachFive workspace.\n\nCALL THIS FIRST before generate_sequence or generate_batch — you need a\ncampaign ID to generate emails. If the user hasn't specified a campaign,\ncall this and ask them to pick one.\n\nReturns JSON array of campaigns with id, name, and created_at.\nUse the 'id' field as campaign_id in generate calls.",
"inputSchema": {
"properties": {
"query": {
"default": "",
"description": "Search string to filter campaigns by name (case-insensitive substring match). Leave empty to list all.",
"type": "string"
}
},
"type": "object"
},
"name": "list_campaigns",
"outputSchema": {
"description": "Generic wrapper for non-object return types.",
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
],
"type": "object",
"x-fastmcp-wrap-result": true
}
},
{
"description": "List lead lists (batch jobs) in the user's MachFive workspace.\n\nUseful for browsing past batches, checking what's in progress, or finding\na list_id to export. Results are ordered newest first.",
"inputSchema": {
"properties": {
"campaign_id": {
"default": "",
"description": "Filter by campaign UUID.",
"type": "string"
},
"limit": {
"default": 20,
"description": "Max results to return, 1-100.",
"type": "integer"
},
"offset": {
"default": 0,
"description": "Pagination offset.",
"type": "integer"
},
"status": {
"default": "",
"description": "Filter by processing status: 'pending', 'processing', 'completed', or 'failed'.",
"type": "string"
}
},
"type": "object"
},
"name": "list_lists",
"outputSchema": {
"description": "Generic wrapper for non-object return types.",
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
],
"type": "object",
"x-fastmcp-wrap-result": true
}
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:0e1f8569ccb7fc86aad93c2ab60a5a707550f38ca90fef7238c75bbfd65f683a | sha256sum