# Msg91 — MCP server on mcp.ai > Connect your Msg91 account and use 8 tools for communication straight from your AI agent. Connect with your own API key. MSG91 is a cloud communication platform offering secure and robust APIs for SMS, WhatsApp, Email, Voice, and more, enabling businesses to connect with their customers across multiple channels. By: mcp.ai · official Page: https://mcp.ai/msg91 ## Connect (MCP protocol) Remote MCP endpoint (HTTP, streamable): https://api.mcp.ai/p_msg91?ms=1787293740000 Add it as a custom/remote MCP connector, then authenticate when prompted. ## REST API (no MCP client required) Every tool is also a REST endpoint, authed with a workspace API key. Discover: GET https://api.mcp.ai/api/msg91/_endpoints # public; lists every endpoint Call: POST https://api.mcp.ai/api/msg91/ Authorization: Bearer sk_live_… # create one at https://mcp.ai/settings/api-keys Content-Type: application/json Body: { …args } → { "ok": true, "tool": "", "result": { … } } ## Developer docs How to use (MCP or REST), markdown: https://mcp.ai/msg91/skill.md Postman collection (v2.1): https://mcp.ai/msg91/postman.json ## Tools - msg91_create_user_events(events: object[], identifier: string) — Create and track user events in MSG91 Segmento for customer behavior analysis and segmentation. Use this tool to record user actions and behaviors such as logins, purchases, page views, button clicks, - msg91_get_event_types() — Retrieves all event types configured in MSG91 Segmento. Event types represent different user actions and behaviors that can be tracked (e.g., purchases, signups, page views). Use this action to discov - msg91_get_failed_events(page?: integer, limit?: integer, end_date?: string, start_date?: string, campaign_id: string) — Retrieve failed user events from a MSG91 Segmento campaign. This tool fetches events that failed to process during campaign execution, helping you identify and debug issues such as validation errors, - msg91_list_campaigns(page?: integer, limit?: integer) — Tool to list all campaigns in Segmento. Use when you need to retrieve campaigns with pagination support. - msg91_resend_otp(mobile: string, retrytype: string) — Resend OTP to the same mobile number via text message or voice call. Use when the original OTP was not received or expired, and the user needs a new code sent to the same number. - msg91_send_otp(otp?: string, mobile: string, userip?: string, unicode?: integer, invisible?: integer, otp_expiry: integer, otp_length?: integer, template_id: string, realTimeResponse: integer) — Tool to send OTP (One-Time Password) to a mobile number using a pre-configured MSG91 template. Use when you need to verify user phone numbers for authentication, account registration, password reset, - msg91_send_sms_v5(short_url?: string, recipients: object[], template_id: string, realTimeResponse?: string, short_url_expiry?: integer) — Send SMS messages using pre-defined templates via MSG91 Flow API v5. Use when you need to send template-based SMS with dynamic variable substitution to single or multiple recipients. Templates must be - msg91_verify_otp(otp: string, mobile: string, otp_expiry?: integer) — Tool to verify an OTP (One-Time Password) sent to a mobile number. Use when you need to confirm that the OTP code entered by the user matches the one sent via Send OTP API. ## Example prompts - "What can I do in Msg91?" - "Show me a summary of my Msg91 account" ## Links Docs: https://mcp.ai/docs/mcps/msg91 Website: https://mcp.ai/mcps/msg91