Overview

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

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.

Updated

Was this page helpful?