Skip to main content
Glama
froggy1014

Meta Cloud API MCP Server

by froggy1014

What is this?

This MCP server wraps the meta-cloud-api SDK, giving Claude (and other MCP-compatible clients) direct access to the WhatsApp Business Platform. You can ask Claude to:

  • "Create a welcome template in English and Spanish"

  • "List all my flows and publish the draft one"

  • "Send a template message to +1-555-123-4567"

  • "Update my business profile description"

Related MCP server: WhatsApp MCP Server

Quick Start

1. Install

npm install -g meta-cloud-api-mcp

2. Get Your Credentials

You need three values from the Meta Developer Portal:

Variable

Where to find it

CLOUD_API_ACCESS_TOKEN

App Dashboard > WhatsApp > API Setup

WA_PHONE_NUMBER_ID

App Dashboard > WhatsApp > API Setup > Phone number ID

WA_BUSINESS_ACCOUNT_ID

App Dashboard > WhatsApp > API Setup > WhatsApp Business Account ID

3. Configure Claude Desktop

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "whatsapp": {
      "command": "npx",
      "args": ["-y", "meta-cloud-api-mcp"],
      "env": {
        "CLOUD_API_ACCESS_TOKEN": "your_access_token",
        "WA_PHONE_NUMBER_ID": "your_phone_number_id",
        "WA_BUSINESS_ACCOUNT_ID": "your_business_account_id"
      }
    }
  }
}

4. Configure Claude Code

claude mcp add whatsapp -- npx -y meta-cloud-api-mcp

# Then set environment variables in your .claude/settings.json

Available Tools (31)

Templates (5 tools)

Tool

Description

list_templates

List templates with filters (name, status, category, language)

get_template

Get a single template by ID with full component definition

create_template

Create a new message template (MARKETING, UTILITY, AUTHENTICATION)

update_template

Update template components (resubmits for review)

delete_template

Delete a template by name or specific language version

Flows (8 tools)

Tool

Description

list_flows

List all flows for your WhatsApp Business Account

get_flow

Get flow details including status and validation errors

create_flow

Create a new flow (optionally with inline JSON or clone)

update_flow_metadata

Update flow name, categories, or endpoint URI

update_flow_json

Upload or update the flow JSON definition

delete_flow

Delete a draft flow

publish_flow

Publish a draft flow (makes it live)

deprecate_flow

Deprecate a published flow (irreversible)

Messages (3 tools)

Tool

Description

send_text_message

Send a text message to a phone number

send_template_message

Send a pre-approved template message

send_image_message

Send an image (by media ID or public URL)

Media (4 tools)

Tool

Description

get_media_info

Get media metadata (URL, MIME type, size, hash)

upload_media

Upload a file to WhatsApp (returns media ID)

delete_media

Delete media from WhatsApp servers

download_media

Download media content to a local file

Business Profile (2 tools)

Tool

Description

get_business_profile

Get profile (about, address, email, websites, etc.)

update_business_profile

Update profile fields

WABA (3 tools)

Tool

Description

get_waba_account

Get account info (status, health, verification, limits)

subscribe_waba_webhook

Subscribe to WABA webhooks with optional callback override

unsubscribe_waba_webhook

Unsubscribe from WABA webhooks

Phone Numbers (4 tools)

Tool

Description

get_phone_number

Get phone number info (display number, quality, status)

list_phone_numbers

List all phone numbers in the WABA

request_verification_code

Request verification code via SMS or voice

verify_phone_code

Verify phone number with received code

Registration (2 tools)

Tool

Description

register_phone

Register a phone number with a 6-digit PIN

deregister_phone

Deregister a phone number

Example Conversations

Managing Templates:

"List all my approved marketing templates"

"Create a template called order_update with a body that says 'Your order has been confirmed. Order number: {{1}}'"

"Delete the old_promo template"

Managing Flows:

"Show me all my flows and their statuses"

"Create a new customer support flow called support_v2"

"Update the flow JSON for flow ID 12345 with this definition: { ... }"

"Publish flow 12345"

Sending Messages:

"Send 'Hello!' to +15551234567"

"Send the hello_world template in English to +15551234567"

Development

git clone https://github.com/froggy1014/meta-cloud-api-mcp.git
cd meta-cloud-api-mcp
npm install
npm run build

Testing with MCP Inspector

npx @modelcontextprotocol/inspector node dist/index.js

Set environment variables in the Inspector UI, then browse and test all 31 tools interactively.

Requirements

  • Node.js 18 or later

  • Meta Developer Account with WhatsApp Business API access

  • MCP-compatible client (Claude Desktop, Claude Code, etc.)

License

MIT - see LICENSE for details.

A
license - permissive license
-
quality - not tested
D
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/froggy1014/meta-cloud-api-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server