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/5 across 11 of 11 tools scored.

Server CoherenceA
Disambiguation5/5

Each tool targets a distinct resource and action: evaluate vs send, get vs list for campaigns/contacts/media/messages, and update for contacts. No overlapping purposes.

Naming Consistency5/5

All tools follow a consistent 'simpletexting_verb_noun' pattern with lowercase and underscores. Verbs are imperative (evaluate, get, list, send, update) and nouns use singular for get and plural for list, as expected.

Tool Count5/5

11 tools is well-scoped for a messaging API, covering the core operations without being excessive. Each tool serves a clear purpose and earns its place.

Completeness2/5

Significant gaps exist: no create or delete for contacts, campaigns, or media; no delete for messages. The surface is read-heavy with only send and update as write operations, limiting full lifecycle management.

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.
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 computes segment count, SMS/MMS type, cost, and mentions the API endpoint and request format. This provides meaningful 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 three tight sentences, front-loaded with the key verb 'DRY-RUN', and includes all necessary information without redundancy. Every sentence adds value.

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 no output schema, the description explicitly lists the computed outputs (segment count, SMS/MMS, cost) and provides the API endpoint. For a simple read-only tool with two parameters, this is fully self-contained.

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 both parameters are well-documented. The description adds minor context (API endpoint and request format) but does not significantly enhance parameter understanding beyond the schema. 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 tool evaluates a message body to compute segment count, SMS/MMS type, and estimated cost, distinguishing it from sending. The verb 'dry-run' and emphasis on 'without sending anything' make the purpose unambiguous.

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 says this is for evaluation only ('DRY-RUN', 'WITHOUT sending anything', 'Safe and read-only'), clearly indicating when to use it. However, it does not explicitly contrast with sending tools or list when not to use it, but the context is strong.

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.
Behavior3/5

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

ReadOnlyHint is already provided by annotations. Description adds return components (message, recipients, status) and REST endpoint, but lacks depth on permissions, errors, or rate limits.

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 that front-load the purpose. No unnecessary 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 the tool's simplicity (1 param, no output schema), the description covers the essential details including what the response contains.

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?

Only one parameter (campaign_id) with schema description 'Campaign id.' The description does not add further meaning beyond the schema, and schema coverage is 100%.

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 the action (Get), resource (a single campaign), and specific details (including message, recipients, and status). Differentiates 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?

Implies usage context (requires campaign id) but does not explicitly state when to use this vs alternatives or provide conditions for use.

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. Description adds what fields are returned (profile, list memberships, custom fields), going beyond 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?

Two concise sentences, no fluff. Purpose and API endpoint are 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?

Low complexity tool with complete schema. Description mentions included fields, compensating for missing output schema. Could mention error cases or auth but sufficient.

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 provides 100% coverage for the single parameter. Description restates 'id or phone number' plus REST endpoint context, but adds no new semantic detail beyond 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?

Clear verb+resource: 'Get a single contact'. Distinguishes from list_contacts (multiple contacts) and update_contact (modification).

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?

Implies usage for retrieving a single contact by id/phone. No explicit when-not or alternatives, but sibling names provide context.

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?

Annotations already indicate readOnlyHint=true. Description adds that it returns URL and metadata and uses GET, but no additional behavioral traits beyond 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?

Two sentences with no fluff; front-loaded with purpose and brief REST reference.

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?

Simple tool; description covers purpose and return info. Lacks mention of error states or relationship to sibling tools, but sufficient given low complexity.

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 parameter description is minimal. Description does not add extra meaning beyond schema for the media_id 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?

Clearly states 'Get a single media item (MMS asset) by its id, including its URL and metadata.' Distinguishes from list_media by focusing on 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 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 vs. alternatives like list_media. Does not specify prerequisites or context.

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 provide readOnlyHint=true. Description adds behavioral detail including returned fields and the underlying REST endpoint, enhancing clarity beyond annotations without contradiction.

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: first states purpose, second provides developer context. No unnecessary words; both sentences earn their place.

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?

No output schema, but description covers main returned fields. Single parameter with clear purpose. Adequate for a simple retrieval tool, though could note typical response size or error scenarios.

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 description 'Message id.' Description does not add additional format constraints or examples beyond what schema provides, meeting baseline for high coverage.

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?

Description clearly states the verb 'Get', the resource 'single message', and lists specific returned fields (text, direction, status, timestamps). Distinguished from siblings like list_messages and 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 Guidelines3/5

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

No explicit when-to-use or alternatives guidance. Implies usage when message id is known, but does not differentiate from similar tools like simpletexting_evaluate_message.

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?

The description adds important behavioral context beyond the readOnlyHint annotation by stating that only immediate campaigns are returned. This helps the agent understand the scope of data returned and avoid surprises.

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, front-loaded with the core purpose, then an important exclusion note, and finally the REST endpoint. Every sentence adds value with no redundancy.

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 complete for a listing tool with no output schema: it explains pagination, filtering, and a key behavioral constraint. It does not describe the return structure, but the agent can infer from typical REST list endpoints.

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

Parameters4/5

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

With 100% schema description coverage, the baseline is 3. The description adds a concise summary of filter dimensions (sending number, state, list, start-date range), which aids quick comprehension beyond the detailed but separate schema descriptions.

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 campaigns as a paged collection with optional filters. It uses a specific verb (list) and resource (campaigns), and distinguishes from siblings like simpletexting_get_campaign which retrieves a single campaign.

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 includes explicit guidance that only immediate campaigns are returned, not scheduled/recurring. It provides context on when to use the tool and what is excluded, but does not name alternative tools for scheduled/recurring campaigns.

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?

Description adds value beyond readOnlyHint by disclosing pagination and filtering behavior. No contradictions with annotations. Briefly mentions REST source for traceability.

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 and key features, no extraneous content. 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?

Given simple list operation with no output schema, description covers pagination, filtering, and REST endpoint adequately. Could optionally mention response structure but not required.

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 100% of parameters with descriptions. Description adds minimal extra context (cursor/timestamp for 'since', example values for 'direction'), but not significantly beyond 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?

Description clearly states 'list the account's contacts' and specifies paged collection with optional filtering. Differentiates from sibling tools like 'get_contact' (single) and 'list_campaigns' (different resource).

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?

Description implies usage for listing contacts with pagination and filtering, but no explicit guidance on when to use vs alternatives like 'get_contact' or other list tools.

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).
Behavior3/5

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

Annotations already include 'readOnlyHint: true', so the description adds minimal behavioral context beyond stating it returns a paged collection. No details about pagination behavior, response format, or limits are disclosed beyond the schema.

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?

The description is very short (two sentences) and front-loads the purpose, but the second sentence about the REST endpoint is not essential for the agent's decision-making. Still, no waste, earning a 4.

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?

Given the absence of an output schema, the description should explain the return format. It only mentions 'paged collection' without details. Combined with good schema and annotation coverage, it is adequate but minimally complete.

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 input schema already has 100% coverage with descriptions for both 'page' and 'size' parameters. The description adds no additional meaning beyond the schema, so a 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 it lists media items (MMS assets) as a paged collection, distinguishing it from the sibling 'simpletexting_get_media' which likely retrieves a single item. The verb 'list' and resource 'media items' are specific and unambiguous.

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 does not explicitly state when to use this tool versus alternatives like 'simpletexting_get_media'. Usage context is implied by the name and sibling list, but no when-to-use or when-not-to-use guidance is provided.

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 declare readOnlyHint=true, so the safe-read nature is covered. The description adds that it returns paged inbound+outbound messages and mentions the REST endpoint, but no further behavioral details are provided.

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 primary action and additional REST context. No redundant or unnecessary wording.

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 adequately covers the tool's behavior for a simple list operation with two optional params. It states the scope (all account messages) and pagination. However, with no output schema, a brief description of response fields would improve completeness.

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 descriptions for both page (zero-based) and size (1-100). The description mentions 'paged collection' but adds no extra meaning beyond the schema, so baseline 3 applies.

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 account messages as a paged collection including inbound and outbound history. It distinguishes from siblings like get_message (single) and 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 Guidelines3/5

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

The description implies usage for listing message history but does not explicitly specify when to use this tool versus alternatives like get_message. Sibling names provide context but no direct 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_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?

The description explicitly states this tool MODIFIES live data and consumes message credits, adding clear behavioral context beyond the destructiveHint annotation. It accurately informs the agent that this is a real-world action with cost implications.

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?

The description is two sentences long with no wasted words. The first sentence is strong and front-loaded. The second sentence packs REST details cleanly, though could be slightly restructured for readability.

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 description lacks information about the return value or success/failure behavior. Since there is no output schema, the agent is left guessing the response format. For a mutation tool with credit consumption, explaining the response would improve completeness.

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 detailed descriptions for each parameter. The description lists the parameters in REST format but does not add new semantic information beyond what the schema already provides. It reinforces optionality (?) but adds marginal value.

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 starts with 'SENDS A REAL SMS or MMS' which is a specific verb+resource combination. The title 'Send message' and context clearly distinguish this from sibling tools like evaluate_message or get_message.

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 advises to 'Provide only the optional fields you need' but does not explicitly state when to use this tool versus alternatives like evaluate_message or when not to use it. Usage context is implied but not contrasted with siblings.

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.
Behavior4/5

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

Annotations include destructiveHint=true, and the description reinforces this with 'MODIFIES live data'. It adds context on what is modified (profile fields, list memberships, custom fields) beyond the annotation, though it omits details like irreversibility or side effects.

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: purpose, warning, usage hint + API reference. No fluff, front-loaded with the action.

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?

Given the complexity (9 params, 1 required) and absence of output schema, the description explains the resource and mutation behavior adequately. It could clarify that unprovided fields remain unchanged, but the partial-update hint covers that implicitly.

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

Parameters4/5

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

Schema coverage is 100% with descriptions for all 9 parameters. The description adds the critical insight that only changed fields need be provided, aiding correct usage. This goes beyond basic schema info.

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?

Description clearly states the verb (UPDATES), resource (live contact), and scope (profile fields, list memberships, custom fields). It also references the underlying REST endpoint, distinguishing it from sibling tools like list or get contacts.

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 hint 'Provide only the fields you want to change' guides partial-update usage, but the description does not explicitly state when to use this tool versus alternatives (e.g., create or delete) or list prerequisites.

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!

Related MCP Servers

  • A
    license
    C
    quality
    D
    maintenance
    Enables AI agents to send, receive, schedule, and manage SMS and MMS messages using the Twilio Programmable Messaging API. It provides comprehensive tools for handling bulk messaging, conversation threads, and real-time inbox monitoring through a secure, production-grade architecture.
    16
    1
    MIT

View all MCP Servers

Try in Browser

Your Connectors

Sign in to create a connector for this server.