agent-cold-email
Ce que fait ce MCP
Manages cold-email infrastructure, lead lists, campaigns, mailbox provisioning, sending, replies, suppression, and deliverability monitoring.
Outils
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['messageId'], 'properties': {'messageId': {'type': 'string', 'minLength': 1, 'description': "The message id, from list_messages or infrastructure_status's messages[]."}}}
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'kind': {'enum': ['event', 'deliverability'], 'type': 'string'}, 'limit': {'type': 'integer', 'default': 50, 'maximum': 200, 'minimum': 1}, 'cursor': {'type': 'string', 'maxLength': 500, 'minLength': 1}}}
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['campaignId'], 'properties': {'campaignId': {'type': 'string', 'minLength': 1, 'description': 'The campaign id returned by launch_campaign.'}}}
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['action'], 'properties': {'id': {'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': 'Required for poll_dns/acknowledge_consent/request_managed_mailboxes/connect_mailbox — the domainId from register.'}, 'count': {'type': 'integer', 'maximum': 10, 'minimum': 1, 'description': 'Required for request_managed_mailboxes — how many platform-provisioned mailboxes to attach.'}, 'email': {'type': 'string', 'format': 'email', 'pattern': "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$", 'description': 'Required for connect_mailbox — the existing mailbox address.'}, 'action': {'enum': ['register', 'poll_dns', 'acknowledge_consent', 'request_managed_mailboxes', 'connect_mailbox'], 'type': 'string'}, 'domain': {'type': 'string', 'maxLength': 253, 'minLength': 3, 'description': 'Required for register.'}, 'quoteOnly': {'type': 'boolean', 'description': 'Optional for request_managed_mailboxes — true previews the new mailbox count + projected monthly price WITHOUT provisioning (SPEC §18 quote-before-add).'}, 'transport': {'oneOf': [{'type': 'object', 'required': ['kind', 'host', 'port', 'secure', 'user', 'pass'], 'properties': {'host': {'type': 'string', 'minLength': 1}, 'kind': {'type': 'string', 'const': 'smtp'}, 'pass': {'type': 'string', 'minLength': 1}, 'port': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'user': {'type': 'string', 'minLength': 1}, 'secure': {'type': 'boolean'}}}, {'type': 'object', 'required': ['kind', 'clientId', 'clientSecret', 'refreshToken'], 'properties': {'kind': {'type': 'string', 'const': 'gmail_api'}, 'clientId': {'type': 'string', 'minLength': 1}, 'clientSecret': {'type': 'string', 'minLength': 1}, 'refreshToken': {'type': 'string', 'minLength': 1}}}, {'type': 'object', 'required': ['kind', 'mode', 'tenantId', 'clientId', 'clientSecret'], 'properties': {'kind': {'type': 'string', 'const': 'ms_graph'}, 'mode': {'enum': ['delegated', 'app_only'], 'type': 'string'}, 'clientId': {'type': 'string', 'minLength': 1}, 'tenantId': {'type': 'string', 'minLength': 1}, 'clientSecret': {'type': 'string', 'minLength': 1}, 'refreshToken': {'type': 'string', 'minLength': 1}}}], 'description': "Required for connect_mailbox — { kind: 'smtp', host, port, secure, user, pass } | { kind: 'gmail_api', clientId, clientSecret, refreshToken } | { kind: 'ms_graph', mode: 'delegated'|'app_only', tenantId, clientId, clientSecret, refreshToken? }."}, 'personaSlug': {'type': 'string', 'maxLength': 50, 'minLength': 1, 'description': 'Optional for request_managed_mailboxes — defaults to a slug of the domain.'}, 'acknowledged': {'type': 'boolean', 'const': True, 'description': "Required (must be true) for acknowledge_consent — SPEC.md §20.4's separate, unbundled risk acknowledgment."}, 'domainRelationship': {'enum': ['fresh_standalone', 'subdomain_of_primary', 'is_primary'], 'type': 'string', 'description': 'Required for register: fresh_standalone | subdomain_of_primary | is_primary.'}}}
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['action'], 'properties': {'id': {'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': 'Required for update/promote/delete.'}, 'rev': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': "Required for update — the rev this edit is based on; stale vs. the view's CURRENT rev returns a structured conflict with currentRev/currentLayout to rebase onto."}, 'name': {'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': 'Required for create. Optional for update — pass it to rename the view; omit to leave the name unchanged.'}, 'note': {'type': 'string', 'maxLength': 2000, 'description': 'Optional human-readable note recorded alongside this edit (edited_by_note).'}, 'action': {'enum': ['create', 'update', 'promote', 'delete'], 'type': 'string'}, 'layout': {'type': 'object', 'required': ['schemaVersion', 'widgets'], 'properties': {'widgets': {'type': 'array', 'items': {'oneOf': [{'type': 'object', 'required': ['id', 'type', 'gridPos', 'props'], 'properties': {'id': {'type': 'string', 'maxLength': 100, 'minLength': 1}, 'type': {'type': 'string', 'const': 'kpi_row'}, 'props': {'type': 'object', 'properties': {'title': {'type': 'string', 'maxLength': 200}, 'metrics': {'type': 'array', 'items': {'enum': ['sent', 'reply', 'bounce', 'soft_bounce', 'complaint', 'unsubscribe', 'failed'], 'type': 'string'}, 'default': ['sent', 'reply', 'bounce'], 'maxItems': 7, 'minItems': 1}, 'refreshSeconds': {'type': 'integer', 'default': 30, 'maximum': 3600, 'minimum': 5}}}, 'gridPos': {'type': 'object', 'required': ['x', 'y', 'w', 'h'], 'properties': {'h': {'type': 'integer', 'maximum': 20, 'minimum': 1}, 'w': {'type': 'integer', 'maximum': 12, 'minimum': 1}, 'x': {'type': 'integer', 'maximum': 11, 'minimum': 0}, 'y': {'type': 'integer', 'maximum': 1000, 'minimum': 0}}}, 'visible': {'type': 'boolean', 'default': True}}}, {'type': 'object', 'required': ['id', 'type', 'gridPos', 'props'], 'properties': {'id': {'type': 'string', 'maxLength': 100, 'minLength': 1}, 'type': {'type': 'string', 'const': 'mailbox_health'}, 'props': {'type': 'object', 'properties': {'title': {'type': 'string', 'maxLength': 200}, 'showWarmup': {'type': 'boolean', 'default': True}, 'refreshSeconds': {'type': 'integer', 'default': 30, 'maximum': 3600, 'minimum': 5}}}, 'gridPos': {'type': 'object', 'required': ['x', 'y', 'w', 'h'], 'properties': {'h': {'type': 'integer', 'maximum': 20, 'minimum': 1}, 'w': {'type': 'integer', 'maximum': 12, 'minimum': 1}, 'x': {'type': 'integer', 'maximum': 11, 'minimum': 0}, 'y': {'type': 'integer', 'maximum': 1000, 'minimum': 0}}}, 'visible': {'type': 'boolean', 'default': True}}}, {'type': 'object', 'required': ['id', 'type', 'gridPos', 'props'], 'properties': {'id': {'type': 'string', 'maxLength': 100, 'minLength': 1}, 'type': {'type': 'string', 'const': 'campaign_performance'}, 'props': {'type': 'object', 'properties': {'title': {'type': 'string', 'maxLength': 200}, 'campaignId': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'refreshSeconds': {'type': 'integer', 'default': 30, 'maximum': 3600, 'minimum': 5}}}, 'gridPos': {'type': 'object', 'required': ['x', 'y', 'w', 'h'], 'properties': {'h': {'type': 'integer', 'maximum': 20, 'minimum': 1}, 'w': {'type': 'integer', 'maximum': 12, 'minimum': 1}, 'x': {'type': 'integer', 'maximum': 11, 'minimum': 0}, 'y': {'type': 'integer', 'maximum': 1000, 'minimum': 0}}}, 'visible': {'type': 'boolean', 'default': True}}}, {'type': 'object', 'required': ['id', 'type', 'gridPos', 'props'], 'properties': {'id': {'type': 'string', 'maxLength': 100, 'minLength': 1}, 'type': {'type': 'string', 'const': 'activity_feed'}, 'props': {'type': 'object', 'properties': {'limit': {'type': 'integer', 'default': 20, 'maximum': 100, 'minimum': 1}, 'title': {'type': 'string', 'maxLength': 200}, 'refreshSeconds': {'type': 'integer', 'default': 30, 'maximum': 3600, 'minimum': 5}}}, 'gridPos': {'type': 'object', 'required': ['x', 'y', 'w', 'h'], 'properties': {'h': {'type': 'integer', 'maximum': 20, 'minimum': 1}, 'w': {'type': 'integer', 'maximum': 12, 'minimum': 1}, 'x': {'type': 'integer', 'maximum': 11, 'minimum': 0}, 'y': {'type': 'integer', 'maximum': 1000, 'minimum': 0}}}, 'visible': {'type': 'boolean', 'default': True}}}, {'type': 'object', 'required': ['id', 'type', 'gridPos', 'props'], 'properties': {'id': {'type': 'string', 'maxLength': 100, 'minLength': 1}, 'type': {'type': 'string', 'const': 'inbox_preview'}, 'props': {'type': 'object', 'properties': {'label': {'type': 'string', 'maxLength': 100, 'minLength': 1}, 'limit': {'type': 'integer', 'default': 5, 'maximum': 50, 'minimum': 1}, 'title': {'type': 'string', 'maxLength': 200}, 'refreshSeconds': {'type': 'integer', 'default': 30, 'maximum': 3600, 'minimum': 5}}}, 'gridPos': {'type': 'object', 'required': ['x', 'y', 'w', 'h'], 'properties': {'h': {'type': 'integer', 'maximum': 20, 'minimum': 1}, 'w': {'type': 'integer', 'maximum': 12, 'minimum': 1}, 'x': {'type': 'integer', 'maximum': 11, 'minimum': 0}, 'y': {'type': 'integer', 'maximum': 1000, 'minimum': 0}}}, 'visible': {'type': 'boolean', 'default': True}}}, {'type': 'object', 'required': ['id', 'type', 'gridPos', 'props'], 'properties': {'id': {'type': 'string', 'maxLength': 100, 'minLength': 1}, 'type': {'type': 'string', 'const': 'agent_log'}, 'props': {'type': 'object', 'properties': {'limit': {'type': 'integer', 'default': 20, 'maximum': 100, 'minimum': 1}, 'title': {'type': 'string', 'maxLength': 200}, 'refreshSeconds': {'type': 'integer', 'default': 30, 'maximum': 3600, 'minimum': 5}}}, 'gridPos': {'type': 'object', 'required': ['x', 'y', 'w', 'h'], 'properties': {'h': {'type': 'integer', 'maximum': 20, 'minimum': 1}, 'w': {'type': 'integer', 'maximum': 12, 'minimum': 1}, 'x': {'type': 'integer', 'maximum': 11, 'minimum': 0}, 'y': {'type': 'integer', 'maximum': 1000, 'minimum': 0}}}, 'visible': {'type': 'boolean', 'default': True}}}, {'type': 'object', 'required': ['id', 'type', 'gridPos', 'props'], 'properties': {'id': {'type': 'string', 'maxLength': 100, 'minLength': 1}, 'type': {'type': 'string', 'const': 'agent_note'}, 'props': {'type': 'object', 'properties': {'title': {'type': 'string', 'maxLength': 200}, 'markdown': {'type': 'string', 'default': '', 'maxLength': 10000}, 'refreshSeconds': {'type': 'integer', 'default': 30, 'maximum': 3600, 'minimum': 5}}}, 'gridPos': {'type': 'object', 'required': ['x', 'y', 'w', 'h'], 'properties': {'h': {'type': 'integer', 'maximum': 20, 'minimum': 1}, 'w': {'type': 'integer', 'maximum': 12, 'minimum': 1}, 'x': {'type': 'integer', 'maximum': 11, 'minimum': 0}, 'y': {'type': 'integer', 'maximum': 1000, 'minimum': 0}}}, 'visible': {'type': 'boolean', 'default': True}}}, {'type': 'object', 'required': ['id', 'type', 'gridPos', 'props'], 'properties': {'id': {'type': 'string', 'maxLength': 100, 'minLength': 1}, 'type': {'type': 'string', 'const': 'quota_usage'}, 'props': {'type': 'object', 'properties': {'title': {'type': 'string', 'maxLength': 200}, 'refreshSeconds': {'type': 'integer', 'default': 30, 'maximum': 3600, 'minimum': 5}}}, 'gridPos': {'type': 'object', 'required': ['x', 'y', 'w', 'h'], 'properties': {'h': {'type': 'integer', 'maximum': 20, 'minimum': 1}, 'w': {'type': 'integer', 'maximum': 12, 'minimum': 1}, 'x': {'type': 'integer', 'maximum': 11, 'minimum': 0}, 'y': {'type': 'integer', 'maximum': 1000, 'minimum': 0}}}, 'visible': {'type': 'boolean', 'default': True}}}]}, 'maxItems': 50}, 'schemaVersion': {'type': 'number', 'const': 1}}, 'description': 'Required for create/update.'}}}
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['action'], 'properties': {'id': {'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': 'Required for update/delete.'}, 'url': {'type': 'string', 'maxLength': 2048, 'minLength': 1, 'description': 'Required for create. HTTPS endpoint; private/link-local/metadata IPs are rejected.'}, 'note': {'type': 'string', 'maxLength': 2000, 'description': 'Ignored placeholder for symmetry; webhooks record no provenance note.'}, 'action': {'enum': ['create', 'update', 'delete'], 'type': 'string'}, 'active': {'type': 'boolean', 'description': 'Optional. On update, active:true re-enables an auto-disabled subscription; active:false pauses delivery.'}, 'secret': {'type': 'string', 'maxLength': 200, 'minLength': 16, 'description': 'Optional signing secret (>=16 chars). Omit on create to have one generated; pass on update to rotate.'}, 'eventTypes': {'type': 'array', 'items': {'enum': ['reply', 'bounce', 'soft_bounce', 'complaint', 'unsubscribe'], 'type': 'string'}, 'maxItems': 5, 'minItems': 1, 'description': 'Required for create: which events to push (reply | bounce | soft_bounce | complaint | unsubscribe).'}}}
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['body'], 'properties': {'body': {'type': 'string', 'maxLength': 2000, 'minLength': 1}, 'urgency': {'enum': ['normal', 'needs_human'], 'type': 'string', 'default': 'normal'}}}
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'id': {'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': "Omit to list every BYO domain; pass an id for that domain's full intake detail (scan result, abuse verdict, consent status)."}}}
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'id': {'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': 'Omit to list every saved view (summary); pass a view id for its full layout + rev.'}}}
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'id': {'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': 'Omit to list every subscription; pass an id for that subscription plus its recent delivery + attempt log.'}}}
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'read': {'type': 'boolean'}, 'label': {'type': 'string', 'maxLength': 100, 'minLength': 1}, 'limit': {'type': 'integer', 'default': 50, 'maximum': 200, 'minimum': 1}, 'cursor': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'mailbox': {'type': 'string', 'maxLength': 320, 'minLength': 1}, 'archived': {'enum': ['exclude', 'include', 'only'], 'type': 'string', 'default': 'exclude'}, 'campaign': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'includeNonreply': {'type': 'boolean', 'default': True}}}
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['threadId'], 'properties': {'label': {'anyOf': [{'type': 'string', 'maxLength': 100, 'minLength': 1}, {'type': 'null'}], 'default': None}, 'threadId': {'type': 'string', 'minLength': 1, 'description': 'The thread id, e.g. from inbox() or campaign events.'}}}
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['name', 'offer', 'leads', 'sequence'], 'properties': {'name': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'leads': {'type': 'array', 'items': {'type': 'object', 'required': ['email', 'firstName'], 'properties': {'email': {'type': 'string', 'format': 'email', 'pattern': "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"}, 'company': {'type': 'string', 'default': '', 'maxLength': 200, 'minLength': 0}, 'firstName': {'type': 'string', 'maxLength': 200, 'minLength': 1}}}, 'maxItems': 5000, 'minItems': 1}, 'offer': {'type': 'string', 'maxLength': 2000, 'minLength': 1}, 'sequence': {'type': 'array', 'items': {'type': 'object', 'required': ['step', 'body', 'delayDays'], 'properties': {'body': {'type': 'string', 'maxLength': 20000, 'minLength': 1}, 'step': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1}, 'subject': {'type': 'string', 'maxLength': 300, 'minLength': 1, 'description': '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.'}, 'delayDays': {'type': 'integer', 'maximum': 60, 'minimum': 0}}}, 'maxItems': 10, 'minItems': 1}, 'timezone': {'type': 'string', 'default': 'UTC', 'maxLength': 100, 'minLength': 1, 'description': "IANA time zone the send window is evaluated in — set it to your recipients' zone. Default UTC."}, 'sendWindow': {'type': 'object', 'properties': {'days': {'type': 'array', 'items': {'type': 'integer', 'maximum': 6, 'minimum': 0}, 'maxItems': 7, 'minItems': 1, '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.'}, 'endHour': {'type': 'integer', 'maximum': 23, 'minimum': 0}, 'startHour': {'type': 'integer', 'maximum': 23, 'minimum': 0}}, 'description': '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.'}, 'stopOnReply': {'type': 'boolean', 'default': True}, 'idempotencyKey': {'type': 'string', 'maxLength': 200, 'minLength': 1, '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).'}}}
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'limit': {'type': 'integer', 'default': 50, 'maximum': 200, 'minimum': 1}, 'cursor': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'replied': {'type': 'boolean'}, 'campaign': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'suppressed': {'type': 'boolean'}, 'interestStatus': {'enum': ['none', 'interested', 'meeting_booked', 'not_now', 'not_interested', 'bad_fit', 'out_of_office', 'wrong_person'], 'type': 'string'}}}
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'limit': {'type': 'integer', 'default': 50, 'maximum': 200, 'minimum': 1}, 'cursor': {'type': 'string', 'maxLength': 500, 'minLength': 1}}}
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['threadId', 'status'], 'properties': {'status': {'enum': ['read', 'unread', 'archived'], 'type': 'string'}, 'threadId': {'type': 'string', 'minLength': 1, 'description': 'The thread id, e.g. from inbox() or campaign events.'}}}
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['campaignId'], 'properties': {'campaignId': {'type': 'string', 'minLength': 1, 'description': 'The campaign id returned by launch_campaign.'}}}
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['count', 'acknowledged'], 'properties': {'count': {'type': 'integer', 'maximum': 60, 'minimum': 1}, 'acknowledged': {'type': 'boolean', 'const': True}, 'idempotencyKey': {'type': 'string', 'maxLength': 200, 'minLength': 1, '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).'}}}
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['threadId', 'body'], 'properties': {'body': {'type': 'string', 'maxLength': 20000, 'minLength': 1}, 'threadId': {'type': 'string', 'minLength': 1, 'description': 'The thread id, e.g. from inbox() or campaign events.'}, 'idempotencyKey': {'type': 'string', 'maxLength': 200, 'minLength': 1, '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).'}}}
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['brand', 'primaryDomain', 'domains', 'persona', 'physicalAddress', 'senderIdentity'], 'properties': {'brand': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'domains': {'type': 'integer', 'maximum': 20, 'minimum': 1}, 'persona': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'quoteOnly': {'type': 'boolean', 'default': False}, 'registrant': {'type': 'object', 'required': ['firstName', 'lastName', 'email', 'phone', 'addressLine1', 'city', 'state', 'country', 'postalCode'], 'properties': {'city': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'email': {'type': 'string', 'format': 'email', 'pattern': "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"}, 'phone': {'type': 'string', 'maxLength': 50, 'minLength': 1}, 'state': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'country': {'type': 'string', 'maxLength': 100, 'minLength': 1}, 'lastName': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'firstName': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'postalCode': {'type': 'string', 'maxLength': 20, 'minLength': 1}, 'addressLine1': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'organization': {'type': 'string', 'maxLength': 200, 'minLength': 1}}}, 'inboxesEach': {'type': 'integer', 'maximum': 10, 'minimum': 1}, 'distribution': {'type': 'array', 'items': {'type': 'integer', 'maximum': 10, 'minimum': 1}, 'maxItems': 20, 'minItems': 1}, 'primaryDomain': {'type': 'string', 'maxLength': 253, 'minLength': 3}, 'idempotencyKey': {'type': 'string', 'maxLength': 200, 'minLength': 1, '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).'}, 'senderIdentity': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'physicalAddress': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'registerDomains': {'type': 'boolean'}}}
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['email'], 'properties': {'note': {'type': 'string', 'maxLength': 2000}, 'email': {'type': 'string', 'format': 'email', 'pattern': "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"}, 'reason': {'type': 'string', 'const': 'manual', 'default': 'manual'}}}
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['threadId'], 'properties': {'threadId': {'type': 'string', 'minLength': 1, 'description': 'The thread id, e.g. from inbox() or campaign events.'}}}
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['email'], 'properties': {'tags': {'type': 'array', 'items': {'type': 'string', 'maxLength': 100, 'minLength': 1}, 'maxItems': 50}, 'email': {'type': 'string', 'format': 'email', 'pattern': "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"}, 'notes': {'type': 'string', 'maxLength': 5000}, 'interestStatus': {'enum': ['none', 'interested', 'meeting_booked', 'not_now', 'not_interested', 'bad_fit', 'out_of_office', 'wrong_person'], 'type': 'string'}}}
Modifications récentes des outils
Serveurs MCP similaires
neuron
Operates AI chatbots and messaging workflows across WhatsApp and social channels, including contacts, campaigns, conversations, p…
Emailchaser
Manages cold-email campaigns, leads, sender mailboxes, sequences, outreach automation, deliverability, prospect sourcing, webhook…
send16-mcp
Provides email marketing and transactional messaging tools for contacts, audiences, campaigns, templates, automations, analytics,…
PersuadioAI
Manages leads and outreach campaigns, supports audience selection and message drafting, analyzes responses, and launches SMS camp…
bird
Reads Bird workspace email, SMS, and WhatsApp messages and manages contacts and audiences through additive CRM operations.
Smartwebchat
Creates and manages website chatbots, tests responses, diagnoses deployment issues, captures leads, and updates lead statuses.
loops
Manages Loops contacts and custom properties, mailing lists, event-triggered automations, and transactional email delivery.
Bottled
Manages branded domain email, aliases, contacts, drafts, one-to-one messages, campaigns, delivery controls, domain verification, …