EnvoiSMS

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

使うべきか

品質と安全性

A
説明の品質
98%
スキーマの完全性
87%
命名の品質
96%
ポイズニングのリスク
100%
権限の一致
100%
プロトコルへの準拠
100%

ツール定義とプロトコルへの準拠に関する自動分析に基づいています。

コンテキストコスト

~1,710トークン数(ツール定義)
~702 B一般的なレスポンスサイズ
注意への影響は中程度(128k コンテキストの 1.34%)

これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。

インストール

ワンクリックインストール

これを `claude_desktop_config.json` ファイルに追加してください:

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

リモートエンドポイント

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

できること

ツール一覧

ツール(18)

🟢 読み取り専用🟡 書き込み🔴 削除⚪ 不明
🟡send_sms(to, message, sender_id)

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

入力スキーマ

{
  "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).

入力スキーマ

{
  "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.

入力スキーマ

{
  "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.

入力スキーマ

{
  "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.

入力スキーマ

{
  "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.

入力スキーマ

{
  "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.

入力スキーマ

{
  "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.

入力スキーマ

{
  "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.

入力スキーマ

{
  "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.

入力スキーマ

{
  "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.

入力スキーマ

{
  "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.

入力スキーマ

{
  "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.

入力スキーマ

{
  "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.

入力スキーマ

{
  "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.

入力スキーマ

{
  "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.

入力スキーマ

{
  "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.

入力スキーマ

{
  "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.

入力スキーマ

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

推奨プロンプト

retrieve_data
Get details about [item] from EnvoiSMS
想定されるツール: get_message_status
fetch_info
Fetch [information type] using EnvoiSMS
想定されるツール: get_message_status
list_items
List all [items] available in EnvoiSMS
想定されるツール: list_messages
browse_collection
Show me the [collection] from EnvoiSMS
想定されるツール: list_messages
explore_workflow
List available [items], then get details for each one using EnvoiSMS
想定されるツール: list_messagesget_message_status

コミュニティ

このサーバーを評価する

エビデンス

最近の観測

検証済みバージョンは記録されていませんツール 18 件
検証済みバージョンは記録されていませんツール 18 件