Skip to main content
Glama
rchanllc

joltsms-mcp-server

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
JOLTSMS_API_KEYYesYour API key (jolt_sk_*)
JOLTSMS_API_URLNoAPI base URL (defaults to https://api.joltsms.com)https://api.joltsms.com

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
joltsms_list_numbersB

List your active JoltSMS phone numbers. Returns phone number, status, service label, tags, message count, and subscription details.

Each number costs $50/month and receives unlimited inbound SMS with parsed OTP codes.

joltsms_get_numberA

Get full details for a single phone number, including service label, tags, notes, message counts, billing dates, and subscription status.

Accepts a UUID or phone number (e.g. "+16505551234", "650-555-1234", "(650) 555-1234").

joltsms_update_numberA

Update metadata on a phone number — set a service label, tags, or notes.

Only provided fields are updated. Omitted fields remain unchanged. Pass an empty array [] to clear tags, or an empty string "" to clear notes.

Examples: update_number("+16505551234", service_name="PayPal", tags=["production"]) update_number("+16505551234", notes="Linked to acme@company.com")

joltsms_list_payment_methodsA

List masked saved cards so the user can choose which card funds a number rental.

Returns card brand, last four digits, expiration, default status, and a payment_method_id. Never returns full card numbers or CVC.

joltsms_provision_numberA

Rent the next available dedicated real-SIM US phone number ($50/month).

Optionally pass payment_method_id from joltsms_list_payment_methods. Omit it to use the valid account default or the sole saved card.

Provisioning is async — the number may take seconds to minutes to become ACTIVE. Specific area codes are not currently selectable.

If 3DS authentication is required, this tool returns a URL the user must visit to authorize payment.

joltsms_release_numberA

Cancel/release a rental. Paid numbers stay active until the end of the current billing period; abandoned unpaid initial checkouts are canceled immediately.

Requires the subscription ID from joltsms_list_numbers, or the pending subscription ID returned for an unpaid 3DS checkout. Paid rentals disable auto-renewal and release at period end; unpaid initial checkouts end immediately.

joltsms_list_messagesB

List recent SMS messages received on your JoltSMS numbers.

Returns sender, body, parsed OTP code (if detected), and timestamps. Use number_id to filter to a specific number, or omit for all numbers. Use from_filter for exact-match sender filtering.

joltsms_reply_to_smsA

Reply to an existing inbound SMS by message ID.

The recipient is resolved server-side from the original inbound message. This tool cannot send to an arbitrary phone number and does not accept a destination field. Requires an API key created with the SMS replies capability.

joltsms_mark_readA

Mark messages as read. Provide exactly ONE of:

  • message_id: Mark a single message as read (UUID)

  • number_id: Mark ALL messages on a number as read (UUID or phone number)

Use after extracting an OTP to keep the inbox clean.

joltsms_wait_for_smsA

Poll for an incoming SMS message on a specific number. This is the KEY tool for OTP verification workflows.

Typical workflow:

  1. Trigger OTP on a website/app using the JoltSMS phone number

  2. Call this tool with the number_id

  3. The tool polls every few seconds until an SMS arrives or timeout

  4. Returns the message body and parsed OTP code

Use from_filter to only match messages from a specific sender. Default timeout is 120 seconds with 5-second polling intervals.

joltsms_get_latest_otpA

Get the most recent parsed OTP code from a phone number.

Convenience tool — checks recent messages (last 10 minutes by default) for a parsed verification code. If no parsed code is found, returns the most recent message body for manual extraction.

Use joltsms_wait_for_sms if you need to wait for an OTP that hasn't arrived yet.

joltsms_billing_statusB

Check billing and subscription status for all your JoltSMS numbers.

Shows each subscription with billing health, price, renewal/cancellation dates, and auto-renew status. Cross-references with phone numbers for easy identification.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.9/5.0

Scored across 12 tools

Disambiguation4/5

Most tools target distinct resource+action pairs (list_numbers vs get_number vs provision_number vs release_number are clearly separated). There is mild overlap in the OTP retrieval cluster (wait_for_sms, get_latest_otp, list_messages), but the descriptions explicitly differentiate them (wait vs. latest vs. full listing), so misselection risk is low.

Naming Consistency4/5

All tools share a consistent 'joltsms_' prefix and follow a verb_noun pattern (list_numbers, get_number, update_number, provision_number, release_number, mark_read, wait_for_sms). The one deviation is 'billing_status', which is noun-only and lacks a verb, but this is a minor blemish in an otherwise uniform scheme.

Tool Count5/5

Twelve tools is well within the ideal range and each maps to a distinct, meaningful operation (number lifecycle, messaging, OTP retrieval, billing, payment methods). No obvious redundant or filler tools inflate the set.

Completeness4/5

The number lifecycle (list/get/update/provision/release), messaging (list/reply/mark_read/wait), OTP helpers, billing, and payment listing are all covered, giving solid CRUD coverage for the domain. Minor gaps exist—no adding payment methods, no message search/deletion—and sending to arbitrary numbers is intentionally unsupported, but agents can work around these.

Maintenance

ActivityMaintained
ResponsivenessUnresponsive