Skip to main content
Glama

Leave an internal note on a thread

add_note

Leaves a note on a thread for the people who work it: shown on the thread screen beside the messages, marked as internal, and in "notes" of get_conversation. It never reaches the correspondent: it is not sent, not quoted in a reply and not part of the mail. It is where the context goes when you hand a thread to a colleague, what you found, what was agreed, why you stopped. It does not change the status of the thread nor its place in the list. It is signed with the name of the person this connection acts for, when it acts for one. Up to 10000 characters. It can carry files for the team in "attachments" (a specification, a quote to prepare), named exactly as for reply_to_conversation; they stay with the note, are listed in its "files" by get_conversation and are never sent. To leave the same note on several threads, give conversation_id the list of their ids, in ONE call rather than one call per thread: the answer then lists in "results" the outcome of each thread in the order given ("ok", with its "result" or its "error") and counts "succeeded" and "failed". Each thread passes exactly the checks it would alone, so one refused or out of reach ("not found") leaves the others done, and the call is an error only when none succeeded.

Input Schema

NameRequiredDescriptionDefault
bodyYesThe text of the note, plain text, up to 10000 characters.
attachmentsNoFiles for the team, joined to the note, up to 10 and 7 MiB in total. Each one is named EITHER by "upload_id", a file already pushed to a slot from create_attachment_upload, OR inline by "filename" and "content_base64". They are never sent to anyone.
conversation_idYesThe id of the conversation, as list_conversations gives it, or a list of up to 50 ids to do the same to every one of them in a single call.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.6/5.0
Behavior5/5

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

With no annotations, the description carries the full behavioral burden and does so thoroughly. It discloses visibility in get_conversation, internal-only delivery semantics, non-mutation of status/list position, signature behavior, character limits, attachment persistence, and bulk-call result semantics including partial success and failure handling.

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?

The description is front-loaded with the purpose and internal-only nature, then moves through visibility, usage, side effects, attachments, and bulk behavior. It is long but mostly justified by the tool's complexity; a few points, such as the character limit, are repeated from the schema, and the single dense paragraph could be better structured.

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?

There is no output schema and no annotations, so the description must explain behavior and return-adjacent semantics. It covers what the note is, where it appears, what it does not affect, how signatures work, attachment behavior, limits, and bulk result handling, which is sufficient for correct invocation.

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?

Schema coverage is 100%, so the baseline is 3. The description adds useful meaning beyond the schema: attachments are for the team only, are named exactly as for reply_to_conversation, stay with the note, and appear in files; conversation_id can be a list, and the description explains the bulk results shape and partial-success behavior.

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 first sentence gives a specific verb and resource: it leaves an internal note on a thread for the people who work it. It clearly distinguishes the tool from reply_to_conversation by stating the note never reaches the correspondent, and it distinguishes it from status-changing siblings by saying it does not change thread status or list position.

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 gives clear usage context: handoff notes, findings, agreements, and reasons for stopping. It also gives important exclusions, such as not being sent, not being quoted in a reply, not changing status, and not affecting list placement. It does not explicitly name reply_to_conversation or set_conversation_status as the alternatives to choose when those actions are intended, so it falls short of a full when/when-not/alternative routing statement.

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.

Resources