Skip to main content
Glama
Ringer

warp-mcp

by Ringer

Update 10DLC campaign

msg_update_campaign
Idempotent

Update a 10DLC campaign's details such as sample messages or opt-in flow to fix carrier rejection issues before resubmission.

Instructions

Update (PUT) one of your 10DLC campaigns — e.g. fix sample messages or opt-in flow after a carrier rejection, then resubmit with msg_resubmit_campaign. Errors: INVALID_PAYLOAD (400), NOT_FOUND (404), TNIQ_ERROR (502).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idYesCampaign ID (messaging-backend UUID, as returned by msg_list_campaigns / msg_create_campaign)
sample1NoSample message 1 (representative outbound text)
sample2NoSample message 2
sample3NoSample message 3
sample4NoSample message 4
sample5NoSample message 5
usecaseNoCampaign use case code, e.g. MARKETING, 2FA, CUSTOMER_CARE (see msg_list_use_cases; check msg_get_use_case_requirements first)
brand_idNoParent brand ID (messaging-backend UUID from msg_list_brands). Required when creating a campaign.
age_gatedNoTrue if content is age-gated (alcohol, gambling, etc.)
descriptionNoWhat this campaign sends and to whom (reviewed by carriers)
number_poolNoTrue if the campaign uses 50+ sending numbers (number pooling)
auto_renewalNoAuto-renew the campaign at TCR each billing cycle
help_messageNoReply sent when a subscriber texts a help keyword
message_flowNoHow subscribers opt in to receive messages (consent flow description; heavily weighted in carrier review)
reference_idNoYour own free-form reference ID for this campaign
sub_usecasesNoSub-use-case codes for MIXED/LOW_VOLUME campaigns
embedded_linkNoTrue if messages may contain URLs/links
help_keywordsNoComma-separated help keywords, e.g. "HELP,INFO"
optin_messageNoConfirmation message sent after a subscriber opts in
direct_lendingNoTrue if content relates to direct lending or loan arrangements
embedded_phoneNoTrue if messages may contain phone numbers
optin_keywordsNoComma-separated opt-in keywords, e.g. "START,SUBSCRIBE"
optout_messageNoConfirmation message sent after a subscriber opts out
optout_keywordsNoComma-separated opt-out keywords, e.g. "STOP,UNSUBSCRIBE"
subscriber_helpNoTrue if subscribers can request help via keyword (HELP handling)
subscriber_optinNoTrue if subscribers can opt in via keyword
subscriber_optoutNoTrue if subscribers can opt out via keyword (STOP handling)
terms_and_conditionsNoAffirm the campaign complies with carrier terms and conditions
Behavior3/5

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

Annotations already provide idempotentHint=true, readOnlyHint=false, destructiveHint=false. The description confirms it's an update (PUT) operation and mentions error codes, adding some behavioral context. No contradictions. However, it does not disclose additional traits like whether partial updates are supported or that only specified fields are updated. Acceptable given annotations.

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 concise (two sentences), front-loaded with the action and resource. It includes a practical example and error codes in a compact format. Could be slightly more structured (e.g., bullet points for errors) but overall efficient with no wasted words.

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?

With 28 optional parameters and no output schema, the description provides a high-level example but does not explain common update patterns, which fields are typically modified, or the response behavior. The schema covers parameter details, but a quick-start guide would help. The error code list adds some completeness for error handling.

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%, so baseline is 3. The description briefly mentions 'sample messages or opt-in flow' as examples, but does not add significant semantic meaning beyond what the schema already provides (e.g., field descriptions). No parameter-specific guidance like 'sample1-sample5 are mutually exclusive' or validation rules.

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

Purpose4/5

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

The description clearly states 'Update (PUT) one of your 10DLC campaigns', providing a specific verb and resource. It gives a concrete example of use (fixing sample messages after carrier rejection). While it implicitly distinguishes from siblings like msg_create_campaign by mentioning resubmission, it could explicitly differentiate from msg_update_brand. Overall clear purpose.

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 a specific use case: fixing sample messages or opt-in flow after a carrier rejection, then resubmitting with msg_resubmit_campaign. This guides the agent on when to use this tool. It also lists error codes (INVALID_PAYLOAD, NOT_FOUND, TNIQ_ERROR) for troubleshooting. However, it does not explicitly state when not to use it or mention alternative tools beyond resubmit.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Ringer/warp-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server