Skip to main content
Glama

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.

npm MCP Registry License

Set up in 60 seconds

1. Add the server to your agent (local package, nothing to install first):

Client

How

Claude Code

claude mcp add instantreply -- npx -y @instantreply.co/mcp

Codex CLI

codex mcp add instantreply -- npx -y @instantreply.co/mcp

Claude Desktop

Settings, Developer, Edit config, paste the JSON below, restart

Cursor

Settings, MCP, Add server (or ~/.cursor/mcp.json), paste the JSON below

VS Code

.vscode/mcp.json, use the servers JSON below

Windsurf

~/.codeium/windsurf/mcp_config.json, paste the JSON below

Anything else

Run the command npx -y @instantreply.co/mcp over stdio

{
  "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 get_connection_guide

"Instagram connects same-day. WhatsApp needs Meta Business Verification (usually 2-6 weeks). Which do you want first?"

2

Call start_setup (platform, optional persona: creator, business, developer, agency)

"Open this link, sign in or sign up, connect your account and approve the code ABCD-1234. I will wait."

3

Call check_setup until approved

"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 list_channels

"These accounts are live: ... Nothing else is connected yet."

6

Optional: connect_channel for another Instagram account, Messenger page or WhatsApp number

"Open this second link to connect another account."

7

Teach the business with propose_knowledge_entry

"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

instantreply-setup

Pair, connect socials, verify what is live

instantreply-inbox-triage

Find urgent, unanswered and high-intent conversations and draft replies

instantreply-campaigns

Compliance-first outreach: opt-in, STOP, templates, the 24-hour window

instantreply-brand-voice-and-kb

Teach the AI your business, voice and facts, with owner approval

instantreply-add-integration

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_provider with provider: 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_channel returns 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 with decide_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

INSTANTREPLY_API_KEY

none

Skip browser pairing and authenticate directly

INSTANTREPLY_API_URL

https://api.instantreply.co

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 mode

Before 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.

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 | uninstall

init --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.

The InstantReply launcher

Available Tools

31 tools
assign_conversationB
Destructive

Assign or unassign a conversation to a team member. Pass null to unassign.

Inputs: assignee_id (required), conversation_id (required).

check_journey_statusB
Read-only

Check delivery status and failure explanation for a journey enrollment.

Inputs: enrollment_id (required).

close_conversationC
Destructive

Close an active conversation.

Inputs: conversation_id (required).

delete_templateA
Destructive

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_failureA
Read-only

Explain a Meta/WhatsApp delivery or template error code in plain English with next steps.

Inputs: code (required).

get_analytics_summaryB
Read-only

Get inbox analytics: message volume, response times, AI usage, conversion stats.

Inputs: end_date, start_date.

get_connection_guideA
Read-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_contactC
Read-only

Get a single contact by ID.

Inputs: id (required).

get_conversationA
Read-only

Get a single conversation by ID, including customer details and last message.

Inputs: id (required).

get_developer_capabilitiesA
Read-only

Show which API/MCP capabilities are allowed by the current API key scopes and plan tier.

Inputs: no named parameters.

get_developer_limitsA
Read-only

Get API rate limits, API key quota, and webhook endpoint quota for the current key plan tier.

Inputs: no named parameters.

get_developer_onboardingB
Read-only

Get the developer onboarding checklist for the current workspace.

Inputs: no named parameters.

get_templateA
Read-only

Get one stored WhatsApp template by InstantReply template ID.

Inputs: id (required).

get_usageB
Read-only

Get API usage stats for the current workspace: request counts, error rates, top endpoints.

Inputs: days.

list_channelsA
Read-only

List connected social channels (Instagram, WhatsApp, Messenger pages).

Inputs: no named parameters.

list_contactsC
Read-only

List contacts (leads) in the workspace. Filter by platform.

Inputs: limit, cursor, platform.

list_conversationsA
Read-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_historyC
Read-only

List recent WhatsApp journey enrollments and delivery states.

Inputs: limit, phone, since, until, +3 more.

list_messagesB
Read-only

List messages in a conversation. Returns most recent first.

Inputs: conversation_id (required), limit, cursor.

list_templatesA
Read-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_planA
Read-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_messageB
Destructive

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_templateA
Destructive

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_templateA
Destructive

Submit an existing stored template draft to Meta for approval. Ask for confirmation before use.

Inputs: id (required).

submit_templateC
Destructive

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_journeyB
Destructive

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_batchA
Destructive

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_contactC
Destructive

Update a contact name or lead stage.

Inputs: id (required), name, email, lead_stage, +1 more.

validate_journey_triggerA
Read-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_templateA
Read-only

Validate a stored WhatsApp template against Meta submission rules before submitting or rewriting.

Inputs: id (required).

validate_template_draftA
Read-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

    B3.4/5.0

    Scored across 31 tools

    Disambiguation4/5

    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.

    Naming Consistency5/5

    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.

    Tool Count3/5

    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.

    Completeness4/5

    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

    ActivityMaintained
    ResponsivenessOutdated data

    Related MCP Connectors

    Related MCP Servers

    • F
      license
      A
      quality
      C
      maintenance
      Enables 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
      -
    • A
      license
      Not graded
      quality
      B
      maintenance
      Connects 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
    • A
      license
      Not graded
      quality
      B
      maintenance
      Enables 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
    • A
      license
      Not graded
      quality
      C
      maintenance
      Enables 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