# ManyMoney Messaging MCP 服务器

<Aside type="tip" title="Beta 功能通知">
ManyMoney Messaging MCP 服务器正处于 Beta 测试阶段。端点和身份验证选项可能会发生变化。
</Aside>

## 概览

ManyMoney Messaging MCP 服务器是 [ManyMoney AI MCP 服务器](/zh/product/pushwoosh-ai/manymoney-mcp-server/) 的发送对应部分。ManyMoney AI MCP 服务器帮助您规划和构建营销活动，而 Messaging MCP 服务器则让您的 AI 代理能够根据自然语言指令，按需**实际发送消息**——推送通知、电子邮件、短信、WhatsApp、Telegram、LINE、Kakao 等。

将其连接到任何[模型上下文协议 (MCP)](https://modelcontextprotocol.io/) 客户端，您的代理就可以通过一条自然语言请求，向一个细分群体发送推送，或向特定用户发送个性化电子邮件。

### 支持的渠道

| 渠道 | 消息类型 |
| --- | --- |
| **推送 — iOS** | 标准、静默和关键通知、VoIP 推送和实时活动 |
| **推送 — Android** | 标准推送，以及华为、百度和亚马逊 Fire |
| **推送 — Web** | 在 Chrome、Firefox、Safari 和 Edge (Windows) 中的 Web 推送 |
| **电子邮件** | HTML 正文、模板、附件、自定义发件人/回复地址 |
| **短信** | 通过您账户上配置的短信平台发送短信 |
| **WhatsApp** | Meta 批准的用于出站发送的模板；仅在用户首次向您发送消息后的 24 小时窗口内可发送自由格式文本 |
| **Telegram** | 带有内容变量的短信 |
| **LINE** | 内容和模板消息 |
| **Kakao** | 内容和模板消息 |

### 工作原理

1.  将 Messaging MCP 服务器连接到您的 AI 客户端一次（参见下文的[连接 MCP 服务器](#connect-the-mcp-server)）。
2.  在您的 AI 客户端中，打开一个新的聊天窗口，用通俗易懂的语言描述发送任务。包括应用程序、受众（细分或特定用户）、消息文本，以及如果不是立即发送，则指定发送时间。请参见下文的[请求中应包含哪些内容](#what-to-include-in-your-request)。您无需自己构建 API 请求或 JSON。
3.  当代理准备好发送时，请在您的客户端中检查详细信息并批准操作。
4.  您批准后，Pushwoosh 会发送消息并返回一个[消息代码 (message code)](/zh/developer/api-reference/api-identifiers/#message-code)。您可以在[消息历史](/zh/product/statistics-and-analytics/message-history/)中使用该代码查找发送记录并跟踪发送和统计数据。

### 您的代理能做什么

设置完成后，代理可以：

-   **在任何支持的渠道上发送：** 推送 (iOS, Android, Web)、电子邮件、短信、WhatsApp、Telegram、LINE 或 Kakao。
-   **触达一个细分：** 向[细分](/zh/product/audience-data-and-segmentation/segmentation/)中的每个人广播。
-   **触达特定用户：** 在某个事件（订单更新、密码重置等）后，向一个或多个[用户 ID (user IDs)](/zh/developer/api-reference/api-identifiers/#user-id) 发送。
-   **安排发送时间：** 立即发送、在设定时间发送、延迟发送，或根据每个用户的本地时区发送。
-   **个性化内容：** 为每个接收者填充模板占位符，例如 `{{first_name}}` 或 `{{promo_code}}`。
-   **将发送计入一个营销活动：** 告诉代理使用哪个[营销活动代码 (campaign code)](/zh/developer/api-reference/api-identifiers/#campaign-code)。该发送的发送和互动数据将显示在控制面板的该营销活动下。

请参见下文[从您的 AI 客户端发送消息](#send-messages-from-your-ai-client)中的[示例聊天请求](#example-prompts)。

### 兼容的 AI 客户端

Messaging MCP 服务器可与任何兼容 MCP 的客户端配合使用，包括：

-   Anthropic 的 **Claude Desktop**
-   **Cursor** 和 **Windsurf**
-   **Cline** 和 **Continue**
-   基于 MCP 规范构建的**自定义代理**

## 连接 MCP 服务器

<Aside type="caution" icon="setting" title="需要开发人员协助">
您可能需要开发团队的帮助才能将 Messaging MCP 服务器连接到您的 AI 客户端。请与他们分享本指南。
</Aside>

### 第 1 步：确保您拥有 Pushwoosh 账户和 API 令牌

Messaging MCP 服务器使用 [Pushwoosh 服务器 API 令牌 (Server API token)](/zh/developer/api-reference/api-access-token/#server-api-token) 进行身份验证。

在 Pushwoosh 控制面板中，转到 **设置 → API 访问**，点击**生成新令牌**，选择**服务器**，并保存该令牌。您将在下一步中将其添加到客户端配置中。

该令牌继承了您账户的权限。请[将其限制](/zh/developer/api-reference/api-access-token/#edit-token)为希望代理通过其发送的应用程序。

### 第 2 步：将服务器添加到您的 AI 客户端

使用以下端点：

```
https://messaging-api.svc-nue.pushwoosh.com/mcp
```

<Tabs>
  <TabItem label="Claude Desktop">
将服务器添加到您的 Claude Desktop 配置文件 (`claude_desktop_config.json`) 中：

```json
{
  "mcpServers": {
    "pushwoosh-messaging": {
      "url": "https://messaging-api.svc-nue.pushwoosh.com/mcp",
      "headers": {
        "Authorization": "Token YOUR_API_TOKEN"
      }
    }
  }
}
```

保存后重启 Claude Desktop。
  </TabItem>
  <TabItem label="Cursor / Windsurf">
将服务器添加到您的 `.cursor/mcp.json` 文件中（或 Windsurf 中的等效文件）：

```json
{
  "mcpServers": {
    "pushwoosh-messaging": {
      "url": "https://messaging-api.svc-nue.pushwoosh.com/mcp",
      "headers": {
        "Authorization": "Token YOUR_API_TOKEN"
      }
    }
  }
}
```

保存后重新加载编辑器。
  </TabItem>
  <TabItem label="其他客户端">
将您的客户端指向 `https://messaging-api.svc-nue.pushwoosh.com/mcp` 并设置 `Authorization: Token YOUR_API_TOKEN` 请求头。有关添加带有自定义头的远程 MCP 服务器，请参阅您客户端的文档。
  </TabItem>
</Tabs>

### 第 3 步：试一试

在您的 AI 客户端中打开一个新的聊天窗口，并提出一个具体的问题：

> *“在应用 `XXXXX-XXXXX` 中，向我的测试设备发送一条推送，标题为‘来自代理的问候’，内容为‘这是一条测试消息’。”*


在您批准代理的操作之前，请确认受众和消息内容。

如果连接成功，代理会发送消息并返回一个 Pushwoosh 消息代码，例如 `PW-12345-67890`。


## 从您的 AI 客户端发送消息

代理每个请求发送一条消息。

<Aside type="caution" title="批准前请仔细检查">
通过 Messaging MCP 服务器发送的消息是真实发送。一旦您批准“立即发送”操作，或在您设定的计划时间，消息就会发出。在您的 AI 客户端中批准操作之前，请检查应用程序、受众、渠道、消息文本和时间安排。当目标是细分时要特别小心。一旦您批准，代理无法取消发送。计划发送的消息可以在 Pushwoosh 控制面板的[消息历史](/zh/product/statistics-and-analytics/message-history/)中取消，但仅限于发送开始之前。
</Aside>

### 请求中应包含哪些内容

在您的聊天中描述以下详细信息，以便代理知道要发送什么、谁应该接收以及何时发送。请使用通俗易懂的语言（例如，“应用 XXXXX-XXXXX”，“细分 cart-abandonment”）。

| 应包含的内容 | 描述 |
| --- | --- |
| `application` | [应用程序代码 (Application code)](/zh/developer/api-reference/api-identifiers/#application-code) (`XXXXX-XXXXX`) |
| `platforms` | 要发送的[渠道 ID (Channel IDs)](/zh/developer/api-reference/messaging-api-v2/notify/#platform-enum)（推送、电子邮件、短信等） |
| `target` | [细分代码 (Segment code)](/zh/developer/api-reference/api-identifiers/#segment--filter-code)、[细分表达式 (segment expression)](/zh/developer/api-reference/segmentation-filters-api/segmentation-language/)，或明确的[用户 (user)](/zh/developer/pushwoosh-knowledge-hub/users-userids/)、[hwid](/zh/developer/pushwoosh-knowledge-hub/device-identifiers/#hwid) 或[推送令牌 (push token)](/zh/developer/pushwoosh-knowledge-hub/device-identifiers/#push-token) 列表（[事务性目标定位 (transactional targeting)](/zh/developer/api-reference/messaging-api-v2/notify/#notifytransactional)） |
| `message_payload` | **推送：** 标题和正文，或[推送预设 (push preset)](/zh/product/content/push-presets/)，可选声音、角标和打开操作<br /><br />**电子邮件：** 主题、正文或[模板 (template)](/zh/product/content/email-content/)、附件<br /><br />**短信和即时通讯工具：** 文本或已批准的模板 |
| `schedule` | 在特定时间发送、延迟发送或遵循用户时区 |
| `dynamic_content_placeholders` | 占位符的值，例如 `{{first_name}}` 或 `{{promo_code}}` |
| `campaign` | 将消息归属的[营销活动代码 (Campaign code)](/zh/developer/api-reference/api-identifiers/#campaign-code) |
| `frequency_capping` | [频率上限 (Frequency capping)](/zh/product/messaging-channels/global-frequency-capping/#enable-global-frequency-capping) 限制每个用户在时间窗口内接收消息的频率 |

### 代理如何发送消息

代理使用 [`Notify`](/zh/developer/api-reference/messaging-api-v2/notify/) 工具创建并发送一条消息。支持两种目标定位模式：

| 模式 | 何时使用 |
| --- | --- |
| **细分 (Segment)** | 向所有匹配[细分](/zh/product/audience-data-and-segmentation/segmentation/)或[细分表达式](/zh/developer/api-reference/segmentation-filters-api/segmentation-language/)的用户广播。支持[计划发送](/zh/product/how-to-guides/how-to-schedule-a-message/)、[频率上限](/zh/product/messaging-channels/global-frequency-capping/#enable-global-frequency-capping)、[发送速率](/zh/product/messaging-channels/global-frequency-capping/#set-send-rate-limits)和[对照组](/zh/product/audience-data-and-segmentation/global-control-group/)。 |
| **事务性 (Transactional)** | 发送给特定的[用户](/zh/developer/pushwoosh-knowledge-hub/users-userids/)、[hwids](/zh/developer/pushwoosh-knowledge-hub/device-identifiers/#hwid)或[推送令牌](/zh/developer/pushwoosh-knowledge-hub/device-identifiers/#push-token)列表。非常适合触发式或个性化消息。 |


#### 示例提示

**向细分发送推送：**

> 在应用 `XXXXX-XXXXX` 中，向 iOS 和 Android 上的 `cart-abandonment` 细分发送一条推送。
> 
> 标题：“还在考虑吗？” 正文：“您的购物车正在等待，这里有 10% 的折扣。”
>
> 安排在每个用户本地时间的下午 3 点发送。使用营销活动代码 `spring-promo`。

**向单个用户发送电子邮件：**

> 在应用 `XXXXX-XXXXX` 中，向用户 `uid-123` 发送一封电子邮件，使用电子邮件模板 `welcome-flow-v2`，并将占位符 `{{first_name}}` 设置为 Alex。

**向细分发送短信：**

> 在应用 `XXXXX-XXXXX` 中，向细分 `vip-users` 发送一条短信，内容为“您的专属优惠今晚结束。” 立即发送。

**向细分发送 Telegram 消息：**

> 在应用 `XXXXX-XXXXX` 中，向细分 `subscribers-monthly` 发送一条 Telegram 消息，内容为“嗨 `{{first_name}}`，您的五月发票已准备好——请从您的账户下载。” 安排在明天上午 10:00 UTC 发送。

## 身份验证

Messaging MCP 服务器支持两种身份验证方法：

| 方法 | 如何使用 |
| --- | --- |
| **API 令牌** | 在每个请求中添加 `Authorization: Token YOUR_API_TOKEN`。推荐用于代理和自动化管道。 |
| **会话令牌 (SSO)** | 添加 `Authorization: Bearer YOUR_SSO_TOKEN`。用于使用 Pushwoosh OAuth2 SSO 在特定用户会话下操作的程序化集成。对于典型的代理设置不需要——请改用服务器 API 令牌。 |

缺少或无效令牌的请求将被拒绝，并返回 HTTP 401。

## 提示和最佳实践

-   **在批准之前，务必仔细检查每次发送。** 这些是真实发送，它们会在您批准或在计划时间发出。请确保客户端中的应用、受众、渠道和消息文本与您的意图相符。
-   **为代理使用专用的服务器 API 令牌。** 在**设置 → API 访问**中创建一个单独的[服务器 API 令牌 (Server API token)](/zh/developer/api-reference/api-access-token/#server-api-token)，并[将其限制](/zh/developer/api-reference/api-access-token/#edit-token)为代理应从中发送的应用程序。这样，代理的访问权限就仅限于这些应用。
-   **对触发式消息使用事务性目标定位。** 当您在某个事件（订单已发货、密码重置）后向已知用户 ID 发送时，请使用 `transactional` 模式和 `users: [userId]`。不要为同一次发送构建一个单人细分。请参见 [NotifyTransactional](/zh/developer/api-reference/messaging-api-v2/notify/#notifytransactional)。
-   **在进行大规模发送前，先在测试设备上进行测试。** 在向真实细分发送之前，请先让代理向您的[已注册测试设备](/zh/product/first-steps/start-with-your-project/test-your-integration/test-devices/)发送。例如：“在应用 `XXXXX-XXXXX` 中，向我的测试设备发送一条标题为‘测试’，内容为‘在此处检查文本’的推送。” 这会将消息仅路由到您在**设置 → 测试设备**中添加的设备。当预览看起来正确时，再请求真实的细分或受众。
-   **在您的请求中指定一个营销活动。** 在聊天中包含一个[营销活动代码 (campaign code)](/zh/developer/api-reference/api-identifiers/#campaign-code)（例如，`spring-promo`），以便结果显示在 Pushwoosh 控制面板中正确的营销活动下。
-   **广播前请确认。** 配置您的 AI 客户端，在批准任何针对细分的工具调用之前，要求明确确认。向大量受众广播是不可逆的。
-   **使用占位符进行个性化设置。** 在您的聊天请求中传递 `{{first_name}}` 或 `{{promo_code}}` 等占位符的值，而不是为每个用户构建单独的消息。


## 相关

<LinkCard title="ManyMoney AI MCP 服务器：规划和构建营销活动" href="/product/pushwoosh-ai/manymoney-mcp-server/" />
<LinkCard title="控制面板内的 ManyMoney AI" href="/product/pushwoosh-ai/ai-assistant/" />
<LinkCard title="AI 工具概览" href="/product/pushwoosh-ai/" />