Skip to main content
Glama
conarti

Mattermost MCP Server

by conarti

mattermost_download_file

Download a file attached to a Mattermost post to local disk and get its absolute path and metadata. Optionally return images inline.

Instructions

Download a file attached to a Mattermost post to the local disk and return its absolute path and metadata. Without output_path the file is saved to the system temporary directory as mattermost-mcp/{file_id}_{name}. An existing file at the target path is overwritten. With inline=true a PNG, JPEG, GIF or WebP image up to 1 MB is also returned as image content; for other types or larger files the response explains why inline was skipped.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
inlineNoIf true, also return the image as image content when it is image/png, image/jpeg, image/gif or image/webp and not larger than 1 MB
file_idYesThe ID of the file (26 characters)
output_pathNoWhere to save the file. An existing directory or a path ending with / or \ is a directory: the file is saved inside it with its original name and missing directories are created. Any other path is the file path, missing parent directories are created. A leading ~ is expanded to the home directory, relative paths are resolved from the server working directory.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv1.4.0

TDQS

A4.2/5.0
Behavior5/5

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

With no annotations, the description carries the full burden and meets it: it discloses the default save location and naming pattern, that existing files are overwritten, inline size/type limits (1 MB, PNG/JPEG/GIF/WebP), and that skipped inline attempts are explained. These are exactly the behavioral traits an agent needs.

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 tight sentences, front-loaded with the primary action and return, followed by default behavior and the optional inline capability. Every sentence earns its place with no redundancy.

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?

No output schema exists, so the description must explain returns – and it does ('absolute path and metadata'). Combined with overwrite behavior, path semantics and inline handling, an agent has everything needed to call it correctly.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3, but the description adds genuinely new meaning: the naming convention and temp-directory default when output_path is omitted, plus how inline interacts with type/size limits. The schema alone does not state the omitted-path default.

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+resource ('Download a file attached to a Mattermost post to the local disk') and the return ('absolute path and metadata'). It implicitly distinguishes itself from mattermost_get_file_info by emphasizing downloading to disk, though it never names the sibling explicitly.

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?

Describes defaults (temp dir when output_path omitted) and the inline option, which implies usage context, but never states when to prefer this over mattermost_get_file_info or other alternatives. Guidance is implied rather than explicit.

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