Skip to content

Intelligence — summarize a busy channel

The intelligence_summarize_channel tool turns “what did I miss in #support?” into a structured summary — without the server holding any LLM API key. It does this through MCP sampling: the tool calls back to the host client’s LLM via the requestSampling capability, then parses the response.

A support engineer says: “TL;DR what happened in #support over the last 50 messages, then post the summary to #ops.”

Two tool calls. The first asks the host’s own LLM (Claude, GPT, whatever) to do the heavy lifting; the second posts the result. discord-mcp ships zero API keys and never makes outbound LLM requests on your behalf.

  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 or pass a custom subset. For the standard flow, skip straight to step 2.

    {
    "name": "messages_read",
    "arguments": {
    "channel_id": "222233334444555566",
    "limit": 50
    }
    }
  2. Summarize.

    The tool returns a structured object with summary, key_topics, and action_items. The style parameter controls tone: bullet (default), paragraph, or executive.

    {
    "name": "intelligence_summarize_channel",
    "arguments": {
    "channel_id": "222233334444555566",
    "limit": 50,
    "style": "bullet"
    }
    }
  3. Post the summary.

    {
    "name": "messages_send",
    "arguments": {
    "channel_id": "333344445555666677",
    "content": "## Support recap\n\n- Three users hit the new SSO flow with expired refresh tokens.\n- @alice shipped a hotfix at 14:22 UTC; @bob verified.\n- Open: customer #88241 still cannot log in — escalated to on-call."
    }
    }

    When the tool returned the fallback envelope, the host LLM should instead read _meta.raw_messages, generate the summary itself in the next turn, then call messages_send with that content.

  • Zero API keys to manage. The server has no OPENAI_API_KEY field, no budget telemetry, no key rotation playbook. The agent’s existing model subscription does the work.
  • Privacy. Channel content never leaves the path the user already trusts (their MCP client → their LLM). discord-mcp doesn’t proxy text to a third-party inference provider.
  • Graceful degradation. Clients without sampling still get a usable result via the fallback envelope — the agent just does the inference one turn later.
styleOutput shape
bullet (default)Markdown bullet list, scannable
paragraphTwo-to-three sentence paragraph
executiveSingle-sentence headline + 3-bullet body, written for skim-readers