Meta Cloud Api Mcp — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Meta Cloud Api Mcp (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
<p align="center"> <img src="assets/README.svg" alt="Meta Cloud API" width="400"> </p>
<h1 align="center">Meta Cloud API MCP Server</h1>
<p align="center"> A Model Context Protocol (MCP) server that lets Claude manage WhatsApp templates, flows, and send messages through the WhatsApp Cloud API. </p>
<p align="center"> <a href="https://www.npmjs.com/package/meta-cloud-api-mcp"><img src="https://img.shields.io/npm/v/meta-cloud-api-mcp.svg" alt="npm version"></a> <a href="https://www.npmjs.com/package/meta-cloud-api"><img src="https://img.shields.io/badge/SDK-meta--cloud--api-blue" alt="SDK"></a> <a href="https://modelcontextprotocol.io"><img src="https://img.shields.io/badge/MCP-compatible-brightgreen" alt="MCP Compatible"></a> <a href="https://github.com/froggy1014/meta-cloud-api-mcp/blob/main/LICENSE"><img src="https://img.shields.io/badge/license-MIT-blue.svg" alt="License"></a> </p>
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:
npm install -g meta-cloud-api-mcpYou 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 |
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"
}
}
}
}claude mcp add whatsapp -- npx -y meta-cloud-api-mcp
# Then set environment variables in your .claude/settings.json| 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 |
| 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) |
| 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) |
| 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 |
| Tool | Description |
|---|---|
get_business_profile | Get profile (about, address, email, websites, etc.) |
update_business_profile | Update profile fields |
| 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 |
| 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 |
| Tool | Description |
|---|---|
register_phone | Register a phone number with a 6-digit PIN |
deregister_phone | Deregister a phone number |
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"git clone https://github.com/froggy1014/meta-cloud-api-mcp.git
cd meta-cloud-api-mcp
npm install
npm run buildnpx @modelcontextprotocol/inspector node dist/index.jsSet environment variables in the Inspector UI, then browse and test all 31 tools interactively.
MIT - see LICENSE for details.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.