Skip to main content
Glama

add_chat_message_attachment

Attach a file to a Huly channel message, direct message, or thread reply. Provide file details and source via path, URL, or base64 data.

Instructions

Attach a file directly to a Huly channel message, direct-message message, or thread reply. Provide filename, contentType, and exactly one of filePath, fileUrl, or data.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
targetYesChat attachment target. Use channel_message for a channel message, dm_message for a direct-message message, or thread_reply for a thread reply.
filenameYesName of the file to attach to the chat message or thread reply.
contentTypeYesMIME type of the file, such as image/png or application/pdf.
filePathNoLocal file path to upload. Mutually exclusive with fileUrl and data.
fileUrlNoRemote URL to fetch and upload. Mutually exclusive with filePath and data.
dataNoBase64-encoded file data. Mutually exclusive with filePath and fileUrl.
descriptionNoOptional attachment description. Use null on update to clear it.
pinnedNoWhether the attachment should be pinned.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYesThe successful tool result. The same value is also serialized as JSON in the text content for clients that do not read structuredContent.
warningsNoOptional agent-visible warnings about degraded result fidelity. Omitted when the server returned the documented happy-path payload.
Behavior3/5

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

Annotations indicate readOnlyHint=false (mutation), destructiveHint=false (not destructive), idempotentHint=false (not idempotent). The description aligns by stating 'Attach', implying mutation. It adds value by specifying the mutual exclusivity of file sources, but does not disclose additional behaviors like whether the message is modified, permission requirements, or side effects. With annotations already providing basic safety info, the description's contribution is moderate.

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?

The description is exceptionally concise: two sentences that immediately convey the core action and key requirement. It is front-loaded with the verb and resource, and every sentence adds necessary information without redundancy.

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 tool has 8 parameters (3 required) and an output schema. The description covers the primary purpose and the critical constraint (exactly one of three file sources), but does not explain the return value, potential errors, or the fact that the attachment modifies the message. With the detailed input schema, the description is adequate but could benefit from mentioning that this operation mutates the target message.

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 description coverage is 100%, so each parameter is already well-documented in the input schema. The description reinforces the mutual exclusivity of filePath, fileUrl, and data, which is already stated in schema parameter descriptions. It does not add new parameter-level semantics beyond emphasizing the 'exactly one' constraint. Baseline 3 is appropriate.

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 the tool's purpose: attaching a file to Huly channel messages, DMs, or thread replies. It specifies the verb 'Attach', the resource 'file directly to a Huly channel message, direct-message message, or thread reply', and distinguishes from siblings like 'add_attachment' (which may attach to other objects) and 'add_thread_reply' (adding reply text).

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

Usage Guidelines4/5

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

The description provides clear context on when to use the tool: for attaching files to any chat message type. It instructs to provide exactly one of filePath, fileUrl, or data, which is a critical usage requirement. However, it does not explicitly mention when not to use this tool or suggest alternative tools (e.g., 'add_attachment' for non-chat attachments), but the context is clear enough.

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/dearlordylord/huly-mcp'

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