cold-email

Generate hyper-personalized cold email sequences via AI.

¿Debería usar esto?

Calidad y seguridad

A
Calidad de la descripción
100%
Integridad del esquema
97%
Calidad de los nombres
100%
Riesgo de envenenamiento
100%
Coincidencia de permisos
100%
Cumplimiento del protocolo
100%

Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.

Costo de contexto

~1,621Tokens (definiciones de herramientas)
~2.1 KBTamaño de respuesta típico
Impacto moderado en la atención (1.27% del contexto de 128k)

Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.

Instalar

Instalación con un clic

Agrega esto a tu archivo `claude_desktop_config.json`:

{
  "mcpServers": {
    "cold-email": {
      "url": "https://mcp.machfive.io/mcp/{api_key}"
    }
  }
}

Puntos de conexión remotos

https://mcp.machfive.io/mcp/{api_key}streamable-http

Qué puede hacer

Inventario de herramientas

Herramientas (6)

🟢 Solo lectura🟡 Escritura🔴 Eliminación⚪ Desconocido
🟢list_campaigns(query)

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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "query": {
      "default": "",
      "description": "Search string to filter campaigns by name (case-insensitive substring match). Leave empty to list all.",
      "type": "string"
    }
  }
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "result": {
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "description": "Generic wrapper for non-object return types.",
  "x-fastmcp-wrap-result": true
}
🟢generate_sequence(campaign_id, email, name, title, company, ...)

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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "campaign_id": {
      "description": "Campaign UUID from list_campaigns.",
      "type": "string"
    },
    "email": {
      "description": "Lead's email address (REQUIRED).",
      "type": "string"
    },
    "name": {
      "default": "",
      "description": "Lead's full name (improves personalization).",
      "type": "string"
    },
    "title": {
      "default": "",
      "description": "Lead's job title (improves personalization).",
      "type": "string"
    },
    "company": {
      "default": "",
      "description": "Lead's company name (improves personalization).",
      "type": "string"
    },
    "company_website": {
      "default": "",
      "description": "Company URL for AI research.",
      "type": "string"
    },
    "linkedin_url": {
      "default": "",
      "description": "LinkedIn profile URL for deeper personalization.",
      "type": "string"
    },
    "email_count": {
      "default": 3,
      "description": "Number of emails in sequence, 1-5.",
      "type": "integer"
    },
    "list_name": {
      "default": "",
      "description": "Display name for this list in MachFive UI.",
      "type": "string"
    },
    "email_signature": {
      "default": "",
      "description": "Signature appended to each email.",
      "type": "string"
    },
    "campaign_angle": {
      "default": "",
      "description": "Additional context/angle for personalization.",
      "type": "string"
    },
    "approved_ctas": {
      "default": "",
      "description": "Comma-separated CTAs, e.g. 'Direct Meeting CTA, Lead Magnet CTA'. Omit to use campaign defaults.",
      "type": "string"
    }
  },
  "required": [
    "campaign_id",
    "email"
  ]
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "result": {
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "description": "Generic wrapper for non-object return types.",
  "x-fastmcp-wrap-result": true
}
🟡generate_batch(campaign_id, leads_json, email_count, list_name, email_signature, ...)

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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "campaign_id": {
      "description": "Campaign UUID from list_campaigns.",
      "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"
    },
    "email_count": {
      "default": 3,
      "description": "Number of emails per lead, 1-5.",
      "type": "integer"
    },
    "list_name": {
      "default": "",
      "description": "Display name for this batch in MachFive UI.",
      "type": "string"
    },
    "email_signature": {
      "default": "",
      "description": "Signature appended to each email.",
      "type": "string"
    },
    "campaign_angle": {
      "default": "",
      "description": "Additional context/angle for personalization.",
      "type": "string"
    },
    "approved_ctas": {
      "default": "",
      "description": "Comma-separated CTAs. Omit to use campaign defaults.",
      "type": "string"
    }
  },
  "required": [
    "campaign_id",
    "leads_json"
  ]
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "result": {
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "description": "Generic wrapper for non-object return types.",
  "x-fastmcp-wrap-result": true
}
🟢list_lists(campaign_id, status, limit, offset)

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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "campaign_id": {
      "default": "",
      "description": "Filter by campaign UUID.",
      "type": "string"
    },
    "status": {
      "default": "",
      "description": "Filter by processing status: 'pending', 'processing', 'completed', or 'failed'.",
      "type": "string"
    },
    "limit": {
      "default": 20,
      "description": "Max results to return, 1-100.",
      "type": "integer"
    },
    "offset": {
      "default": 0,
      "description": "Pagination offset.",
      "type": "integer"
    }
  }
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "result": {
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "description": "Generic wrapper for non-object return types.",
  "x-fastmcp-wrap-result": true
}
🟢get_list_status(list_id)

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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "list_id": {
      "description": "List UUID from generate_batch or generate_sequence response.",
      "type": "string"
    }
  },
  "required": [
    "list_id"
  ]
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "result": {
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "description": "Generic wrapper for non-object return types.",
  "x-fastmcp-wrap-result": true
}
🟢export_list(list_id, format)

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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "list_id": {
      "description": "List UUID to export.",
      "type": "string"
    },
    "format": {
      "default": "json",
      "description": "Output format: 'json' (structured data) or 'csv' (raw CSV for sending tools).",
      "type": "string"
    }
  },
  "required": [
    "list_id"
  ]
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "result": {
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "description": "Generic wrapper for non-object return types.",
  "x-fastmcp-wrap-result": true
}

Comunidad

Califica este servidor

Evidencia

Observaciones recientes

verificadoversión no registrada6 herramientas
verificadoversión no registrada6 herramientas