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개