Odel
SetSmart

SetSmart

@setsmart-gitJavaScriptMITUpdated 1w ago

Instagram, WhatsApp and Messenger DMs through official Meta Business APIs.

Server endpointStreamable HTTPOAuthProbed

This is the third-party server itself — Odel doesn't run it. Hitting this URL directly talks straight to the upstream server with no auth or proxying. Connect through Odel to front it with managed auth.

SetSmart

Instagram MCP Server (also WhatsApp and Messenger)

An MCP server that lets Claude, Cursor, Claude Code and any other MCP client read and reply to Instagram DMs, WhatsApp messages and Facebook Messenger conversations, through the official Meta Business APIs.

Ask your assistant to "find the lead who asked about pricing on Instagram and send them the booking template", and it happens on the real account.

Why this one is different

Most Instagram and WhatsApp MCP servers drive a personal account: a browser automation session, an unofficial bridge, or a reverse engineered mobile API. They break when Meta changes something, and they put the account at risk of being disabled.

This one talks to the official Instagram Messaging API, WhatsApp Cloud API and Messenger Platform, through SetSmart's Meta-approved Business app. Messaging Instagram, WhatsApp or Messenger programmatically is not possible without an approved app, which is why this bridge requires a SetSmart workspace rather than your Instagram password.

That is the tradeoff, stated plainly: it is not self-hostable against your own account, and it needs a SetSmart API key.

Requirements

  • Node.js 18 or newer
  • A SetSmart workspace with at least one channel connected (Instagram, WhatsApp or Messenger)
  • Your workspace API key, from Settings then Integrations

Quick start

Claude Desktop / Claude Code

Add this to your MCP config (claude_desktop_config.json, or .mcp.json for Claude Code):

{
  "mcpServers": {
    "setsmart": {
      "command": "npx",
      "args": ["-y", "setsmart-mcp"],
      "env": {
        "SETSMART_API_KEY": "your-workspace-api-key"
      }
    }
  }
}

Cursor

Same block, in ~/.cursor/mcp.json.

Remote MCP, without this bridge

The SetSmart MCP server is also reachable directly over Streamable HTTP with OAuth, so clients that support remote MCP can skip this package entirely:

https://setsmart.io/api/mcp

Use this bridge when your client only speaks stdio, or when you would rather authenticate with a static API key than an interactive OAuth consent.

Tools

30 tools, grouped by what they touch.

Messaging

ToolWhat it does
message_send_textSend a text message on Instagram, WhatsApp or Messenger
message_send_imageSend an image
message_send_videoSend a video
message_send_audioSend a voice message
message_send_templateSend an approved WhatsApp template
message_send_reactionReact to a message

Conversations

ToolWhat it does
conversation_listList conversations in the workspace
conversation_searchSearch conversations by name, number or content
conversation_getRead one conversation and its status
conversation_get_messagesRead the message history
conversation_add_tagTag a conversation
conversation_remove_tagRemove a tag
conversation_set_notesWrite internal notes

Contacts

ToolWhat it does
contact_findFind a contact by phone, email, Instagram username or tag
contact_getRead one contact
contact_importCreate a contact
contact_add_tagsAdd tags
contact_remove_tagsRemove tags

AI control

ToolWhat it does
ai_get_all_statusSee where the AI assistant is active
ai_pause_conversationStop the assistant on one conversation, for a human handover
ai_resume_conversationHand it back to the assistant
ai_pause_channelPause a whole channel
ai_resume_channelResume a channel

Instagram

ToolWhat it does
instagram_post_listList the account's posts
instagram_post_get_triggersRead the comment triggers on a post
comment_reply_get_auto_replyRead the automatic comment reply setup

Scheduling, templates and stats

ToolWhat it does
scheduled_listList messages scheduled but not sent
scheduled_cancelCancel a scheduled message
template_listList message templates
analytics_statsRead conversation and reply stats

What it deliberately cannot do

An API key is a long lived static secret, so it gets a restricted surface. These are reachable through interactive OAuth on the remote server, never through this bridge:

  • billing and subscription changes
  • workspace settings
  • connecting or disconnecting a channel
  • creating or rewriting AI assistants
  • bulk deletion, blacklists, blocked countries

Rotating the key in your SetSmart settings revokes access immediately, on the next request.

Configuration

VariableDefaultPurpose
SETSMART_API_KEYrequiredYour workspace API key
SETSMART_MCP_URLhttps://setsmart.io/api/mcpOverride the upstream endpoint

How it works

This package contains no messaging logic. It is a stdio to Streamable HTTP pipe: your client speaks MCP over stdin and stdout, the bridge forwards each request to the hosted SetSmart MCP server with your key in the Authorization header, and streams the answer back. Around 150 lines, in src/index.js, so you can read all of it before trusting it with an account.

Links

License

MIT