Skip to main content
Glama

slack_list_channels

Retrieve public channels from a Slack workspace with pagination support for managing large channel lists.

Instructions

List public channels in the workspace with pagination

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of channels to return (default 100, max 200)
cursorNoPagination cursor for next page of results

Implementation Reference

  • Handler for the slack_list_channels tool. Extracts arguments and invokes SlackClient.getChannels to list channels.
    case "slack_list_channels": { const args = request.params .arguments as unknown as ListChannelsArgs; const response = await slackClient.getChannels( args.limit, args.cursor, ); return { content: [{ type: "text", text: JSON.stringify(response) }], }; }
  • Input schema and metadata definition for the slack_list_channels tool.
    const listChannelsTool: Tool = { name: "slack_list_channels", description: "List public channels in the workspace with pagination", inputSchema: { type: "object", properties: { limit: { type: "number", description: "Maximum number of channels to return (default 100, max 200)", default: 100, }, cursor: { type: "string", description: "Pagination cursor for next page of results", }, }, }, };
  • Core implementation in SlackClient that calls Slack's conversations.list API to retrieve public channels.
    async getChannels(limit: number = 100, cursor?: string): Promise<any> { const params = new URLSearchParams({ types: "public_channel", exclude_archived: "true", limit: Math.min(limit, 200).toString(), team_id: process.env.SLACK_TEAM_ID!, }); if (cursor) { params.append("cursor", cursor); } const response = await fetch( `https://slack.com/api/conversations.list?${params}`, { headers: this.headers }, ); return response.json(); }
  • index.ts:532-546 (registration)
    Tool registration via ListToolsRequest handler, which returns the list of tools including slack_list_channels.
    server.setRequestHandler(ListToolsRequestSchema, async () => { console.error("Received ListToolsRequest"); return { tools: [ listChannelsTool, postMessageTool, replyToThreadTool, addReactionTool, getChannelHistoryTool, getThreadRepliesTool, getUsersTool, getUserProfileTool, ], }; });

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/lars-hagen/slack-user-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server