Promotexter MCP Server

Promotexter MCP Server

Integrates with the Promotexter SMS API to enable sending single SMS messages and performing detailed account balance inquiries. It provides a secure way for models to manage SMS communications and track transaction costs and credits.

Category
Visit Server

README

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

Installation

Using pip

pip install promotexter-mcp

Using uvx (recommended)

uvx promotexter-mcp

Quick 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_here

3. 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: 0

send_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-001

Development

Running Locally

  1. Clone the repository:
git clone https://github.com/johnalvero/promotexter-mcp.git
cd promotexter-mcp
  1. Install dependencies:
pip install -e .
  1. Run the server:
python -m promotexter_mcp.server

Testing with MCP Inspector

fastmcp dev promotexter_mcp/server.py

API 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

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured