components_v2_send
Send a rich Discord message using Components V2 (containers, sections, media galleries, action rows). Validates layout before sending; intended for announcements, release notes, dashboards, polls—not plain text.
Instructions
Purpose: Send a Components V2 message - rich layout (Container, Section, MediaGallery, ActionRow, ...). MUTUALLY EXCLUSIVE with content/embed/poll/sticker. Flag IS_COMPONENTS_V2 is irreversible per-message.
When to use: announcements, release notes, dashboards, polls - anything beyond plain text.
When NOT to use: simple text reply → use messages_send.
Validation: components are validated via validateComponentsV2 before sending; the call rejects with VALIDATION_FAILED if the layout is illegal (no API call made).
Returns: {message_id, channel_id, jump_url, component_count}. The server first returns a bounded component review with payload_hash and one-time approval_id; run with MCP_DRY_RUN=false, __confirm:true, the exact __confirm_hash, and __confirm_id before expiry to send once.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| __confirm | No | Authorize the exact payload supplied in this call after reviewing its summary. | |
| channel_id | Yes | Target channel | |
| components | Yes | Components V2 array (1-40 items, recursive) | |
| __confirm_id | No | One-time approval ID returned by the preceding preview; expires shortly. | |
| __confirm_hash | No | SHA-256 payload_hash returned by the preceding preview. | |
| allowed_mentions | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||