Server definition
- Hash
- sha256:60035549b0b771322cf615fe94f5aa622136126d3868406e3e9d89497d3230a3
- What it is
- What a remote MCP server returned when asked what it offers: 14 tools
The blob, as servednamed by its sha256
{
"instructions": null,
"tools": [
{
"description": "MUTATES Text-Em-All data: adds a new user to your account (a master user can do this). Text-Em-All API: POST /v1/account/users. Provide the user's fields via `fields` using the API's PascalCase names (e.g. UserName, FirstName, LastName, EmailAddress, Permissions). Returns the created user.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"fields": {
"additionalProperties": {},
"description": "Additional documented Text-Em-All fields to send verbatim in the JSON write body, using the API's PascalCase names (e.g. CallerID, TextNumberID, Lists, RetryTimes). Merged OVER the typed fields above.",
"propertyNames": {
"type": "string"
},
"type": "object"
},
"firstName": {
"description": "First name (FirstName).",
"type": "string"
},
"lastName": {
"description": "Last name (LastName).",
"type": "string"
},
"userName": {
"description": "The new user's login username (UserName).",
"type": "string"
}
},
"type": "object"
},
"name": "add_account_user",
"outputSchema": null
},
{
"description": "MUTATES Text-Em-All data AND SENDS MESSAGES (spends account credits): creates + sends a broadcast to the given contacts. Text-Em-All API: POST /v1/broadcasts. Set broadcastType to 'SMS' (a text broadcast — provide textMessage) or 'Announcement' (a voice broadcast — provide voiceText for text-to-speech, or a pre-recorded AudioID via `fields.Audio`). Contacts is a list of { primaryPhone, firstName?, lastName?, notes? }. Extra documented fields (CallerID, TextNumberID, Lists, RetryTimes, CallThrottle, MaxMessageLength, StartDate, CheckCallingWindow) go through `fields` (PascalCase). Returns the created broadcast.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"broadcastName": {
"description": "A name/label for this broadcast (BroadcastName). Required.",
"type": "string"
},
"broadcastType": {
"description": "'SMS' for a text broadcast, 'Announcement' for a voice broadcast. Required.",
"enum": [
"SMS",
"Announcement"
],
"type": "string"
},
"contacts": {
"description": "Recipients (each needs primaryPhone). Required.",
"items": {
"properties": {
"firstName": {
"description": "Contact first name (Person.FirstName).",
"type": "string"
},
"lastName": {
"description": "Contact last name (Person.LastName).",
"type": "string"
},
"notes": {
"description": "Free-text notes about the contact (Person.Notes).",
"type": "string"
},
"primaryPhone": {
"description": "The contact's phone number (Person.PrimaryPhone). Required.",
"type": "string"
}
},
"required": [
"primaryPhone"
],
"type": "object"
},
"minItems": 1,
"type": "array"
},
"fields": {
"additionalProperties": {},
"description": "Additional documented Text-Em-All fields to send verbatim in the JSON write body, using the API's PascalCase names (e.g. CallerID, TextNumberID, Lists, RetryTimes). Merged OVER the typed fields above.",
"propertyNames": {
"type": "string"
},
"type": "object"
},
"primaryPhoneNumbersOnly": {
"description": "Only send to each contact's primary phone number (PrimaryPhoneNumbersOnly, default true).",
"type": "boolean"
},
"textMessage": {
"description": "The text body for an SMS broadcast (TextMessage). Required when broadcastType='SMS'.",
"type": "string"
},
"voiceText": {
"description": "Text-to-speech message for an Announcement broadcast (mapped to Audio.TextToSpeech=true + Audio.Text).",
"type": "string"
}
},
"required": [
"broadcastName",
"broadcastType",
"contacts"
],
"type": "object"
},
"name": "create_broadcast",
"outputSchema": null
},
{
"description": "MUTATES Text-Em-All data (creates a DRAFT — does NOT send anything): stages a broadcast with the given contacts and returns a single-sign-on URL to finish + send it in the Text-Em-All UI. Safer than create_broadcast when a human should review before sending. Text-Em-All API: POST /v1/draftbroadcasts. Returns { SingleSignOnUrl, ... }.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"contacts": {
"description": "Contacts to pre-populate on the draft broadcast (each needs primaryPhone). Required.",
"items": {
"properties": {
"firstName": {
"description": "Contact first name (Person.FirstName).",
"type": "string"
},
"lastName": {
"description": "Contact last name (Person.LastName).",
"type": "string"
},
"notes": {
"description": "Free-text notes about the contact (Person.Notes).",
"type": "string"
},
"primaryPhone": {
"description": "The contact's phone number (Person.PrimaryPhone). Required.",
"type": "string"
}
},
"required": [
"primaryPhone"
],
"type": "object"
},
"minItems": 1,
"type": "array"
},
"fields": {
"additionalProperties": {},
"description": "Additional documented Text-Em-All fields to send verbatim in the JSON write body, using the API's PascalCase names (e.g. CallerID, TextNumberID, Lists, RetryTimes). Merged OVER the typed fields above.",
"propertyNames": {
"type": "string"
},
"type": "object"
}
},
"required": [
"contacts"
],
"type": "object"
},
"name": "create_draft_broadcast",
"outputSchema": null
},
{
"description": "Fetch your Text-Em-All account settings — company/billing info plus credit balances (AvailableCallUnits, CallBalance) used for sending. Text-Em-All API: GET /v1/account. Use this first to confirm your credentials work.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {},
"type": "object"
},
"name": "get_account",
"outputSchema": null
},
{
"description": "Exchange a Text-Em-All account username + PIN/password for that user's authorization token (the value you set as TEXTEMALL_AUTH_TOKEN). Text-Em-All API: POST /v1/user/login. Signed with your App/Secret key only (no user token yet). Returns { AuthToken }. Use this once to bootstrap; store the token in config thereafter.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"password": {
"description": "The Text-Em-All website login PIN/password. Required.",
"type": "string"
},
"username": {
"description": "The Text-Em-All website login username. Required.",
"type": "string"
}
},
"required": [
"username",
"password"
],
"type": "object"
},
"name": "get_authorization_token",
"outputSchema": null
},
{
"description": "Fetch a single broadcast by id, including its status and summary. Text-Em-All API: GET /v1/broadcasts/{id}.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"id": {
"description": "The BroadcastID.",
"type": [
"string",
"number"
]
}
},
"required": [
"id"
],
"type": "object"
},
"name": "get_broadcast",
"outputSchema": null
},
{
"description": "Fetch per-contact delivery details/results for a broadcast (who was reached, delivery status). Text-Em-All API: GET /v1/broadcasts/{id}/details.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"id": {
"description": "The BroadcastID.",
"type": [
"string",
"number"
]
}
},
"required": [
"id"
],
"type": "object"
},
"name": "get_broadcast_details",
"outputSchema": null
},
{
"description": "Generate a single-sign-on URL to the Text-Em-All conversations UI (open in a browser/iframe). Optionally scope it to one conversation thread by passing a toll-free textNumber + the other phoneNumber. Text-Em-All API: POST /v1/singlesignon/conversations. Returns { Url }. No account data is changed.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"phoneNumber": {
"description": "A phone number that has a conversation with the text number, e.g. 9725551212.",
"type": "string"
},
"textNumber": {
"description": "A toll-free text number on the account, e.g. 18885551234.",
"type": "string"
}
},
"type": "object"
},
"name": "get_conversations_sso_url",
"outputSchema": null
},
{
"description": "List broadcasts (text + voice campaigns) as a paged Feed { Size, Items:[...], Previous, Next }. Text-Em-All API: GET /v1/broadcasts. Filter with equals-style `params` (e.g. BroadcastStatus=Complete) and order with `sortby`. For date-range operators (StartDate~gte~2024-01-01) use the textemall_request escape hatch.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"page": {
"description": "1-based page number (Feed `page`).",
"maximum": 9007199254740991,
"minimum": 1,
"type": "integer"
},
"pagesize": {
"description": "Number of items per page (Feed `pagesize`, default 10).",
"maximum": 200,
"minimum": 1,
"type": "integer"
},
"params": {
"additionalProperties": {
"type": [
"string",
"number",
"boolean"
]
},
"description": "Additional documented equals-style query filters to send verbatim (e.g. BroadcastStatus=Completed). For range operators (Field~gte~value etc.) use the textemall_request escape hatch. Merged with paging above.",
"propertyNames": {
"type": "string"
},
"type": "object"
},
"sortby": {
"description": "Comma-separated fields to sort by; prefix a field with '-' for descending (e.g. '-StartDate,CreatedDate').",
"type": "string"
},
"takesize": {
"description": "How many items to return (Feed `takesize`; defaults to pagesize).",
"maximum": 9007199254740991,
"minimum": 1,
"type": "integer"
}
},
"type": "object"
},
"name": "list_broadcasts",
"outputSchema": null
},
{
"description": "List saved contact lists (groups you can broadcast to) as a Feed; each List has a ListID/ListName. Text-Em-All API: GET /v1/lists. NOTE: inferred from the API's List model — if your account/endpoint differs, use the textemall_request escape hatch.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"page": {
"description": "1-based page number (Feed `page`).",
"maximum": 9007199254740991,
"minimum": 1,
"type": "integer"
},
"pagesize": {
"description": "Number of items per page (Feed `pagesize`, default 10).",
"maximum": 200,
"minimum": 1,
"type": "integer"
},
"params": {
"additionalProperties": {
"type": [
"string",
"number",
"boolean"
]
},
"description": "Additional documented equals-style query filters to send verbatim (e.g. BroadcastStatus=Completed). For range operators (Field~gte~value etc.) use the textemall_request escape hatch. Merged with paging above.",
"propertyNames": {
"type": "string"
},
"type": "object"
},
"takesize": {
"description": "How many items to return (Feed `takesize`; defaults to pagesize).",
"maximum": 9007199254740991,
"minimum": 1,
"type": "integer"
}
},
"type": "object"
},
"name": "list_lists",
"outputSchema": null
},
{
"description": "List the toll-free text (SMS) numbers on your account as a Feed. Each TextNumber has a TextNumberID you need to send a 1:1 conversation text (see send_text_message). Text-Em-All API: GET /v1/textnumbers.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"page": {
"description": "1-based page number (Feed `page`).",
"maximum": 9007199254740991,
"minimum": 1,
"type": "integer"
},
"pagesize": {
"description": "Number of items per page (Feed `pagesize`, default 10).",
"maximum": 200,
"minimum": 1,
"type": "integer"
},
"params": {
"additionalProperties": {
"type": [
"string",
"number",
"boolean"
]
},
"description": "Additional documented equals-style query filters to send verbatim (e.g. BroadcastStatus=Completed). For range operators (Field~gte~value etc.) use the textemall_request escape hatch. Merged with paging above.",
"propertyNames": {
"type": "string"
},
"type": "object"
},
"takesize": {
"description": "How many items to return (Feed `takesize`; defaults to pagesize).",
"maximum": 9007199254740991,
"minimum": 1,
"type": "integer"
}
},
"type": "object"
},
"name": "list_text_numbers",
"outputSchema": null
},
{
"description": "MUTATES Text-Em-All data AND SENDS A TEXT (spends credits): sends a 1:1 conversation text message immediately from one of your toll-free text numbers to a single contact. Text-Em-All API: POST /v1/conversations. You need a textNumberId (from list_text_numbers). Returns the conversation.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"fields": {
"additionalProperties": {},
"description": "Additional documented Text-Em-All fields to send verbatim in the JSON write body, using the API's PascalCase names (e.g. CallerID, TextNumberID, Lists, RetryTimes). Merged OVER the typed fields above.",
"propertyNames": {
"type": "string"
},
"type": "object"
},
"firstName": {
"description": "Recipient first name (Contact.FirstName).",
"type": "string"
},
"lastName": {
"description": "Recipient last name (Contact.LastName).",
"type": "string"
},
"message": {
"description": "The text message body. Required.",
"type": "string"
},
"phoneNumber": {
"description": "The recipient's phone number (e.g. 9725551212). Required.",
"type": "string"
},
"textNumberId": {
"description": "The TextNumberID of the toll-free number to send from (see list_text_numbers). Required.",
"type": [
"string",
"number"
]
},
"truncateIfExceedsLimit": {
"description": "Truncate the message if it exceeds the length limit (TruncateIfExceedsLimit).",
"type": "boolean"
}
},
"required": [
"textNumberId",
"phoneNumber",
"message"
],
"type": "object"
},
"name": "send_text_message",
"outputSchema": null
},
{
"description": "Power-user escape hatch: GET any Text-Em-All API path not wrapped by a dedicated tool. READ-ONLY — only GET is allowed. Pass the FULL API path after the origin, starting with a slash, INCLUDING any query string, e.g. \"/v1/broadcasts?StartDate~gte~2024-01-01&sortby=-StartDate\" or \"/v1/textnumbers\". Returns the parsed JSON.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"path": {
"description": "Full API path after the origin, starting with \"/\", e.g. \"/v1/broadcasts?pagesize=50\".",
"type": "string"
}
},
"required": [
"path"
],
"type": "object"
},
"name": "textemall_request",
"outputSchema": null
},
{
"description": "MUTATES Text-Em-All data: updates an existing account user. Text-Em-All API: PUT /v1/account/users/{user_id}. Provide the fields to change via `fields` (PascalCase, e.g. FirstName, LastName, EmailAddress, Permissions). The user_id is never sent in the body. Returns the updated user.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"fields": {
"additionalProperties": {},
"description": "Additional documented Text-Em-All fields to send verbatim in the JSON write body, using the API's PascalCase names (e.g. CallerID, TextNumberID, Lists, RetryTimes). Merged OVER the typed fields above.",
"propertyNames": {
"type": "string"
},
"type": "object"
},
"firstName": {
"description": "New first name (FirstName).",
"type": "string"
},
"lastName": {
"description": "New last name (LastName).",
"type": "string"
},
"user_id": {
"description": "The id of the user to update (path only). Required.",
"type": [
"string",
"number"
]
}
},
"required": [
"user_id"
],
"type": "object"
},
"name": "update_account_user",
"outputSchema": null
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:60035549b0b771322cf615fe94f5aa622136126d3868406e3e9d89497d3230a3 | sha256sum