Skip to main content
Glama

Mailbuttons (mbag.ai)

Extract attachment text

mailbuttons_get_attachment_text
Read-onlyIdempotent

Extract inline text from a message attachment (text/* and text/csv). PDF and other binary types are not extracted yet and return an error with a next step. Read-only; requires the attachments capability.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
blob_idYesAttachment blob id (from message attachments meta).
email_idYesJMAP email id the attachment belongs to.
inbox_idYesInbox (mailbox) id. Must be in scope for the token.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint/idempotentHint/destructiveHint=false, so the safety profile is covered. The description adds two pieces of context not present in the structured fields: the required `attachments` capability and the error-with-next-step behavior for unsupported MIME types. It does not cover size limits, truncation, or rate limits.

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?

Two short sentences, no redundancy. The supported-type scope is front-loaded and the caveat plus capability requirement follow in a single compact clause each.

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

Completeness4/5

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

With no output schema, the description does carry some return-value burden; it tells the agent this yields inline text and that unsupported types yield an error. That is sufficient for correct invocation, though return format (plain string vs. structured payload), size caps, and encoding are left unstated.

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 blob_id, email_id, and inbox_id are already fully documented with their JMAP origins and scope constraints. The description adds no parameter-level detail beyond 'message attachment', so the baseline 3 applies.

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?

States a specific verb and resource ('Extract inline text from a message attachment') and immediately scopes it to text/* and text/csv, so an agent knows exactly what this tool will and will not handle. The explicit exclusion of PDF/binary types further sharpens the boundary against a sibling like mailbuttons_extract_code.

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?

Gives clear triggering context ('inline text from a message attachment') and an explicit failure condition (PDF and binary types return an error with a next step). It does not name an alternative tool for the unsupported case, but the scope statement makes the when-to-use condition unambiguous.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.