短信API服务

MNotify MCP Server 是一个将MNotify SMS API封装为MCP服务器的工具,支持通过Cursor等IDE安全调用短信发送、联系人管理等功能,并提供交互式CLI代理。

  • by Nanayeb34
  • Python
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 nanayeb34/mnotify-mcp-server

使用说明

通知MCP服务器

通过一个命令将MNotify引入您的AI IDE。

此软件包将MNotify SMS API公开为MCP服务器,因此Cursor等工具可以通过stdio安全地调用真正的MNotify操作(发送SMS、管理联系人/组/模板、交付报告)。此仓库还包括一个简单的交互式MNotify Agent,供CLI使用。它基于 Mnotify API v2.0

查看PyPI MCP包 这里

需求

  • Python 3.10+
  • 环境变量: MNOTIFY_API_KEY

设置

  • 使用紫外线(推荐):
    curl -LsSf https://astral.sh/uv/install.sh | sh  # install uv if needed
    uv venv                                          
    uv pip install -r requirements.txt               
    
  • 使用任何virtualenv manager+pip:
    python -m venv .venv && source .venv/bin/activate
    pip install -r requirements.txt
    

快速启动——安装并运行MCP服务器

pip install mnotify_mcp_server
export MNOTIFY_API_KEY=sk_mnotify_...

# Start the server (preferred)
mnotify_mcp server

# Alternatives
mnotify-mcp
python -m mnotify_mcp.server

连接到光标

  • 选项A:项目配置 .cursor/mcp.json (推荐)
{
  "mcpServers": {
    "mnotify": {
      "command": "mnotify_mcp",
      "args": ["server"]
    }
  }
}

从与虚拟环境相同的环境中重新启动光标

  • 选项B:手动添加光标(设置→ MCP → 添加自定义服务器→ 工艺)
    • 命令: mnotify_mcp
    • Args: server
    • 确保 MNOTIFY_API_KEY 在Cursor启动进程的环境中设置

MNotify代理(交互式CLI)

一个可以直接调用所有MNotify工具的本地聊天代理。

设置

  • 创建一个虚拟环境,并使用uv或pip安装依赖项(见上文)。
  • 添加a .env 文件包含:
OPENROUTER_API_KEY=sk-or-v1-...
MNOTIFY_API_KEY=...
AGNO_API_KEY=ag-...   # optional, if monitoring is set.

启动代理

uv run mnotify_agent.py

CLI命令

  • 帮助:列出命令
  • 历史记录:显示最近的消息
  • 工具:列出可用工具
  • 测试:运行快速工具调用测试
  • 清晰:清晰的对话背景

暴露的工具

  • 短讯服务: send_quick_bulk_sms, send_bulk_group_sms, update_scheduled_sms
  • 报告: sms_delivery_report, specific_sms_delivery_report, periodic_sms_delivery_report
  • 联络: add_contact, update_contact, delete_contact, get_contact_details, get_contact_list, get_group_contacts
  • 组: add_group, update_group, delete_group, get_group_details, get_group_list
  • 模板: get_template_list, get_message_template, add_message_template, update_message_template, delete_message_template
  • 公用设施: register_sender_id, check_sender_id, check_sms_balance
  • 助手: get_context_snapshot, resolve_group_name

验证和护栏

  • message 长度≤460; sender_id 长度≤11。
  • schedule=true 需要 schedule_time (YYYY-MM-DD HH:MM)。
  • 可选: verify_sender=true 在发送之前执行尽力而为的发件人状态检查。

安全

  • 永远不要把秘密当作工具论据。服务器读取 MNOTIFY_API_KEY 从环境。
  • 服务器不记录机密。