Endpoints: 28,729MCP servers: 18,413Payout addresses: 2,070Paid calls: 1,528Letters: 13Defects: 1,322counted 4 min ago
teppi

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 yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:60035549b0b771322cf615fe94f5aa622136126d3868406e3e9d89497d3230a3 | sha256sum