instantly-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| INSTANTLY_API_KEY | Yes | Your Instantly v2 API key, obtained from Settings → Integrations → API. Required for authentication. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_campaign_analyticsA | Analytics for ONE campaign over an optional date range (YYYY-MM-DD). Returns sent/opens/replies/clicks/bounces/unsubscribes/opportunities counts plus computed open/reply/click/bounce rates. |
| get_account_analyticsA | Workspace-level daily sending analytics, aggregated across accounts. NOTE: backed by GET /accounts/analytics/daily (there is no single"account analytics overview" endpoint in v2). Returns per-day rows plusa computed totals+rates roll-up. |
| get_campaign_steps_analyticsC | Per-sequence-step (and variant) analytics for one campaign. |
| list_campaignsA | List campaigns (id, name, status, created). Optional |
| get_campaignA | Get one campaign's full configuration (schedule, sequences, status). |
| list_leadsA | List leads, optionally filtered by campaign, list, or search text. NOTE: v2 lists leads via POST /leads/list (not GET); the campaign filterfield is |
| get_leadA | Get one lead by id. |
| search_leads_by_emailA | Find leads matching an email (across campaigns/lists) — who is this and which campaign(s) are they in. |
| add_leadsA | Add leads in bulk to a campaign OR a list (provide exactly one target).
|
| update_leadC | Update editable fields on a lead (first_name, last_name, company_name, job_title, phone, website, personalization, custom_variables, ...). LOW_WRITE. |
| set_lead_interest_statusB | Set a lead's interest status.
NOTE: v2 keys this endpoint (POST /leads/update-interest-status) by
|
| move_leadA | Move (or copy) one lead to another campaign or list. HIGH_WRITE. NOTE: v2 POST /leads/move is asynchronous and returns a BackgroundJob;it needs the SOURCE (from_campaign_id or from_list_id) as well as thedestination. Poll the returned job id if you need completion status. |
| delete_leadA | DESTRUCTIVE: permanently delete a lead. HIGH_WRITE + hard-blocked — always requires confirm=true, even in autonomous mode. |
| list_lead_listsB | List lead lists (id, name). |
| create_lead_listC | Create a new lead list. LOW_WRITE. |
| preview_campaign_buildA | Preview campaign, variants, schedule, senders, tags, and lead-list mapping. Makes ZERO HTTP calls. |
| create_campaignA | Create a campaign. HIGH_WRITE. Created PAUSED — launch separately. Convenience: pass |
| update_campaignC | Patch campaign settings (name, campaign_schedule, sequences, ...). HIGH_WRITE. |
| launch_campaignB | Activate/resume a campaign so it starts sending. HIGH_WRITE. NOTE: v2 path is POST /campaigns/{id}/activate. |
| pause_campaignC | Pause/stop a campaign. HIGH_WRITE. |
| list_emailsA | List Unibox emails (sends, replies, manual). Filter by campaign, lead email, sending account, or unread. # NOTE: this endpoint is rate-limited to 20 req/min by Instantly. |
| get_emailA | Get one email's full subject/body/thread. |
| count_unreadB | Count unread Unibox messages. |
| reply_to_emailA | Reply to an inbound Unibox email. HIGH_WRITE (sends mail from your account). If NOTE: v2 POST /emails/reply requires reply_to_uuid, eaccount, subject, anda body object ({html|text}). |
| forward_emailB | Forward a Unibox email to If NOTE: v2 POST /emails/forward requires reply_to_uuid, to_address_email_list,eaccount, subject, and either a body or include_original_body=true. |
| mark_thread_readB | Mark all emails in a thread as read. LOW_WRITE (low risk). |
| list_accountsC | List sender email accounts with status, warmup status, and daily limit. |
| get_accountA | Get status/settings for one sending account (by email). |
| pause_accountA | Pause a sending account (stops it sending). HIGH_WRITE + hard-blocked — always requires confirm=true. Deliverability control. |
| resume_accountB | Resume a paused sending account. HIGH_WRITE. |
| update_accountB | Update account settings, e.g. {"daily_limit": 40}, sending_gap, signature, or a nested "warmup" object. HIGH_WRITE (affects deliverability). |
| list_blocklistC | List blocked contacts/domains. NOTE: v2 path is /block-lists-entries. |
| add_to_blocklistA | Add emails/domains to the blocklist (plain strings). LOW_WRITE. NOTE: v2 POST /block-lists-entries/bulk-create with body {"bl_values": [...]}. |
| remove_from_blocklistA | Remove emails/domains from the blocklist. HIGH_WRITE + hard-blocked — always requires confirm=true. NOTE: v2 POST /block-lists-entries/bulk-delete with {"bl_values": [...]}(bulk-delete body shape not fully documented in the public reference —verify against your workspace on first real call). |
| verify_emailA | Verify a single email address (valid / invalid / catch-all). NOTE: POST /email-verification consumes a verification credit. It returns"pending" if it takes >10s — call again to poll the stored result. |
| get_workspaceA | Current workspace info and plan ids (useful to see what the key can reach). |
| list_webhooksA | List configured webhooks. |
| list_webhook_event_typesA | List the webhook event types this workspace supports (e.g. reply_received, lead_meeting_booked, email_sent/opened/clicked/replied/bounced/unsubscribed). |
| create_webhookA | Create webhook(s) pointing at Receiving webhooks needs a publicly reachable URL (the hosted deployment, not local stdio) and an Instantly plan tier that includes webhooks. NOTE: v2 POST /webhooks takes a SINGULAR |
| delete_webhookA | Delete a webhook. HIGH_WRITE + hard-blocked — always requires confirm=true. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/katekruger/instantly-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server