Skip to main content
Glama

Slack List Channels

slack_list_channels
Read-only

Lists channels in a Slack workspace, including public channels, private channels, and direct messages (DMs). Reads from the local IndexedDB cache — only channels that Slack Desktop has synced to disk are returned. Pass workspace_id from slack_list_workspaces to filter to a specific workspace.

Input Schema

NameRequiredDescriptionDefault
limitNoMax channels to return (default 200)
workspace_idNoWorkspace ID from slack_list_workspaces (optional — omit to list channels across all workspaces)

Output Schema

NameRequiredDescriptionDefault
countYesNumber of channels returned
channelsYesChannels and DMs synced to the local cache

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • changedOutput schema / properties / channels / items / properties / name / description
      Previous value: -"Channel name (or dm:<user> for DMs)"New value: +"Channel name. For a DM, the other person's name when Slack's local cache has it, else dm:<user id>"
    • addedOutput schema / properties / channels / items / properties / user_id
      Added value: +{
      +  "description": "For a DM, the other person's Slack user id (the name above is resolved from it); empty otherwise",
      +  "type": "string"
      +}
  2. First observed

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, but the description adds the material caveat that results come from the local IndexedDB cache and only cover what Slack Desktop has synced. That data-completeness warning is real behavioral context an agent needs before trusting an empty result; it does not, however, discuss staleness or refresh behavior.

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 sentences, zero filler, with the scope statement up front and the cache caveat placed before the filtering instruction. Every clause carries information.

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?

An output schema exists, so return shape need not be restated, and the annotations cover the safety profile. For a read-only listing tool the description covers scope, data source limits, and filtering — nothing an agent needs to call it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and both parameters are self-documenting, including the workspace_id provenance note. The description largely restates that same information, adding no format, range, or edge-case detail beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Lists channels in a Slack workspace') and enumerates the channel types returned (public, private, DMs). It does not explicitly distinguish itself from near-neighbors like teams_list_channels or slack_search_messages, so it falls short of full sibling differentiation.

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

Usage Guidelines4/5

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

Gives concrete filtering guidance — pass workspace_id to scope to one workspace, omit to span all — and names slack_list_workspaces as the source of that ID. It does not state when to prefer this over search or read tools, so usage is clear but not comparative.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources