canvas_read
Retrieve a Slack canvas's title and text content using its ID. Enables fetching canvas data for analysis or display.
Instructions
A canvas's title and text content.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| canvas_id | Yes |
Retrieve a Slack canvas's title and text content using its ID. Enables fetching canvas data for analysis or display.
A canvas's title and text content.
| Name | Required | Description | Default |
|---|---|---|---|
| canvas_id | Yes |
Changes observed during successful MCP inspections.
v0.1.0Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the safe, non-mutating nature is covered. The description adds that the return surface is the canvas's title and text content, which is useful since no output schema exists, but it says nothing about pagination, permissions, or behavior for missing/invalid canvases.
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?
The text is short with no waste, but it is an under-specified sentence fragment rather than a front-loaded action statement. Brevity here comes at the cost of clarity, not from tight editing.
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?
For a low-complexity, single-parameter read tool with readOnlyHint annotations and no output schema, the description nearly suffices by naming the returned content. It still omits any routing versus sibling canvas tools and leaves the parameter undocumented, so a gap remains.
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?
Schema description coverage is 0% for the single parameter canvas_id, so the description carries the burden and fails to compensate. It conveys only that a canvas is involved, without explaining the ID format, where to obtain it, or error behavior for a bad ID.
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?
The description states the resource (a canvas) and what content is exposed (title and text), which implies a read operation. However, it is a noun phrase with no verb ('A canvas's title and text content'), so the action is only inferred, and it makes no attempt to distinguish itself from sibling reads like canvas_find_sections or canvas_edit.
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?
There is no when-to-use guidance, no prerequisites, and no mention of alternative tools such as canvas_find_sections for locating sections. The agent must guess the appropriate context for calling this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.