Skip to main content
Glama
sjk4425

ncloud-mcp-server

by sjk4425

ncloud_sens_send_brandmessage

Send KakaoTalk Brand Messages through Naver SENS, supporting free-form or template-based content, audience targeting, scheduling, and SMS failover. Use dryRun to preview before sending.

Instructions

Send KakaoTalk Brand Messages through SENS (POST /brandmessage/v2/services/{serviceId}/messages → 202). Free-form: set messageType and type-specific fields per message; template-based: set templateCode (+ messageType of the template) and messages[].templateParameters. Not deliverable 20:50-08:00 (code 3022). targeting I (default) = ad-consented channel friends, M = all ad-consented, N = ad-consented non-friends (M/N need an 080 number). Use dryRun=true to preview.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
dryRunNoIf true, returns the request preview without sending
isAdultNoAdult-only content (default false)
messagesYesRecipients with type-specific payload (1-100)
serviceIdNoBiz Message service ID in NRN form (e.g. ncp:kkobizmsg:kr:1********2:myproject). Defaults to NCLOUD_SENS_BRANDMESSAGE_SERVICE_ID (or NCLOUD_SENS_ALIMTALK_SERVICE_ID) / NCLOUD_SENS_SERVICE_ID. Find it with ncloud_sens_list_projects (kkoBizMsgService.serviceId). A 'Forbidden' reply means the project does not have this channel enabled.
targetingNoAudience: M | N | I (default I)
messageTypeYesMessage layout type
reserveTimeNoScheduled send time 'YYYY-MM-DD HH:mm' (no seconds; must be at least 10 minutes from now)
plusFriendIdYesKakaoTalk channel ID (e.g. @channelname)
templateCodeNoTemplate code for template-based (기본형) sending
reserveTimeZoneNotz database name for reserveTime (default Asia/Seoul)

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv1.16.0

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the behavioral burden. It discloses the delivery time restriction (20:50-08:00, code 3022), the meaning of targeting values, and the dryRun preview behavior. It doesn't mention authentication or rate limits, but the critical operational constraints are covered. No contradiction with annotations (which are empty).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a dense, well-structured paragraph. It front-loads the main purpose, then covers the two modes, delivery restrictions, targeting, and dryRun in a logical flow. No redundant sentences; every sentence contributes useful information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (10 parameters, nested message objects), the description covers the key decision points: free-form vs template, targeting options, delivery time limits, and preview. It relies on the schema for parameter-level details, which is appropriate. It could mention the 202 response meaning, but the overall guidance is sufficient for an agent to call it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3. The description adds value by explaining the two sending modes (free-form vs template-based) and the semantic distinction between targeting values, which goes beyond the schema's simple enum. It also mentions dryRun's purpose. This is meaningful context beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (send KakaoTalk Brand Messages), the specific API endpoint, and the two distinct modes (free-form and template-based). It is unambiguous and distinguishes this tool from the many other SENS tools (send_sms, send_alimtalk) by name and explicit endpoint.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It provides clear guidance on when to use free-form vs template-based sending, explains the targeting options (I, M, N) and their prerequisites, and mentions dryRun for preview. It doesn't explicitly contrast with sibling SENS send tools, but the tool name and context make the distinction obvious, and the in-tool choices are well covered.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Deploy Server

Other Tools