Promotexter MCP Server
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Promotexter MCP Server send 'Your appointment is confirmed for 2 PM' to 639170000001"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Promotexter MCP Server
A Model Context Protocol (MCP) server for integrating with the Promotexter SMS API. This server provides tools for sending SMS messages and checking account balance.
Features
Balance Inquiry: Check your current Promotexter account balance with detailed information (available balance, account balance, credit limit, withheld amount)
Single SMS Transaction: Send SMS messages to individual recipients
Related MCP server: sms-web2sms-mcp-server
Installation
Using pip
pip install promotexter-mcpUsing uvx (recommended)
uvx promotexter-mcpQuick Start
1. Get Your Promotexter Credentials
You'll need:
API Key
API Secret
Sender ID (must be whitelisted in your Promotexter account)
Get these from your Promotexter dashboard at https://promotexter.com
2. Set Environment Variables
export PROMOTEXTER_API_KEY="your_api_key_here"
export PROMOTEXTER_API_SECRET="your_api_secret_here"
export PROMOTEXTER_SENDER_ID="your_sender_id_here"Or create a .env file:
PROMOTEXTER_API_KEY=your_api_key_here
PROMOTEXTER_API_SECRET=your_api_secret_here
PROMOTEXTER_SENDER_ID=your_sender_id_here3. Configure MCP Client
For Claude Desktop
Add to your MCP settings file (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):
{
"mcpServers": {
"promotexter": {
"command": "uvx",
"args": ["promotexter-mcp"],
"env": {
"PROMOTEXTER_API_KEY": "your_api_key_here",
"PROMOTEXTER_API_SECRET": "your_api_secret_here",
"PROMOTEXTER_SENDER_ID": "your_sender_id_here"
}
}
}
}Or using environment variables from your shell:
{
"mcpServers": {
"promotexter": {
"command": "uvx",
"args": ["promotexter-mcp"]
}
}
}For Claude Code CLI
Add to your MCP settings:
{
"mcpServers": {
"promotexter": {
"command": "uvx",
"args": ["promotexter-mcp"],
"env": {
"PROMOTEXTER_API_KEY": "your_api_key_here",
"PROMOTEXTER_API_SECRET": "your_api_secret_here",
"PROMOTEXTER_SENDER_ID": "your_sender_id_here"
}
}
}
}Available Tools
get_balance
Get the current account balance from Promotexter.
Parameters: None
Returns:
Available Balance
Account Balance
Credit Limit
Withheld Amount
Example:
get_balance()Response:
Available Balance: 486
Account Balance: 486
Credit Limit: 0
Withheld: 0send_sms
Send a single SMS message via Promotexter.
Parameters:
to(required): Recipient mobile number in international format (e.g., 639170000001)text(required): Message content (maximum 1000 characters)reference_id(optional): Your own reference ID for tracking
Note: The sender ID is configured via the PROMOTEXTER_SENDER_ID environment variable and must be whitelisted in your Promotexter account.
Returns: SMS send response with transaction details including:
Message ID
Remaining Balance
Transaction Cost
Unit Cost
Message Parts count
Operator Code
Recipient number
Sender ID
Reference ID (if provided)
Example:
send_sms(
to="639170000001",
text="Hello! This is a test message.",
reference_id="test-001"
)Response:
SMS Sent Successfully!
Message ID: abc123...
Remaining Balance: 485.50
Transaction Cost: 0.50
Unit Cost: 0.50
Message Parts: 1
Operator: PHLSMART
To: 639170000001
From: DEMO
Reference ID: test-001Development
Running Locally
Clone the repository:
git clone https://github.com/johnalvero/promotexter-mcp.git
cd promotexter-mcpInstall dependencies:
pip install -e .Run the server:
python -m promotexter_mcp.serverTesting with MCP Inspector
fastmcp dev promotexter_mcp/server.pyAPI Documentation
For more information about the Promotexter API, visit:
API Documentation: https://promotexter.docs.apiary.io/
Promotexter Website: https://promotexter.com
Security Notes
Never commit your API credentials to version control
Use environment variables or secure credential management systems
The sender ID must be whitelisted in your Promotexter account before use
Ensure proper validation of recipient numbers before sending
Test thoroughly in a development environment before production use
Error Handling
The server includes comprehensive error handling for:
Missing or invalid credentials
HTTP errors from the Promotexter API
Invalid parameters
Network timeouts
Message length validation (max 1000 characters)
Invalid phone number formats
Requirements
Python 3.10 or higher
fastmcp >= 2.13.0
httpx >= 0.27.0
License
MIT License - see LICENSE file for details
Support
For issues related to:
This MCP server: Open an issue at https://github.com/johnalvero/promotexter-mcp/issues
Promotexter API: Contact Promotexter support at https://promotexter.freshdesk.com/
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
Changelog
0.1.1 (2025-11-01)
Updated documentation with correct installation instructions
Added uvx support in configuration examples
Improved README with detailed examples and responses
Added package exclusions for cleaner distribution
0.1.0 (2025-11-01)
Initial release
Balance inquiry tool
Single SMS transaction tool
Environment-based configuration
Comprehensive error handling
Available Tools
2 toolsget_balanceB
Get the current account balance from Promotexter.
Returns: Account balance information
Inputs: no named parameters. Returns: result
send_smsA
Send a single SMS message via Promotexter.
Args: to: Recipient mobile number (must be valid mobile number format) text: Message content (maximum 1000 characters) reference_id: Optional reference ID for tracking
Returns: SMS send response with transaction details
Inputs: to (required), text (required), reference_id. Returns: result
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 2 tools
The two tools have completely distinct purposes: get_balance retrieves account information, while send_sms sends messages. There is no overlap in functionality, and an agent would never confuse one for the other.
Both tools follow a consistent verb_noun pattern (get_balance, send_sms) with clear, descriptive names. The naming convention is uniform throughout the toolset.
With only two tools, the server feels severely underpowered for an SMS service domain. There are obvious missing operations like checking SMS status, viewing message history, managing contacts, or handling bulk sends that would be expected in a complete SMS API surface.
The toolset is severely incomplete for an SMS service. While it covers basic balance checking and message sending, it lacks essential operations like viewing sent messages, checking delivery status, managing templates, or handling errors. This will cause significant agent failures when trying to perform common SMS workflows.
Maintenance
Related MCP Connectors
Send and schedule SMS and WhatsApp messages, manage contacts and templates, and track delivery.
Quote, send and track SMS, campaigns, contacts and Verify codes, with a confirmation before sending.
Send SMS, check wallet balance, DND status, sender IDs and message history in Termii.
Read Messente balance, prices, delivery status and statistics; send SMS to up to 10 numbers.
Related MCP Servers
- AlicenseAqualityCmaintenanceEnables sending SMS, querying delivery reports, and managing senders and blacklists through the iletiMerkezi SMS API.1122 npm2MIT
- AlicenseAqualityDmaintenanceEnables sending SMS messages and checking delivery status and credit balance via the web2sms.ro Romanian SMS gateway.3MIT
- AlicenseNot gradedqualityBmaintenanceEnables sending and managing SMS, voice messages, contacts, templates, blacklists, and account reports through the przypominamy.com REST API, with key-scoped authorization and safety confirmations for destructive actions.MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI assistants to send and schedule SMS, send bulk messages, verify one-time codes, check delivery status, and retrieve credit from a Czech SMS gateway.271 npmMIT