Using Netcore CPaaS MCP Servers
Learn how to connect your AI agents to Netcore CPaaS MCP servers, and send messages through plain-English prompts
Overview
MCP (Model Context Protocol) is an open standard that lets AI assistants connect to external tools and services. Instead of writing API calls, you describe the outcome in plain English. Your AI assistant picks the right tool, and the MCP server handles validation, the API request, and the response.
You (plain English) → AI Assistant → MCP Protocol → MCP Server → Netcore CPaaS API
Getting Started
To use Netcore CPaaS MCP servers, you need an active CPaaS account.
- Sign up for a Netcore CPaaS account, or log in to your existing account.
- Ensure the channels you want to use (Email, SMS, RCS, WhatsApp) are activated. Contact the Netcore helpdesk if you need a channel enabled.
- Retrieve your authentication credentials for each channel. View Authentication.
- Add the MCP server configuration to your AI client. View Available Endpoints.
- Restart your MCP server. The Netcore tools will be available in your next session.
Authentication
Each Netcore CPaaS MCP server uses a different authentication mechanism depending on the channel. All credentials are passed as HTTP headers in your MCP client configuration.
Important Note
Keep your credentials secure. Never hardcode them in source code or commit them to version control. Use environment variables or a secrets manager.
Email Bearer Token
Authorization: Bearer <your-email-api-key>
Retrieve your Email API key from the CPaaS dashboard under Settings → API Keys.
WhatsApp Bearer Token
Authorization: <your-whatsapp-api-token>
Retrieve your WhatsApp API token from the CPaaS dashboard.
RCS Base URL
X-Netcore-Api-Key: <your-rcs-api-key>
X-Netcore-Base-Url: <https://your-rcs-api-endpoint>
Retrieve your RCS base URL from your CPaaS dashboard.
SMS Username + Password + Feed ID
X-BulkSMS-Username: <your-username>
X-BulkSMS-Password: <your-password>
X-BulkSMS-FeedID: <your-feed-id>
All values are required. These credentials are available from the SMS section of your CPaaS dashboard. Contact the Netcore helpdesk if you cannot locate your Feed ID.
Available Endpoints
| Server | Streamable HTTP Endpoint | Capabilities |
|---|---|---|
https://cpaasmcp.netcorecloud.net/email-api/v1/mcp | Send emails, inspect delivery and bounce events, manage suppressions | |
| SMS | https://cpaasmcp.netcorecloud.net/sms-api/v1/mcp | Preview and send single/bulk SMS, check delivery, validate numbers |
https://cpaasmcp.netcorecloud.net/v1/mcp/whatsapp | Send messages, manage templates, media, flows, analytics, and payments | |
| RCS | https://cpaasmcp.netcorecloud.net/rcs-api/v1/mcp | Send rich cards and carousels, manage templates, preview and dispatch |
Configuration Examples
Use the JSON snippets below to configure each channel in your MCP client (e.g., Claude Desktop, Cursor, or any MCP-compatible AI agent).
{
"mcpServers": {
"netcore-email": {
"type": "streamableHttp",
"url": "https://cpaasmcp.netcorecloud.net/email-api/v1/mcp",
"headers": {
"Authorization": "Bearer your-email-api-key"
}
}
}
}
{
"mcpServers": {
"netcore-sms": {
"type": "streamableHttp",
"url": "https://cpaasmcp.netcorecloud.net/sms-api/v1/mcp",
"headers": {
"X-API-Key": "your-mcp-access-key",
"X-BulkSMS-Username": "your-username",
"X-BulkSMS-Password": "your-password",
"X-BulkSMS-FeedID": "your-feed-id"
}
}
}
}
{
"mcpServers": {
"netcore-whatsapp": {
"type": "streamableHttp",
"url": "https://cpaasmcp.netcorecloud.net/v1/mcp/whatsapp",
"headers": {
"Authorization": "your-whatsapp-api-token"
}
}
}
}
{
"mcpServers": {
"netcore-rcs": {
"type": "streamableHttp",
"url": "https://cpaasmcp.netcorecloud.net/rcs-api/v1/mcp",
"headers": {
"X-Netcore-Api-Key": "your-rcs-api-key",
"X-Netcore-Base-Url": "https://your-rcs-api-endpoint"
}
}
}
}
Transport Options
| Transport | Status | Description |
|---|---|---|
| Streamable HTTP | ✅ Available (default) | Standard HTTP transport supported by all MCP-compatible clients. |
| STDIO Transport Bridge | ✅ Available | Reach out to your account manager or Netcore helpdesk team to enable. |
Agent Permission and Access Control
When managing AI agent permissions, it is important to implement stricter controls for sensitive tasks, such as sending messages. Granting permanent, unrestricted access can create significant security and operational risks. AI agents with persistent permissions can:
- Send messages without human oversight during unexpected behaviour or prompt injection attacks.
- Generate substantial costs through automated message campaigns that bypass approval workflows.
- Create compliance violations by sending messages that don't meet regulatory requirements.
- Damage customer relationships through inappropriate, mistimed, or excessive communications.
Refer to the MCP implementation guidelines for more details.
Best practice
Configure agent permissions following the principle of least privilege. Grant only the minimum access necessary for the specific task at hand, for the shortest duration required.
Built-in Safety Controls
Netcore CPaaS MCP servers include several controls to reduce operational risk:
- Preview-before-send for SMS:
preview_smsandpreview_bulk_smsCreate an explicit human approval step before any message is dispatched. Use these in workflows where blast mistakes would be costly. - Input validation runs before every outbound API call. Missing or malformed parameters return a guided error rather than a silent failed send.
- Per-client credential isolation — credentials are scoped per session and never exposed in model-visible content.
- HTTPS and timeouts protect all upstream communication.
- Rate limiting is configurable per server.
Use Cases
Email
The Email MCP server wraps Netcore Email API v6 and covers sending, delivery analytics, and suppression management.
Available Tools
| Tool | What It Does |
|---|---|
send_email | Send transactional or promotional email (HTML, plain text, AMP) |
get_email_stats | View aggregate delivery, open, click, and bounce metrics |
get_event_logs | Inspect per-recipient events for debugging |
add_suppression | Add an address to the suppression list |
list_suppressions | List all suppressed addresses |
get_suppression_status | Check suppression status for a single address |
remove_suppression | Remove an address from the suppression list |
Top Use Cases
| # | Use Case | What to Prompt |
|---|---|---|
| 1 | OTP and password reset emails | "Send a plain text OTP email to [email protected] from [email protected]. Subject: Your verification code. Body: Your OTP is 483921. Valid for 10 minutes." |
| 2 | Order and transaction confirmations | "Send an HTML order confirmation to [email protected] from [email protected]. Subject: Order #78432 confirmed." |
| 3 | Bounce and delivery troubleshooting | "Did the password reset email sent to [email protected] yesterday get delivered?" · "Show all bounce events from the last 24 hours." |
| 4 | Suppression management | "Is [email protected] currently suppressed?" · "Add [email protected] to suppression." · "Remove [email protected] from the suppression list." |
| 5 | Delivery and engagement health monitoring | "What is my email delivery rate for the last 7 days?" · "Show open and click stats for this week." |
SMS
Preview-first workflow: Always run preview_sms or preview_bulk_sms before the corresponding send tool. This adds an explicit approval step and prevents costly blast mistakes.
Available Tools
| Tool | What It Does |
|---|---|
preview_sms | Preview a single SMS — recipient, message body, character count — before sending |
send_sms | Send a single SMS after preview approval |
preview_bulk_sms | Preview a bulk SMS job before dispatch |
send_bulk_sms | Send a bulk SMS job after preview approval |
check_delivery_status | Retrieve delivery status by request ID |
validate_numbers | Validate mobile numbers locally (no API call, no credit consumption) |
Top Use Cases
| # | Use Case | What to Prompt |
|---|---|---|
| 1 | OTP and login verification | "Preview an SMS to 9876543210: Your login OTP is 572910. Expires in 5 minutes." (Review preview → confirm → send) |
| 2 | Time-sensitive alerts | "Send an SMS to 9123456789: Suspicious login detected on your account. Contact support immediately if this wasn't you." |
| 3 | Delivery and appointment reminders | "Schedule an SMS to 9988776655 for tomorrow at 10:00 AM: Reminder: Your delivery is scheduled between 2–4 PM today." |
| 4 | Bulk campaigns with personalization | "Preview a bulk SMS for our Diwali sale to the uploaded number list. Message: Hi {name}, enjoy 30% off this Diwali. Use code DIWALI30." |
| 5 | Number validation before campaigns | "Validate these numbers before I run the campaign: 9876543210, 1234567890, 98765, 9000012345." |
| 6 | Delivery report-driven follow-up | "Check delivery status for request ID abc-req-123." |
WhatsApp
The WhatsApp MCP server is the most comprehensive in the suite. It covers outbound messaging, template lifecycle management, media, flows, consent, analytics, and payments on top of the Netcore WhatsApp Business API.
Available Tools
Messaging
| Tool | What It Does |
|---|---|
send_whatsapp_message | Send a template-based outbound message |
send_whatsapp_conversation_message | Reply within the 24-hour conversation window |
Template Management
| Tool | What It Does |
|---|---|
get_template_list | List all templates with status |
create_whatsapp_template | Create a new message template |
edit_whatsapp_template | Edit an existing template |
delete_whatsapp_template | Delete a template |
get_template_preview | Preview a template before sending |
get_template_status | Check approval status of a template |
edit_whatsapp_template_category | Update template category |
get_template_category_list | List available template categories |
get_template_language_list | List supported languages |
get_display_number_details | Get display number configuration |
get_template_profile_details | Get template profile metadata |
Additional tools are available for media handling, flows, consent management, analytics, and payments.
Top Use Cases
| # | Use Case | What to Prompt |
|---|---|---|
| 1 | Template-based transactional messaging | "Send the order_shipped template to +919876543210 with tracking ID TRK98765." |
| 2 | Conversational customer support | "Send a reply to +919123456789: Your refund of ₹1,200 has been processed and will reflect in 3–5 business days." |
| 3 | Order and shipment notifications | "Send the order_confirmed template to +917788990011. Set order number to #56789 and estimated delivery to 28 March." |
| 4 | Template lifecycle operations | "List all approved WhatsApp templates." · "Create a new template called appointment_reminder." · "Check approval status of summer_sale." · "Preview the diwali_offer template." |
| 5 | Consent-aware promotional campaigns | "Send the festive_sale_2025 template to all contacts in the opted-in segment." |
| 6 | Campaign and template analytics | "Show delivery and read rates for the checkout_reminder template this month." |
RCS
Available Tools
| Tool | What It Does |
|---|---|
rcs_send_rich_card | Send a single rich card with image, title, description, and action buttons |
rcs_send_rich_card_carousel | Send a carousel of multiple rich cards |
rcs_send_rich_card_file | Send a rich card with a file attachment |
rcs_send_template_message | Send a template message with attribute substitution and fallback chain handling |
rcs_create_template_text | Create a text template |
rcs_create_template_rich_card | Create a rich card template |
rcs_edit_template_rich_card | Edit a rich card template |
rcs_edit_template_carousel | Edit a carousel template |
rcs_update_template | Update template metadata or content |
rcs_preview_template | Preview a template by ID or name |
rcs_fetch_template | List and filter templates |
rcs_fetch_bot_info | Get bot and client configuration metadata |
Top Use Cases
| # | Use Case | What to Prompt |
|---|---|---|
| 1 | Rich promotional campaigns | "Send a rich card to +919876543210 with our summer sale banner image, title 'Summer Sale — Up to 40% Off', and a Shop Now button." |
| 2 | Product discovery journeys | "Send a carousel of three product cards to +919123456789. Each card should have a product image, name, price, and a Buy Now button." |
| 3 | Transactional rich notifications | "Send the order_confirmed template to +917788990011 with FIRSTNAME set to Priya and ORDER_ID set to #56789." |
| 4 | Template lifecycle management | "Preview the holi_offer template." · "Edit the summer_sale rich card — update the image URL and CTA label." · "List all active RCS templates." |
| 5 | Bot configuration check before campaigns | "Fetch the bot info for my RCS account and confirm it is active." |
Read this blog to know more about CpaaS MCP servers.
Updated about 1 hour ago
