# ManyMoney 메시징 MCP 서버

<Aside type="tip" title="베타 기능 공지">
ManyMoney 메시징 MCP 서버는 베타 버전입니다. 엔드포인트 및 인증 옵션이 변경될 수 있습니다.
</Aside>

## 개요

ManyMoney 메시징 MCP 서버는 [ManyMoney AI MCP 서버](/ko/product/pushwoosh-ai/manymoney-mcp-server/)의 발송 상대입니다. ManyMoney AI MCP 서버가 캠페인 계획 및 구축을 돕는다면, 메시징 MCP 서버는 AI 에이전트에게 자연어 지시를 통해 푸시 알림, 이메일, SMS, WhatsApp, Telegram, LINE, Kakao 등 **실제로 메시지를 전달**할 수 있는 기능을 제공합니다.

[모델 컨텍스트 프로토콜(MCP)](https://modelcontextprotocol.io/) 클라이언트에 연결하면, 에이전트는 단일 자연어 요청만으로 세그먼트에 푸시를 보내거나 특정 사용자에게 개인화된 이메일을 보낼 수 있습니다.

### 지원 채널

| 채널 | 메시지 유형 |
| --- | --- |
| **푸시 — iOS** | 표준, 자동, 중요 알림, VoIP 푸시, 실시간 활동 |
| **푸시 — Android** | 표준 푸시, Huawei, Baidu, Amazon Fire |
| **푸시 — 웹** | Chrome, Firefox, Safari, Edge(Windows)에서 웹 푸시 |
| **이메일** | HTML 본문, 템플릿, 첨부 파일, 사용자 지정 발신/회신 주소 |
| **SMS** | 계정에 구성된 SMS 플랫폼을 통한 문자 메시지 |
| **WhatsApp** | 아웃바운드 발송을 위한 Meta 승인 템플릿, 사용자가 먼저 메시지를 보낸 후 24시간 이내에만 자유 형식 텍스트 가능 |
| **Telegram** | 콘텐츠 변수가 포함된 문자 메시지 |
| **LINE** | 콘텐츠 및 템플릿 메시지 |
| **Kakao** | 콘텐츠 및 템플릿 메시지 |

### 작동 방식

1. 메시징 MCP 서버를 AI 클라이언트에 한 번 연결합니다(아래 [MCP 서버 연결](#connect-the-mcp-server) 참조).
2. AI 클라이언트에서 새 채팅을 열고 발송 내용을 평이한 언어로 설명합니다. 즉시 발송이 아닌 경우 애플리케이션, 대상(세그먼트 또는 특정 사용자), 메시지 텍스트, 발송 시점을 포함합니다. 아래 [요청에 포함할 내용](#what-to-include-in-your-request)을 참조하세요. API 요청이나 JSON을 직접 작성할 필요가 없습니다.
3. 에이전트가 발송 준비가 되면, 세부 정보를 검토하고 클라이언트에서 작업을 승인합니다.
4. 승인 후 Pushwoosh는 메시지를 보내고 [메시지 코드](/ko/developer/api-reference/api-identifiers/#message-code)를 반환합니다. 이 코드를 [메시지 기록](/ko/product/statistics-and-analytics/message-history/)에서 사용하여 발송을 찾고 전송 및 통계를 추적할 수 있습니다.

### 에이전트가 할 수 있는 일

설정 후 에이전트는 다음을 수행할 수 있습니다.

- **지원되는 모든 채널로 발송:** 푸시(iOS, Android, 웹), 이메일, SMS, WhatsApp, Telegram, LINE, Kakao.
- **세그먼트에 도달:** [세그먼트](/ko/product/audience-data-and-segmentation/segmentation/)의 모든 사람에게 브로드캐스트합니다.
- **특정 사용자에게 도달:** 이벤트(주문 업데이트, 비밀번호 재설정 등) 후 하나 이상의 [사용자 ID](/ko/developer/api-reference/api-identifiers/#user-id)로 보냅니다.
- **전송 예약:** 지금 보내거나, 설정된 시간에, 지연 후, 또는 각 사용자의 현지 시간대에 맞춰 보냅니다.
- **콘텐츠 개인화:** 수신자별로 `{{first_name}}` 또는 `{{promo_code}}`와 같은 템플릿 플레이스홀더를 채웁니다.
- **캠페인 발송 수 계산:** 에이전트에게 사용할 [캠페인 코드](/ko/developer/api-reference/api-identifiers/#campaign-code)를 알려줍니다. 해당 발송의 전송 및 참여도는 제어판의 해당 캠페인 아래에 표시됩니다.

아래 [AI 클라이언트에서 메시지 보내기](#send-messages-from-your-ai-client)의 [예시 채팅 요청](#example-prompts)을 참조하세요.

### 호환되는 AI 클라이언트

메시징 MCP 서버는 다음을 포함한 모든 MCP 호환 클라이언트와 작동합니다.

- Anthropic의 **Claude Desktop**
- **Cursor** 및 **Windsurf**
- **Cline** 및 **Continue**
- MCP 사양에 따라 구축된 **사용자 지정 에이전트**

## MCP 서버 연결

<Aside type="caution" icon="setting" title="개발자 지원 필요">
메시징 MCP 서버를 AI 클라이언트에 연결하려면 개발팀의 도움이 필요할 수 있습니다. 이 가이드를 개발팀과 공유해 주세요.
</Aside>

### 1단계. Pushwoosh 계정과 API 토큰이 있는지 확인

메시징 MCP 서버는 [Pushwoosh 서버 API 토큰](/ko/developer/api-reference/api-access-token/#server-api-token)으로 인증합니다.

Pushwoosh 제어판에서 **설정 → API 액세스**로 이동하여 **새 토큰 생성**을 클릭하고 **서버**를 선택한 후 토큰을 저장합니다. 다음 단계에서 이 토큰을 클라이언트 구성에 추가하게 됩니다.

토큰은 계정 권한을 상속받습니다. 에이전트가 발송할 [애플리케이션으로 제한](/ko/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`에서 내 테스트 기기로 '에이전트로부터의 인사'라는 제목과 '이것은 테스트 메시지입니다.'라는 본문의 푸시를 보내줘."*


에이전트의 작업을 승인하기 전에 대상과 메시지 내용을 확인하세요.

연결이 작동하면 에이전트는 메시지를 보내고 `PW-12345-67890`과 같은 Pushwoosh 메시지 코드를 반환합니다.


## AI 클라이언트에서 메시지 보내기

에이전트는 요청당 하나의 메시지를 보냅니다.

<Aside type="caution" title="승인 전 검토">
메시징 MCP 서버를 통해 보낸 메시지는 실제 전송입니다. 즉시 발송 작업을 승인하는 즉시 또는 설정한 일정에 따라 발송됩니다. AI 클라이언트에서 작업을 승인하기 전에 애플리케이션, 대상, 채널, 메시지 텍스트 및 일정을 확인하세요. 대상이 세그먼트인 경우 특히 주의하세요. 승인하면 에이전트는 발송을 취소할 수 없습니다. 예약된 메시지는 Pushwoosh 제어판의 [메시지 기록](/ko/product/statistics-and-analytics/message-history/)에서 취소할 수 있지만, 발송이 시작되기 전에만 가능합니다.
</Aside>

### 요청에 포함할 내용

에이전트가 무엇을, 누구에게, 언제 보낼지 알 수 있도록 아래 세부 정보를 채팅에 설명하세요. 평이한 언어를 사용하세요(예: "앱 XXXXX-XXXXX", "세그먼트 cart-abandonment").

| 포함할 내용 | 설명 |
| --- | --- |
| `application` | [애플리케이션 코드](/ko/developer/api-reference/api-identifiers/#application-code) (`XXXXX-XXXXX`) |
| `platforms` | 보낼 [채널 ID](/ko/developer/api-reference/messaging-api-v2/notify/#platform-enum) (푸시, 이메일, SMS 등) |
| `target` | [세그먼트 코드](/ko/developer/api-reference/api-identifiers/#segment--filter-code), [세그먼트 표현식](/ko/developer/api-reference/segmentation-filters-api/segmentation-language/) 또는 명시적인 [사용자](/ko/developer/pushwoosh-knowledge-hub/users-userids/), [hwid](/ko/developer/pushwoosh-knowledge-hub/device-identifiers/#hwid) 또는 [푸시 토큰](/ko/developer/pushwoosh-knowledge-hub/device-identifiers/#push-token) 목록 ([트랜잭션 타겟팅](/ko/developer/api-reference/messaging-api-v2/notify/#notifytransactional)) |
| `message_payload` | **푸시:** 제목과 본문, 또는 [푸시 프리셋](/ko/product/content/push-presets/), 선택적 사운드, 배지, 열기 액션<br /><br />**이메일:** 제목, 본문 또는 [템플릿](/ko/product/content/email-content/), 첨부 파일<br /><br />**SMS 및 메신저:** 텍스트 또는 승인된 템플릿 |
| `schedule` | 특정 시간에, 지연 후, 또는 사용자 시간대에 맞춰 보내기 |
| `dynamic_content_placeholders` | `{{first_name}}` 또는 `{{promo_code}}`와 같은 플레이스홀더 값 |
| `campaign` | 메시지를 귀속시킬 [캠페인 코드](/ko/developer/api-reference/api-identifiers/#campaign-code) |
| `frequency_capping` | [빈도 제한](/ko/product/messaging-channels/global-frequency-capping/#enable-global-frequency-capping)은 각 사용자가 시간 창 내에서 메시지를 받는 빈도를 제한합니다 |

### 에이전트가 메시지를 보내는 방법

에이전트는 [`Notify`](/ko/developer/api-reference/messaging-api-v2/notify/) 도구를 사용하여 하나의 메시지를 생성하고 보냅니다. 두 가지 타겟팅 모드를 지원합니다.

| 모드 | 사용 시기 |
| --- | --- |
| **세그먼트** | [세그먼트](/ko/product/audience-data-and-segmentation/segmentation/) 또는 [세그먼트 표현식](/ko/developer/api-reference/segmentation-filters-api/segmentation-language/)과 일치하는 모든 사용자에게 브로드캐스트합니다. [예약](/ko/product/how-to-guides/how-to-schedule-a-message/), [빈도 제한](/ko/product/messaging-channels/global-frequency-capping/#enable-global-frequency-capping), [발송률](/ko/product/messaging-channels/global-frequency-capping/#set-send-rate-limits), [제어 그룹](/ko/product/audience-data-and-segmentation/global-control-group/)을 지원합니다. |
| **트랜잭션** | 특정 [사용자](/ko/developer/pushwoosh-knowledge-hub/users-userids/), [hwid](/ko/developer/pushwoosh-knowledge-hub/device-identifiers/#hwid) 또는 [푸시 토큰](/ko/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로 설정하여 이메일을 보내줘.

**세그먼트에 SMS:**

> 애플리케이션 `XXXXX-XXXXX`에서 `vip-users` 세그먼트에 "독점 혜택이 오늘 밤 마감됩니다."라는 본문의 SMS를 보내줘. 지금 보내.

**세그먼트에 Telegram:**

> 애플리케이션 `XXXXX-XXXXX`에서 `subscribers-monthly` 세그먼트에 "안녕하세요 `{{first_name}}`님, 5월 청구서가 준비되었습니다. 계정에서 다운로드하세요."라는 본문의 Telegram 메시지를 보내줘. 내일 오전 10:00 UTC로 예약해.

## 인증

메시징 MCP 서버는 두 가지 인증 방법을 지원합니다.

| 방법 | 사용 방법 |
| --- | --- |
| **API 토큰** | 모든 요청에 `Authorization: Token YOUR_API_TOKEN`을 추가합니다. 에이전트 및 자동화된 파이프라인에 권장됩니다. |
| **세션 토큰 (SSO)** | `Authorization: Bearer YOUR_SSO_TOKEN`을 추가합니다. Pushwoosh OAuth2 SSO를 사용하여 특정 사용자 세션 하에서 작동하는 프로그래밍 방식 통합용입니다. 일반적인 에이전트 설정에는 필요하지 않으며, 대신 서버 API 토큰을 사용하세요. |

토큰이 없거나 유효하지 않은 요청은 HTTP 401로 거부됩니다.

## 팁 및 모범 사례

- **승인하기 전에 각 발송을 신중하게 검토하세요.** 이것은 실제 전송이며, 승인하거나 예약된 시간에 발송됩니다. 클라이언트의 앱, 대상, 채널 및 메시지 텍스트가 의도한 것과 일치하는지 확인하세요.
- **에이전트 전용 서버 API 토큰을 사용하세요.** **설정 → API 액세스**에서 별도의 [서버 API 토큰](/ko/developer/api-reference/api-access-token/#server-api-token)을 생성하고 에이전트가 발송해야 할 [애플리케이션으로 제한](/ko/developer/api-reference/api-access-token/#edit-token)하세요. 이렇게 하면 에이전트의 액세스가 해당 앱으로만 범위가 지정됩니다.
- **트리거된 메시지에는 트랜잭션 타겟팅을 사용하세요.** 이벤트(주문 배송, 비밀번호 재설정) 후 알려진 사용자 ID로 보낼 때는 `users: [userId]`와 함께 `transactional` 모드를 사용하세요. 동일한 발송을 위해 한 사람짜리 세그먼트를 만들지 마세요. [NotifyTransactional](/ko/developer/api-reference/messaging-api-v2/notify/#notifytransactional)을 참조하세요.
- **대규모 발송 전에 테스트 기기에서 테스트하세요.** 실제 세그먼트로 보내기 전에 에이전트에게 먼저 [등록된 테스트 기기](/ko/product/first-steps/start-with-your-project/test-your-integration/test-devices/)로 보내달라고 요청하세요. 예: *"애플리케이션 `XXXXX-XXXXX`에서 내 테스트 기기로 '테스트'라는 제목과 '여기서 텍스트 확인'이라는 본문의 푸시를 보내줘."* 이렇게 하면 **설정 → 테스트 기기**에 추가한 기기로만 메시지가 라우팅됩니다. 미리보기가 올바르게 보이면 실제 세그먼트나 대상을 요청하세요.
- **요청에 캠페인을 지정하세요.** 채팅에 [캠페인 코드](/ko/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/" />