{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_a28grmb354a4","handle":"agent-cold-email","url":"https://wellknown.network/agents/agent-cold-email","links":{"self":"https://wellknown.network/agents/agent-cold-email/record.json","html":"https://wellknown.network/agents/agent-cold-email","markdown":"https://wellknown.network/agents/agent-cold-email/record.md","api":"https://wellknown.network/api/v1/agents/agent-cold-email","status":"https://wellknown.network/api/v1/agents/agent-cold-email/status","claim":"https://wellknown.network/agents/agent-cold-email/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/agent-cold-email/claim.json","badge":"https://wellknown.network/agents/agent-cold-email/badge.svg","openapi":"https://wellknown.network/openapi.json"},"ard":{"identifier":"urn:air:agent-cold-email-api.yaakovscher.workers.dev:server:agent-cold-email","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"agent-cold-email","summary":"Coldrig — cold-email infra run by your agent: 28 MCP tools, live sending, free sandbox. $99/mo.","description":"Coldrig — cold-email infra run by your agent: 28 MCP tools, live sending, free sandbox. $99/mo.","publisher":{"name":"YS-projectcalc","url":null},"homepage":"https://coldrig.dev/","repository":"https://github.com/YS-projectcalc/agent-cold-email","version":"0.2.3","license":"MIT","protocols":["mcp"],"tags":["cold-email","cold-outreach","email-infrastructure","mcp","model-context-protocol","ai-agent","coding-agent","cli","sales-automation","outreach"],"pricing":null,"endpoints":[{"url":"https://agent-cold-email-api.yaakovscher.workers.dev/mcp","type":"mcp_streamable_http","auth":null,"probeable":true},{"url":"npm:agent-cold-email","type":"package_npm","auth":null,"probeable":false}],"skills":null,"tools":null,"extra":{"updatedAt":"2026-08-17T00:12:10.393015Z","npmKeywords":["cold-email","cold-outreach","email-infrastructure","mcp","model-context-protocol","ai-agent","coding-agent","cli","sales-automation","outreach"],"publishedAt":"2026-08-17T00:12:10.393015Z","registryName":"io.github.YS-projectcalc/agent-cold-email"},"attribution":{"kind":"mcp_registry","name":"mcp_registry","license":"npm","repoUrl":"mcp_registry","summary":"mcp_registry","version":"mcp_registry","description":"mcp_registry","homepageUrl":"mcp_registry","publisherName":"mcp_registry"}},"derived":{"capabilities":[{"slug":"productivity.email","name":"Email","confidence":1,"provenance":"derived"},{"slug":"code.generation","name":"Code Generation","confidence":0.75,"provenance":"derived"},{"slug":"productivity.crm","name":"CRM & Sales","confidence":0.619,"provenance":"derived"}],"categories":["code","productivity"]},"observed":{"status":"unknown","statusReason":"Not checked yet.","lastOkAt":null,"lastProbedAt":null,"statusComputedAt":null,"reliability30d":null,"latestObservations":[{"at":"2026-09-07T00:19:22.358Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":50,"error":null,"detail":{"tools":[{"name":"setup_infrastructure","description":"Provision sending infrastructure: buy branded lookalike domains, create mailboxes, start warmup. New mailboxes are ramp-limited server-side — 5 sends/day in wee"},{"name":"infrastructure_status","description":"Warmup + provisioning progress per mailbox. New mailboxes are ramp-limited server-side: 5 sends/day week 1 rising to 40/day after 4 weeks; current dailyCap for "},{"name":"launch_campaign","description":"Create and activate a campaign on a lead list. You supply name, offer, leads[], sequence[] (per step: subject, body, delayDays), sendWindow, timezone, stopOnRep"},{"name":"campaign_results","description":"Outcome counts for ONE campaign. Input: campaignId (from launch_campaign). Returns { campaignId, sent, reply, bounce, complaint, unsubscribe, failed, soft_bounc"},{"name":"metrics","description":"Account-wide outcome totals across ALL campaigns: { sent, reply, bounce, complaint, unsubscribe, failed, soft_bounce } — same shape as campaign_results but summ"},{"name":"inbox","description":"Unified reply inbox across mailboxes. Cursor-paginated → { threads[], nextCursor }; each row: threadId, campaignName, leadEmail, subject, mailboxEmail, label, l"},{"name":"thread","description":"Full message history for ONE thread. Input: threadId (from inbox). Returns { threadId, campaignId, leadId, leadEmail, mailboxEmail (null before first send), mes"},{"name":"reply","description":"Send a reply on an existing thread, from the mailbox that sent it. Inputs: threadId, body. Returns { messageId, deduplicated }. A reply is real sending volume a"},{"name":"mark","description":"Set a thread's READ-STATE for inbox triage. Inputs: threadId, status = 'read' | 'unread' | 'archived' (archived hides it from the default inbox; refetch with in"},{"name":"pause","description":"Pause ONE campaign: its status → 'paused', so the tick schedules no further steps (already-sent mail is unaffected; there is no resume tool). Input: campaignId."},{"name":"pause_all","description":"Pause EVERY active campaign for the tenant at once (each active status → 'paused'; the tick then schedules no further sends). No inputs. Returns { pausedAll: tr"},{"name":"account","description":"Account overview: brand, plan, status, billingState, activationState, resource counts, usageCents, quota, deliverability (loop state: paused/throttled mailboxes"},{"name":"remove_mailboxes","description":"Downgrade: release your N NEWEST live mailboxes now and lower the billed quantity. Inputs: count, acknowledged (must be true — this is a quoted, irreversible-th"},{"name":"get_dashboard","description":"Read saved dashboard views. No id → list all: [{ id, name, isDefault, rev, editedBy }]. With id → that view's full layout + rev (pass this rev as the CAS base t"},{"name":"configure_dashboard","description":"Write a saved dashboard view. action = create (needs name+layout) | update (needs id+rev+layout; optional name renames) | promote (id → default) | delete (id). "},{"name":"label_thread","description":"Set or clear a triage LABEL on an inbox thread — the same chip the dashboard shows. Inputs: threadId, label (string; pass label:null to clear). Distinct from ma"},{"name":"list_campaigns","description":"List every campaign at once: [{ campaignId, name, status, counts{sent,reply,bounce,complaint,unsubscribe,failed,soft_bounce} }], newest first — no per-campaign "},{"name":"activity","description":"Unified activity feed: campaign events (sent/reply/bounce/...) merged with deliverability loop actions (pause/throttle/replace-domain). Cursor-paginated → { ite"},{"name":"get_webhooks","description":"List your outbound webhook subscriptions, or (with id) one subscription plus its recent delivery + attempt log. No id → [{ id, url, eventTypes, active, status, "},{"name":"configure_webhook","description":"Manage an outbound webhook subscription. action = create (needs url + eventTypes: reply|bounce|soft_bounce|complaint|unsubscribe; optional secret/active) | upda"},{"name":"get_byo_domains","description":"List your BYO (bring-your-own) domains, or (with id) one domain's full intake detail. No id → [{ domainId, domain, isPrimary, dnsMode, byoStatus, breakerTier, r"},{"name":"configure_byo_domain","description":"Register or advance a BYO domain/mailbox intake (SPEC.md §20). action = register (needs domain + domainRelationship: fresh_standalone|subdomain_of_primary|is_pr"},{"name":"suppress_lead","description":"Permanently suppress an email address tenant-wide (every current and future campaign) — the manual/free-text 'stop emailing me' path for opt-outs the strict typ"},{"name":"update_lead","description":"Record what you learned about a contact (their reply, your triage) as a durable, contact-level disposition — keyed by email, visible across every campaign that "},{"name":"list_leads","description":"List/export leads with their contact-level disposition, cursor-paginated. Returns { leads[], nextCursor }; each row: leadId, email, firstName, company, campaign"},{"name":"list_messages","description":"List this tenant's system + operator messages (a retryable setup step, a credential going live, an operator notice), cursor-paginated. Unacked messages sort fir"},{"name":"ack_message","description":"Acknowledge a message by id (from list_messages or infrastructure_status's messages[]) — sets it read so it stops surfacing as unacked. THIS IS THE ONLY THING T"},{"name":"contact_operator","description":"Reach a human operator — for anything list_messages/infrastructure_status can't answer (a stuck vendor issue, a billing question, an account-level ask). Inputs:"}],"toolCount":28,"serverName":"agent-cold-email","capabilities":["tools"],"serverVersion":"0.2.2","protocolVersion":"2025-06-18"}},{"at":"2026-09-06T17:28:43.150Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":22,"error":null,"detail":{"tools":[{"name":"setup_infrastructure","description":"Provision sending infrastructure: buy branded lookalike domains, create mailboxes, start warmup. New mailboxes are ramp-limited server-side — 5 sends/day in wee"},{"name":"infrastructure_status","description":"Warmup + provisioning progress per mailbox. New mailboxes are ramp-limited server-side: 5 sends/day week 1 rising to 40/day after 4 weeks; current dailyCap for "},{"name":"launch_campaign","description":"Create and activate a campaign on a lead list. You supply name, offer, leads[], sequence[] (per step: subject, body, delayDays), sendWindow, timezone, stopOnRep"},{"name":"campaign_results","description":"Outcome counts for ONE campaign. Input: campaignId (from launch_campaign). Returns { campaignId, sent, reply, bounce, complaint, unsubscribe, failed, soft_bounc"},{"name":"metrics","description":"Account-wide outcome totals across ALL campaigns: { sent, reply, bounce, complaint, unsubscribe, failed, soft_bounce } — same shape as campaign_results but summ"},{"name":"inbox","description":"Unified reply inbox across mailboxes. Cursor-paginated → { threads[], nextCursor }; each row: threadId, campaignName, leadEmail, subject, mailboxEmail, label, l"},{"name":"thread","description":"Full message history for ONE thread. Input: threadId (from inbox). Returns { threadId, campaignId, leadId, leadEmail, mailboxEmail (null before first send), mes"},{"name":"reply","description":"Send a reply on an existing thread, from the mailbox that sent it. Inputs: threadId, body. Returns { messageId, deduplicated }. A reply is real sending volume a"},{"name":"mark","description":"Set a thread's READ-STATE for inbox triage. Inputs: threadId, status = 'read' | 'unread' | 'archived' (archived hides it from the default inbox; refetch with in"},{"name":"pause","description":"Pause ONE campaign: its status → 'paused', so the tick schedules no further steps (already-sent mail is unaffected; there is no resume tool). Input: campaignId."},{"name":"pause_all","description":"Pause EVERY active campaign for the tenant at once (each active status → 'paused'; the tick then schedules no further sends). No inputs. Returns { pausedAll: tr"},{"name":"account","description":"Account overview: brand, plan, status, billingState, activationState, resource counts, usageCents, quota, deliverability (loop state: paused/throttled mailboxes"},{"name":"remove_mailboxes","description":"Downgrade: release your N NEWEST live mailboxes now and lower the billed quantity. Inputs: count, acknowledged (must be true — this is a quoted, irreversible-th"},{"name":"get_dashboard","description":"Read saved dashboard views. No id → list all: [{ id, name, isDefault, rev, editedBy }]. With id → that view's full layout + rev (pass this rev as the CAS base t"},{"name":"configure_dashboard","description":"Write a saved dashboard view. action = create (needs name+layout) | update (needs id+rev+layout; optional name renames) | promote (id → default) | delete (id). "},{"name":"label_thread","description":"Set or clear a triage LABEL on an inbox thread — the same chip the dashboard shows. Inputs: threadId, label (string; pass label:null to clear). Distinct from ma"},{"name":"list_campaigns","description":"List every campaign at once: [{ campaignId, name, status, counts{sent,reply,bounce,complaint,unsubscribe,failed,soft_bounce} }], newest first — no per-campaign "},{"name":"activity","description":"Unified activity feed: campaign events (sent/reply/bounce/...) merged with deliverability loop actions (pause/throttle/replace-domain). Cursor-paginated → { ite"},{"name":"get_webhooks","description":"List your outbound webhook subscriptions, or (with id) one subscription plus its recent delivery + attempt log. No id → [{ id, url, eventTypes, active, status, "},{"name":"configure_webhook","description":"Manage an outbound webhook subscription. action = create (needs url + eventTypes: reply|bounce|soft_bounce|complaint|unsubscribe; optional secret/active) | upda"},{"name":"get_byo_domains","description":"List your BYO (bring-your-own) domains, or (with id) one domain's full intake detail. No id → [{ domainId, domain, isPrimary, dnsMode, byoStatus, breakerTier, r"},{"name":"configure_byo_domain","description":"Register or advance a BYO domain/mailbox intake (SPEC.md §20). action = register (needs domain + domainRelationship: fresh_standalone|subdomain_of_primary|is_pr"},{"name":"suppress_lead","description":"Permanently suppress an email address tenant-wide (every current and future campaign) — the manual/free-text 'stop emailing me' path for opt-outs the strict typ"},{"name":"update_lead","description":"Record what you learned about a contact (their reply, your triage) as a durable, contact-level disposition — keyed by email, visible across every campaign that "},{"name":"list_leads","description":"List/export leads with their contact-level disposition, cursor-paginated. Returns { leads[], nextCursor }; each row: leadId, email, firstName, company, campaign"},{"name":"list_messages","description":"List this tenant's system + operator messages (a retryable setup step, a credential going live, an operator notice), cursor-paginated. Unacked messages sort fir"},{"name":"ack_message","description":"Acknowledge a message by id (from list_messages or infrastructure_status's messages[]) — sets it read so it stops surfacing as unacked. THIS IS THE ONLY THING T"},{"name":"contact_operator","description":"Reach a human operator — for anything list_messages/infrastructure_status can't answer (a stuck vendor issue, a billing question, an account-level ask). Inputs:"}],"toolCount":28,"serverName":"agent-cold-email","capabilities":["tools"],"serverVersion":"0.2.2","protocolVersion":"2025-06-18"}},{"at":"2026-09-06T10:26:38.948Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":56,"error":null,"detail":{"tools":[{"name":"setup_infrastructure","description":"Provision sending infrastructure: buy branded lookalike domains, create mailboxes, start warmup. New mailboxes are ramp-limited server-side — 5 sends/day in wee"},{"name":"infrastructure_status","description":"Warmup + provisioning progress per mailbox. New mailboxes are ramp-limited server-side: 5 sends/day week 1 rising to 40/day after 4 weeks; current dailyCap for "},{"name":"launch_campaign","description":"Create and activate a campaign on a lead list. You supply name, offer, leads[], sequence[] (per step: subject, body, delayDays), sendWindow, timezone, stopOnRep"},{"name":"campaign_results","description":"Outcome counts for ONE campaign. Input: campaignId (from launch_campaign). Returns { campaignId, sent, reply, bounce, complaint, unsubscribe, failed, soft_bounc"},{"name":"metrics","description":"Account-wide outcome totals across ALL campaigns: { sent, reply, bounce, complaint, unsubscribe, failed, soft_bounce } — same shape as campaign_results but summ"},{"name":"inbox","description":"Unified reply inbox across mailboxes. Cursor-paginated → { threads[], nextCursor }; each row: threadId, campaignName, leadEmail, subject, mailboxEmail, label, l"},{"name":"thread","description":"Full message history for ONE thread. Input: threadId (from inbox). Returns { threadId, campaignId, leadId, leadEmail, mailboxEmail (null before first send), mes"},{"name":"reply","description":"Send a reply on an existing thread, from the mailbox that sent it. Inputs: threadId, body. Returns { messageId, deduplicated }. A reply is real sending volume a"},{"name":"mark","description":"Set a thread's READ-STATE for inbox triage. Inputs: threadId, status = 'read' | 'unread' | 'archived' (archived hides it from the default inbox; refetch with in"},{"name":"pause","description":"Pause ONE campaign: its status → 'paused', so the tick schedules no further steps (already-sent mail is unaffected; there is no resume tool). Input: campaignId."},{"name":"pause_all","description":"Pause EVERY active campaign for the tenant at once (each active status → 'paused'; the tick then schedules no further sends). No inputs. Returns { pausedAll: tr"},{"name":"account","description":"Account overview: brand, plan, status, billingState, activationState, resource counts, usageCents, quota, deliverability (loop state: paused/throttled mailboxes"},{"name":"remove_mailboxes","description":"Downgrade: release your N NEWEST live mailboxes now and lower the billed quantity. Inputs: count, acknowledged (must be true — this is a quoted, irreversible-th"},{"name":"get_dashboard","description":"Read saved dashboard views. No id → list all: [{ id, name, isDefault, rev, editedBy }]. With id → that view's full layout + rev (pass this rev as the CAS base t"},{"name":"configure_dashboard","description":"Write a saved dashboard view. action = create (needs name+layout) | update (needs id+rev+layout; optional name renames) | promote (id → default) | delete (id). "},{"name":"label_thread","description":"Set or clear a triage LABEL on an inbox thread — the same chip the dashboard shows. Inputs: threadId, label (string; pass label:null to clear). Distinct from ma"},{"name":"list_campaigns","description":"List every campaign at once: [{ campaignId, name, status, counts{sent,reply,bounce,complaint,unsubscribe,failed,soft_bounce} }], newest first — no per-campaign "},{"name":"activity","description":"Unified activity feed: campaign events (sent/reply/bounce/...) merged with deliverability loop actions (pause/throttle/replace-domain). Cursor-paginated → { ite"},{"name":"get_webhooks","description":"List your outbound webhook subscriptions, or (with id) one subscription plus its recent delivery + attempt log. No id → [{ id, url, eventTypes, active, status, "},{"name":"configure_webhook","description":"Manage an outbound webhook subscription. action = create (needs url + eventTypes: reply|bounce|soft_bounce|complaint|unsubscribe; optional secret/active) | upda"},{"name":"get_byo_domains","description":"List your BYO (bring-your-own) domains, or (with id) one domain's full intake detail. No id → [{ domainId, domain, isPrimary, dnsMode, byoStatus, breakerTier, r"},{"name":"configure_byo_domain","description":"Register or advance a BYO domain/mailbox intake (SPEC.md §20). action = register (needs domain + domainRelationship: fresh_standalone|subdomain_of_primary|is_pr"},{"name":"suppress_lead","description":"Permanently suppress an email address tenant-wide (every current and future campaign) — the manual/free-text 'stop emailing me' path for opt-outs the strict typ"},{"name":"update_lead","description":"Record what you learned about a contact (their reply, your triage) as a durable, contact-level disposition — keyed by email, visible across every campaign that "},{"name":"list_leads","description":"List/export leads with their contact-level disposition, cursor-paginated. Returns { leads[], nextCursor }; each row: leadId, email, firstName, company, campaign"},{"name":"list_messages","description":"List this tenant's system + operator messages (a retryable setup step, a credential going live, an operator notice), cursor-paginated. Unacked messages sort fir"},{"name":"ack_message","description":"Acknowledge a message by id (from list_messages or infrastructure_status's messages[]) — sets it read so it stops surfacing as unacked. THIS IS THE ONLY THING T"},{"name":"contact_operator","description":"Reach a human operator — for anything list_messages/infrastructure_status can't answer (a stuck vendor issue, a billing question, an account-level ask). Inputs:"}],"toolCount":28,"serverName":"agent-cold-email","capabilities":["tools"],"serverVersion":"0.2.2","protocolVersion":"2025-06-18"}}],"tools":[{"name":"setup_infrastructure","description":"Provision sending infrastructure: buy branded lookalike domains, create mailboxes, start warmup. New mailboxes are ramp-limited server-side — 5 sends/day in wee"},{"name":"infrastructure_status","description":"Warmup + provisioning progress per mailbox. New mailboxes are ramp-limited server-side: 5 sends/day week 1 rising to 40/day after 4 weeks; current dailyCap for "},{"name":"launch_campaign","description":"Create and activate a campaign on a lead list. You supply name, offer, leads[], sequence[] (per step: subject, body, delayDays), sendWindow, timezone, stopOnRep"},{"name":"campaign_results","description":"Outcome counts for ONE campaign. Input: campaignId (from launch_campaign). Returns { campaignId, sent, reply, bounce, complaint, unsubscribe, failed, soft_bounc"},{"name":"metrics","description":"Account-wide outcome totals across ALL campaigns: { sent, reply, bounce, complaint, unsubscribe, failed, soft_bounce } — same shape as campaign_results but summ"},{"name":"inbox","description":"Unified reply inbox across mailboxes. Cursor-paginated → { threads[], nextCursor }; each row: threadId, campaignName, leadEmail, subject, mailboxEmail, label, l"},{"name":"thread","description":"Full message history for ONE thread. Input: threadId (from inbox). Returns { threadId, campaignId, leadId, leadEmail, mailboxEmail (null before first send), mes"},{"name":"reply","description":"Send a reply on an existing thread, from the mailbox that sent it. Inputs: threadId, body. Returns { messageId, deduplicated }. A reply is real sending volume a"},{"name":"mark","description":"Set a thread's READ-STATE for inbox triage. Inputs: threadId, status = 'read' | 'unread' | 'archived' (archived hides it from the default inbox; refetch with in"},{"name":"pause","description":"Pause ONE campaign: its status → 'paused', so the tick schedules no further steps (already-sent mail is unaffected; there is no resume tool). Input: campaignId."},{"name":"pause_all","description":"Pause EVERY active campaign for the tenant at once (each active status → 'paused'; the tick then schedules no further sends). No inputs. Returns { pausedAll: tr"},{"name":"account","description":"Account overview: brand, plan, status, billingState, activationState, resource counts, usageCents, quota, deliverability (loop state: paused/throttled mailboxes"},{"name":"remove_mailboxes","description":"Downgrade: release your N NEWEST live mailboxes now and lower the billed quantity. Inputs: count, acknowledged (must be true — this is a quoted, irreversible-th"},{"name":"get_dashboard","description":"Read saved dashboard views. No id → list all: [{ id, name, isDefault, rev, editedBy }]. With id → that view's full layout + rev (pass this rev as the CAS base t"},{"name":"configure_dashboard","description":"Write a saved dashboard view. action = create (needs name+layout) | update (needs id+rev+layout; optional name renames) | promote (id → default) | delete (id). "},{"name":"label_thread","description":"Set or clear a triage LABEL on an inbox thread — the same chip the dashboard shows. Inputs: threadId, label (string; pass label:null to clear). Distinct from ma"},{"name":"list_campaigns","description":"List every campaign at once: [{ campaignId, name, status, counts{sent,reply,bounce,complaint,unsubscribe,failed,soft_bounce} }], newest first — no per-campaign "},{"name":"activity","description":"Unified activity feed: campaign events (sent/reply/bounce/...) merged with deliverability loop actions (pause/throttle/replace-domain). Cursor-paginated → { ite"},{"name":"get_webhooks","description":"List your outbound webhook subscriptions, or (with id) one subscription plus its recent delivery + attempt log. No id → [{ id, url, eventTypes, active, status, "},{"name":"configure_webhook","description":"Manage an outbound webhook subscription. action = create (needs url + eventTypes: reply|bounce|soft_bounce|complaint|unsubscribe; optional secret/active) | upda"},{"name":"get_byo_domains","description":"List your BYO (bring-your-own) domains, or (with id) one domain's full intake detail. No id → [{ domainId, domain, isPrimary, dnsMode, byoStatus, breakerTier, r"},{"name":"configure_byo_domain","description":"Register or advance a BYO domain/mailbox intake (SPEC.md §20). action = register (needs domain + domainRelationship: fresh_standalone|subdomain_of_primary|is_pr"},{"name":"suppress_lead","description":"Permanently suppress an email address tenant-wide (every current and future campaign) — the manual/free-text 'stop emailing me' path for opt-outs the strict typ"},{"name":"update_lead","description":"Record what you learned about a contact (their reply, your triage) as a durable, contact-level disposition — keyed by email, visible across every campaign that "},{"name":"list_leads","description":"List/export leads with their contact-level disposition, cursor-paginated. Returns { leads[], nextCursor }; each row: leadId, email, firstName, company, campaign"},{"name":"list_messages","description":"List this tenant's system + operator messages (a retryable setup step, a credential going live, an operator notice), cursor-paginated. Unacked messages sort fir"},{"name":"ack_message","description":"Acknowledge a message by id (from list_messages or infrastructure_status's messages[]) — sets it read so it stops surfacing as unacked. THIS IS THE ONLY THING T"},{"name":"contact_operator","description":"Reach a human operator — for anything list_messages/infrastructure_status can't answer (a stuck vendor issue, a billing question, an account-level ask). Inputs:"}],"package":{"name":"agent-cold-email","registry":"npm","observedAt":"2026-09-06T10:20:06.727Z","publishedAt":"2026-07-28T19:04:14.277Z","latestVersion":"0.2.1","weeklyDownloads":78}},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"npm","key":"agent-cold-email","url":"https://www.npmjs.com/package/agent-cold-email","firstSeenAt":"2026-09-06T10:19:29.894Z","fetchedAt":"2026-09-06T10:19:29.894Z","normalizedAt":"2026-09-06T10:19:29.894Z"},{"source":"mcp_registry","key":"io.github.YS-projectcalc/agent-cold-email","url":"https://registry.modelcontextprotocol.io/v0/servers/io.github.YS-projectcalc%2Fagent-cold-email","firstSeenAt":"2026-09-06T08:20:20.463Z","fetchedAt":"2026-09-06T08:20:20.463Z","normalizedAt":"2026-09-06T08:20:20.463Z"}]},"firstSeenAt":"2026-09-06T08:20:20.463Z","updatedAt":"2026-09-06T10:20:06.727Z"}