Skip to main content
Glama
oviron

slack-personal-mcp

by oviron

slack_read_canvas

Read-only

Fetch full Slack canvas content as Markdown or HTML for a given workspace and canvas ID, so you can read or reuse the document text in your workflow.

Instructions

Read full canvas content as Markdown (default) or HTML via canvases.getContent. Needs canvases:read.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
canvas_idYes
workspaceYes
content_typeNomarkdown

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.2.3

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so the safety profile is covered. The description adds value beyond that by naming the required scope 'canvases:read' and signaling that the entire content is returned ('full'), which annotations do not convey.

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

Conciseness4/5

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

A single compact sentence with zero waste and the core action front-loaded. The only minor redundancy is re-explaining the content_type default and citing the API method, both of which the schema/annotations already imply.

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 an output schema present, return values need no explanation, and the readOnly hint plus the explicit scope requirement make it callable. The remaining gap is the unexplained workspace and canvas_id identity parameters, which an agent still has to infer.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate for three undocumented parameters. It only mentions the content_type options ('Markdown (default) or HTML'), which merely restates the schema enum/default, and says nothing about what workspace or canvas_id mean or where to obtain them.

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 ('Read') and resource ('full canvas content') and names the exact API call (canvases.getContent), so an agent knows precisely what it returns. No sibling tool reads canvases, so the operation is unambiguous against the surrounding message/search/file tools.

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

Usage Guidelines3/5

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

The description implies when to use it (when you need canvas content) and gives a precondition ('Needs canvases:read'), but it never addresses alternatives or exclusions. There is no guidance on when to prefer Markdown over HTML or how it relates to slack_read_channel/thread.

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