Instant Reply MCP Server

Connect AI assistants to Instagram, WhatsApp and Messenger conversations, contacts, WhatsApp templates, journeys and delivery diagnostics through Instant Reply.

Documentation

MCP server for yourAI inbox.

Claude Code, Cursor, Windsurf, Zed, and Claude Desktop get direct access to your Instagram DMs, WhatsApp chats, and Messenger inbox - reading conversations, drafting replies, managing the template lifecycle, and debugging journey deliveries through 34 tools, 11 prompts, and two resources. Run one npx command and ask your agent to connect: it pairs itself through a signed setup link, the same device authorization grant gh auth login uses, so no dashboard visit and no copied API key are needed first.

mcp config · pick one

{
  "mcpServers": {
    "instantreply": {
      "command": "npx",
      "args": [
        "-y",
        "@instantreply.co/mcp"
      ]
    }
  }
}

Prefer no install? Claude.ai: Settings → Connectors → Add custom connector → paste https://api.instantreply.co/mcp → sign in. ChatGPT: add it as a connector with developer mode on. The free trial gives full access. No key yet? Add the zero-key block, restart the client, and ask it to connect InstantReply. It hands you a code and a link. Already paired? Use the slash commands like /audit_template_cost or /utility_rewrite_loop.

Install · zero-key

Any agent that can run npx can do this.

No dashboard visit, no copied key. The server requests a device code the way gh auth login or a smart-TV app does (RFC 8628, device authorization grant), shows you a link, and picks up the key the moment you approve it in a browser.

  1. 01

    Add the block

    Drop this in your client's MCP config. No key, no global install.
    "instantreply": {
      "command": "npx",
      "args": ["-y", "@instantreply.co/mcp"]
    }
    
    Copy
  2. 02

    Ask it to connect

    Your agent calls start_setup and gets back a code and a link. Open the link, sign up or log in (captcha and consent apply, same as the site), and approve.
    {
      "instructions": "Tell the user to open this link and approve: https://www.instantreply.co/pair/ABCD-2345",
      "code": "ABCD-2345",
      "link": "https://www.instantreply.co/pair/ABCD-2345",
      "expires_in_seconds": 600,
      "device_code": "kx9F2q... (opaque, single use)",
      "poll_interval_seconds": 5,
      "next_step": "Call check_setup with this device_code once approved."
    }
    
    Copy
  3. 03

    Reconnect, then ask

    check_setup confirms the approval and caches the key at ~/.instantreply/config.json. Restart the client once; every npx run after that skips setup.
    "Find unanswered DMs from today,
     draft a reply for each,
     send only after I confirm."
    
    Copy

The setup link expires in 10 minutes and the code is single use. Prefer to manage a key yourself, for CI, Docker, or a shared machine? Generate one from Settings → API Keys and set INSTANTREPLY_API_KEY instead. Read the spec at RFC 8628.

Tools · 34

Annotated for safe agents.

Every tool advertises readOnlyHint and destructiveHint. Compliant agents ask before they write.

  • get_connection_guide how to connect each channel, no key requiredread
  • list_conversations list inbox conversationsread
  • get_conversation fetch one conversation with last messageread
  • list_messages paginate messages in a conversationread
  • send_message deliver an outbound replywrite
  • assign_conversation route to a teammatewrite
  • close_conversation mark resolveddestructive
  • list_contacts fetch contacts and lead stageread
  • get_contact fetch one contactread
  • update_contact patch name, email, lead stagewrite
  • list_channels list connected platformsread
  • set_channel_ai_replies turn AI DM auto-replies on or off for one channelwrite
  • list_comments list Instagram/Facebook post commentsread
  • get_comment fetch one tracked commentread
  • reply_to_comment post a public reply under a commentwrite
  • set_comment_ai_replies turn AI comment auto-replies on or off org-widewrite
  • get_analytics_summary dashboard stats by date rangeread
  • get_usage API usage and tier headroomread
  • list_templates template statuses, categories, componentsread
  • get_template fetch one template by IDread
  • validate_template check category fit and UTILITY coachingread
  • validate_template_draft preflight new template ideasread
  • submit_template submit a template to Meta for approvalwrite
  • submit_stored_template submit an existing draftwrite
  • delete_template remove obsolete templates from Metadestructive
  • send_whatsapp_template trigger an approved WhatsApp sendwrite
  • trigger_journey enroll one phone into a journeywrite
  • trigger_journey_batch bulk enroll up to 100 recipientswrite
  • validate_journey_trigger dry-run phone, journey, metadataread
  • check_journey_status poll enrollment delivery stateread
  • list_journey_history recent enrollment and send historyread
  • explain_delivery_failure plain-English explanation of a failed sendread
  • get_developer_onboarding integration checklist - what is done, what is nextread
  • get_developer_capabilities current API key scope mapread
  • get_developer_limits rate limits and quota headroomread
  • recommend_plan plan fit from channels, volume, and team sizeread
  • ask_barq hand a task to Barq, the in-app agentwrite
  • list_pending_approvals actions Barq is waiting on you to approveread
  • decide_approval approve or reject a pending Barq actionwrite

Prompts · 11

Slash commands for the work you already do.

MCP clients expose these prompts as reusable commands. Pair them with the downloadable InstantReply skill packs so the agent knows the approval loop, Utility rewrite rules, owner growth plays, integration runbooks, and destructive-action guardrails.

/draft_reply

Draft an answer in the team voice from the last three replies.

/summarize_conversation

Three sentences. Customer goal, current state, what unblocks them.

/find_urgent_unanswered

Rank open conversations by likelihood of churn.

/weekly_inbox_digest

Wins, regressions, response-time deltas. Paste-ready.

/suggest_macros

Surface repeated answers worth turning into canned replies.

/escalation_note

Internal handoff note. Risk first, context second.

/audit_template_cost

Check every pending template - flag MARKETING phrases, estimate savings if reworded as UTILITY.

/utility_rewrite_loop

Rewrite, submit, poll, and report on templates that legitimately qualify as UTILITY.

/journey_recommendation

Turn product events into trigger names, variables, journeys, and delivery checks.

/image_to_whatsapp_template_brief

Use an image or product asset to propose compliant WhatsApp template briefs.

/debug_last_failure

Explain the last delivery failure in plain English and suggest the next step.

Agent skills

Download the operating playbooks.

Install the MCP server for live tools, then add these skills to teach the agent how to run the business workflows: growth audits, WhatsApp policy, template creative, and developer integration.

  • WhatsApp OperatorRun template approval, Utility rewrites, polling, cleanup, sends, and delivery debugging.Download →
  • Business Owner GrowthFind missed leads, no-shows, support leaks, review loops, and the next useful automation.Download →
  • WhatsApp Best PracticesReview templates, opt-ins, journeys, categories, quality risks, and approval loops.Download →
  • API IntegrationGuide developers through scopes, webhooks, retries, idempotency, journeys, and delivery tracking.Download →
  • Creative StudioTurn offers, customer events, and images into category-safe WhatsApp template briefs.Download →

Clients

Drop the block. Pick your editor.

  • Claude Code ~/.claude/mcp.json Setup guide →
  • Claude Desktop ~/Library/Application Support/Claude/claude_desktop_config.json Setup guide →
  • Cursor ~/.cursor/mcp_servers.json Setup guide →
  • Windsurf ~/.codeium/windsurf/mcp_config.json Setup guide →
  • Zed Zed → Settings → Assistant → Context Servers Setup guide →
  • ChatGPT Actions Custom GPT → Actions → Import OpenAPI Setup guide →
  • Claude.ai (remote) Settings → Connectors → Add custom connector → https://api.instantreply.co/mcp
  • Any MCP host stdio transport · npx -y @instantreply.co/mcp

WhatsApp workflows · conversational

Ask instead of clicking.

The MCP server exposes the same template-lifecycle and delivery-debug APIs as conversational tools. You can drive the full workflow - validate, reword, submit, debug - without opening Meta Business Manager or reading error codes.

Template UTILITY coaching

Ask: "Check my pending templates and tell me which ones qualify as UTILITY." The validate_template tool returns flagged marketing phrases and category-safe rewrites. Utility templates are often cheaper than Marketing when the message is truly transactional.

Submit to Meta

Once the coaching is clear, ask: "Fix the flagged phrases and submit." The submit_template tool routes the corrected template to Meta and returns the approval status.

Explain a delivery failure

Ask: "Why did the last campaign message fail for contact X?" The explain_delivery_failure tool returns what happened, whether the fault is ours or Meta's, and whether a retry is safe.

Developer onboarding checklist

Ask: "What integration steps are still incomplete?" The get_developer_onboarding tool returns a checklist of which steps are done and which are not - connect channel, validate first template, register webhook.

Permissions · scopes

The key controls what the agent can do.

Every MCP tool maps to an API key scope. Read tools require conversations:read. Write tools require messages:send. Template tools require templates:write to validate and templates:submit to submit.

Use a read-only key for agent sessions that should only observe. Use a full-scope key for agents that send messages or submit templates. Both key types work with the same server config - just swap the key value.

Zero-key pairing grants a starter scope set: conversations (read and write), contacts (read and write), message sends, and analytics. Template submission needs templates:write and templates:submit, which aren't in that starter set - generate a dedicated key from the dashboard for that workflow.

Every tool advertises readOnlyHint and destructiveHint so compliant MCP clients ask for confirmation before any write action.

# Read-only agent: observe and debug
IR_API_KEY=ir_live_...  # scopes: conversations:read

# Full agent: validate, submit, send
IR_API_KEY=ir_live_...  # scopes: conversations:read,
                        #   messages:send,
                        #   templates:write,
                        #   templates:submit

FAQ

What agents and developers actually ask.

Do I need an API key before I can use this MCP server?

No. Add the config block with no env vars and ask your agent to connect. It calls start_setup, which returns a short code and a link using the same OAuth 2.0 Device Authorization Grant flow gh auth login uses (RFC 8628). Approve it in a browser, then check_setup picks up the key automatically and caches it at ~/.instantreply/config.json. Restart the MCP connection once and the full tool set loads.

How many tools, prompts, and resources does the server expose?

34 tools once paired - 33 authenticated tools covering conversations, contacts, templates, journeys, and delivery debugging, plus get_connection_guide, which needs no key and is always on. There are also 11 prompts (slash commands like /audit_template_cost) and 2 resource types, conversation and contact. Every tool declares readOnlyHint and destructiveHint so a compliant MCP client can ask before it writes or deletes anything.

Which plans include the MCP server?

Free gets read-only MCP tools. Creator does not include MCP. Every Developer plan (Dev Hobby, Dev Pro, Dev Scale) and every paid Business plan (Starter, Growth, Pro) includes the full tool set, with priority MCP routing on Dev Scale and Pro.

What's the difference between a read-only key and a full-scope key?

A read-only key (conversations:read) can list and read conversations, contacts, analytics, templates, and usage - nothing it does changes data. Sending a message needs messages:send. Validating and submitting templates need templates:write and templates:submit. Zero-key pairing grants a starter scope set (conversations, contacts, message sends, analytics); template submission needs a dedicated key generated from the dashboard.

Does this work with ChatGPT?

Yes, two ways. Add the remote connector URL (https://api.instantreply.co/mcp) in ChatGPT's connectors with developer mode on and sign in, or import the OpenAPI spec as a Custom GPT action through REST API Actions. The local stdio server is for terminal clients like Claude Code, Cursor, Windsurf, and Zed.

Can I connect without installing anything?

Yes. In Claude.ai go to Settings → Connectors → Add custom connector, paste https://api.instantreply.co/mcp, and sign in to InstantReply. Approve the consent screen, which shows who is asking and lets you revoke access any time in Settings → API keys. ChatGPT works the same way through connectors in developer mode. In Cursor or Claude Code run: claude mcp add --transport http instantreply https://api.instantreply.co/mcp. New workspaces start on a free trial with full access, no card required.

Will the agent send a message or delete something without asking me first?

Every write and destructive tool - send_message, submit_template, delete_template, and the rest - advertises destructiveHint: true in its MCP tool metadata. A compliant client prompts for confirmation before running it. The server executes the call when the client sends it; it does not silently auto-send on its own.