@instantreply/mcp
InstantReply MCP lets an AI agent operate a connected social inbox for Instagram, WhatsApp, and Messenger, covering setup guidance, conversations, contacts, templates, journeys, analytics, and developer checks.
Get channel connection guidance, requirements, and timing.
List/read conversations and messages; send replies; assign or close conversations.
List/get/update contacts, including lead stage and temperature.
List connected channels and view inbox analytics and API usage.
List/get/validate/submit/delete WhatsApp templates and validate template drafts.
Validate, trigger, and batch-trigger WhatsApp journeys; check status/history; explain delivery failures.
Check developer capabilities, onboarding, rate limits, and plan recommendations.
Use safety-marked destructive tools with explicit confirmation.
Connects AI agents to a real Instagram DM inbox for an account you own — reading and writing conversations, messages, contacts, templates, journeys, campaigns, comments, and tickets. Requires only Standard Access, so no Meta App Review is needed.
Connects AI agents to a Messenger inbox for reading and writing conversations, messages, contacts, templates, journeys, campaigns, comments, and tickets alongside Instagram.
Connects AI agents to a WhatsApp Business inbox for reading and writing conversations, messages, contacts, templates, journeys, campaigns, comments, and tickets. Sending requires Meta Business Verification, which takes 2-6 weeks and is the real bottleneck for onboarding.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@@instantreply/mcp show me unanswered Instagram DMs from today"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
InstantReply MCP server for WhatsApp, Instagram, and Messenger AI agents
InstantReply MCP connects Claude, ChatGPT, Cursor, Codex, or any MCP-compatible agent to a real social inbox. The agent pairs a workspace through one browser link, answers questions with Barq, audits conversations, qualifies leads, validates WhatsApp templates, and operates approved workflows.
No API key is needed. Add the server, tell your agent to connect InstantReply, and open the link it gives you.
Set up in 60 seconds
1. Add the server to your agent (local package, nothing to install first):
Client | How |
Claude Code |
|
Codex CLI |
|
Claude Desktop | Settings, Developer, Edit config, paste the JSON below, restart |
Cursor | Settings, MCP, Add server (or |
VS Code |
|
Windsurf |
|
Anything else | Run the command |
{
"mcpServers": {
"instantreply": {
"command": "npx",
"args": ["-y", "@instantreply.co/mcp"]
}
}
}VS Code uses "servers" instead of "mcpServers" and needs "type": "stdio" next to command.
Remote (ChatGPT and other hosted clients) : add the connector URL https://api.instantreply.co/mcp. It uses OAuth 2.1 with PKCE; you approve access on an InstantReply consent page and never copy a key.
2. Tell your agent:
Connect InstantReply for my business.3. What happens, and what the agent should say at each step
Step | Agent action | Say to the user |
1 | Call | "Instagram connects same-day. WhatsApp needs Meta Business Verification (usually 2-6 weeks). Which do you want first?" |
2 | Call | "Open this link, sign in or sign up, connect your account and approve the code |
3 | Call | "Waiting for your approval. Tell me when you have clicked approve." |
4 | Ask the user to reconnect or restart the server so all tools load | "Connected. Please restart this MCP server once." |
5 | Call | "These accounts are live: ... Nothing else is connected yet." |
6 | Optional: | "Open this second link to connect another account." |
7 | Teach the business with | "I drafted these facts about your business. Approve them in your dashboard or tell me to approve." |
Never ask the user to paste a secret into chat. The pairing key is stored locally at ~/.instantreply/config.json (file mode 0600). Set INSTANTREPLY_API_KEY for CI, Docker or shared machines.
Related MCP server: Nilyo
Skills that ship with the package
The skills/ directory holds agent skills (SKILL.md with frontmatter) for the main jobs. Copy a folder into your agent's skills directory (for example ~/.claude/skills/) or point your agent at the folder.
Skill | Job |
| Pair, connect socials, verify what is live |
| Find urgent, unanswered and high-intent conversations and draft replies |
| Compliance-first outreach: opt-in, STOP, templates, the 24-hour window |
| Teach the AI your business, voice and facts, with owner approval |
| Connect your own system through a signed reply webhook, or add more channels |
Every skill references real tool names only; a test fails the build if one drifts.
Add your own integration
Your backend answers customers:
set_channel_ai_providerwithprovider: custom_reply_webhook. InstantReply POSTs a signed request (X-InstantReply-Timestamp,X-InstantReply-Signature: sha256=HMAC-SHA256(secret, timestamp + "." + body)) to your HTTPS endpoint, which returns{"reply": "..."}. Replies still pass grounding checks.More social accounts:
connect_channelreturns a link; the owner approves Meta OAuth in the browser.Events pushed to your server: signed outbound webhooks are managed with the REST API (
/v1/webhooks) or the dashboard; there is no MCP tool for that yet.
What the agent can do
Inbox work: list and inspect conversations, messages, contacts, channels, analytics, and usage.
Comments: list, read, and publicly reply to Instagram/Facebook post comments; toggle AI comment auto-replies.
Per-channel control: turn AI DM auto-replies on or off for one connected channel without touching the others.
Barq assistance: ask product and workspace questions with
ask_barq; risky actions come back as approvals you confirm withdecide_approval.Lead intelligence: audit recent conversations, find buying signals, segment contacts, draft follow-ups, and estimate campaign cost.
WhatsApp operations: validate, create, submit, inspect, and delete templates; validate journeys; trigger individual or batch journeys; inspect delivery failures.
Developer operations: inspect capabilities, onboarding requirements, and limits; troubleshoot delivery.
Safety: state-changing tools are marked destructive so a careful client can ask for confirmation first.
Version 0.8.0 defines 87 workspace tools plus get_connection_guide (up to 88 tools once authenticated), 13 reusable prompts, an interactive workspace resource, and conversation/contact resource templates. Before pairing, only get_connection_guide, start_setup, and check_setup are available. Remote MCP plans omit ask_barq, propose_knowledge_entry, and propose_follow_up_rule; directory deployments also omit recommend_plan, set_channel_ai_provider, and decide_approval. Availability depends on plan, scopes, and connected channels. The exact tool schema is the source of truth.
Channel and Meta requirements
Instagram, Messenger, and WhatsApp availability depends on scopes, connected assets, and Meta approval state. WhatsApp Business API features can require Meta Business Verification, a connected WhatsApp Business Account, and approved templates. The agent should call get_connection_guide and inspect readiness instead of promising that every WhatsApp feature is immediately available.
InstantReply uses official Meta-connected workflows. Do not use the MCP server to send unsolicited messages, bypass consent, or evade Meta template and messaging-window rules. Honour STOP and unsubscribe requests immediately.
Environment variables
Variable | Default | Purpose |
| none | Skip browser pairing and authenticate directly |
|
| Point the client at another environment |
Development
npm install
npm run build # compile dist/
npm test # run the MCP test suite
npm run dev # watch modeBefore publishing, run npm test, npm run build, npm pack --dry-run, and validate server.json with the official MCP Registry tooling. Keep package.json, package-lock.json, server.json, the README, and the vendored backend MCP copy on the same release version.
Links
License and hosted service
The public GitHub repository and npm client are MIT-licensed. This license covers the client only; the hosted InstantReply server and AI require an eligible plan. Free workspaces have read-only access. MCP Starter is $12/month ($120/year), MCP Growth is $29/month ($290/year), and MCP Pro is $89/month ($890/year). MCP plans use your own agent and model and include no InstantReply-hosted AI; choose an eligible Business or Developer plan for hosted AI. Yearly plans start with a 7-day free trial, card required, with no charge until day 8. Monthly plans have no trial and are charged immediately. Meta bills WhatsApp delivery fees separately.
Terminal
Run it in a terminal and it opens a launcher (Barq flies in, then a menu). When an AI tool starts it (piped, no terminal) it is the MCP server, exactly as before.
npx @instantreply.co/mcp # the launcher
npx @instantreply.co/mcp init # pair your account and add InstantReply to Claude Code, Claude Desktop, Cursor, VS Code, Windsurf, Codex, Gemini CLI and Zed
npx @instantreply.co/mcp doctor # check Node, network, key, your AI tools, the server
npx @instantreply.co/mcp status | channels | tools [search] | call <tool> [json] | live | open | logout | uninstallinit --dry-run shows the exact change to each tool's config and writes nothing; configs are merged without touching your other entries or comments, a .bak is kept, and no secret is ever written into them (the key stays in ~/.instantreply). Every command takes --json. Animation is skipped when output is not a terminal, with NO_COLOR, CI or --no-animation. The daily version check can be turned off with INSTANTREPLY_NO_UPDATE_CHECK=1.

Available Tools
31 toolsassign_conversationBDestructive
Assign or unassign a conversation to a team member. Pass null to unassign.
Inputs: assignee_id (required), conversation_id (required).
check_journey_statusBRead-only
Check delivery status and failure explanation for a journey enrollment.
Inputs: enrollment_id (required).
close_conversationCDestructive
Close an active conversation.
Inputs: conversation_id (required).
delete_templateADestructive
Delete a WhatsApp template from Meta and remove the local registry row. Destructive: only use after explicit user confirmation.
Inputs: id (required), reason (required).
explain_delivery_failureARead-only
Explain a Meta/WhatsApp delivery or template error code in plain English with next steps.
Inputs: code (required).
get_analytics_summaryBRead-only
Get inbox analytics: message volume, response times, AI usage, conversion stats.
Inputs: end_date, start_date.
get_connection_guideARead-only
Get how to connect each channel (Instagram, WhatsApp, Messenger, Telegram, Shopify, calendars): where the user clicks, what Meta requires first, and how long it really takes. Call this before advising anyone which channel to set up — Instagram works same-day, WhatsApp needs 2-6 weeks of Meta Business Verification.
Inputs: no named parameters.
get_contactCRead-only
Get a single contact by ID.
Inputs: id (required).
get_conversationARead-only
Get a single conversation by ID, including customer details and last message.
Inputs: id (required).
get_developer_capabilitiesARead-only
Show which API/MCP capabilities are allowed by the current API key scopes and plan tier.
Inputs: no named parameters.
get_developer_limitsARead-only
Get API rate limits, API key quota, and webhook endpoint quota for the current key plan tier.
Inputs: no named parameters.
get_developer_onboardingBRead-only
Get the developer onboarding checklist for the current workspace.
Inputs: no named parameters.
get_templateARead-only
Get one stored WhatsApp template by InstantReply template ID.
Inputs: id (required).
get_usageBRead-only
Get API usage stats for the current workspace: request counts, error rates, top endpoints.
Inputs: days.
list_channelsARead-only
List connected social channels (Instagram, WhatsApp, Messenger pages).
Inputs: no named parameters.
list_contactsCRead-only
List contacts (leads) in the workspace. Filter by platform.
Inputs: limit, cursor, platform.
list_conversationsARead-only
List inbox conversations. Filter by status (active/closed/pending), platform (instagram/whatsapp/messenger), or assignee.
Inputs: limit, cursor, status, platform, +1 more.
list_journey_historyCRead-only
List recent WhatsApp journey enrollments and delivery states.
Inputs: limit, phone, since, until, +3 more.
list_messagesBRead-only
List messages in a conversation. Returns most recent first.
Inputs: conversation_id (required), limit, cursor.
list_templatesARead-only
List WhatsApp templates with status, category, language, components, and optional usage stats. Use this before recommending sends or cleanup.
Inputs: stats, status, category, channel_id.
recommend_planARead-only
Recommend the right InstantReply plan from what you learn about the business in conversation — channels they want, expected monthly message volume, team size, and whether they need API/webhook access. Returns a recommendation with plain-language reasons, a cheaper alternative when one still fits, and a warning if WhatsApp needs Meta Business Verification. Use this before telling a user what to sign up for.
Inputs: needs_api, platforms, team_size, needs_webhooks, +2 more.
send_messageBDestructive
Send a reply message in a conversation. Use for responding to customers across Instagram, WhatsApp, or Messenger.
Inputs: content (required), conversation_id (required), content_type.
send_whatsapp_templateADestructive
Trigger a WhatsApp journey/template send by trigger_name or journey_id. Use only for consented or transactional sends and ask before sending.
Inputs: phone (required), metadata, journey_id, message_type, +2 more.
submit_stored_templateADestructive
Submit an existing stored template draft to Meta for approval. Ask for confirmation before use.
Inputs: id (required).
submit_templateCDestructive
Create and submit a WhatsApp template to Meta from a flat developer-friendly shape. Ask for confirmation before use.
Inputs: body (required), name (required), footer, header, +6 more.
trigger_journeyBDestructive
Enroll one phone number in a WhatsApp journey by trigger_name or journey_id. Returns enrollment_id for status polling.
Inputs: phone (required), metadata, journey_id, trigger_name, +1 more.
trigger_journey_batchADestructive
Bulk-enroll up to 100 recipients into a WhatsApp journey. Ask for explicit confirmation and validate a sample first.
Inputs: recipients (required), journey_id, trigger_name.
update_contactCDestructive
Update a contact name or lead stage.
Inputs: id (required), name, email, lead_stage, +1 more.
validate_journey_triggerARead-only
Dry-run a journey trigger request. Use before send_whatsapp_template or trigger_journey to catch phone, journey, duplicate, and metadata errors.
Inputs: phone (required), metadata, journey_id, trigger_name.
validate_templateARead-only
Validate a stored WhatsApp template against Meta submission rules before submitting or rewriting.
Inputs: id (required).
validate_template_draftARead-only
Validate a plain-language WhatsApp template objective before creating it. Returns policy risk, likely category, issues, and UTILITY coaching.
Inputs: objective (required), name, language, variables, +1 more.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 31 tools
Most tools target a distinct resource+action, and descriptions carefully differentiate near-neighbors (single vs batch journeys, draft vs stored template validation). However, pairs like submit_template vs submit_stored_template and send_whatsapp_template vs trigger_journey have fuzzy boundaries that could cause misselection.
Nearly every tool follows a predictable snake_case verb_noun pattern (get_/list_/send_/trigger_/validate_/submit_/delete_). The few outliers (recommend_plan, explain_delivery_failure, check_journey_status) still conform to verb-first naming, so there is no convention mixing.
31 tools is on the heavy side and pushes past the comfortable range, with several closely related variants (two validators, two submitters, single vs batch journey triggers). The genuinely broad domain (conversations, contacts, templates, journeys, analytics, developer tooling) partially justifies the count, but some consolidation is possible.
The surface covers full lifecycle for templates and journeys, plus conversation handling, analytics, and developer onboarding/limits/capabilities. Minor gaps exist—no contact creation/deletion and no channel connect/disconnect—but agents can work around these.
Maintenance
Related MCP Connectors
Instagram MCP for DM and comment automation, AI Agent and content publishing via Meta's official API
Agent-first social media publishing, scheduling, analytics, and unified inbox API + 16-tool MCP server across 18 social platforms (X, LinkedIn, Instagram, YouTube, TikTok, Threads, Bluesky, Reddit, Telegram, Discord, Mastodon, Facebook, Pinterest).
Create your offers and launch AI Instagram DM sales agents from any MCP client, over OAuth.
Schedule and publish social posts across 9 platforms (Instagram, LinkedIn, X, TikTok, Facebook, Threads, Pinterest, Bluesky, Mastodon) straight from Claude, ChatGPT, Cursor, or any MCP client. Create, edit, and reschedule posts, upload media, and pull account and post analytics, follower demographics, and best-time windows. 20 tools, free on every plan.
Related MCP Servers
- FlicenseAqualityCmaintenanceEnables agents to interact with Instagram through 49 tools for direct messages, feed, profiles, search, and persona discovery, with write actions disabled by default until explicitly enabled.49-
- AlicenseNot gradedqualityBmaintenanceConnects a user's existing LinkedIn, WhatsApp, Instagram, Telegram, email and calendar accounts to any MCP-compatible agent so it can search, read and act on them without browser automation, including outreach, messaging, inbox triage and event management. It provides 170+ intent-named tools with OAuth 2.1 authentication, per-provider pacing, and approval prompts before sends, posts or deletions.MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI assistants to manage WhatsApp instances, send and receive messages, run campaigns, configure webhooks, manage team members, and view metrics through OAuth-secured MCP tools, with optional message replies on the user's behalf.Apache 2.0

Chat33 MCP Serverofficial
AlicenseNot gradedqualityCmaintenanceEnables AI agents and MCP clients to publish and schedule posts across eight social networks, answer Instagram and Facebook DMs and comments, and build comment-to-DM automations through a hosted remote endpoint.MIT