BroadNet
期刊工程部
工程部

用于消息服务的MCP:AI智能体如何安全地发送短信和WhatsApp

MCP服务器将消息API转换为AI智能体可以调用的工具。这既强大又充满风险:拥有发送工具的智能体可以直接给真实客户发送消息。本文将介绍MCP在短信和WhatsApp中的工作原理、如何连接到BroadNet的服务器,以及首先需要建立的防护机制。

BroadNet工程团队
作者编辑标准
11 分钟阅读
工程部 · 期号 47
11 分钟阅读

于消息服务的MCP服务器通过Model Context Protocol将消息API暴露为工具,以便AI智能体可以发现并调用,从而使助手能够根据请求发送短信或WhatsApp消息。BroadNet在https://mcp.broadnet.me/mcp 运行这样一个服务器,使用Streamable HTTP传输方式和Bearer令牌,并运行在与服务WhatsApp、短信、RCS、Telegram、推送、电子邮件、Messenger和Instagram相同的API之上。本指南将解释其工作原理,更重要的是,如何防止智能体向错误的人发送消息。

核心要点

  • MCP是一种基于JSON-RPC 2.0构建的开放协议,允许AI应用发现并调用外部工具。消息MCP服务器将发送、模板和报告端点转换为工具。
  • 远程服务器使用可流式传输的HTTP传输方式:一个HTTPS端点,每个客户端消息均为一个HTTP POST请求。本地服务器通常使用stdio。
  • BroadNet MCP服务器位于https://mcp.broadnet.me/mcp,并会拒绝任何不带Authorization: Bearer请求头的请求。
  • 令牌是一种发送凭据。智能体根据其权限进行操作,其行为与您自己的代码完全一致。
  • MCP规范指出,应当始终由人工介入以拒绝工具调用,且服务器必须对工具调用进行速率限制。请针对每个发送工具建立授权机制、静默时间、上限限制和审批流程。

什么是Model Context Protocol?

MCP规范将MCP描述为“一种能够实现LLM应用与外部数据源及工具之间无缝集成的开放协议”。它在三种角色之间使用JSON-RPC 2.0消息:宿主(AI应用)、客户端(宿主内部的连接器)和服务器(提供工具、资源和提示词的服务)。截至2026年9月26日,该规范的最新修订版本日期为2026-07-28。

工具是消息服务中至关重要的部分。客户端通过tools/list列出工具,模型选择其中一个,然后客户端通过tools/call调用该工具。规范将工具称为“模型控制”:由模型决定何时使用它们。这正是为什么发送工具需要模型无法通过对话绕过的防护栏的原因。

用于短信和WhatsApp的MCP服务器是如何工作的?

请求路径包含五个跳数。设计要点在于,MCP服务器不会增加新的发送能力;它是在相同的令牌和相同的控制条件下,开放您已有的API。

  1. 用户向AI宿主提出请求,例如:“通过WhatsApp向该客户发送送达更新”。
  2. 模型从MCP客户端检索的列表中选择一个工具(例如WhatsApp发送工具),并填充其参数。
  3. MCP客户端通过带有Bearer令牌的HTTP POST请求向 https://mcp.broadnet.me/mcp 发送tools/call请求。
  4. BroadNet MCP服务器验证令牌并调用相应的BroadNet API端点。
  5. API将消息路由至WhatsApp或移动网络并返回结果,该结果将作为工具结果返回给模型。

在产品团队的演示录像中,客户端列出了380个BroadNet工具,其中包括send_message、post_sms_send、post_whatsapp_message_send、get_whatsapp_template_list、post_whatsapp_template_send、post_rcs_message_send和get_report_delivery。确切列表取决于服务器版本和您的账户;请参阅 MCP服务器文档。

可流式传输的HTTP或stdio:使用哪种传输方式?

规范定义了两种标准传输方式。您使用哪一种取决于服务器运行的位置,它还决定了您的身份验证方式。

stdio可流式传输的HTTP
服务器运行位置作为由客户端启动的子进程,运行在同一台机器上作为通过HTTPS访问的独立服务
消息传输方式通过标准输入和输出传输以换行符分隔的JSON-RPC每个客户端消息都是向单个MCP端点发送的HTTP POST请求;回复则以JSON或服务器发送事件(SSE)流的形式返回
凭据工作原理规范要求stdio服务器应从环境变量中读取凭据每个请求都必须包含Authorization: Bearer请求头;严禁将令牌放入查询字符串中
典型用途本地开发工具由多个客户端共享的托管服务,例如消息API
BroadNet不提供https://mcp.broadnet.me/mcp

对于HTTP服务器,2025-06-18修订版的规范还要求服务器验证Origin请求头,并建议其对每个连接进行身份验证。最新的修订版(2026-07-28)使每个请求都成为自包含的,在其自身的元数据中携带协议版本和客户端能力;早期的修订版通过初始化握手开启会话,客户端会检测服务器使用的版本并进行自动回退。

如何将AI智能体连接到BroadNet的MCP服务器?

  1. 从您的BroadNet账户获取令牌。在BroadAdmin门户的Integrations(集成)中,选择MCP Integration(MCP集成)即可获取临时密钥;永久密钥需由您的账户管理员或主账户提供。
  2. 将服务器添加到您的MCP客户端。大多数客户端使用如下所示的JSON配置。由于不同客户端的字段名称略有不同,请查阅您所用客户端的文档。
  3. 请勿将令牌保存在您提交的代码文件中。请使用您客户端的环境变量支持,如以下配置所示。
  4. 打开工具列表,关闭智能体不需要的所有工具。
  5. 在让智能体接触客户数据之前,请先向您拥有的号码发送一条测试消息。
snippet
{
"mcpServers": {
"broadnet": {
"type": "http",
"url": "https://mcp.broadnet.me/mcp",
"headers": {
"Authorization": "Bearer ${BROADNET_TOKEN}"
}
}
}
}

若要在没有客户端的情况下测试连接,请自行发送初始化请求:

snippet
curl -X POST https://mcp.broadnet.me/mcp \
-H "Authorization: Bearer $BROADNET_TOKEN" \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{"jsonrpc":"2.0","id":1,"method":"initialize",
"params":{"protocolVersion":"2025-06-18","capabilities":{},
"clientInfo":{"name":"curl","version":"1.0"}}}'

如果没有请求头,服务器将在协议层面拒绝调用。这是针对未经身份验证的初始化请求,经2026年9月26日验证后的实际响应:

snippet
event: message
data: {"jsonrpc":"2.0","id":1,"error":{"code":-32001,
"message":"Authorization bearer token is required. Connect with an
'Authorization: Bearer <BroadNet token>' header."}}

将消息服务API密钥交给AI智能体是否安全?

只有在设有限制的情况下才安全。该令牌是一种发送凭证:任何持有它的用户或智能体都可以通过您的账户发送消息,且每次发送都会产生费用并触达真实用户。此外,智能体根据自然语言指令进行操作,而部分文本可能来自外部:例如,一条入站客户消息或一个网页可能包含模型可能会尝试执行的指令。MCP规范对此有明确说明。它指出,在调用任何工具之前,宿主必须获得用户的明确同意;应当始终有“人在回路”以具备拒绝工具调用的能力;且除非来自受信任的服务器,否则客户端必须将工具注解视为不可信。

哪些防护措施可以防止智能体向客户发送垃圾信息?

将控制措施设置在模型无法绕过的位置:即在客户端配置、您自己的中间件或账户设置中,而不是在提示词(prompt)中。

风险控制存放位置
向未同意接收消息的用户发送消息在任何发送工具运行前,请检查同意状态和退订状态您的中间件或CRM
在深夜或错误的日期发送根据收件人时区和市场规则设定的静默时间您的中间件
使用任务并不需要的工具仅启用所需的工具;禁用模板、入驻和账户工具MCP客户端工具设置
失控循环与群发每个智能体的发送上限与速率限制;规范要求服务器对工具调用进行速率限制您的中间件与服务器
重试后的重复消息保留返回的消息ID,并在重新发送前检查其状态您的智能体逻辑(参见幂等性指南)
未经审核发送的营销消息任何营销或多接收者发送均需人工审批MCP客户端确认提示
隐藏在入站消息中的指令将入站文本视为数据;严禁在未经用户请求的情况下触发发送AI宿主中的提示词设计与审批规则
令牌泄露用于实验的临时密钥、环境变量;一旦泄露,立即撤销并重新签发BroadNet账户管理员
无审计追踪记录每次工具调用的输入与结果MCP客户端;规范要求客户端应记录工具使用情况

BroadNet API没有幂等性请求头,因此超时后的重试可能会导致重复发送。安全的模式是存储API返回的消息ID,并在重新发送前检查送达状态;我们的 幂等性 和 重试 指南中说明了具体操作方法。

哪些消息服务操作需要人工审批?

操作建议默认值原因
读取状态报告,列出模板自动只读;不会触达客户
向一位已请求该信息的已知客户发送一条交易类消息在发送限额内自动发送,或一键确认低风险、高价值、易于审计
任何营销消息始终需要人工审批存在同意(授权)、内容及成本风险
向多个收件人发送始终需要人工审核错误会被放大
创建或提交WhatsApp模板人工审核模板将由Meta进行审核,并代表您的品牌
账户、账单或入驻工具已禁用智能体不应更改其运行的账户

MCP或普通的REST API:智能体应该使用哪一种?

两者都连接到同一个平台。区别在于由谁来决定发起哪个调用。

BroadNet MCP服务器BroadNet REST API
谁来选择调用来自工具列表的模型您的代码
端点https://mcp.broadnet.me/mcp例如 https://api.broadnet.me, POST /sms/sendSms
身份验证Authorization: Bearer tokenAuthorization: Bearer token
客户端库任何支持远程服务器和自定义Authorization请求头的MCP客户端一个官方SDK,@broadnet/cpaas-sdk (TypeScript/Node.js);通过OpenAPI规范生成其他客户端
最佳适用场景助手、运营副驾驶、使用自然语言处理的即时任务具有固定逻辑的生产流程:OTP、告警、营销活动

合理的划分方式:在由人引导AI智能体且可以接受确认提示的场景下,使用MCP;对于必须每次都以相同方式运行的流程,请使用REST API,并参考快速入门和curl生成器。我们的API参考记录了MCP工具背后的端点。

常见问题

什么是消息服务的MCP服务器?

一种将消息API(例如发送短信、发送WhatsApp消息或获取状态报告)作为工具,通过Model Context Protocol暴露给AI智能体,使其能够发现并调用的服务器。

什么是BroadNet MCP服务器URL?

https://mcp.broadnet.me/mcp. 它使用MCP Streamable HTTP传输,并且要求在每个请求中包含带有您BroadNet令牌的Authorization: Bearer请求头。

哪些AI客户端可以连接到它?

任何可以通过Streamable HTTP连接到远程服务器并发送自定义Authorization请求头的MCP客户端。BroadNet演示录像使用的是Cursor。

智能体可以发送真实的消息吗?

可以。这些工具会以您令牌的权限进行操作,完全等同于您自己的API调用。请将每一次发送都视为真实操作:仅启用智能体所需的工具,并在发送前要求确认。

Bearer身份验证在MCP中是如何工作的?

对于HTTP传输,客户端在每个请求中都会发送Authorization: Bearer后跟令牌,即使在同一个会话中也是如此,且绝不会将其放在URL查询字符串中。BroadNet的服务器会拒绝没有该请求头的请求。

stdio与Streamable HTTP有什么区别?

stdio将服务器作为本地子进程运行,并通过标准输入和输出交换以换行符分隔的JSON-RPC。Streamable HTTP将服务器作为Web服务运行,每个客户端消息都是向单个端点发送的HTTP POST请求。

如何防止AI智能体向客户发送垃圾信息?

在模型之外强制执行同意检查、静默时间及发送限额,仅启用您需要的工具,对营销和多接收者发送要求人工审批,并记录每一次工具调用。

我应该使用MCP还是REST API?

当人员使用自然语言引导智能体时,请使用MCP。对于固定的生产流程(例如OTP验证码和警报),请使用REST API或TypeScript SDK,因为在这些场景中是由您的代码而非模型来决定发送内容。

来源

相关阅读:客户消息服务中的AI智能体与如何选择企业级智能体AI平台。

这篇文章对您有帮助吗?

我们如何撰写和审核内容

作者:

BroadNet工程团队

工程团队负责底层架构:包括SMPP绑定、SS7技术栈、通道引擎,以及支撑每月十亿条消息发送量的基础架构。当有值得记录的技术细节时,他们会在这里撰文。

通过电子邮件订阅期刊

每月一篇文章。 仅此而已。

订阅后,每当有新的内容(工程、监管或行业动态)发布时,我们都会第一时间发送给您。没有滴灌式营销,没有产品推销,不会与第三方共享。点击一下即可退订。

我们每月发送一封电子邮件。您可以随时退订。查看我们的 隐私政策.

您将获得的内容
  • 深度长文,拒绝标题党
    针对单一主题,提供六至十一分钟的深度阅读体验。
  • 由一线运营团队撰写
    由内部工程师、监管负责人和产品专家亲自执笔。
  • 立足区域
    关于中东及北非地区监管机构、运营商及通道组合的深度见解。
  • 每月一次
    不进行滴灌式营销。仅在有干货分享时发布文章。
停止阅读,开始交付。

我们所写的大部分内容都源于实战经验。

如果这篇文章引起了您的共鸣,我们或许应该聊聊。请带上您的应用场景、业务量和目标市场——我们将为您提供通道方案、价格体系以及可供您致电咨询的参考客户。

$ curl -X POST https://api.broadnet.me/sms/sendSms