Summarize a busy channel without a second LLM subscription
Scenario: a support engineer says "TL;DR what happened in #support over the last 50 messages, then post the summary to #ops." Two calls: the first asks your client's own model to do the work, the second posts the result. discord-mcp ships zero API keys and never makes an outbound LLM request on your behalf.
Sampling support is negotiated at MCP initialization, don't infer it from a client's name or version. When sampling is absent, the tool returns raw messages plus _meta.fallback: 'host_llm_should_process', your host model produces the summary in a later turn instead. That fallback result is data to summarize, not a completed summary.
Step 1: read the channel (optional)#
intelligence_summarize_channel fetches messages internally, so this step is only needed if you want to inspect the raw stream first.
Step 2: summarize#
{
"name": "intelligence_summarize_channel",
"arguments": { "channel_id": "222233334444555566", "limit": 50, "style": "bullet" }
}A successful result with sampling support:
{
"summary": "- Three users hit the new SSO flow with expired refresh tokens.\n- @alice shipped a hotfix, @bob verified.\n- Open: customer #88241 still can't log in, escalated to on-call.",
"key_topics": ["sso", "refresh tokens", "hotfix deploy"],
"action_items": ["follow up with customer #88241"],
"message_count_used": 50,
"sampling_used": true
}Without sampling support, you instead get raw_messages and _meta.fallback: "host_llm_should_process", the host model should read those and generate the summary itself in a following turn.
Step 3: post the summary#
Call messages_send with the generated summary content, targeting your ops channel.
Why this design#
- Zero API keys to manage. No
OPENAI_API_KEY, no budget telemetry, no key rotation playbook, your existing model subscription does the work. - Privacy. Channel content never leaves the path you already trust, your MCP client to your LLM. discord-mcp doesn't proxy text to a third-party inference provider.
- Explicit degradation. Clients without sampling get the source data and a machine-readable fallback marker instead of a silent failure.
Style options#
style |
Output shape |
|---|---|
bullet (default) |
Markdown bullet list, scannable |
paragraph |
Two-to-three sentence paragraph |
executive |
One business-focused paragraph |
Related tools#
intelligence_summarize_channel full schema, messages_read to inspect raw messages first, messages_send to post the result, and sibling sampling tools intelligence_classify_messages and intelligence_moderate_content.
Next steps#
See the other sampling-based tools and where this fallback pattern is defined: how it works. Back to the overview.