The MCP tool directory.
Each row is one tool from one provider. Tools sharing a name across providers (e.g. search) are listed separately because they aren't interchangeable.
[ 3624 tools indexed ]
[ all tools ]
30 / 3624
sms_10dlc_brands_submissions_create
[ remote ]Resubmit a rejected 10DLC brand with corrected details for registry review. The new details replace what the previous attempt submitted, and the brand returns to the pending state.
sms_10dlc_brands_submissions_get
[ remote ]Get one submission attempt of a 10DLC brand, including the details that were submitted.
sms_10dlc_brands_submissions_list
[ remote ]List the submission attempts for a 10DLC brand, most recent first.
sms_10dlc_brands_vettings_create
[ remote ]Order external vetting for a 10DLC brand: `standard`, `enhanced`, or `political` for any approved brand, or `auth_plus` for a `public_profit` brand with a `business_contact_email` set (required before its campaigns can run, and never ordered automatically). Charges a one-off fee that varies by class; returns 402 when the wallet cannot cover it. Use `sms_10dlc_brands_vettings_list` to check status.
sms_10dlc_brands_vettings_list
[ remote ]List every external vetting attempt ordered for a 10DLC brand, across all vetting classes, most recent first.
sms_10dlc_campaign_number_links_get
[ remote ]Get a 10DLC campaign number link by its own ID, without needing its campaign ID first.
sms_10dlc_campaigns_create
[ remote ]Register a 10DLC campaign under an approved brand. A brand registered as a publicly-traded company must hold active Auth+ vetting first. The campaign starts pending while the registry reviews it. Assign the workspace's long codes to it with `sms_10dlc_campaigns_numbers_assign` while it is still pending; they can only start sending once the campaign is approved and the carriers confirm each number. If the registry rejects the campaign, correct the details and resubmit with `sms_10dlc_campaigns_submissions_create`.
sms_10dlc_campaigns_delete
[ remote ]Delete a 10DLC campaign from the workspace. Fails if a number is still linked to it; unassign every number first with `sms_10dlc_campaigns_numbers_unassign`.
sms_10dlc_campaigns_get
[ remote ]Get one 10DLC campaign by ID.
sms_10dlc_campaigns_list
[ remote ]List the 10DLC campaigns registered for the workspace, optionally filtered by brand.
sms_10dlc_campaigns_numbers_assign
[ remote ]Assign the workspace's US long codes to a 10DLC campaign so they can send to US recipients once the carriers confirm each number. Either every number in the request is assigned or none is.
sms_10dlc_campaigns_numbers_get
[ remote ]Get one number registered under a 10DLC campaign and where it stands with the carriers.
sms_10dlc_campaigns_numbers_list
[ remote ]List the numbers registered under a 10DLC campaign and where each stands with the carriers.
sms_10dlc_campaigns_numbers_unassign
[ remote ]Remove a number from a 10DLC campaign. The number stops sending to US recipients immediately and is free to assign to another campaign.
sms_10dlc_campaigns_requirements
[ remote ]Lists what the campaign registry wants before it will accept a campaign, in the order to present it, with what you have already supplied and where each item stands. What is required depends on the use case, so `use_case_category` is required and the answer is the list for that one. Read it before registering: a campaign carries a one-off fee and a recurring charge for as long as it runs, and a rejected campaign is corrected and resubmitted rather than recreated.
sms_10dlc_campaigns_submissions_create
[ remote ]Resubmit a rejected 10DLC campaign with corrected details for registry review. The new details replace what the previous attempt submitted, and the campaign returns to the pending state. A brand registered as a publicly-traded company must hold active Auth+ vetting.
sms_10dlc_campaigns_submissions_get
[ remote ]Get one submission attempt of a 10DLC campaign, including the details that were submitted.
sms_10dlc_campaigns_submissions_list
[ remote ]List the submission attempts for a 10DLC campaign, most recent first.
sms_destinations_list
[ remote ]List every country the SMS service supports, each marked with whether your workspace has enabled it and whether it is currently deliverable. The two are independent: enabling an unsupported country does not make it sendable. The allowlist is default-deny and a workspace starts with only its organization's home country, so a send to any other country is rejected before the sender is resolved. Read this first when a send fails with SMSDestinationNotEnabled. The list is small and returned in full; it is not paginated.
sms_destinations_update
[ remote ]Enable or disable destination countries for your workspace. Only the countries you list change; any country you omit keeps its current setting. Enabling one is what lets a send to it past the destination gate; disabling one stops every send there, so confirm a disable with the user first. Each code you enable must be a country the SMS service supports, or the request is rejected and nothing changes; a disable takes any valid ISO code, which is how a country the list no longer shows can still be turned off. Read the destination list first for the current settings and deliverability of the countries it covers.
sms_get
[ remote ]Get one SMS message by ID: its current delivery status, segment breakdown, cost, and failure detail if it failed.
sms_keyword_rules_create
[ remote ]Replace the default opt-out, opt-in, or help reply for one country, or add a `custom` keyword. A workspace rule takes precedence over the default for that country. Opt-out and opt-in keywords cannot be assigned to another operation.
sms_keyword_rules_delete
[ remote ]Delete one of your own keyword rules, which restores Bird's default for that country and operation. Bird's own rules cannot be deleted.
sms_keyword_rules_get
[ remote ]Read one default or workspace keyword rule. Its ID prefix identifies which kind: a workspace rule can be changed with `sms_keyword_rules_update`, a Bird default cannot.
sms_keyword_rules_list
[ remote ]List the default and workspace keyword rules that apply to inbound messages, most specific first. Filter by `country`, `number`, `operation`, or `scope`. Pass `number` to see one number's rules in evaluation order. Default coverage varies by country.
sms_keyword_rules_update
[ remote ]Change one of your own keyword rules: its reply, its extra keywords, or its self-managed attestation. Bird's default rules cannot be updated; create your own for that country instead with `sms_keyword_rules_create`. Omitting `keywords` leaves the set alone, while sending an empty list clears your additions back to Bird's.
sms_list
[ remote ]List SMS messages, newest first, as a cursor page (`data`, `next_cursor`). Pass `next_cursor` back as `starting_after` to fetch the next page. Filter by direction, status, category, recipient, sender, or tag.
sms_list_events
[ remote ]The lifecycle event timeline for one SMS, oldest first: what happened to it and when. Filter with `type` (for example `sms.delivered`) to keep one kind of event. Use `sms_get` for the message's current state and `sms_list` to find its ID.
sms_send
[ remote ]Send one SMS to a single recipient. Supply either `text` (with `category` and `from`) or a stored `template` (by ID or slug, with its `parameters`). The response is the accepted message with its ID; delivery is asynchronous, so use `sms_get` to check status. Browse templates with `sms_templates_list`.
sms_send_batch
[ remote ]Send up to 100 independent SMS messages in one call. Each item is a full send (free-text or template) with its own ID, status, and cost; all items are validated before any are queued, so one invalid item rejects the batch.