Skip to main content
Glama

simpletexting

Server Details

Send SMS/MMS, manage contacts, and read campaigns, messages and media on SimpleTexting.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL
Repository
m190/usefulapi-mcp
GitHub Stars
0

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsA

Average 4.1/5 across 11 of 11 tools scored. Lowest: 3.5/5.

Server CoherenceA
Disambiguation5/5

Each tool targets a distinct resource and action. Evaluate, get, list, send, and update operations are clearly separated, with no overlapping purposes.

Naming Consistency5/5

All tool names follow a consistent 'simpletexting_verb_noun' pattern using snake_case, making them predictable.

Tool Count5/5

11 tools is well-scoped for messaging operations, covering listing, fetching, sending, evaluating, and updating without bloat.

Completeness4/5

Covers core workflows but lacks create_contact and delete operations. Agents can work around missing updates but may hit dead ends for adding contacts.

Available Tools

11 tools
simpletexting_evaluate_messageEvaluate messageA
Read-only
Inspect

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?}.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeNoOptional send mode to evaluate against (e.g. AUTO | SMS | MMS).
textYesThe message body to evaluate.
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint=true, and the description reinforces this with 'Safe and read-only'. It adds valuable behavioral details: it computes segment count, SMS/MMS determination, and estimated cost without sending. No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with the core purpose and key differentiator ('WITHOUT sending anything'). Every word is essential; no fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite lacking an output schema, the description clearly states the computed outputs (segment count, SMS/MMS, cost). The annotations confirm read-only safety, and the description covers all needed context for a dry-run evaluation tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema has 100% parameter description coverage, so baseline is 3. The description mentions the JSON body structure {text, mode?} but does not add additional meaning beyond what the schema already provides for each parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'DRY-RUN' and the resource 'message body', and lists specific outputs (segment count, SMS/MMS, cost). It also explicitly distinguishes from sending by noting 'WITHOUT sending anything', differentiating it from the sibling simpletexting_send_message.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context for when to use (before sending to simulate) and implies it is a read-only alternative to sending. However, it does not explicitly state when not to use or mention other sibling tools as alternatives, which would improve differentiation.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

simpletexting_get_campaignGet campaignA
Read-only
Inspect

Get a single campaign by its id, including its message, recipients, and status. SimpleTexting REST: GET /campaigns/{id}.

ParametersJSON Schema
NameRequiredDescriptionDefault
campaign_idYesCampaign id.
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnlyHint=true. The description adds that the response includes 'message, recipients, and status,' providing context beyond the annotation. No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences with no wasted words. Front-loaded with the key action and resource, plus a reference to the underlying REST API.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given a single parameter, readOnlyHint annotation, and no output schema, the description is complete. It mentions the returned data fields (message, recipients, status), compensating for the missing output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% (campaign_id described as 'Campaign id.'). The description adds no further parameter details. Baseline 3 is appropriate as schema covers the parameter meaning adequately.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description explicitly states 'Get a single campaign by its id, including its message, recipients, and status.' It uses a specific verb (Get) and resource (campaign by id), distinguishing it from sibling tools like simpletexting_list_campaigns.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use vs alternatives; the description simply states what it does. It does not mention when not to use or compare to similar tools like simpletexting_evaluate_message or simpletexting_list_campaigns.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

simpletexting_get_contactGet contactA
Read-only
Inspect

Get a single contact by its id or phone number, including profile fields, list memberships, and custom fields. SimpleTexting REST: GET /contacts/{contactIdOrNumber}.

ParametersJSON Schema
NameRequiredDescriptionDefault
contactYesContact id or phone number.
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, indicating no side effects. The description adds behavioral context by specifying the type of data returned (profile fields, list memberships, custom fields). This goes beyond annotations by clarifying the response content, though no rate limits or authentication details are mentioned.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences: the first provides the core action and identifier, the second adds technical context (REST endpoint). Every word is functional, no redundancy or filler. Front-loaded with the essential purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (one parameter, read-only, no nested objects, no output schema), the description adequately covers the operation: what it does, how to identify the contact, and what data is included. No additional information is necessary for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% because the 'contact' parameter has a description 'Contact id or phone number.' The tool description restates this same information without adding extra meaning (e.g., format, validation, or examples). Baseline score of 3 applies as schema already documents the parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (get a single contact), the resource (contact), the identifier (id or phone number), and the data included (profile fields, list memberships, custom fields). It explicitly distinguishes this tool from siblings like list_contacts and update_contact by specifying it retrieves a single entity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description states the tool retrieves a single contact by id or phone number, which implies its use case. However, it does not explicitly guide the agent on when to prefer this over list_contacts (e.g., for a specific contact rather than a list) or mention any exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

simpletexting_get_mediaGet mediaA
Read-only
Inspect

Get a single media item (MMS asset) by its id, including its URL and metadata. SimpleTexting REST: GET /media/{id}.

ParametersJSON Schema
NameRequiredDescriptionDefault
media_idYesMedia item id.
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds the REST endpoint verb (GET), reinforcing idempotence, but annotations already declare readOnlyHint=true, so the description adds minimal behavioral context beyond that.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with purpose, no filler. Efficient and clear.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple single-item retrieval tool with one parameter and no output schema, the description covers the key points. It mentions what is returned (URL and metadata), but lacks structural details. Still, it is fairly complete given the simplicity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the description only repeats 'Media item id.' which matches the schema's description, adding no additional meaning.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool gets a single media item by its id, specifying it includes URL and metadata. This distinguishes it from list_media and other sibling tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Implicitly, the tool is for retrieving a media item when you have its id, but no explicit guidance on when to use it over alternatives like list_media or other get tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

simpletexting_get_messageGet messageA
Read-only
Inspect

Get a single message by its id, including its text, direction, status, and timestamps. SimpleTexting REST: GET /messages/{id}.

ParametersJSON Schema
NameRequiredDescriptionDefault
message_idYesMessage id.
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true. The description adds that it returns specific fields and references the REST endpoint, providing helpful behavioral context beyond the annotation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences: a clear functional statement and a reference to the underlying API. It is concise, front-loaded, and contains no unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple getter with one parameter and no output schema, the description is fairly complete. It explains what the tool does and what fields are returned, though it omits error handling or prerequisites.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% with 'Message id.' for the parameter. The description mentions 'by its id' but adds no additional semantic value beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool retrieves a single message by ID, including specific fields like text, direction, status, and timestamps. It distinguishes from sibling tools like list_messages (which returns many) and others for different purposes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage context is implied (use when you have a specific message ID), but there is no explicit guidance on when not to use this tool or mention of alternatives like list_messages for broader queries.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

simpletexting_list_campaignsList campaignsA
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoZero-based page number.
sizeNoPage size (1-100).
stateNoFilter by campaign state (e.g. SENT | SCHEDULED | DRAFT).
startDateToNoFilter to campaigns starting on/before this date.
accountPhoneNoFilter by the sending account phone number.
listNameOrIdNoFilter by recipient list name or id.
startDateFromNoFilter to campaigns starting on/after this date.
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, indicating no side effects. The description adds value by specifying paged results and the exclusion of scheduled/recurring campaigns, which is behavioral context beyond the annotation. No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with the main purpose and filters, followed by a critical exclusion note. Includes the API endpoint for reference. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a list endpoint with 7 well-documented optional parameters, the description covers the essential behavior (paged, filterable, immediate-only). No output schema is provided, but 'paged collection' gives reasonable expectation. The exclusion note is critical and present.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema has 100% coverage with individual parameter descriptions. The description groups filters conceptually but does not add detailed semantics beyond what the schema already provides. Baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'list' and resource 'campaigns', with specific scope: 'the account's campaigns as a paged collection'. It distinguishes from sibling tools like get_campaign (single) and other list tools by noting optional filters and excluding scheduled/recurring campaigns.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly notes that only immediate campaigns are returned, providing a clear when-to-use context. However, it does not explicitly contrast with alternatives like get_campaign for specific campaigns or other list tools, though the differentiation is implicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

simpletexting_list_contactsList contactsA
Read-only
Inspect

List the account's contacts as a paged collection, optionally filtered by a since cursor and sort direction. SimpleTexting REST: GET /contacts.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoZero-based page number.
sizeNoPage size (1-100).
sinceNoReturn contacts created/updated since this cursor or timestamp.
directionNoSort direction (e.g. ASC | DESC).
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, so description adds value by specifying paging and filtering behavior. No additional traits like rate limits or permissions are mentioned, but this is adequate for a read-only list endpoint.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences, front-loaded with the main purpose, and no unnecessary information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description is mostly complete given the simple list operation and full schema documentation. However, it lacks details about the return structure (e.g., array of contact objects), which would be helpful without an output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with parameter descriptions. The description restates the `since` and `direction` parameters but adds no new semantics beyond the schema, resulting in a baseline score.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool lists contacts as a paged collection with optional filtering by `since` and `direction`, distinguishing it from sibling tools like `simpletexting_get_contact`.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description indicates optional filtering and pagination parameters, implying use for listing contacts. It does not explicitly state when to use this tool versus alternatives, but the context is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

simpletexting_list_mediaList mediaA
Read-only
Inspect

List the account's media items (MMS assets) as a paged collection. SimpleTexting REST: GET /media.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoZero-based page number.
sizeNoPage size (1-100).
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, so safety is clear. The description adds the behavioral detail that the response is a 'paged collection', complementing the annotation well.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences: the first defines purpose with key qualifiers, the second adds API method. No unnecessary words, front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Lacks output schema and details about response structure (e.g., items array), but the tool is simple and annotations plus schema cover core needs. Adequate for a list operation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already provides full descriptions for both parameters (page and size), so the description adds nothing new about them beyond stating the tool is paged. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('List'), resource ('media items (MMS assets)'), and that it returns a 'paged collection', distinguishing it from sibling tools like 'get_media' which retrieves a single item.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for listing all media items, and the context of sibling tools (e.g., get_media for single items) provides implicit differentiation. However, no explicit when-not-to-use or alternative guidance is given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

simpletexting_list_messagesList messagesA
Read-only
Inspect

List the account's messages as a paged collection (inbound + outbound message history). SimpleTexting REST: GET /messages.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoZero-based page number.
sizeNoPage size (1-100).
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnlyHint=true. The description adds that the result is paged and includes both inbound and outbound messages. However, it does not disclose rate limits, authentication needs, or any constraints beyond the paging parameters.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is one sentence plus the REST endpoint, front-loaded with the key action and scope. No redundant or extraneous information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has 2 parameters and no output schema. The description explains that the result is a paged collection of messages, but does not specify the fields or structure of individual messages. This is a notable gap for an agent to understand what it will receive.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the input schema already documents both parameters with descriptions. The tool description adds no additional meaning beyond mentioning 'paged collection', which is already implicit from the parameters. Baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'List', the resource 'account's messages', and specifies scope 'inbound + outbound message history' with paging. It distinguishes from siblings like simpletexting_get_message which fetches a single message, and simpletexting_send_message which creates messages.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives. The description does not mention context, prerequisites, or exclusions. Sibling tools are listed but not compared.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

simpletexting_send_messageSend messageA
Destructive
Inspect

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?}.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeNoSend mode: AUTO | SMS | MMS | MMS_PREFERRED.
textYesMessage body to send.
subjectNoMMS subject line.
mediaItemsNoMedia URLs or media ids to attach (makes it an MMS).
accountPhoneNoSending account phone number — omit to use the account default.
contactPhoneYesRecipient phone number (E.164 or national format).
fallbackTextNoFallback text if MMS cannot be delivered.
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Discloses destructive nature and credit consumption beyond annotations. Adds real-world impact context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences plus code snippet are efficient. Could remove REST details but still concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers key behavioral aspects; missing return value info but acceptable for a send action with no output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema covers all parameters fully. Description lists parameters redundantly but adds no new meaning beyond schema. Baseline 3 appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states it sends a real SMS or MMS, modifies live data, and consumes credits. Distinguishes from sibling 'evaluate_message' by emphasizing actual sending.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides context on when to use (real send) and a tip to provide only needed optional fields. Lacks explicit exclusion of alternatives but implies not for testing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

simpletexting_update_contactUpdate contactA
Destructive
Inspect

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}.

ParametersJSON Schema
NameRequiredDescriptionDefault
emailNoContact email address.
commentNoFree-text note on the contact.
contactYesContact id or phone number to update.
listIdsNoList ids or names to assign the contact to.
birthdayNoContact birthday (YYYY-MM-DD).
lastNameNoContact last name.
firstNameNoContact first name.
contactPhoneNoNew phone number for the contact.
customFieldsNoCustom field values, as a map of field name → value.
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description explicitly notes 'This MODIFIES live data' and includes the REST endpoint, complementing the destructiveHint annotation. No contradictions with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three concise sentences, front-loaded with the action and key constraints. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 9 parameters, no output schema, and good annotations, the description covers purpose, behavior, and usage hints comprehensively. The partial update instruction is especially valuable.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% coverage with clear descriptions for each parameter. The description adds semantic value by instructing to provide only needed fields, which is crucial for partial updates.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool updates a live contact and specifies aspects (profile fields, list memberships, custom fields). It distinguishes from sibling read-only tools like simpletexting_get_contact and simpletexting_list_contacts.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description advises to 'Provide only the fields you want to change,' implying partial update semantics. However, it lacks explicit when-not-to-use guidance or alternative tools for contact creation.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Discussions

No comments yet. Be the first to start the discussion!

Try in Browser

Your Connectors

Sign in to create a connector for this server.