Skip to main content

A Model Context Protocol (MCP) server for sending SMS via free Philippines APIs and managing local contacts.

Project description

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": "uv",
      "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.

Features

  • Contacts: Create, List, Update, Delete contacts with tags and notes.
  • SMS: Send messages (throttled to 1 per 10s), view history.
  • Tools: contacts.list, contacts.create, sms.send, etc.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mcp_ph_sms-0.1.3.tar.gz (56.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mcp_ph_sms-0.1.3-py3-none-any.whl (7.6 kB view details)

Uploaded Python 3

File details

Details for the file mcp_ph_sms-0.1.3.tar.gz.

File metadata

  • Download URL: mcp_ph_sms-0.1.3.tar.gz
  • Upload date:
  • Size: 56.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for mcp_ph_sms-0.1.3.tar.gz
Algorithm Hash digest
SHA256 c55ac70ca077afece59953a42beafa2e779bbc9269f8f4dfe8d73757d4c5efca
MD5 03c3c49ac3b3f65ccd291dff940610cd
BLAKE2b-256 5a557e9d755c9a5447a22acba0b3dd8e599b2ea1350619f61b844a8c6318bf8f

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcp_ph_sms-0.1.3.tar.gz:

Publisher: release.yml on jansencruz23/mcp-ph-sms

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mcp_ph_sms-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: mcp_ph_sms-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 7.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for mcp_ph_sms-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 2bdf5aefb713763dd76dbfd87d588faf8916afc96750a68e3651bba0f778dd6d
MD5 f75375ff5103a5edeb98fda06c20f9bd
BLAKE2b-256 ede4c5dde2b05c39121633d367f6abbc306bb4c68511509a8d186f622ae584d0

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcp_ph_sms-0.1.3-py3-none-any.whl:

Publisher: release.yml on jansencruz23/mcp-ph-sms

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page