Skip to main content
Glama
vertexdevs-hq

Meta Business Messaging

mcp-meta

MCP server for Meta Business Messaging: WhatsApp Cloud API, Messenger Platform, Instagram Messaging, and Graph API Webhooks.

Covers ~55 tools grouped into 4 products. All endpoints point to graph.facebook.com/{version} (default v22.0, override via META_API_VERSION).

Installation

cd /Users/barboza/Solutions/mcp-meta
npm install
npm run build

Related MCP server: WhatsApp Cloud API MCP Server

Configuration (environment variables)

All are optional — they can also be passed per call via access_token / phone_number_id / etc. in the tool args. Env only serves as default.

Env

Usage

META_API_VERSION

Graph API version (default v22.0)

META_BASE_URL

Base URL (default https://graph.facebook.com)

META_APP_SECRET

Used by webhook_validate_signature

META_VERIFY_TOKEN

Handshake token (hub.verify_token)

WHATSAPP_ACCESS_TOKEN

Bearer for Cloud API

WHATSAPP_PHONE_NUMBER_ID

Default sender phone number ID

WHATSAPP_BUSINESS_ACCOUNT_ID

WABA ID (templates, phone numbers)

MESSENGER_PAGE_ACCESS_TOKEN

Facebook Page token

MESSENGER_PAGE_ID

Default Page ID

INSTAGRAM_PAGE_ACCESS_TOKEN

Token of the Page linked to IG (default: same as MESSENGER_PAGE_ACCESS_TOKEN)

INSTAGRAM_USER_ID

IG user ID, if applicable

Usage via Claude Code / MCP client

Add to ~/.claude.json (or equivalent):

{
  "mcpServers": {
    "meta": {
      "command": "node",
      "args": ["/Users/barboza/Solutions/mcp-meta/dist/index.js"],
      "env": {
        "WHATSAPP_ACCESS_TOKEN": "EAAJB...",
        "WHATSAPP_PHONE_NUMBER_ID": "1234567890",
        "WHATSAPP_BUSINESS_ACCOUNT_ID": "987654321",
        "MESSENGER_PAGE_ACCESS_TOKEN": "EAAJB...",
        "MESSENGER_PAGE_ID": "1111111",
        "META_APP_SECRET": "...",
        "META_VERIFY_TOKEN": "..."
      }
    }
  }
}

For development (tsx, no build):

"args": ["--import", "tsx", "/Users/barboza/Solutions/mcp-meta/src/index.ts"]

Available tools

Discovery

  • meta_list_tools(product?) — lists all mapped tools and endpoints

  • Resource meta://reference/endpoints.json — complete catalog in JSON

WhatsApp Cloud API (~26 tools)

Messages: whatsapp_send_text, whatsapp_send_image, whatsapp_send_audio, whatsapp_send_video, whatsapp_send_document, whatsapp_send_sticker, whatsapp_send_location, whatsapp_send_contacts, whatsapp_send_reaction, whatsapp_send_template, whatsapp_send_reply_buttons, whatsapp_send_list, whatsapp_send_cta_url, whatsapp_send_flow

State: whatsapp_mark_as_read

Media: whatsapp_upload_media, whatsapp_get_media, whatsapp_delete_media

Templates: whatsapp_list_templates, whatsapp_create_template, whatsapp_delete_template

Profile/account: whatsapp_get_business_profile, whatsapp_update_business_profile, whatsapp_list_phone_numbers, whatsapp_register_phone_number, whatsapp_block_users

Messenger Platform (~14 tools)

messenger_send_text, messenger_send_quick_replies, messenger_send_attachment, messenger_send_generic_template, messenger_send_button_template, messenger_send_media_template, messenger_sender_action, messenger_upload_attachment, messenger_get_user_profile, messenger_list_conversations, messenger_set_profile, messenger_get_profile, messenger_pass_thread_control, messenger_take_thread_control

Instagram Messaging (~10 tools)

instagram_send_text, instagram_send_quick_replies, instagram_send_attachment, instagram_send_generic_template, instagram_send_button_template, instagram_send_product_template, instagram_private_reply_to_comment, instagram_react_to_message, instagram_get_user_profile, instagram_list_conversations

Webhooks (3 tools)

webhook_verify_challenge, webhook_validate_signature, webhook_parse_event

Source of truth

The file reference/endpoints.json is the canonical catalog of endpoints — generated by crawling the official documentation at developers.facebook.com/documentation/business-messaging/... and developers.facebook.com/docs/messenger-platform/....

Each tool wraps an endpoint from that catalog. To add support for a new endpoint:

  1. Add an entry to reference/endpoints.json

  2. Create the tool in src/tools/<product>.ts using graphRequest() from src/client.ts

  3. Register in src/index.ts (already automatic via registerXxxTools)

License

MIT.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    Enables AI assistants to manage Instagram and Threads accounts — publish content, handle comments, view insights, search hashtags, and manage DMs through the Meta Graph API.
    59
    13 npm
    12
    MIT
  • A
    license
    B
    quality
    D
    maintenance
    Connects AI assistants to Meta's business platforms (Facebook, Instagram, Threads, Ads, Commerce) with 200 tools for publishing, engagement, analytics, ads, and commerce management.
    100
    166 npm
    33
    MIT