Skip to main content
Glama
discord-mcp

discord-mcp

discord_search_threads

Read-onlyIdempotent

Search a channel's threads by name, tags, and time bounds, then page through matched threads with their first messages and members.

Instructions

Search threads in a channel by name, tags, and time bounds. New threads take about 30 seconds to appear in search results. Returns matched threads, first messages, and member objects. Page results with offset=next_offset. To browse active threads without indexing delays, use discord_list_active_guild_threads. Bot permissions it may need: Read Message History. Read-only; safe to retry.

Input Schema

NameRequiredDescriptionDefault
tagNoFilter by up to 20 forum tag IDs applied to threads
nameNoQuery string to search thread names for
slopNoSlop parameter controlling phrase matching fuzziness (0-100)
limitNoMaximum number of threads to return per page (1-25)
max_idNoFilter threads created before this snowflake ID
min_idNoFilter threads created after this snowflake ID
offsetNoOffset index into the search results for pagination; page with next_offset
sort_byNoField to sort results by
archivedNoFilter by archive state: true for archived only, false for active only
channel_idYesID of the parent channel to search threads in
sort_orderNoSort direction
tag_settingNoHow tag matches combine: 'match_all' requires a thread to have every tag in tag, 'match_some' requires at least one

Output Schema

NameRequiredDescriptionDefault
membersYes
threadsYes
has_moreNo
next_afterNo
next_beforeNo
next_offsetNo
total_resultsNo
first_messagesNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.2.0

TDQS

A4.6/5.0
Behavior4/5

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

Adds behavior the annotations cannot express: a ~30 second indexing lag before new threads appear, the shape of returned data, and the Read Message History permission requirement. 'Read-only; safe to retry' largely restates readOnlyHint/idempotentHint, so it is useful context but partly redundant with structured data.

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?

Front-loaded with the core action, then behavior, pagination, alternative, and permissions in a sensible order. Six short sentences with little waste, though the trailing read-only/retry clause duplicates annotation content and could be dropped.

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

Completeness5/5

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

For a 12-parameter search tool with full schema coverage and an output schema, this covers what matters: scope, indexing latency, pagination mechanics, permission prerequisite, and the sibling alternative. Nothing an agent needs to invoke it correctly is missing.

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 baseline is 3, but the description adds real meaning by explaining pagination through next_offset, which is a return-derived value not present in the schema. The name/tags/time-bounds framing is essentially a restatement of documented parameters.

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?

States a specific verb and resource ('Search threads in a channel') plus the filter dimensions (name, tags, time bounds), which is exactly what the schema supports. It is clearly distinguishable from the sibling thread tools, which are mostly membership/mutation or active-listing operations.

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

Usage Guidelines5/5

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

Explicitly names the alternative (discord_list_active_guild_threads) and the condition that selects it: browsing active threads without indexing delays. It also gives in-tool guidance for pagination via offset=next_offset.

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