Skip to main content
Loss of provenance

A previous release had provenance metadata, but this release does not. View details.

MCP SMS Server (Philippines)

A Model Context Protocol (MCP) server that provides SMS capabilities (via a free API) and a local contacts management system.

Setup

  1. Prerequisites: Python 3.10+, uv

  2. Install Dependencies:

    uv sync
    # OR if managing manually:
    uv pip install mcp[cli] httpx pydantic pydantic-settings python-dotenv sqlmodel
    
  3. Configure Environment:

    Obtain your API key from https://sms-api-ph.netlify.app.

    Create a .env file in the root directory:

    SMS_API_KEY=your_actual_api_key_here
    SMS_API_BASE_URL=https://sms-api-ph-gceo.onrender.com
    DB_PATH=sqlite:///data/app.db
    LOG_LEVEL=INFO
    

Running the Server

1. Manual Testing (Script)

To verify the database and API logic without the full MCP server:

uv run test_manual.py

This will create a test contact and attempt a dry-run SMS send.

2. Run via CLI (MCP)

To start the standard IO server (mainly for debugging or piping):

uv run main.py

Note: This will appear to hang as it waits for JSON-RPC input.

3. Run with MCP Inspector (Web UI)

If you have npx installed:

npx @modelcontextprotocol/inspector uv run main.py

Integration with Claude Desktop

To use this server with Claude Desktop, add the following to your config file:

Windows Config Path: %APPDATA%\Claude\claude_desktop_config.json
(Usually C:\Users\YOUR_USER\AppData\Roaming\Claude\claude_desktop_config.json)

{
  "mcpServers": {
    "sms-ph": {
      "command": "uv",
      "args": [
        "run",
        "--with", "mcp[cli]",
        "--with", "httpx",
        "--with", "pydantic",
        "--with", "pydantic-settings",
        "--with", "python-dotenv",
        "--with", "sqlmodel",
        "d:/User/path-to-your-mcp/mcp-ph-sms/main.py"
      ],
      "cwd": "d:/User/path-to-your-mcp/mcp-ph-sms",
      "env": {
        "SMS_API_KEY": "your_key_here"
      }
    }
  }
}

Alternative (if project is already synced via uv sync):

{
  "mcpServers": {
    "sms-ph": {
      "command": "d:/User/path-to-your-mcp/mcp-ph-sms/.venv/Scripts/python.exe",
      "args": [
        "run",
        "d:/User/path-to-your-mcp/mcp-ph-sms/main.py"
      ],
      "cwd": "d:/User/path-to-your-mcp/mcp-ph-sms",
      "env": {
        "SMS_API_KEY": "your_key_here"
      }
    }
  }
}

Important:

  • Ensure uv is in your system PATH.
  • cwd ensures uv picks up the .env and pyproject.toml from the correct directory.
  • You can omit env in the JSON if you have the .env file correctly set up.

Available Tools

Contacts

  • contacts_list: List contacts with filtering options.
    • Arguments: limit (default: 50), tag (optional), q (search query).
  • contacts_get: Get a specific contact by ID.
    • Arguments: contact_id.
  • contacts_create: Create a new contact.
    • Arguments: name, phone, tags (optional list), notes (optional).
  • contacts_update: Update an existing contact.
    • Arguments: contact_id, and any of name, phone, tags, notes.
  • contacts_delete: Delete a contact by ID.
    • Arguments: contact_id.

SMS

  • sms_send: Send an SMS message.
    • Arguments: recipient (phone number or name), message, dry_run (boolean, default: False).
    • Note: Throttled to 1 message per 10 seconds.
  • sms_history: View SMS sending history.
    • Arguments: limit (default: 20), contact_id (optional filter).

Prompts

  • compose_sms: Helper prompt to draft an SMS based on a topic.

Metadata

Release files for mcp-ph-sms 1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Loss of provenance

These files do not have provenance metadata, despite files in a prior release including this data.

We recommend further investigation before installing these files. View details.

Source distribution (sdist)

Source distribution for mcp-ph-sms 1.0
File Size Uploaded Provenance
mcp_ph_sms-1.0.tar.gz 56.4 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for mcp-ph-sms 1.0
File Interpreter ABI Platform
mcp_ph_sms-1.0-py3-none-any.whl Python 3 none any Details

Total release size: 64.2 kB

Release files / mcp_ph_sms-1.0.tar.gz

Loss of provenance

This file belongs to a release without provenance metadata, despite a prior release including this data.

We recommend further investigation before installing this file. View details.

Download URL mcp_ph_sms-1.0.tar.gz
Size 56.4 kB
Tags Source
SHA-256 checksum
How to use checksums
f32829dfb3700581e0c21ad57cc2985fb7688ae7a5906c10078361da63103ae8
BLAKE2b-256 checksum
How to use checksums
cc43c2acdb4094f468e55641f16ff4eddc6c079510e41eb6ce6f642f2688ce30
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / mcp_ph_sms-1.0-py3-none-any.whl

Loss of provenance

This file belongs to a release without provenance metadata, despite a prior release including this data.

We recommend further investigation before installing this file. View details.

Download URL mcp_ph_sms-1.0-py3-none-any.whl
Size 7.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
7351e3b6f285c2f934746b99e72029872bc968cfd7f2bd4093c9e7e89f242062
BLAKE2b-256 checksum
How to use checksums
3cd15290444ca7cbce4598b841b5e8d726147e2608dec1cb40463450f89d2463
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Security for mcp-ph-sms 1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Loss of provenance

A previous release of these files had provenance metadata, but this release does not.

While this could reflect a routine change by the project maintainers, it may also indicate that the release files have been compromised.

Release comparison

  • Removed 0.1.3 2 files With provenance
  • Added 1.0 2 files Without provenance

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page