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.

Maintenance

ActivityInactive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers