smsportal.app SMS

app.smsportal由 smsportal.app 发布官方发布者v1.0.0更新于 Oct 30, 2026

Send and read SMS from your own Android phone and number. No per-message fees from smsportal.

已验证Streamable HTTP可网页运行效率与工作流沟通与协作

概览

AI 生成的概览

把已配对的 Android 手机变成短信网关:用助手以本机号码发送短信并读取收到的短信。

可以做什么
  • 列出账户中已配对的手机及其心跳和 SIM 状态,查看发送、接收和设备总数
  • 按文本、号码、手机、状态和时间搜索已发送与已接收短信
  • 读取手机已同步的接收短信
  • 从自己的手机向最多 50 个 E.164 号码发送指定内容
  • 查询某次批量发送中每个收件人的发送状态
适用场景
适合希望助手通过自己的 Android 号码和 SIM 卡收发短信、而不是使用群发短信服务商的场景,例如发送通知、回复或查看收到的消息。
运行要求
使用 smsportal.app/mcp 的远程 Streamable HTTP 端点,或自行构建 Node.js 包以 stdio 本地运行。需要 smsportal.app 账户、已配对的 Android 手机和 API 密钥,通过 Authorization bearer 头传入(stdio 模式用 SMSPORTAL_API_KEY)。无法自定义请求头的客户端需 Node.js 18+ 的 mcp-remote。
安装前请注意
API 密钥是可访问你短信账户的凭据,请勿放入共享配置。发送工具会以你的手机和号码发出真实短信,即使 smsportal 不按条收费,运营商仍可能计费。API 接受不等于送达,发送后应检查状态。设置 SMSPORTAL_READ_ONLY=true 可隐藏发送工具。

安装

在 SourceWeft 中

  1. 打开 控制台中的 smsportal.app SMS,将其添加到工作区。
  2. 连接 Authorization token 凭据。它们会被私密存储,绝不会在公开页面上展示。
  3. 为需要使用其工具的对话启用该服务。

Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。

交给智能体安装

把这段提示词粘贴到 Claude Code、Codex、Cursor 等智能体,或 SourceWeft 对话中。智能体会读取该服务器的安装指南,先向你展示发布者、端点和登录方式,经你同意后再把它添加到你的客户端。密钥不会写进任何命令。

阅读 https://sourceweft.com/mcp/app.smsportal%2Fsms/install.md,并按其中说明把这个 MCP 服务器接入我的客户端。修改任何配置之前,先告诉我它的发布者、端点和登录方式,等我确认。不要把 API 密钥写进命令或我会提交的文件;问我密钥应从哪里获取。

查看智能体所依据的安装指南

其他 MCP 客户端

把它添加到你客户端的 mcpServers 配置中。

{
  "mcpServers": {
    "smsportal-app-sms": {
      "type": "http",
      "url": "https://smsportal.app/mcp",
      "headers": {
        "Authorization": "Bearer <YOUR_TOKEN>"
      }
    }
  }
}

README

SMS Portal|app MCP server

Send and read SMS from your own Android phone through AI agents such as Claude, Cursor or any other Model Context Protocol client.

smsportal.app turns an Android phone into an SMS gateway: messages go out from your own number and SIM, and incoming SMS are available through the API. This server exposes that account to AI agents. It is not affiliated with SMSPortal (Pty) Ltd of South Africa.

Use the hosted server (recommended)

  1. Create an account at smsportal.app, pair your Android phone and create an API key in the dashboard.
  2. Add the server to your client.

Claude Code

sh
claude mcp add --transport http smsportal https://smsportal.app/mcp \  --header "Authorization: Bearer $SMSPORTAL_API_KEY"

Claude Desktop and other clients without custom headers (via mcp-remote, Node.js 18+)

json
{  "mcpServers": {    "smsportal": {      "command": "npx",      "args": ["-y", "mcp-remote", "https://smsportal.app/mcp", "--header", "Authorization:${AUTH_HEADER}"],      "env": { "AUTH_HEADER": "Bearer YOUR_SMSPORTAL_API_KEY" }    }  }}

Step-by-step guide: smsportal.app/en/integrations/mcp.

Tools

ToolWhat it does
smsportal_list_devicesPhones paired with the account and their last heartbeat and SIM state
smsportal_get_statsSent, received and device totals
smsportal_list_messagesSearch sent and received SMS by text, number, phone, status and time
smsportal_read_received_smsIncoming SMS already synchronised by the phone
smsportal_get_send_statusPer-recipient status of a batch returned by smsportal_send_sms
smsportal_send_smsSend an exact message to up to 50 E.164 numbers from your phone

API acceptance is not proof of delivery; check the send status afterwards. Set SMSPORTAL_READ_ONLY=true to remove the sending tool.

Run it yourself

sh
git clone https://github.com/aleksanderem/smsportal-mcp && cd smsportal-mcpnpm ci && npm run build

Local (stdio) client entry:

json
{  "mcpServers": {    "smsportal": {      "command": "node",      "args": ["/path/to/smsportal-mcp/dist/index.js"],      "env": { "SMSPORTAL_API_KEY": "YOUR_SMSPORTAL_API_KEY" }    }  }}
VariableDefaultMeaning
SMSPORTAL_API_KEY—API key (stdio mode)
SMSPORTAL_API_URLhttps://smsportal.app/api/v1API base URL
SMSPORTAL_READ_ONLYfalsetrue hides the sending tool
SMSPORTAL_PUBLIC_ORIGINhttp://localhost:18080HTTP mode: the only browser origin allowed
SMSPORTAL_TRUST_PROXYfalseHTTP mode: trust one reverse-proxy hop for the caller address
HOST, PORT127.0.0.1, 3002HTTP mode listener

HTTP mode (node dist/index.js --http, or the Dockerfile) serves Streamable HTTP at /mcp, takes the API key from Authorization: Bearer (or an x-api-key header, for hosts that cannot add the Bearer prefix), validates it before every request and rate-limits per caller network.

Development

sh
npm ci && npm test

Security reports: see SECURITY.md. License: MIT.

来源:README.md,提交 66451ba

工具

0
该服务器需要 API 密钥等凭据,因此 SourceWeft 无法在没有凭据的情况下读取其工具,也未收录。

版本历史

1
  1. v1.0.0最新Oct 30, 2026

评分

已满足适用检查项的 85%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通必需25 分
  • 已声明认证方式必需10 分
  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分