Skip to main content
Glama

Edit the signature

settings_send_as_patch
DestructiveIdempotent

Replace the signature of the address the mailbox sends from by default. Nothing of the old one is kept; settings_send_as_get reads it beforehand. An empty signature clears it. Where that address is not the one a Gmail mailbox signs in with, Gmail lets only its own settings change it, and the call is refused. An Outlook mailbox, or one whose provider is imap, keeps no signature a tool reaches, so Lumman keeps this one for it, written as signature or taken with fromDraft from a draft of that mailbox: its formatting, tables and links to web, mail and phone addresses, a picture it links to as that link, and the pictures a draft's signature block holds, at most 10000 bytes once kept, its pictures counted. Written markup keeps a picture only where it names one the kept signature already holds, as cid:. For a mailbox whose provider is imap, displayName sets the name its mail goes out under instead.

Input Schema

NameRequiredDescriptionDefault
mailboxYesThe mailbox's name or its email address.
fromDraftNoFor an Outlook mailbox, or one whose provider is imap: a draft of that mailbox whose signature block - the one its mail app or Lumman marked - is kept with the pictures it holds. Reading it needs messages_get turned on for that mailbox. Left out where signature or displayName is given.
signatureNoThe signature, as HTML. Gmail sanitises it; for an Outlook mailbox, or one whose provider is imap, Lumman keeps what a signature needs of it. Left out where fromDraft or displayName is given.
displayNameNoFor a mailbox whose provider is imap: the name its mail goes out under beside its address, replacing any taken from its sent mail. Left out where signature or fromDraft is given.

Output Schema

NameRequiredDescriptionDefault
picturesNoThe pictures the signature shows by content id, as cid:<id> in its markup, without their bytes.
signatureNo
displayNameNoFor a mailbox whose provider is imap, the name its mail goes out under beside its address.
sendAsEmailYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed4 schema fields changed
    • addedInput schema / properties / displayName
      Added value: +{
      +  "description": "For a mailbox whose provider is imap: the name its mail goes out under beside its address, replacing any taken from its sent mail. Left out where signature or fromDraft is given.",
      +  "maxLength": 256,
      +  "minLength": 1,
      +  "type": "string"
      +}
    • changedInput schema / properties / fromDraft / description
      Previous value: -"For an Outlook mailbox, or one whose provider is imap: a draft of that mailbox whose signature block - the one its mail app or Lumman marked - is kept with the pictures it holds. Reading it needs messages_get turned on for that mailbox. Left out where signature is given."New value: +"For an Outlook mailbox, or one whose provider is imap: a draft of that mailbox whose signature block - the one its mail app or Lumman marked - is kept with the pictures it holds. Reading it needs messages_get turned on for that mailbox. Left out where signature or displayName is given."
    • changedInput schema / properties / signature / description
      Previous value: -"The signature, as HTML. Gmail sanitises it; for an Outlook mailbox, or one whose provider is imap, Lumman keeps what a signature needs of it. Left out where fromDraft is given."New value: +"The signature, as HTML. Gmail sanitises it; for an Outlook mailbox, or one whose provider is imap, Lumman keeps what a signature needs of it. Left out where fromDraft or displayName is given."
    • addedOutput schema / properties / displayName
      Added value: +{
      +  "description": "For a mailbox whose provider is imap, the name its mail goes out under beside its address.",
      +  "type": "string"
      +}
  2. Changed4 schema fields changed
    • addedInput schema / properties / fromDraft
      Added value: +{
      +  "description": "For an Outlook mailbox, or one whose provider is imap: a draft of that mailbox whose signature block - the one its mail app or Lumman marked - is kept with the pictures it holds. Reading it needs messages_get turned on for that mailbox. Left out where signature is given.",
      +  "pattern": "^[A-Za-z0-9_=-]{1,512}$",
      +  "type": "string"
      +}
    • changedInput schema / properties / signature / description
      Previous value: -"The signature, as HTML. Gmail sanitises it; for an Outlook mailbox, or one whose provider is imap, Lumman keeps only its words."New value: +"The signature, as HTML. Gmail sanitises it; for an Outlook mailbox, or one whose provider is imap, Lumman keeps what a signature needs of it. Left out where fromDraft is given."
    • changedInput schema / required
      Previous value: -[
      -  "mailbox",
      -  "signature"
      -]New value: +[
      +  "mailbox"
      +]
    • addedOutput schema / properties / pictures
      Added value: +{
      +  "description": "The pictures the signature shows by content id, as cid:<id> in its markup, without their bytes.",
      +  "items": {
      +    "additionalProperties": false,
      +    "properties": {
      +      "id": {
      +        "type": "string"
      +      },
      +      "mimeType": {
      +        "type": "string"
      +      },
      +      "size": {
      +        "type": "number"
      +      }
      +    },
      +    "required": [
      +      "id",
      +      "mimeType",
      +      "size"
      +    ],
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
  3. Changed1 schema field changed
    • changedInput schema / properties / signature / description
      Previous value: -"The signature, as HTML the provider will sanitise."New value: +"The signature, as HTML. Gmail sanitises it; for an Outlook mailbox, or one whose provider is imap, Lumman keeps only its words."
  4. Changed2 schema fields changed
    • changedInput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • changedOutput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
  5. First observed

TDQS

A4.6/5.0
Behavior5/5

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

The description adds substantial behavior beyond the annotations: old signature contents are not retained, empty input clears the signature, Gmail's refusal condition is stated, provider-specific storage rules are explained, and size/picture/markup constraints are disclosed. This is consistent with destructiveHint=true and idempotentHint=true.

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 main purpose and destructive behavior are front-loaded, and most sentences carry necessary provider-specific details. However, the provider rules are packed into long, dense sentences that make the description harder to scan than it could be.

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 the destructive mutation, provider-specific behavior, four parameters, full schema coverage, annotations, and an output schema, the description is complete enough for correct invocation. It covers refusal conditions, empty-value semantics, and the main provider-dependent alternatives.

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 the schema already documents all four parameters, including fromDraft, signature, and displayName. The description adds provider-level context, but most parameter-specific meaning is already present in the schema, so it only meets the baseline rather than adding significant new semantics.

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 starts with a specific verb and resource: replacing the signature of the address the mailbox sends from by default. It also distinguishes the read counterpart explicitly via settings_send_as_get and describes the empty-signature clearing behavior.

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?

It gives explicit alternatives and conditions: settings_send_as_get reads the old signature beforehand, an empty signature clears it, fromDraft is used for Outlook/imap mailboxes, displayName is used for imap mailboxes, and Gmail refuses changes where the address is not the sign-in address.

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.