Send SMS/MMS, manage contacts, and read campaigns, messages and media on SimpleTexting.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
DRY-RUN a message body to compute its segment count, whether it sends as SMS or MMS, and its estimated cost — WITHOUT sending anything. Safe and read-only. SimpleTexting REST: POST /messages/evaluate with JSON body {text, mode?}.
The message body to evaluate.
Optional send mode to evaluate against (e.g. AUTO | SMS | MMS).
DRY-RUN a message body to compute its segment count, whether it sends as SMS or MMS, and its estimated cost — WITHOUT sending anything. Safe and read-only. SimpleTexting REST: POST /messages/evaluate with JSON body {text, mode?}.
| Argument | Type | Description |
|---|---|---|
| mode | string | Optional send mode to evaluate against (e.g. AUTO | SMS | MMS). |
| text* | string | The message body to evaluate. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"text"
],
"properties": {
"mode": {
"type": "string",
"description": "Optional send mode to evaluate against (e.g. AUTO | SMS | MMS)."
},
"text": {
"type": "string",
"description": "The message body to evaluate."
}
}
}Get a single campaign by its id, including its message, recipients, and status. SimpleTexting REST: GET /campaigns/{id}.
| Argument | Type | Description |
|---|---|---|
| campaign_id* | string | Campaign id. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"campaign_id"
],
"properties": {
"campaign_id": {
"type": "string",
"description": "Campaign id."
}
}
}Get a single contact by its id or phone number, including profile fields, list memberships, and custom fields. SimpleTexting REST: GET /contacts/{contactIdOrNumber}.
| Argument | Type | Description |
|---|---|---|
| contact* | string | Contact id or phone number. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"contact"
],
"properties": {
"contact": {
"type": "string",
"description": "Contact id or phone number."
}
}
}Get a single media item (MMS asset) by its id, including its URL and metadata. SimpleTexting REST: GET /media/{id}.
| Argument | Type | Description |
|---|---|---|
| media_id* | string | Media item id. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"media_id"
],
"properties": {
"media_id": {
"type": "string",
"description": "Media item id."
}
}
}Get a single message by its id, including its text, direction, status, and timestamps. SimpleTexting REST: GET /messages/{id}.
| Argument | Type | Description |
|---|---|---|
| message_id* | string | Message id. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"message_id"
],
"properties": {
"message_id": {
"type": "string",
"description": "Message id."
}
}
}List the account's campaigns as a paged collection, optionally filtered by sending number, state, list, and start-date range. Note: only immediate campaigns are returned — scheduled/recurring campaigns are NOT included. SimpleTexting REST: GET /campaigns.
| Argument | Type | Description |
|---|---|---|
| page | integer | Zero-based page number. |
| size | integer | Page size (1-100). |
| state | string | Filter by campaign state (e.g. SENT | SCHEDULED | DRAFT). |
| startDateTo | string | Filter to campaigns starting on/before this date. |
| accountPhone | string | Filter by the sending account phone number. |
| listNameOrId | string | Filter by recipient list name or id. |
| startDateFrom | string | Filter to campaigns starting on/after this date. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"page": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Zero-based page number."
},
"size": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Page size (1-100)."
},
"state": {
"type": "string",
"description": "Filter by campaign state (e.g. SENT | SCHEDULED | DRAFT)."
},
"startDateTo": {
"type": "string",
"description": "Filter to campaigns starting on/before this date."
},
"accountPhone": {
"type": "string",
"description": "Filter by the sending account phone number."
},
"listNameOrId": {
"type": "string",
"description": "Filter by recipient list name or id."
},
"startDateFrom": {
"type": "string",
"description": "Filter to campaigns starting on/after this date."
}
}
}List the account's contacts as a paged collection, optionally filtered by a `since` cursor and sort `direction`. SimpleTexting REST: GET /contacts.
| Argument | Type | Description |
|---|---|---|
| page | integer | Zero-based page number. |
| size | integer | Page size (1-100). |
| since | string | Return contacts created/updated since this cursor or timestamp. |
| direction | string | Sort direction (e.g. ASC | DESC). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"page": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Zero-based page number."
},
"size": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Page size (1-100)."
},
"since": {
"type": "string",
"description": "Return contacts created/updated since this cursor or timestamp."
},
"direction": {
"type": "string",
"description": "Sort direction (e.g. ASC | DESC)."
}
}
}List the account's media items (MMS assets) as a paged collection. SimpleTexting REST: GET /media.
| Argument | Type | Description |
|---|---|---|
| page | integer | Zero-based page number. |
| size | integer | Page size (1-100). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"page": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Zero-based page number."
},
"size": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Page size (1-100)."
}
}
}List the account's messages as a paged collection (inbound + outbound message history). SimpleTexting REST: GET /messages.
| Argument | Type | Description |
|---|---|---|
| page | integer | Zero-based page number. |
| size | integer | Page size (1-100). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"page": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Zero-based page number."
},
"size": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Page size (1-100)."
}
}
}SENDS A REAL SMS or MMS to a recipient — this MODIFIES live data and consumes message credits. Provide only the optional fields you need. SimpleTexting REST: POST /messages with JSON body {contactPhone, text, accountPhone?, mode?, subject?, fallbackText?, mediaItems?}.
| Argument | Type | Description |
|---|---|---|
| mode | string | Send mode: AUTO | SMS | MMS | MMS_PREFERRED. |
| text* | string | Message body to send. |
| subject | string | MMS subject line. |
| mediaItems | array | Media URLs or media ids to attach (makes it an MMS). |
| accountPhone | string | Sending account phone number — omit to use the account default. |
| contactPhone* | string | Recipient phone number (E.164 or national format). |
| fallbackText | string | Fallback text if MMS cannot be delivered. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"contactPhone",
"text"
],
"properties": {
"mode": {
"type": "string",
"description": "Send mode: AUTO | SMS | MMS | MMS_PREFERRED."
},
"text": {
"type": "string",
"description": "Message body to send."
},
"subject": {
"type": "string",
"description": "MMS subject line."
},
"mediaItems": {
"type": "array",
"items": {
"type": "string"
},
"description": "Media URLs or media ids to attach (makes it an MMS)."
},
"accountPhone": {
"type": "string",
"description": "Sending account phone number — omit to use the account default."
},
"contactPhone": {
"type": "string",
"description": "Recipient phone number (E.164 or national format)."
},
"fallbackText": {
"type": "string",
"description": "Fallback text if MMS cannot be delivered."
}
}
}UPDATES a live contact — its profile fields, list memberships, and custom fields. This MODIFIES live data. Provide only the fields you want to change. SimpleTexting REST: PUT /contacts/{contactIdOrNumber}.
| Argument | Type | Description |
|---|---|---|
| string | Contact email address. | |
| comment | string | Free-text note on the contact. |
| contact* | string | Contact id or phone number to update. |
| listIds | array | List ids or names to assign the contact to. |
| birthday | string | Contact birthday (YYYY-MM-DD). |
| lastName | string | Contact last name. |
| firstName | string | Contact first name. |
| contactPhone | string | New phone number for the contact. |
| customFields | object | Custom field values, as a map of field name → value. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"contact"
],
"properties": {
"email": {
"type": "string",
"description": "Contact email address."
},
"comment": {
"type": "string",
"description": "Free-text note on the contact."
},
"contact": {
"type": "string",
"description": "Contact id or phone number to update."
},
"listIds": {
"type": "array",
"items": {
"type": "string"
},
"description": "List ids or names to assign the contact to."
},
"birthday": {
"type": "string",
"description": "Contact birthday (YYYY-MM-DD)."
},
"lastName": {
"type": "string",
"description": "Contact last name."
},
"firstName": {
"type": "string",
"description": "Contact first name."
},
"contactPhone": {
"type": "string",
"description": "New phone number for the contact."
},
"customFields": {
"type": "object",
"description": "Custom field values, as a map of field name → value.",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "string"
}
}
}
}