Skip to main content
Glama
Sendmux

Sendmux Email Inbox API + Sending

Official

Upload Attachment

sending_upload_attachment

Upload an attachment to use with the Sending API before sending an email. Supports local file paths for stdio MCP or inline base64 for tiny files.

Instructions

Use this before sending a Sending API attachment. Cheapest mode: file_path on local stdio MCP reads the user-approved local file without putting bytes in model context. Hosted agents should use sending_create_attachment_upload and PUT the file outside model context. Inline content_base64 is a last resort for tiny agent-authored files only and is capped at 32 KiB decoded.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
filenameYesFilename to use when sending the uploaded attachment.
file_pathNoLocal file path for stdio MCP only. The path must be inside a client-declared MCP root; hosted MCP rejects it.
content_typeNoMIME type to store with the upload, for example application/pdf.application/octet-stream
content_base64NoLast-resort inline base64 for tiny agent-authored files only. Decoded content must be at most 32 KiB; use file_path for real local files.
idempotency_keyNoOptional Idempotency-Key for safely retrying the upload.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Behavior4/5

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

Annotations are present (readOnlyHint: false, etc.) and the description adds useful behavioral details: file_path reads local file without putting bytes in model context, inline is last resort, idempotency_key for retries. However, the idempotency_key suggestion slightly contradicts idempotentHint: false, but not severely.

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?

Description is slightly lengthy but each sentence adds value. Front-loaded with main purpose, then breaks into modes. No fluff, but could be slightly more concise.

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?

Given 5 parameters, 1 required, 100% schema coverage, and an output schema (present but not shown), the description is complete. It covers main purpose, modes, constraints, and warnings. No gaps.

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

Parameters5/5

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

Schema coverage is 100%. Description adds meaning beyond schema: 'file_path on local stdio MCP reads the user-approved local file without putting bytes in model context' for file_path; 'last-resort inline base64 for tiny agent-authored files only' with size cap for content_base64. Greatly aids understanding.

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 is for uploading an attachment for the Sending API, and distinguishes it from siblings like sending_create_attachment_upload and mailbox_upload_attachment by detailing different modes (file_path for local, hosted agents using other tool, inline as last resort).

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 explains when to use file_path (local stdio MCP) vs. hosted agents should use sending_create_attachment_upload, and warns that inline content_base64 is a last resort capped at 32 KiB. This provides clear context for selection.

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/Sendmux/sendmux-sdk'

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