sms-marketing
SMS marketing MCP server for AI agents.
What it can do
- List Templates: List all SMS templates in your workspace. Returns an array of template objects with id, name, body, is_active, created_at, and updated_at fields.
- Create Template: Create a new reusable SMS template. Supports variables that are replaced at send time: {{first_name}}, {{last_name}}, {{promo_code}}, {{recovery_url}}. Returns the created template wi
- Update Template: Update an existing SMS template by its UUID. Only provided fields are modified; others remain unchanged.
What data it sees
Do you need an account
No: the server works without sign-in
SMS marketing MCP server for AI agents. Send SMS, manage contacts, templates, and campaigns programmatically. Sign up at oblipali.app, generate an API key, buy prepaid SMS credits, and connect your agent. 22 tools available, pay-as-you-go pricing, no subscription.
How to connect
How to connect sms-marketing to Claude
The server address to paste into Claude settings:
https://sms-marketing--oblipali.run.tools
- Open Claude (claude.ai or the desktop app).
- Go to Settings → Connectors.
- Click Add custom connector.
- Paste the server address copied below into Remote MCP server URL and click Add.
- In a chat, click + → Connectors and switch the new connector on.
Custom connectors are available on Free, Pro, Max, Team and Enterprise plans (Free is limited to one). On Team and Enterprise an organization Owner adds the connector first under Organization settings → Connectors.
Authorization
After you click Add, a sign-in window for the service opens. Sign in with your own account and approve access. Claude never sees your password.
How to connect sms-marketing to ChatGPT
The server address to paste into ChatGPT settings:
https://sms-marketing--oblipali.run.tools
- Open ChatGPT in a browser (chatgpt.com). A Plus, Pro, Business, Enterprise or Edu plan is required.
- Turn on developer mode once: Settings → Apps → Advanced settings → Developer mode.
- Open Settings → Connectors and click Create.
- Fill in the form: Name (anything), Description (one line about what the service does), MCP server URL (copy it below).
- Under Authentication choose OAuth if the service requires sign-in, otherwise None. Click Create.
- In a new chat open + → Apps/Connectors and enable the connector.
OpenAI has renamed this section before (Connectors → Apps/Plugins). If the label differs, search settings for "developer mode". On Business/Enterprise workspaces an admin must allow custom connectors first.
Authorization
On first use ChatGPT opens the service's sign-in window. Sign in and approve access.
How to connect sms-marketing to Cursor
The server address to paste into Cursor settings:
https://sms-marketing--oblipali.run.tools
Fastest: click Open in Cursor below and confirm the prompt.
Manually:
- In Cursor open Settings → Cursor Settings → MCP and click Add new global MCP server.
- Paste the JSON copied below into
~/.cursor/mcp.json(per project:.cursor/mcp.jsonin the repo root). - Save the file. The server appears in the MCP list; authorize it there if asked.
Authorization
If the service needs sign-in, an authorize button appears next to the server in the MCP list.
Server tool list (22)
Raw names from tools/list. Only developers need these.
| list_templates | List all SMS templates in your workspace. Returns an array of template objects with id, name, body, is_active, created_at, and updated_at fields. |
| create_template | Create a new reusable SMS template. Supports variables that are replaced at send time: {{first_name}}, {{last_name}}, {{promo_code}}, {{recovery_url}}. Returns the created template with its UUID. |
| update_template | Update an existing SMS template by its UUID. Only provided fields are modified; others remain unchanged. |
| delete_template | Permanently delete an SMS template by its UUID. This action cannot be undone. Campaigns referencing this template will lose their template link. |
| list_contacts | List contacts in your workspace with pagination and optional filters. Returns contacts with id, phone, first_name, last_name, email, tags, metadata, opted_out status, and timestamps. |
| create_contact | Add a new contact to your workspace. The phone number is automatically normalized to E.164 international format. French numbers (06/07) are converted to +33 format. Returns the created contact with its UUID. |
| update_contact | Update an existing contact by UUID. Only provided fields are modified. Use this to change names, email, tags, or metadata without affecting other fields. |
| delete_contact | Permanently delete a contact by UUID. This removes the contact and all associated data. Cannot be undone. |
| import_contacts | Bulk import up to 1,000 contacts at once. Uses upsert on phone number: existing contacts are updated, new ones are created. Returns count of imported and skipped contacts. |
| list_campaigns | List all SMS campaigns in your workspace. Optionally filter by status. Returns campaigns with id, name, message, status, scheduled_at, sent_at, target_filter, and stats. |
| create_campaign | Create a new SMS campaign in draft status. Provide either a direct message or a template_id. Use send_campaign to actually dispatch it. Optionally set target_filter to send to a subset of contacts. |
| update_campaign | Update a draft or scheduled campaign. Only draft and scheduled campaigns can be modified. Sent or cancelled campaigns cannot be updated. |
| delete_campaign | Permanently delete a campaign. Only campaigns in 'draft' or 'cancelled' status can be deleted. Sent campaigns are preserved for audit. |
| send_campaign | Send a draft campaign immediately to all matching contacts. Each SMS sent costs 1 credit per SMS part. This action is irreversible — SMS messages will be delivered to real phone numbers. Check your credit balance with get_workspace before sending. |
| send_sms | Send a single SMS message to a phone number immediately. Costs 1 credit per SMS part (160 chars = 1 part, longer messages use multiple parts). The message is delivered in real-time via OVH Cloud SMS. Check your credit balance with get_workspace before sending. |
| list_logs | List SMS sending logs with pagination and optional filters. Returns log entries with phone, message, status (pending/sent/delivered/failed), provider_id, error_message, and timestamps. |
| list_optouts | List all phone numbers that have opted out of receiving SMS. These contacts will be automatically excluded from campaigns and direct sends. |
| create_optout | Add a phone number to the opt-out list. This contact will no longer receive any SMS. The corresponding contact record is also marked as opted_out. |
| delete_optout | Remove a phone number from the opt-out list, allowing them to receive SMS again. The corresponding contact is also marked as opted back in. |
| get_workspace | Get your workspace information including name, plan status, SMS credit balance, billing cycle start date, and timezone. Use this to check available credits before sending SMS. |
| get_stats | Get aggregated SMS sending statistics for a date range. Returns counts by status: pending, sent, delivered, failed, and total. Useful for monitoring delivery rates and campaign performance. |
| count_sms_parts | Calculate how many SMS parts a message will use and the character count. Does NOT send anything — this is a free, read-only utility. Use this before sending to estimate credit cost. GSM-7 encoding: 160 chars = 1 part, 153 chars per additional part. Unicode: 70 chars = 1 part, 67 chars per additional part. |