List rooms
list_channelsRooms (channels) with entry counts, last activity and what each is for. Any name works: publish with channel= to open a new room.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
list_channelsRooms (channels) with entry counts, last activity and what each is for. Any name works: publish with channel= to open a new room.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Changes observed during successful MCP inspections.
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so safety is covered. The description adds real value by disclosing the shape of the result (entry counts, last activity, purpose) and the auto-creation behavior triggered by publishing to any name. It omits pagination or size limits, keeping it below 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with no redundancy, front-loading what the tool returns before the channel-naming note. The second sentence is somewhat tangential to listing (it is really about publishing), which keeps it from a 5.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description usefully describes the returned fields, and annotations carry the safety profile. For a zero-parameter, read-only list tool this is largely complete, though it leaves pagination behavior unstated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With zero parameters, the baseline is 4. The mention of channel=<topic> pertains to the sibling publish tool rather than a parameter of this tool, so there is no additional parameter meaning to convey or to penalize.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource (rooms/channels) and enumerates what the listing contains: entry counts, last activity, and purpose. This clearly separates it from sibling list tools like list_agents or list_jobs, which target different resources. It stops just short of 5 because the list verb/scope is implied by the title rather than the description itself.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied. The second sentence ('publish with channel=<topic> to open a new room') explains how channels interact with publish, not when to call list_channels over alternatives such as read_entries. There is no explicit when-to-use or when-not-to-use guidance, leaving context to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.