MCP短信服务器(菲律宾)
模型上下文协议(MCP)服务器,提供SMS功能(通过免费的API)和本地联系人管理系统。
设置
- 先决条件:Python 3.10+, 紫外线
- 安装依赖项:
uv sync
# OR if managing manually:
uv pip install mcp[cli] httpx pydantic pydantic-settings python-dotenv sqlmodel- 配置环境:
从获取API密钥 https://sms-api-ph.netlify.app.
创建一个 .env 根目录中的文件:
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运行服务器
1.手动测试(脚本)
要在没有完整MCP服务器的情况下验证数据库和API逻辑,请执行以下操作:
uv run test_manual.py这将创建一个测试联系人,并尝试发送模拟短信。
2.通过命令行界面(MCP)运行
启动标准IO服务器(主要用于调试或管道):
uv run main.py*注意:在等待JSON-RPC输入时,这将显示为挂起。*
3.使用MCP检查器(Web UI)运行
如果你有 npx 安装:
npx @modelcontextprotocol/inspector uv run main.py与Claude Desktop集成
要将此服务器与Claude Desktop一起使用,请将以下内容添加到配置文件中:
Windows配置路径: %APPDATA%\Claude\claude_desktop_config.json\ (通常 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"
}
}
}
}备选方案(如果项目已通过同步 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"
}
}
}
}重要:
- 确保
uv在您的系统PATH中。 cwd确保uv拿起.env和pyproject.toml从正确的目录。- 你可以省略
env如果你有JSON.env文件设置正确。
可用工具
联系人
contacts_list:列出具有筛选选项的联系人。
- 论据: limit (默认值:50), tag (可选), q (搜索查询)。
contacts_get:通过ID获取特定联系人。
- 论据: contact_id.
contacts_create:创建新联系人。
- 论据: name, phone, tags (可选列表), notes (可选)。
contacts_update:更新现有联系人。
- 论据: contact_id,以及任何 name, phone, tags, notes.
contacts_delete:按ID删除联系人。
- 论据: contact_id.
短信
sms_send:发送短信。
- 论据: recipient (电话号码或姓名), message, dry_run (布尔值,默认值:False)。 - *注意:限制为每10秒1条消息。*
sms_history:查看短信发送历史记录。
- 论据: limit (默认值:20), contact_id (可选过滤器)。
提示
compose_sms:助手提示根据主题起草短信。
