Skip to main content
Glama

teams_get_attachments

Download pictures and files from specified chat messages by message ID into a new local folder, then return the saved file paths.

Instructions

Download the pictures and files of the given messages (mid values) of a chat into a new local folder; returns the paths.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "chat": "<chat>",
      "message_ids": "<message_ids>"
    },
    "name": "teams_get_attachments"
  }
}

Input Schema

NameRequiredDescriptionDefault
chatYes
message_idsYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.5/5.0
Behavior3/5

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

With no annotations, the description does useful work by disclosing the side effect: files are written into a new local folder and paths are returned. It does not cover permissions needed, folder naming/location, overwrite behavior, failure handling for missing message ids, or size limits — significant gaps for a tool that writes to disk.

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?

A single dense sentence with the action, scope, side effect, and return value front-loaded; no filler or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The return value is stated (paths), which covers the absence of an output schema, and the write side effect is disclosed. However, without annotations the definition should say more about the chat identifier format, where the folder is created, and what happens on partial or total failure.

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

Parameters3/5

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

Schema coverage is 0%, so the description must compensate. It clarifies that message_ids are 'mid values' (useful beyond the bare string array in the schema) but says nothing about the 'chat' parameter's expected format (id, name, or encoded object).

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 (download) and resource (pictures and files / attachments) scoped to the messages of a given chat, and adds the side effect of creating a local folder. It is implicitly distinguishable from teams_read_messages (text) and teams_send_message, but it never names or contrasts a 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?

Usage is implied: you call it with message ids from a chat, presumably obtained via teams_read_messages. There is no explicit when-to-use/when-not guidance, no mention of prerequisites (must the messages exist / be fetched first?), and no alternatives offered.

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