短信服务系统

一个提供短信发送和本地联系人管理的MCP协议服务器,适用于需要短信功能的开发者和应用。

  • by jansencruz23
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 jansencruz23/mcp-ph-sms

使用说明

MCP短信服务器(菲律宾)

模型上下文协议(MCP)服务器,提供SMS功能(通过免费的API)和本地联系人管理系统。

设置

  1. 先决条件:Python 3.10+, 紫外线

  2. 安装依赖项:

    uv sync
    # OR if managing manually:
    uv pip install mcp[cli] httpx pydantic pydantic-settings python-dotenv sqlmodel
    
  3. 配置环境:

    从获取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:助手提示根据主题起草短信。