Skip to main content
Glama

agent-cold-email

Server Details

Coldrig — cold-email infra run by your agent: 28 MCP tools, live sending, free sandbox, from $99/mo.

The last two health checks of this connector failed. If this server requires authentication, missing or expired test credentials may be the cause. A test profile lets Glama authenticate for health checks and discover tools; it is separate from your personal connections.

If you are the author, claim ownership, then add or update a test profile under Admin → Test Profile.

Status
Unhealthy
Uptime
81.1% over 75 days
OAuth
Works in Glama
Last Tested
Transport
Streamable HTTP
URL
Server Listing
agent-cold-email

TDQS

A4.1/5.0

Scored across 34 tools

Disambiguation4/5

Most tools target a clearly distinct resource or action, and the descriptions explicitly disambiguate near-neighbors such as mark vs label_thread vs ack_message, campaign_results vs metrics vs list_campaigns, and reply vs add_leads. Some pairs like pause vs suppress_lead and configure_byo_domain vs setup_infrastructure require careful reading, but are still separable.

Naming Consistency3/5

Many names follow a verb_noun pattern (list_campaigns, add_leads, launch_campaign, update_lead), but the set also includes bare nouns (account, inbox, metrics, thread) and bare verbs (pause, resume, reply, mark). Everything is snake_case and readable, but there is no single predictable convention.

Tool Count2/5

With 34 tools, the surface is heavy for the rubric's 25+ threshold, even though the domain is complex. Several capabilities are already packed into multi-action tools, and further consolidation or grouping could reduce sprawl without losing core coverage.

Completeness4/5

The surface covers campaign creation/lifecycle, lead disposition and suppression, infrastructure and BYO domain setup, inbox triage, webhooks, dashboards, operator contact, and account metrics. Notable gaps are campaign update/delete and domain deletion, but the core cold-email workflows are well represented.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 2 tool updates
    • Addeddisconnect_app
    • Addedget_connected_apps
  2. 3 tool updates
    • Addedadd_leads
    • Changedlaunch_campaign7 fields changed
      • addedInput schema / properties / includeAlreadyEmailed
        Added value: +{
        +  "description": "Optional. true also stores and emails the contacts who already got this campaign's first email from another campaign of this account; without it they are skipped and counted in alreadyEmailed.",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / leads / items / properties / firstName / default
        Added value: +""
      • removedInput schema / properties / leads / items / properties / firstName / minLength
        Removed value: -1
      • addedInput schema / properties / leads / items / properties / vars
        Added value: +{
        +  "additionalProperties": {
        +    "maxLength": 2000,
        +    "type": "string"
        +  },
        +  "description": "Optional per-lead values for your own {{tokens}}: a flat map of word-keys (letters, digits, underscore; up to 64 chars) to one-line strings (up to 2000 chars), at most 50 keys. A {{key}} used in any subject or body must be present, non-empty, on EVERY lead or the launch is refused (400) naming it. A key may not be firstName or company.",
        +  "propertyNames": {
        +    "maxLength": 64,
        +    "pattern": "^\\w+$",
        +    "type": "string"
        +  },
        +  "type": "object"
        +}
      • changedInput schema / properties / leads / items / required
        Previous value: -[
        -  "email",
        -  "firstName"
        -]New value: +[
        +  "email"
        +]
      • addedInput schema / properties / previewOnly
        Added value: +{
        +  "description": "Optional. true = a dry run: every launch check runs and you get back the rendered subject and body of every step for the first three leads plus the counts a launch would report, and NOTHING is created or sent. Send the same request without it to launch.",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / repeatOf
        Added value: +{
        +  "description": "Optional. Send it only to repeat a campaign on purpose: the existingCampaignId that a 409 duplicate_campaign refusal of this launch named. Accepted once, and only while it names the most recent campaign of this account with the same contacts and the same subjects and bodies as written; any other value is refused and nothing is created.",
        +  "maxLength": 200,
        +  "minLength": 1,
        +  "type": "string"
        +}
    • Addedresume
  3. 4 tool updates
    • Changedlaunch_campaign3 fields changed
      • addedInput schema / properties / endBy
        Added value: +{
        +  "description": "Optional fixed end date, as an ISO 8601 instant with a zone. From then on nothing more in this campaign sends: every step still waiting is skipped and recorded as a 'failed' event with reason campaign_ended. Paid accounts only: a trial account that sends one is refused 400. Must be later than now and later than every step's notBefore. Omit to let the sequence run to its end.",
        +  "format": "date-time",
        +  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
        +  "type": "string"
        +}
      • addedInput schema / properties / listSource
        Added value: +{
        +  "description": "Where this lead list came from, in a sentence (e.g. \"our own past-donor CRM export\"). REQUIRED on a crowdfunding account: a launch with no source, or \"unknown\", is refused (400) — cold lists are allowed only with a stated source. Optional elsewhere. Max 500 characters.",
        +  "maxLength": 500,
        +  "type": "string"
        +}
      • addedInput schema / properties / sequence / items / properties / notBefore
        Added value: +{
        +  "description": "Optional fixed date this step is held until, as an ISO 8601 instant with a zone (e.g. \"2026-11-03T09:00:00-05:00\" or \"...Z\"). The step goes out at the later of notBefore and delayDays after the previous step actually sent, still inside sendWindow. Paid accounts only: a trial account that sends one is refused 400, so use delayDays while on trial. Omit to send on delayDays alone.",
        +  "format": "date-time",
        +  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
        +  "type": "string"
        +}
    • Changedpause1 field changed
      • addedInput schema / properties / leadEmails
        Added value: +{
        +  "description": "Optional. Stop ONLY these leads in this campaign (any capitalisation): their remaining steps are cancelled, the campaign keeps running for everyone else, and nobody is added to the suppression list. Every address must be a lead of this campaign, or nothing is stopped and the call is refused naming the ones that are not. Omit to pause the whole campaign.",
        +  "items": {
        +    "format": "email",
        +    "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
        +    "type": "string"
        +  },
        +  "maxItems": 5000,
        +  "minItems": 1,
        +  "type": "array"
        +}
    • Addedplan_campaign
    • Addedsubmit_feedback
  4. 1 tool update
    • Changedlaunch_campaign7 fields changed
      • removedInput schema / properties / sendWindow / default
        Removed value: -{
        -  "endHour": 23,
        -  "startHour": 0
        -}
      • addedInput schema / properties / sendWindow / description
        Added value: +"Integer hours 0-23 (endHour inclusive: the last hour a send may start in) and weekdays, evaluated in `timezone`. Each field you omit (or all of them, by omitting sendWindow) gets the recommended {\"startHour\":8,\"endHour\":16,\"days\":[1,2,3,4,5]} — except on a sandbox account, where omitted fields are open every hour of every day until it upgrades and they take the recommended default. If you set exactly ONE of startHour/endHour, the other still defaults to the recommended value (08/16) — if that combination would wrap past midnight (start > end), the launch is refused; set both explicitly, including for a deliberate overnight window."
      • addedInput schema / properties / sendWindow / properties / days
        Added value: +{
        +  "description": "Weekdays sends may go out on, in `timezone`: 0 = Sunday … 6 = Saturday. Omit for [1,2,3,4,5] (every day while the account is a sandbox); include 0 and 6 to send on weekends.",
        +  "items": {
        +    "maximum": 6,
        +    "minimum": 0,
        +    "type": "integer"
        +  },
        +  "maxItems": 7,
        +  "minItems": 1,
        +  "type": "array"
        +}
      • removedInput schema / properties / sendWindow / required
        Removed value: -[
        -  "startHour",
        -  "endHour"
        -]
      • addedInput schema / properties / sequence / items / properties / subject / description
        Added value: +"Required on step 1. A LATER step (step > 1) may omit it to keep step 1's subject line (recommended) — it resolves at launch to \"Re: \" + step 1's subject (unchanged if that already starts with \"Re: \"). Set one explicitly on a later step to change only its subject line: every later step is still sent In-Reply-To step 1, though some mail clients display a changed subject as a separate conversation."
      • changedInput schema / properties / sequence / items / required
        Previous value: -[
        -  "step",
        -  "subject",
        -  "body",
        -  "delayDays"
        -]New value: +[
        +  "step",
        +  "body",
        +  "delayDays"
        +]
      • addedInput schema / properties / timezone / description
        Added value: +"IANA time zone the send window is evaluated in — set it to your recipients' zone. Default UTC."
  5. 1 tool update
    • Changedconfigure_webhook1 field changed
      • changedInput schema / properties / eventTypes / description
        Previous value: -"Required for create: which events to push (reply | bounce | soft_bounce | complaint)."New value: +"Required for create: which events to push (reply | bounce | soft_bounce | complaint | unsubscribe)."
  6. 1 tool update
    • Changedsetup_infrastructure2 fields changed
      • addedInput schema / properties / distribution
        Added value: +{
        +  "items": {
        +    "maximum": 10,
        +    "minimum": 1,
        +    "type": "integer"
        +  },
        +  "maxItems": 20,
        +  "minItems": 1,
        +  "type": "array"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "brand",
        -  "primaryDomain",
        -  "domains",
        -  "inboxesEach",
        -  "persona",
        -  "physicalAddress",
        -  "senderIdentity"
        -]New value: +[
        +  "brand",
        +  "primaryDomain",
        +  "domains",
        +  "persona",
        +  "physicalAddress",
        +  "senderIdentity"
        +]
  7. 1 tool update
    • Addedcontact_operator
  8. 3 tool updates
    • Addedack_message
    • Addedlist_messages
    • Changedremove_mailboxes1 field changed
      • addedInput schema / properties / idempotencyKey
        Added value: +{
        +  "description": "Optional idempotency key: resend the SAME key when retrying this call so a dropped-response retry is not applied twice (no duplicate campaign/provision/send).",
        +  "maxLength": 200,
        +  "minLength": 1,
        +  "type": "string"
        +}
  9. 1 tool update
    • Changedsetup_infrastructure1 field changed
      • removedInput schema / properties / registerDomains / default
        Removed value: -false
  10. 1 tool update
    • Changedsetup_infrastructure2 fields changed
      • addedInput schema / properties / registerDomains
        Added value: +{
        +  "default": false,
        +  "type": "boolean"
        +}
      • addedInput schema / properties / registrant
        Added value: +{
        +  "properties": {
        +    "addressLine1": {
        +      "maxLength": 500,
        +      "minLength": 1,
        +      "type": "string"
        +    },
        +    "city": {
        +      "maxLength": 200,
        +      "minLength": 1,
        +      "type": "string"
        +    },
        +    "country": {
        +      "maxLength": 100,
        +      "minLength": 1,
        +      "type": "string"
        +    },
        +    "email": {
        +      "format": "email",
        +      "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
        +      "type": "string"
        +    },
        +    "firstName": {
        +      "maxLength": 200,
        +      "minLength": 1,
        +      "type": "string"
        +    },
        +    "lastName": {
        +      "maxLength": 200,
        +      "minLength": 1,
        +      "type": "string"
        +    },
        +    "organization": {
        +      "maxLength": 200,
        +      "minLength": 1,
        +      "type": "string"
        +    },
        +    "phone": {
        +      "maxLength": 50,
        +      "minLength": 1,
        +      "type": "string"
        +    },
        +    "postalCode": {
        +      "maxLength": 20,
        +      "minLength": 1,
        +      "type": "string"
        +    },
        +    "state": {
        +      "maxLength": 200,
        +      "minLength": 1,
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "firstName",
        +    "lastName",
        +    "email",
        +    "phone",
        +    "addressLine1",
        +    "city",
        +    "state",
        +    "country",
        +    "postalCode"
        +  ],
        +  "type": "object"
        +}
  11. 3 tool updates
    • Changedconfigure_byo_domain1 field changed
      • addedInput schema / properties / quoteOnly
        Added value: +{
        +  "description": "Optional for request_managed_mailboxes — true previews the new mailbox count + projected monthly price WITHOUT provisioning (SPEC §18 quote-before-add).",
        +  "type": "boolean"
        +}
    • Addedremove_mailboxes
    • Changedsetup_infrastructure1 field changed
      • addedInput schema / properties / quoteOnly
        Added value: +{
        +  "default": false,
        +  "type": "boolean"
        +}

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    Email-deliverability tools for AI agents — 12 MCP tools across email verification, DNSBL across 50 zones, SPF/DKIM/DMARC analysis, spam-trap scoring, domain intelligence, and email finder. Free tier with no credit card.
    12
    114 npm
    1
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    MCP server for managing cold-email infrastructure: buy domains via Porkbun, import them into CheapInboxes, provision Google/Microsoft mailboxes, and sync credentials to platforms like Instantly and Smartlead.
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Argorant MCP Server — give your AI agent direct access to 614M verified B2B contacts. Query by industry, role, geography, and 100+ filters, then export emails verified by a live SMTP probe at request time (catch-alls flagged, invalids free). OAuth-secured. Works with Claude, ChatGPT, Cursor, and any MCP client. Endpoint: https://mcp.argorant.com/mcp
    1
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI agents to connect and warm up sending mailboxes, build and launch outbound campaigns, manage leads and replies, and handle suppressions, analytics, and webhooks through policy-gated MCP tools.
    3
    Apache 2.0
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources