diff --git a/.cursor-plugin/marketplace.json b/.cursor-plugin/marketplace.json index 4c2f963ff..b8b863993 100644 --- a/.cursor-plugin/marketplace.json +++ b/.cursor-plugin/marketplace.json @@ -518,6 +518,11 @@ "source": "third_party/workday", "description": "Look up workers, organizations, time off, payroll, and recruiting data in Workday." }, + { + "name": "whatsapp-business", + "source": "third_party/whatsapp-business", + "description": "Send messages and manage templates, contacts, and phone numbers in WhatsApp Business." + }, { "name": "square", "source": "third_party/square", diff --git a/README.md b/README.md index 61eca8baf..b42a64469 100644 --- a/README.md +++ b/README.md @@ -95,6 +95,7 @@ Official Cursor plugins for popular developer tools, frameworks, and SaaS produc | `shopify-store` | [Shopify](third_party/shopify-store/) | Cursor | Integrations | Connect your Shopify store so Grok can answer questions about products, orders, customers, inventory, and sales. | | `quickbooks-online` | [QuickBooks Online](third_party/quickbooks-online/) | Cursor | Integrations | Read invoices, bills, expenses, customers, accounts, and financial reports. | | `workday` | [Workday](third_party/workday/) | Cursor | Integrations | Look up workers, organizations, time off, payroll, and recruiting data in Workday. | +| `whatsapp-business` | [WhatsApp Business](third_party/whatsapp-business/) | Cursor | Integrations | Send messages and manage templates, contacts, and phone numbers in WhatsApp Business. | | `square` | [Square](third_party/square/) | Cursor | Integrations | Work with payments, orders, catalog, customers, and invoices. | | `tailscale` | [Tailscale](third_party/tailscale/) | Cursor | Integrations | Let Grok Bot reach MCP servers on your private Tailscale network. Sign in to Tailscale to connect your tailnet; Grok Bot joins it as one tagged device and only reaches the hosts you grant to tag:grokbot. | | `highlevel` | [HighLevel](third_party/highlevel/) | Cursor | Integrations | Work with contacts, conversations, opportunities, calendars, and payments. | diff --git a/third_party/whatsapp-business/.cursor-plugin/plugin.json b/third_party/whatsapp-business/.cursor-plugin/plugin.json new file mode 100644 index 000000000..373917f4b --- /dev/null +++ b/third_party/whatsapp-business/.cursor-plugin/plugin.json @@ -0,0 +1,63 @@ +{ + "name": "whatsapp-business", + "displayName": "WhatsApp Business", + "version": "1.0.0", + "minClientVersions": { + "cursor": "3.19.0" + }, + "description": "Send messages and manage templates, contacts, and phone numbers in WhatsApp Business.", + "author": { + "name": "Cursor", + "email": "plugins@cursor.com" + }, + "homepage": "https://github.com/cursor/plugins/tree/main/third_party/whatsapp-business", + "repository": "https://github.com/cursor/plugins", + "license": "MIT", + "logo": "assets/logo.png", + "keywords": [ + "whatsapp", + "whatsapp business", + "meta", + "messaging", + "mcp" + ], + "category": "integrations", + "tags": [ + "whatsapp", + "whatsapp business", + "meta", + "messaging", + "mcp" + ], + "variables": { + "type": "object", + "additionalProperties": false, + "required": [ + "WHATSAPP_BUSINESS_ACCOUNT_ID", + "WHATSAPP_BUSINESS_PHONE_NUMBER_ID", + "WHATSAPP_BUSINESS_ACCESS_TOKEN" + ], + "properties": { + "WHATSAPP_BUSINESS_ACCOUNT_ID": { + "type": "string", + "title": "WhatsApp Business Account ID", + "description": "Shown next to your account name in WhatsApp Manager.", + "minLength": 1 + }, + "WHATSAPP_BUSINESS_PHONE_NUMBER_ID": { + "type": "string", + "title": "Phone number ID", + "description": "The long numeric ID under Account tools > Phone numbers in WhatsApp Manager, not the phone number itself.", + "minLength": 1 + }, + "WHATSAPP_BUSINESS_ACCESS_TOKEN": { + "type": "string", + "title": "Access token", + "description": "A system user token with the whatsapp_business_messaging and whatsapp_business_management permissions.", + "writeOnly": true, + "format": "password", + "minLength": 1 + } + } + } +} diff --git a/third_party/whatsapp-business/CHANGELOG.md b/third_party/whatsapp-business/CHANGELOG.md new file mode 100644 index 000000000..eb7206e79 --- /dev/null +++ b/third_party/whatsapp-business/CHANGELOG.md @@ -0,0 +1,11 @@ +# Changelog + +All notable changes to this plugin will be documented here. + +## 1.0.0 — initial release + +- Added the `whatsapp-business` plugin, the opt-in for the WhatsApp Business MCP server that Cursor hosts. +- Carries no MCP server definition: the server is Cursor-side, so installing the plugin is the whole configuration. +- Each member enters their own `WHATSAPP_BUSINESS_ACCOUNT_ID`, `WHATSAPP_BUSINESS_PHONE_NUMBER_ID`, and `WHATSAPP_BUSINESS_ACCESS_TOKEN`. These are per-member values, not team settings. +- The access token is a Meta system user token with the `whatsapp_business_messaging` and `whatsapp_business_management` permissions. +- Logo: WhatsApp's official mark, from `whatsapp.com`. diff --git a/third_party/whatsapp-business/LICENSE b/third_party/whatsapp-business/LICENSE new file mode 100644 index 000000000..ca2bba771 --- /dev/null +++ b/third_party/whatsapp-business/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2026 Cursor + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/third_party/whatsapp-business/README.md b/third_party/whatsapp-business/README.md new file mode 100644 index 000000000..b4e4e9ea5 --- /dev/null +++ b/third_party/whatsapp-business/README.md @@ -0,0 +1,77 @@ +# WhatsApp Business + +Cursor plugin that connects agents to [WhatsApp Business](https://business.whatsapp.com) — Meta's messaging platform for businesses — through a [Model Context Protocol](https://modelcontextprotocol.io/) server that Cursor hosts. + +Work with a WhatsApp Business Account: send messages from your business phone number, manage message templates, and look up contacts and phone numbers. + +## Install + +1. Open **Cursor Settings → Plugins**. +2. Search for **WhatsApp Business** and click **Install**. +3. Enter your WhatsApp Business Account ID, phone number ID, and access token (see [Before you connect](#before-you-connect)). + +Or run `/add-plugin whatsapp-business` in chat. + +## MCP + +This plugin ships no `mcp.json`, and that is deliberate. + +Every other connector in this repository either points at a vendor's hosted endpoint or runs a package locally over stdio, so it carries its own server definition. WhatsApp Business does not: Cursor runs the server, and the plugin exists only as the opt-in that turns it on for your account. There is no command to run and no MCP endpoint to configure. + +One consequence worth knowing: because the server is not declared here, you will not find it in a local `mcp.json` and you cannot point another MCP client at it. It is reachable from Cursor only. + +## Before you connect + +Each person who installs the plugin enters their own three values. These are per-member settings, so a team admin cannot set them for everyone. + +### 1. Create a system user token in Meta + +1. In [Meta Business Suite](https://business.facebook.com), open **Business settings → Users → System users** and add a system user, or pick an existing one. +2. Under **Assign assets**, give the system user access to your WhatsApp Business Account. +3. Click **Generate new token**, choose the Meta app connected to your WhatsApp Business Account, and select the `whatsapp_business_messaging` and `whatsapp_business_management` permissions. +4. Copy the token. Meta shows it only once. + +### 2. Find your IDs in WhatsApp Manager + +- **WhatsApp Business Account ID:** shown next to your account name in [WhatsApp Manager](https://business.facebook.com/wa/manage/home/). +- **Phone number ID:** the long numeric ID under **Account tools → Phone numbers**. Use the ID, not the phone number itself. + +### 3. Enter the values in Cursor + +All three fields are required: + +| Field | Value | +| --- | --- | +| `WHATSAPP_BUSINESS_ACCOUNT_ID` | WhatsApp Business Account ID from WhatsApp Manager. | +| `WHATSAPP_BUSINESS_PHONE_NUMBER_ID` | Phone number ID from **Account tools → Phone numbers**. Agents send messages from this number. | +| `WHATSAPP_BUSINESS_ACCESS_TOKEN` | The system user token from step 1. Treated as a secret and never shown back. | + +## What agents can do + +| Category | Capabilities | +| --- | --- | +| Messages | Send text and template messages from your business phone number | +| Templates | List and manage message templates | +| Contacts | Look up the contacts your business messages | +| Phone numbers | Read the phone numbers on your WhatsApp Business Account | + +The server is the source of truth for tool names and schemas. + +## Notes + +- Access follows the system user token. The connector can reach only the WhatsApp Business Accounts assigned to that system user, within the token's permissions. +- WhatsApp only allows free-form messages within 24 hours of a customer's last message. Outside that window, agents must send an approved template. +- Messages go out from your real business number and can incur Meta's messaging charges. Review what agents send. +- Disconnecting the connector in Cursor deletes your saved account ID, phone number ID, and access token. Revoking the token in Meta Business Settings ends Cursor's access to your account. + +## Docs + +- WhatsApp Business Platform: https://business.whatsapp.com +- WhatsApp Cloud API: https://developers.facebook.com/docs/whatsapp/cloud-api +- Model Context Protocol: https://modelcontextprotocol.io + +Logo is WhatsApp's official mark, from `whatsapp.com`. + +## License + +MIT diff --git a/third_party/whatsapp-business/assets/logo.png b/third_party/whatsapp-business/assets/logo.png new file mode 100644 index 000000000..aca3c0ef0 Binary files /dev/null and b/third_party/whatsapp-business/assets/logo.png differ