Skip to main content
Glama

get_attachment

Retrieve metadata and base64-encoded content of a locally saved Signal attachment by filename. Use to read or display received files.

Instructions

Retrieve metadata and the base64-encoded content of a locally saved Signal attachment by filename. Returns MIME type, file size, local path, and the raw bytes as base64 so the caller can read or display the file. Only attachments already downloaded to the local store are accessible — attachments expire on Signal's servers after ~30 days if not downloaded first. Use list_attachments to discover available filenames before calling. Use when you need to read, display, or forward the contents of a received file or image. Do NOT use to send an attachment — use send_attachment or send_group_attachment for that.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
filenameYesAttachment filename (get from list_attachments)
Behavior5/5

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

No annotations provided, but the description fully discloses that only locally downloaded attachments are accessible, the 30-day server expiration, and the returned data (MIME type, file size, local path, base64 content). This is comprehensive behavioral disclosure.

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?

Four sentences with clear front-loading of the main action, followed by constraints, usage guidance, and exclusions. No unnecessary words, each sentence adds value.

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?

The description covers prerequisites (local download, expiration), return value contents, and usage relative to sibling tools. For a single-parameter tool with no output schema, this is maximally complete.

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?

The single parameter 'filename' is described in the schema with 'get from list_attachments', and the description adds important context about local storage and expiration. While schema coverage is 100%, the description adds meaningful extra info.

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?

The description clearly states 'Retrieve metadata and the base64-encoded content of a locally saved Signal attachment by filename.' This specifies the exact action and resource, and distinguishes from sibling tools like list_attachments and send_attachment.

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

Usage Guidelines5/5

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

Explicitly states when to use ('when you need to read, display, or forward the contents of a received file or image'), what to do before ('Use list_attachments to discover available filenames'), and what not to do ('Do NOT use to send an attachment') with alternative tools named.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/googlarz/signal-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server