Server definition
- Hash
- sha256:a673a749ed8c303c7ca08873fff8c621cac3f9fc1349c6c93962cc572a4da422
- What it is
- What a remote MCP server returned when asked what it offers: 18 tools
The blob, as servednamed by its sha256
{
"instructions": "EnvoiSMS sends SMS and WhatsApp messages and verifies OTP codes in Morocco (+212) and worldwide, with local routes to IAM (Maroc Telecom), Orange Maroc and Inwi and automatic failover between routes. get_pricing, lookup_number, prompts/list, and resources/list are public; send_sms, send_whatsapp_template, send_otp, verify_otp and get_balance need an API key from https://envoisms.ma/dashboard passed as 'Authorization: Bearer <key>'.",
"tools": [
{
"description": "Create a balance top-up checkout link (Stripe card or crypto USDC) for the authenticated account.",
"inputSchema": {
"properties": {
"amount_mad": {
"description": "Custom recharge amount in MAD (minimum 300 MAD). Optional if pack_id is provided.",
"type": "number"
},
"currency": {
"description": "Payment presentation currency for card checkout ('mad' or 'eur'). Default 'mad'.",
"enum": [
"mad",
"eur"
],
"type": "string"
},
"pack_id": {
"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.",
"type": "string"
},
"payment_method": {
"description": "Payment method ('stripe' for card or 'crypto' for USDC). Default 'stripe'.",
"enum": [
"stripe",
"crypto"
],
"type": "string"
}
},
"type": "object"
},
"name": "create_topup",
"outputSchema": null
},
{
"description": "Get SMS & WhatsApp message delivery metrics, success rates, and volume statistics.",
"inputSchema": {
"properties": {
"days": {
"description": "Lookback window in days (1-365, default 30)",
"type": "number"
}
},
"type": "object"
},
"name": "get_analytics",
"outputSchema": null
},
{
"description": "Check remaining SMS credit balance in MAD and account status.",
"inputSchema": {
"properties": {},
"type": "object"
},
"name": "get_balance",
"outputSchema": null
},
{
"description": "Check the real-time delivery status, segments, and cost of a sent message by ID.",
"inputSchema": {
"properties": {
"message_id": {
"description": "Message ID returned by send_sms",
"type": "string"
}
},
"required": [
"message_id"
],
"type": "object"
},
"name": "get_message_status",
"outputSchema": null
},
{
"description": "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.",
"inputSchema": {
"properties": {
"to": {
"description": "Destination phone number in E.164 format, e.g. +2348012345678. Optional.",
"type": "string"
}
},
"type": "object"
},
"name": "get_pricing",
"outputSchema": null
},
{
"description": "List SMS marketing campaigns created on the account.",
"inputSchema": {
"properties": {
"limit": {
"description": "Number of campaigns to retrieve (1-50, default 20)",
"type": "number"
}
},
"type": "object"
},
"name": "list_campaigns",
"outputSchema": null
},
{
"description": "List saved contacts or search contacts by name, phone, or email.",
"inputSchema": {
"properties": {
"limit": {
"description": "Number of contacts to retrieve (1-100, default 20)",
"type": "number"
},
"list_id": {
"description": "Filter contacts by contact list ID",
"type": "string"
},
"q": {
"description": "Search query matching phone, name, or email",
"type": "string"
}
},
"type": "object"
},
"name": "list_contacts",
"outputSchema": null
},
{
"description": "List recent outbound messages for the authenticated account with optional filters.",
"inputSchema": {
"properties": {
"channel": {
"description": "Filter by communication channel",
"enum": [
"sms",
"whatsapp"
],
"type": "string"
},
"limit": {
"description": "Number of messages to retrieve (1-50, default 20)",
"type": "number"
},
"status": {
"description": "Filter by delivery status",
"enum": [
"queued",
"sent",
"delivered",
"failed",
"undeliverable"
],
"type": "string"
}
},
"type": "object"
},
"name": "list_messages",
"outputSchema": null
},
{
"description": "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.",
"inputSchema": {
"properties": {
"status": {
"description": "Filter sender IDs by status (approved, pending, rejected, all). Defaults to all.",
"enum": [
"approved",
"pending",
"rejected",
"all"
],
"type": "string"
}
},
"type": "object"
},
"name": "list_sender_ids",
"outputSchema": null
},
{
"description": "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.",
"inputSchema": {
"properties": {
"to": {
"description": "Phone number to lookup in national (06...) or E.164 (+212...) format.",
"type": "string"
}
},
"required": [
"to"
],
"type": "object"
},
"name": "lookup_number",
"outputSchema": null
},
{
"description": "Admin only. Current operational state: open ops alerts by severity, upstream gateway balance, and known issues that need attention right now.",
"inputSchema": {
"properties": {},
"type": "object"
},
"name": "ops_monitoring",
"outputSchema": null
},
{
"description": "Admin only. Business health snapshot: margin, cash collected, customer float (liability), solvency ratio, active accounts, and money stuck in the refund-review queue.",
"inputSchema": {
"properties": {
"days": {
"description": "Lookback window in days (1-365). Default 30.",
"type": "number"
}
},
"type": "object"
},
"name": "ops_pulse",
"outputSchema": null
},
{
"description": "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.",
"inputSchema": {
"properties": {
"days": {
"description": "Lookback window in days (1-365). Default 30.",
"type": "number"
}
},
"type": "object"
},
"name": "ops_route_quality",
"outputSchema": null
},
{
"description": "Send an SMS message to multiple recipients in E.164 format at once (up to 100 recipients).",
"inputSchema": {
"properties": {
"message": {
"description": "Text content of the SMS",
"type": "string"
},
"recipients": {
"description": "Array of recipient phone numbers in E.164 format (+212600000000)",
"items": {
"type": "string"
},
"type": "array"
},
"sender_id": {
"description": "Optional approved custom Sender ID",
"type": "string"
}
},
"required": [
"recipients",
"message"
],
"type": "object"
},
"name": "send_bulk_sms",
"outputSchema": null
},
{
"description": "Send a 6-digit OTP verification code via SMS or WhatsApp.",
"inputSchema": {
"properties": {
"brand": {
"description": "Brand name shown in the OTP message",
"type": "string"
},
"to": {
"description": "Recipient phone number in E.164 format",
"type": "string"
}
},
"required": [
"to"
],
"type": "object"
},
"name": "send_otp",
"outputSchema": null
},
{
"description": "Send a single SMS message to a phone number in E.164 format (+212600000000).",
"inputSchema": {
"properties": {
"message": {
"description": "Text content of the SMS",
"type": "string"
},
"sender_id": {
"description": "Optional approved custom Sender ID",
"type": "string"
},
"to": {
"description": "Recipient phone number in E.164 format (+212600000000)",
"type": "string"
}
},
"required": [
"to",
"message"
],
"type": "object"
},
"name": "send_sms",
"outputSchema": null
},
{
"description": "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.",
"inputSchema": {
"properties": {
"language": {
"description": "Template language code (e.g. fr, en_US, ar). Defaults to the template's own language.",
"type": "string"
},
"phone_number_id": {
"description": "Optional: which connected WhatsApp number sends (defaults to the account's default number)",
"type": "string"
},
"template_name": {
"description": "Name of an approved WhatsApp template on the account",
"type": "string"
},
"to": {
"description": "Recipient phone number in E.164 format (+212600000000)",
"type": "string"
},
"variables": {
"description": "Values for the template body placeholders {{1}}, {{2}}, … in order",
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"to",
"template_name"
],
"type": "object"
},
"name": "send_whatsapp_template",
"outputSchema": null
},
{
"description": "Verify an OTP passcode against a previously sent code.",
"inputSchema": {
"properties": {
"code": {
"description": "6-digit OTP code to verify",
"type": "string"
},
"session_id": {
"description": "Session ID from send_otp",
"type": "string"
}
},
"required": [
"session_id",
"code"
],
"type": "object"
},
"name": "verify_otp",
"outputSchema": null
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:a673a749ed8c303c7ca08873fff8c621cac3f9fc1349c6c93962cc572a4da422 | sha256sum