Skip to main content
Glama
Guildora
by az-xx

List channels

list_channels
Read-onlyIdempotent

Lists server channels in sidebar order with IDs and types. Filter by type, category, or name fragment to locate channels, and use type "thread" to list active threads.

Instructions

Lists server channels in sidebar order (categories with their channels), with IDs and types. Filter by type, category or a name fragment; type "thread" lists active threads (archived ones: list_threads). Use get_channel for details of one channel.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "list_channels"
  }
}

Input Schema

NameRequiredDescriptionDefault
typeNoOnly this channel type.
guildNoServer ID or name. Optional if DISCORD_GUILD_ID is set or the bot is in one server.
limitNoMax items to return (1-200, default 100).
queryNoOnly channels whose name contains this text.
cursorNoThe next_cursor value from a previous call.
categoryNoOnly channels in this category (ID or name).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.4.0

TDQS

A4.6/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint, so safety is covered. The description adds non-obvious behavior beyond that: results come back in sidebar order with category grouping, and the 'thread' type restricts output to active threads only. It does not disclose pagination behavior despite the cursor parameter, which keeps it below a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three tight sentences with no filler, and the core behavior is front-loaded before the filtering and alternative-tool guidance. Each clause carries distinct information.

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

Completeness4/5

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

With no output schema, the description carries return-shape duty and does reasonably well by naming the ordering, grouping, and included fields. The remaining gap is pagination: six parameters including a cursor and a 1-200 limit, yet the description never mentions that results are paginated or bounded.

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 a 3 is the floor; the description earns more by explaining that query/name matching is a fragment ('name fragment') and that the 'thread' enum value changes what is listed rather than just the type filter. It adds real semantics beyond the mechanical property descriptions, though it says nothing about limit or cursor handling.

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 ('Lists server channels'), plus the ordering returned ('sidebar order, categories with their channels') and the fields included ('IDs and types'). It explicitly distinguishes itself from get_channel (single channel details) and list_threads (archived threads), so an agent can identify it without opening the schema.

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?

Gives concrete routing rules: filter by type/category/name fragment here, use get_channel for details of one channel, and use list_threads for archived threads. The condition that selects each alternative is explicit rather than implied.

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