EnvoiSMS

Send SMS/WhatsApp and verify OTP codes in Morocco (+212) and worldwide. Direct carrier routing.

¿Debería usar esto?

Calidad y seguridad

A
Calidad de la descripción
98%
Integridad del esquema
87%
Calidad de los nombres
96%
Riesgo de envenenamiento
100%
Coincidencia de permisos
100%
Cumplimiento del protocolo
100%

Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.

Costo de contexto

~1,710Tokens (definiciones de herramientas)
~702 BTamaño de respuesta típico
Impacto moderado en la atención (1.34% del contexto de 128k)

Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.

Instalar

Instalación con un clic

Agrega esto a tu archivo `claude_desktop_config.json`:

{
  "mcpServers": {
    "envoisms": {
      "url": "https://api.envoisms.ma/v1/mcp"
    }
  }
}

Puntos de conexión remotos

https://api.envoisms.ma/v1/mcpstreamable-http

Qué puede hacer

Inventario de herramientas

Herramientas (18)

🟢 Solo lectura🟡 Escritura🔴 Eliminación⚪ Desconocido
🟡send_sms(to, message, sender_id)

Send a single SMS message to a phone number in E.164 format (+212600000000).

Esquema de entrada

{
  "type": "object",
  "properties": {
    "to": {
      "type": "string",
      "description": "Recipient phone number in E.164 format (+212600000000)"
    },
    "message": {
      "type": "string",
      "description": "Text content of the SMS"
    },
    "sender_id": {
      "type": "string",
      "description": "Optional approved custom Sender ID"
    }
  },
  "required": [
    "to",
    "message"
  ]
}
🟡send_bulk_sms(recipients, message, sender_id)

Send an SMS message to multiple recipients in E.164 format at once (up to 100 recipients).

Esquema de entrada

{
  "type": "object",
  "properties": {
    "recipients": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Array of recipient phone numbers in E.164 format (+212600000000)"
    },
    "message": {
      "type": "string",
      "description": "Text content of the SMS"
    },
    "sender_id": {
      "type": "string",
      "description": "Optional approved custom Sender ID"
    }
  },
  "required": [
    "recipients",
    "message"
  ]
}
🟡send_whatsapp_template(to, template_name, language, variables, phone_number_id)

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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "to": {
      "type": "string",
      "description": "Recipient phone number in E.164 format (+212600000000)"
    },
    "template_name": {
      "type": "string",
      "description": "Name of an approved WhatsApp template on the account"
    },
    "language": {
      "type": "string",
      "description": "Template language code (e.g. fr, en_US, ar). Defaults to the template's own language."
    },
    "variables": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Values for the template body placeholders {{1}}, {{2}}, … in order"
    },
    "phone_number_id": {
      "type": "string",
      "description": "Optional: which connected WhatsApp number sends (defaults to the account's default number)"
    }
  },
  "required": [
    "to",
    "template_name"
  ]
}
🟢get_message_status(message_id)

Check the real-time delivery status, segments, and cost of a sent message by ID.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "message_id": {
      "type": "string",
      "description": "Message ID returned by send_sms"
    }
  },
  "required": [
    "message_id"
  ]
}
🟢list_messages(limit, status, channel)

List recent outbound messages for the authenticated account with optional filters.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "limit": {
      "type": "number",
      "description": "Number of messages to retrieve (1-50, default 20)"
    },
    "status": {
      "type": "string",
      "enum": [
        "queued",
        "sent",
        "delivered",
        "failed",
        "undeliverable"
      ],
      "description": "Filter by delivery status"
    },
    "channel": {
      "type": "string",
      "enum": [
        "sms",
        "whatsapp"
      ],
      "description": "Filter by communication channel"
    }
  }
}
🟢get_balance

Check remaining SMS credit balance in MAD and account status.

Esquema de entrada

{
  "type": "object",
  "properties": {}
}
🟡create_topup(pack_id, amount_mad, currency, payment_method)

Create a balance top-up checkout link (Stripe card or crypto USDC) for the authenticated account.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "pack_id": {
      "type": "string",
      "description": "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."
    },
    "amount_mad": {
      "type": "number",
      "description": "Custom recharge amount in MAD (minimum 300 MAD). Optional if pack_id is provided."
    },
    "currency": {
      "type": "string",
      "enum": [
        "mad",
        "eur"
      ],
      "description": "Payment presentation currency for card checkout ('mad' or 'eur'). Default 'mad'."
    },
    "payment_method": {
      "type": "string",
      "enum": [
        "stripe",
        "crypto"
      ],
      "description": "Payment method ('stripe' for card or 'crypto' for USDC). Default 'stripe'."
    }
  }
}
🟡send_otp(to, brand)

Send a 6-digit OTP verification code via SMS or WhatsApp.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "to": {
      "type": "string",
      "description": "Recipient phone number in E.164 format"
    },
    "brand": {
      "type": "string",
      "description": "Brand name shown in the OTP message"
    }
  },
  "required": [
    "to"
  ]
}
⚪verify_otp(session_id, code)

Verify an OTP passcode against a previously sent code.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "session_id": {
      "type": "string",
      "description": "Session ID from send_otp"
    },
    "code": {
      "type": "string",
      "description": "6-digit OTP code to verify"
    }
  },
  "required": [
    "session_id",
    "code"
  ]
}
🟢list_campaigns(limit)

List SMS marketing campaigns created on the account.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "limit": {
      "type": "number",
      "description": "Number of campaigns to retrieve (1-50, default 20)"
    }
  }
}
🟢list_contacts(limit, q, list_id)

List saved contacts or search contacts by name, phone, or email.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "limit": {
      "type": "number",
      "description": "Number of contacts to retrieve (1-100, default 20)"
    },
    "q": {
      "type": "string",
      "description": "Search query matching phone, name, or email"
    },
    "list_id": {
      "type": "string",
      "description": "Filter contacts by contact list ID"
    }
  }
}
🟢get_analytics(days)

Get SMS & WhatsApp message delivery metrics, success rates, and volume statistics.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "days": {
      "type": "number",
      "description": "Lookback window in days (1-365, default 30)"
    }
  }
}
⚪ops_pulse(days)

Admin only. Business health snapshot: margin, cash collected, customer float (liability), solvency ratio, active accounts, and money stuck in the refund-review queue.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "days": {
      "type": "number",
      "description": "Lookback window in days (1-365). Default 30."
    }
  }
}
⚪ops_route_quality(days)

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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "days": {
      "type": "number",
      "description": "Lookback window in days (1-365). Default 30."
    }
  }
}
⚪ops_monitoring

Admin only. Current operational state: open ops alerts by severity, upstream gateway balance, and known issues that need attention right now.

Esquema de entrada

{
  "type": "object",
  "properties": {}
}
🟢lookup_number(to)

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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "to": {
      "type": "string",
      "description": "Phone number to lookup in national (06...) or E.164 (+212...) format."
    }
  },
  "required": [
    "to"
  ]
}
🟢list_sender_ids(status)

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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "status": {
      "type": "string",
      "enum": [
        "approved",
        "pending",
        "rejected",
        "all"
      ],
      "description": "Filter sender IDs by status (approved, pending, rejected, all). Defaults to all."
    }
  }
}
🟢get_pricing(to)

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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "to": {
      "type": "string",
      "description": "Destination phone number in E.164 format, e.g. +2348012345678. Optional."
    }
  }
}

Prompts recomendados

retrieve_data
Get details about [item] from EnvoiSMS
Herramientas esperadas: get_message_status
fetch_info
Fetch [information type] using EnvoiSMS
Herramientas esperadas: get_message_status
list_items
List all [items] available in EnvoiSMS
Herramientas esperadas: list_messages
browse_collection
Show me the [collection] from EnvoiSMS
Herramientas esperadas: list_messages
explore_workflow
List available [items], then get details for each one using EnvoiSMS
Herramientas esperadas: list_messagesget_message_status

Comunidad

Califica este servidor

Evidencia

Observaciones recientes

verificadoversión no registrada18 herramientas
verificadoversión no registrada18 herramientas