MCP Server — Available Tools Reference (60 tools)
The WarmySender MCP server exposes 60 tools, grouped into eight capability areas: cold email & prospects, tracking domains, LinkedIn (campaigns, posts & recruiter), Instagram DMs, warmup & mailboxes, email verification, leads database, and workspace & jobs. Every tool enforces workspace scoping from your API key (ws_ prefix) — you can only see and touch data in your own workspace. Every LinkedIn and Instagram action is handed to our scheduler, which paces it within your account's safe ramp and daily/weekly caps; no tool sends outreach directly.
COLD EMAIL & PROSPECTS — 16 tools:
Campaigns:
- create_campaign — Draft a campaign with name, steps, mailboxes, sending window, daily limits, tracking, and stop-on-reply/bounce/unsubscribe. Requires campaigns:write.
- update_campaign — Partial update; allowed on draft or paused campaigns. Requires campaigns:write.
- start_campaign — Move a draft to running (or scheduled if the start date is in the future). Requires campaigns:write.
- pause_campaign — Running to paused; marked destructive so clients confirm first. Requires campaigns:write.
- resume_campaign — Paused to running, re-scheduling pending enrollments. Requires campaigns:write.
- list_campaigns — List email campaigns, filter by status, cursor-paginated. Requires campaigns:read.
- get_campaign — Full details and live counters (sent, delivered, opened, clicked, replied, bounced). Requires campaigns:read.
Prospects:
- create_prospect — Add one prospect (email, name, company, role, phone, LinkedIn URL, custom fields). Requires prospects:write.
- update_prospect — Partial update of any field, including global status. Requires prospects:write.
- bulk_create_prospects — Up to 500 per call with skip-duplicates; returns per-row status. Requires prospects:write.
- list_prospects — Search and filter prospects, cursor-paginated. Requires prospects:read.
- get_prospect — Full prospect detail including custom fields, list memberships, and enrollment summary. Requires prospects:read.
Enrollments & suppression:
- enroll_prospects — Add prospects to an email campaign by ids, list ids, or emails (max 500 total). Suppressed prospects are auto-skipped. Requires enrollments:write.
- unenroll_prospects — Soft-cancel enrollments (preserves the audit trail); marked destructive. Requires enrollments:write.
- add_to_suppression_list — Add emails and/or domains to the workspace suppression list. Requires suppressions:write.
- list_suppressions — Read the workspace suppression list (emails + domains). Requires suppressions:read.
TRACKING DOMAINS — 4 tools (use your own branded domain for open/click tracking):
- add_tracking_domain — Register a custom open/click tracking domain. Requires campaigns:write.
- verify_tracking_domain — Check that the domain's DNS is set up correctly. Requires campaigns:write.
- list_tracking_domains — List your tracking domains and their status. Requires campaigns:read.
- remove_tracking_domain — Remove a tracking domain you no longer need. Requires campaigns:write.
LINKEDIN — CAMPAIGNS, POSTS & RECRUITER — 18 tools (safety-gated, scheduler-paced):
Campaigns:
- create_linkedin_campaign — Create a connection or message campaign; the scheduler owns every send. Requires linkedin:write.
- start_linkedin_campaign — Launch a LinkedIn campaign; actual invites and messages are paced by ramp week and per-account caps. Requires linkedin:write.
- pause_linkedin_campaign — Pause a running campaign (a pure status flip); marked destructive. Requires linkedin:write (+ campaigns:write).
- resume_linkedin_campaign — Resume after checking the LinkedIn account is connected and healthy. Requires linkedin:write (+ campaigns:write).
- enroll_in_linkedin_campaign — Queue prospects (by ids, audience, or LinkedIn URLs; max 500) — the scheduler gates the actual actions against caps. Requires linkedin:write.
Posts:
- create_linkedin_post — Draft a LinkedIn post. Requires linkedin:write.
- publish_linkedin_post — Publish or schedule a post through the same paced backend the app uses. Requires linkedin:write.
- delete_linkedin_post — Remove a post you created. Requires linkedin:write.
Recruiter:
- create_linkedin_job — Draft a recruiter job posting. Requires linkedin:write.
- publish_linkedin_job — Publish a job posting (bounded by the same daily cap as the app). Requires linkedin:write.
- close_linkedin_job — Close an open job posting. Requires linkedin:write.
Read:
- list_linkedin_accounts — Connected LinkedIn accounts with strategy, ramp week, and current daily/weekly usage against caps. Requires linkedin:read.
- get_linkedin_account_health — Per-account health: acceptance rate, reply rate, restriction count, budget headroom. Requires linkedin:read.
- list_linkedin_campaigns — LinkedIn campaigns by status with top-level counters (enrolled, sent, accepted, replied). Requires linkedin:read.
- get_linkedin_campaign_stats — Campaign health: invites/messages/replies, acceptance rate, variant stats for A/B tests, enrollment breakdown. Requires linkedin:read.
- list_linkedin_posts — Your LinkedIn posts and their status. Requires linkedin:read.
- list_linkedin_jobs — Your recruiter job postings. Requires linkedin:read.
- list_linkedin_job_applicants — Applicants for a recruiter job. Requires linkedin:read.
INSTAGRAM DMs — 9 tools (safety-gated, scheduler-paced):
- create_instagram_campaign — Create an Instagram DM campaign. Requires instagram:write (+ campaigns:write).
- start_instagram_campaign — Launch an Instagram DM campaign; new accounts ramp up gradually. Requires instagram:write (+ campaigns:write).
- pause_instagram_campaign — Pause a running Instagram campaign; marked destructive. Requires instagram:write (+ campaigns:write).
- resume_instagram_campaign — Resume a paused Instagram campaign. Requires instagram:write (+ campaigns:write).
- enroll_in_instagram_campaign — Queue an audience into an Instagram campaign; the scheduler paces DMs within a safe daily and hourly budget. Requires instagram:write (+ campaigns:write).
- list_instagram_accounts — Connected Instagram accounts with status. Requires instagram:read.
- get_instagram_account_health — Per-account health and current usage against safe limits. Requires instagram:read.
- list_instagram_campaigns — Instagram campaigns by status. Requires instagram:read.
- get_instagram_campaign_stats — DM counters and results for a campaign. Requires instagram:read.
WARMUP & MAILBOXES — 5 tools:
- update_warmup_settings — Change warmup enabled/mode/target daily volume for one mailbox. Requires warmup:write.
- bulk_update_warmup — Apply the same warmup settings to up to 500 mailboxes asynchronously; returns a job id to poll with get_job_status. Requires warmup:write.
- list_mailboxes — All connected mailboxes with status, warmup state, and top-level health. Never returns credentials. Requires mailboxes:read.
- get_mailbox_health — Detailed deliverability health for one mailbox, with fix suggestions. Requires mailboxes:read.
- get_warmup_stats — Workspace aggregate or per-mailbox detail: sent today, limit today, ramp progress, inbox rate, health score. Requires warmup:read.
EMAIL VERIFICATION — 3 tools (same safe pacing and allowance as the in-app verifier):
- verify_email — Verify a single address. Requires verification:write.
- submit_verification_batch — Submit a whole list for verification. Requires verification:write.
- get_verification_result — Read the result of a verification. Requires verification:read.
LEADS DATABASE — 3 tools:
- search_leads — Search 11M+ B2B leads by role, industry, and location; results are masked and searching is free. Requires leads:read.
- save_leads — Save chosen leads into a prospect list (unmasks; uses your monthly allowance or lead credits). Requires leads:write.
- export_leads — Export chosen leads with full contact details (same allowance or credits). Requires leads:write.
WORKSPACE & JOBS — 2 tools:
- get_workspace_info — Your workspace id, name, subscription tier, the scopes on your API key, and MCP server version — handy for testing the connection. No scopes required (an authenticated key is enough).
- get_job_status — Poll async job progress (bulk updates, connection tests). Requires jobs:read.
Not Exposed (by design):
No delete operations (no delete_campaign, delete_mailbox, delete_account — soft-cancel via pause/archive only). No direct send tools (no send-invite, send-message, view-profile, comment, or react — the scheduler is the only path to outreach, so ramp and caps always apply). No account connect/disconnect tools (prevents seat drain). No warmup ref-tag modification (protects your inbox filtering). Account safety always wins over speed.
Full schemas and live curl examples: warmysender.com/mcp