EnvoiSMS
REMOTE · API.ENVOISMS.MA
Send SMS/WhatsApp and verify OTP codes in Morocco (+212) and worldwide. Direct carrier routing.
Available components
Last scanned (11 hours ago)
Scores higher than 86% of remote servers
Reachable. Last reached 23 Oct 2026.
Category Communication
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →
Endpoint Security71
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation is enforced on tool calls, but the challenge carries no valid RFC 9728 metadata, so a client cannot discover where to get a token. See how to fix → View diagnostics → Fail
- HTTPS check failed: the endpoint is reachable over plaintext HTTP. See how to fix → View diagnostics → Fail
- HSTS check failed: the Strict-Transport-Security header is absent. See how to fix → View diagnostics → Fail
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability87
- 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
- AI-judged instruction clarity (excellent).Pass
- Tool/resource definitions use about 1434 tokens (~68/item across 21 items; 18 tools + 3 resources), lean.Pass
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management100
- No destabilizing schema changes in the last 30 days.Pass
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
Tool Safety75
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- 0 of 4 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "send_sms" implies "send" and declares no destructiveHint at all, which the MCP spec reads as destructive by default. See how to fix → Fail
- An AI judge read all 20 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities20
- Spec-recency check failed: implements MCP spec 2024-11-05; the latest is 2026-07-28. See how to fix → Fail
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 28 Sept 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 26 Sept 26 0
- Tool “list_sender_ids” rewrote its description, which is the text the model reads security
- “list_sender_ids” added an optional parameter “status” cosmetic
- 25 Sept 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 22 Sept 26 +1
- The server rewrote its instructions, which are the text every model session reads security
- Schema quality: 75 → 66 ▲ functional
- The server now declares the “prompts” capability functional
- The server now declares the “resources” capability functional
- First check of Schema quality: 100 functional
- New prompt “moroccan-sms-campaign” functional
- New prompt “otp-verification-flow” functional
- New prompt “whatsapp-template-setup” functional
- New resource “EnvoiSMS API Status & Operational Health” functional
- New resource “EnvoiSMS Moroccan Pricing Catalog” functional
- New resource “Moroccan Custom Sender ID Regulations” functional
- New tool “list_sender_ids” functional
- New tool “lookup_number” functional
- 12 Sept 26 0
- The server rewrote its instructions, which are the text every model session reads security
- Schema quality: 1036 → 1209 ▼ functional
- New tool “send_whatsapp_template” functional
- 11 Sept 26 0
- The server rewrote its instructions, which are the text every model session reads security
- 10 Sept 26 0
- Stability: 0.97 → pass security
- 5 Sept 26 0
- Authorization: unverified → fail ▼ security
- Stability: fail → 0.83 functional
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 23 Oct 2026 · Probed https://api.envoisms.ma/v1/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=envoisms.ma | CN=WE1,O=Google Trust Services,C=US | 24 Sept 2026 | 23 Dec 2026 | ECDSA 256 | ECDSA-SHA256 | db4ec01dfabfd3a70e9eb39acbf51ea6 |
| SANs: envoisms.ma, api.envoisms.ma, *.api.envoisms.ma | ||||||
| CN=WE1,O=Google Trust Services,C=US (CA) | CN=GTS Root R4,O=Google Trust Services LLC,C=US | 13 Dec 2023 | 20 Feb 2029 | ECDSA 256 | ECDSA-SHA384 | 7ff31977972c224a76155d13b6d685e3 |
| CN=GTS Root R4,O=Google Trust Services LLC,C=US (CA) | CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE | 15 Nov 2023 | 28 Jan 2028 | ECDSA 384 | SHA256-RSA | 7fe530bf331343bedd821610493d8a1b |
Background: What to check on a remote MCP endpoint →
DNSSEC insecure
Validation of api.envoisms.ma. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| ma. | present | 3254 | 8 | Verified |
| envoisms.ma. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication Challenged, unverified
The endpoint asked for a token, but we could not retrieve and validate the RFC 9728 metadata that tells a client how to obtain one.
| Result | Challenged, unverified |
|---|---|
| Enforced | On tool calls |
| HTTP status | 200 |
Protected resource metadata
| Retrieved | No |
|---|---|
| Problem | no_resource_metadata |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://api.envoisms.ma/v1/mcp | Verified | 200 | |
| http (plaintext) | http://api.envoisms.ma/v1/mcp | Served over HTTP | 200 |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
create_topup ~162
Create a balance top-up checkout link (Stripe card or crypto USDC) for the authenticated account.
| Name | Type | Req | Description |
|---|---|---|---|
| amount_mad | number | – | Custom recharge amount in MAD (minimum 300 MAD). Optional if pack_id is provided. |
| currency | string | – | Payment presentation currency for card checkout ('mad' or 'eur'). Default 'mad'. |
| pack_id | string | – | SMS top-up pack ID (e.g. 'sms-300' for 300 MAD, 'sms-1000' for 1000 MAD, 'sms-5000' for 5000 MAD). Optional if amount_mad is provided. |
| payment_method | string | – | Payment method ('stripe' for card or 'crypto' for USDC). Default 'stripe'. |
No output schema declared.
No examples provided.
get_analytics ~45
Get SMS & WhatsApp message delivery metrics, success rates, and volume statistics.
| Name | Type | Req | Description |
|---|---|---|---|
| days | number | – | Lookback window in days (1-365, default 30) |
No output schema declared.
No examples provided.
get_balance ~19
Check remaining SMS credit balance in MAD and account status.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_message_status ~41
Check the real-time delivery status, segments, and cost of a sent message by ID.
| Name | Type | Req | Description |
|---|---|---|---|
| message_id | string | yes | Message ID returned by send_sms |
No output schema declared.
No examples provided.
get_pricing ~89
Get EnvoiSMS pricing. Pass `to` (a phone number in E.164, e.g. +2348012345678) for that destination's per-SMS rate; omit it for Moroccan rates and credit packs. Public — no authentication required.
| Name | Type | Req | Description |
|---|---|---|---|
| to | string | – | Destination phone number in E.164 format, e.g. +2348012345678. Optional. |
No output schema declared.
No examples provided.
list_campaigns ~38
List SMS marketing campaigns created on the account.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | number | – | Number of campaigns to retrieve (1-50, default 20) |
No output schema declared.
No examples provided.
list_contacts ~72
List saved contacts or search contacts by name, phone, or email.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | number | – | Number of contacts to retrieve (1-100, default 20) |
| list_id | string | – | Filter contacts by contact list ID |
| q | string | – | Search query matching phone, name, or email |
No output schema declared.
No examples provided.
list_messages ~62
List recent outbound messages for the authenticated account with optional filters.
| Name | Type | Req | Description |
|---|---|---|---|
| channel | string | – | Filter by communication channel |
| limit | number | – | Number of messages to retrieve (1-50, default 20) |
| status | string | – | Filter by delivery status |
No output schema declared.
No examples provided.
list_sender_ids ~67
Consultation des noms d'expéditeurs alphanumériques validés par l'ANRT. List approved and pending custom alphanumeric Sender IDs registered on the authenticated account.
| Name | Type | Req | Description |
|---|---|---|---|
| status | string | – | Filter sender IDs by status (approved, pending, rejected, all). Defaults to all. |
No output schema declared.
No examples provided.
lookup_number ~69
Inspect a phone number: validate format, identify Moroccan operator (IAM / Maroc Telecom, Orange, Inwi) or international country, and view applicable rate. Public — no authentication required.
| Name | Type | Req | Description |
|---|---|---|---|
| to | string | yes | Phone number to lookup in national (06...) or E.164 (+212...) format. |
No output schema declared.
No examples provided.
ops_monitoring ~35
Admin only. Current operational state: open ops alerts by severity, upstream gateway balance, and known issues that need attention right now.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
ops_pulse ~63
Admin only. Business health snapshot: margin, cash collected, customer float (liability), solvency ratio, active accounts, and money stuck in the refund-review queue.
| Name | Type | Req | Description |
|---|---|---|---|
| days | number | – | Lookback window in days (1-365). Default 30. |
No output schema declared.
No examples provided.
ops_route_quality ~69
Admin only. Delivery quality per carrier/provider/channel, failure codes, DLR plausibility (whether delivery reports can be trusted), and ported-number routing hints. The data behind any provider-routing decision.
| Name | Type | Req | Description |
|---|---|---|---|
| days | number | – | Lookback window in days (1-365). Default 30. |
No output schema declared.
No examples provided.
send_bulk_sms ~77
Send an SMS message to multiple recipients in E.164 format at once (up to 100 recipients).
| Name | Type | Req | Description |
|---|---|---|---|
| message | string | yes | Text content of the SMS |
| recipients | array | yes | Array of recipient phone numbers in E.164 format (+212600000000) |
| sender_id | string | – | Optional approved custom Sender ID |
No output schema declared.
No examples provided.
send_otp ~52
Send a 6-digit OTP verification code via SMS or WhatsApp.
| Name | Type | Req | Description |
|---|---|---|---|
| brand | string | – | Brand name shown in the OTP message |
| to | string | yes | Recipient phone number in E.164 format |
No output schema declared.
No examples provided.
send_sms ~73
Send a single SMS message to a phone number in E.164 format (+212600000000).
| Name | Type | Req | Description |
|---|---|---|---|
| message | string | yes | Text content of the SMS |
| sender_id | string | – | Optional approved custom Sender ID |
| to | string | yes | Recipient phone number in E.164 format (+212600000000) |
No output schema declared.
No examples provided.
send_whatsapp_template ~168
Send an approved WhatsApp template message from the account's connected WhatsApp Business number. Templates may open a conversation at any time (no 24-hour window). Billed like the same send on POST /v1/messages.
| Name | Type | Req | Description |
|---|---|---|---|
| language | string | – | Template language code (e.g. fr, en_US, ar). Defaults to the template's own language. |
| phone_number_id | string | – | Optional: which connected WhatsApp number sends (defaults to the account's default number) |
| template_name | string | yes | Name of an approved WhatsApp template on the account |
| to | string | yes | Recipient phone number in E.164 format (+212600000000) |
| variables | array | – | Values for the template body placeholders {{1}}, {{2}}, … in order |
No output schema declared.
No examples provided.
verify_otp ~48
Verify an OTP passcode against a previously sent code.
| Name | Type | Req | Description |
|---|---|---|---|
| code | string | yes | 6-digit OTP code to verify |
| session_id | string | yes | Session ID from send_otp |
No output schema declared.
No examples provided.
How do I install the EnvoiSMS MCP server?
EnvoiSMS is a hosted endpoint at https://api.envoisms.ma/v1/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
remote · api.envoisms.ma
claude mcp add --transport http ma-envoisms-envoisms 'https://api.envoisms.ma/v1/mcp'
What is the EnvoiSMS MCP server?
EnvoiSMS is an MCP server listed in the public MCP registry as ma.envoisms/envoisms. Send SMS/WhatsApp and verify OTP codes in Morocco (+212) and worldwide. Direct carrier routing. This page covers its hosted endpoint (https://api.envoisms.ma/v1/mcp).
Is the EnvoiSMS MCP server safe to use?
EnvoiSMS scores 81 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the EnvoiSMS MCP server expose?
EnvoiSMS exposes 18 tools: send_sms, send_bulk_sms, send_whatsapp_template, get_message_status, list_messages, and 13 more. Their descriptions and schemas cost roughly 1,249 tokens of context every time the server is loaded.
Does the EnvoiSMS MCP server require authentication?
Yes. EnvoiSMS asked us for credentials when we connected, so you will need to authorise it in your MCP client before it can do anything.
Is the EnvoiSMS MCP server still maintained?
EnvoiSMS is still listed as active in the MCP registry. We last reached this channel on 23 October 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.