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
-
Prerequisites: Python 3.10+, uv
-
Install Dependencies:
uv sync # OR if managing manually: uv pip install mcp[cli] httpx pydantic pydantic-settings python-dotenv sqlmodel
-
Configure Environment:
Obtain your API key from https://sms-api-ph.netlify.app.
Create a
.envfile 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
uvis in your system PATH. cwdensuresuvpicks up the.envandpyproject.tomlfrom the correct directory.- You can omit
envin the JSON if you have the.envfile 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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file mcp_ph_sms-0.1.4.tar.gz.
File metadata
- Download URL: mcp_ph_sms-0.1.4.tar.gz
- Upload date:
- Size: 56.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b2c8c83177eefb5e1e1b569253568cb06c967130157de1578e6c72f9d6126e75
|
|
| MD5 |
d4aba04ca9574949b3b4d2460e5f638a
|
|
| BLAKE2b-256 |
14f13daf82346bbc515240574e9946ab5d9de85b06c397048def5641b03f539c
|
File details
Details for the file mcp_ph_sms-0.1.4-py3-none-any.whl.
File metadata
- Download URL: mcp_ph_sms-0.1.4-py3-none-any.whl
- Upload date:
- Size: 7.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
946a9aed987390008790221e2c6b141c4dff9fe433121db69e6b8c53b1111c92
|
|
| MD5 |
e9745c8da4a1d1b84cbb1606dd6f47bb
|
|
| BLAKE2b-256 |
6bc0afc2fcc5cb54cad1fd4a4f16a38beb1b8bdccdbacd633eba90d467abc3e2
|