Skip to main content
Glama

Postlyra.app — Telegram posts from AI chats

Create an auto-signature

create_signature

Use this when managing post auto-signatures. Create a reusable auto-signature with the post editor's full RichDocument and optional buttons/media. Assign it with assign_signature. Never publishes.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "title": "<title>",
      "richDocument": "<richDocument>"
    },
    "name": "create_signature"
  }
}

Input Schema

NameRequiredDescriptionDefault
titleYesSaved-item title, e.g. Weekly recap.
languageNoContent language: ru/Russian or en/English.
mediaFile1NoClient-uploaded JPEG/PNG/GIF/WebP image, <=10 MiB; bind this slot in media.src. See get_formatting_capabilities.
mediaFile2NoClient-uploaded JPEG/PNG/GIF/WebP image, <=10 MiB; bind this slot in media.src. See get_formatting_capabilities.
mediaFile3NoClient-uploaded JPEG/PNG/GIF/WebP image, <=10 MiB; bind this slot in media.src. See get_formatting_capabilities.
mediaFile4NoClient-uploaded JPEG/PNG/GIF/WebP image, <=10 MiB; bind this slot in media.src. See get_formatting_capabilities.
mediaFile5NoClient-uploaded JPEG/PNG/GIF/WebP image, <=10 MiB; bind this slot in media.src. See get_formatting_capabilities.
mediaFile6NoClient-uploaded JPEG/PNG/GIF/WebP image, <=10 MiB; bind this slot in media.src. See get_formatting_capabilities.
mediaFilesNoActual client-uploaded image files; at most six total across this array and mediaFile1..6. Bind via mediaFiles[0] etc. in richDocument.
richDocumentYesComplete reusable RichDocument. Use get_formatting_capabilities and the same media slot bindings as post drafts.
inlineButtonsNoSeparate Telegram keyboard rows; use url or one supported action per button. RichDocument buttons use type/value instead.

Output Schema

NameRequiredDescriptionDefault
textNo
titleNo
localeNo
displayNo
messageYes
richHtmlNo
signatureYes
updatedAtNo
previewUrlNo
screenshotNo
signatureIdYes
documentJsonNo
inlineButtonsNo
screenshotUrlNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed36 schema fields changed
    • addedInput schema / properties / inlineButtons / description
      Added value: +"Separate Telegram keyboard rows; use url or one supported action per button. RichDocument buttons use type/value instead."
    • addedInput schema / properties / language / description
      Added value: +"Content language: ru/Russian or en/English."
    • changedInput schema / properties / mediaFile1 / description
      Previous value: -"Actual attached or generated image file, up to 10 MiB: JPEG, PNG, GIF or WebP. Pass the file through the client upload mechanism; the server receives download_url and file_id. mime_type and file_name may be omitted. In the same richDocument call, use this slot name as media.src for exact placement."New value: +"Client-uploaded JPEG/PNG/GIF/WebP image, <=10 MiB; bind this slot in media.src. See get_formatting_capabilities."
    • changedInput schema / properties / mediaFile1 / properties / download_url / description
      Previous value: -"Temporary ChatGPT file download URL."New value: +"Temporary ChatGPT file URL."
    • changedInput schema / properties / mediaFile1 / properties / file_name / description
      Previous value: -"Original file name when available."New value: +"Optional original filename."
    • changedInput schema / properties / mediaFile1 / properties / mime_type / description
      Previous value: -"File MIME type, for example image/jpeg or image/png."New value: +"MIME type, e.g. image/jpeg."
    • changedInput schema / properties / mediaFile2 / description
      Previous value: -"Actual attached or generated image file, up to 10 MiB: JPEG, PNG, GIF or WebP. Pass the file through the client upload mechanism; the server receives download_url and file_id. mime_type and file_name may be omitted. In the same richDocument call, use this slot name as media.src for exact placement."New value: +"Client-uploaded JPEG/PNG/GIF/WebP image, <=10 MiB; bind this slot in media.src. See get_formatting_capabilities."
    • changedInput schema / properties / mediaFile2 / properties / download_url / description
      Previous value: -"Temporary ChatGPT file download URL."New value: +"Temporary ChatGPT file URL."
    • changedInput schema / properties / mediaFile2 / properties / file_name / description
      Previous value: -"Original file name when available."New value: +"Optional original filename."
    • changedInput schema / properties / mediaFile2 / properties / mime_type / description
      Previous value: -"File MIME type, for example image/jpeg or image/png."New value: +"MIME type, e.g. image/jpeg."
    • changedInput schema / properties / mediaFile3 / description
      Previous value: -"Actual attached or generated image file, up to 10 MiB: JPEG, PNG, GIF or WebP. Pass the file through the client upload mechanism; the server receives download_url and file_id. mime_type and file_name may be omitted. In the same richDocument call, use this slot name as media.src for exact placement."New value: +"Client-uploaded JPEG/PNG/GIF/WebP image, <=10 MiB; bind this slot in media.src. See get_formatting_capabilities."
    • changedInput schema / properties / mediaFile3 / properties / download_url / description
      Previous value: -"Temporary ChatGPT file download URL."New value: +"Temporary ChatGPT file URL."
    • changedInput schema / properties / mediaFile3 / properties / file_name / description
      Previous value: -"Original file name when available."New value: +"Optional original filename."
    • changedInput schema / properties / mediaFile3 / properties / mime_type / description
      Previous value: -"File MIME type, for example image/jpeg or image/png."New value: +"MIME type, e.g. image/jpeg."
    • changedInput schema / properties / mediaFile4 / description
      Previous value: -"Actual attached or generated image file, up to 10 MiB: JPEG, PNG, GIF or WebP. Pass the file through the client upload mechanism; the server receives download_url and file_id. mime_type and file_name may be omitted. In the same richDocument call, use this slot name as media.src for exact placement."New value: +"Client-uploaded JPEG/PNG/GIF/WebP image, <=10 MiB; bind this slot in media.src. See get_formatting_capabilities."
    • changedInput schema / properties / mediaFile4 / properties / download_url / description
      Previous value: -"Temporary ChatGPT file download URL."New value: +"Temporary ChatGPT file URL."
    • changedInput schema / properties / mediaFile4 / properties / file_name / description
      Previous value: -"Original file name when available."New value: +"Optional original filename."
    • changedInput schema / properties / mediaFile4 / properties / mime_type / description
      Previous value: -"File MIME type, for example image/jpeg or image/png."New value: +"MIME type, e.g. image/jpeg."
    • changedInput schema / properties / mediaFile5 / description
      Previous value: -"Actual attached or generated image file, up to 10 MiB: JPEG, PNG, GIF or WebP. Pass the file through the client upload mechanism; the server receives download_url and file_id. mime_type and file_name may be omitted. In the same richDocument call, use this slot name as media.src for exact placement."New value: +"Client-uploaded JPEG/PNG/GIF/WebP image, <=10 MiB; bind this slot in media.src. See get_formatting_capabilities."
    • changedInput schema / properties / mediaFile5 / properties / download_url / description
      Previous value: -"Temporary ChatGPT file download URL."New value: +"Temporary ChatGPT file URL."
    • changedInput schema / properties / mediaFile5 / properties / file_name / description
      Previous value: -"Original file name when available."New value: +"Optional original filename."
    • changedInput schema / properties / mediaFile5 / properties / mime_type / description
      Previous value: -"File MIME type, for example image/jpeg or image/png."New value: +"MIME type, e.g. image/jpeg."
    • changedInput schema / properties / mediaFile6 / description
      Previous value: -"Actual attached or generated image file, up to 10 MiB: JPEG, PNG, GIF or WebP. Pass the file through the client upload mechanism; the server receives download_url and file_id. mime_type and file_name may be omitted. In the same richDocument call, use this slot name as media.src for exact placement."New value: +"Client-uploaded JPEG/PNG/GIF/WebP image, <=10 MiB; bind this slot in media.src. See get_formatting_capabilities."
    • changedInput schema / properties / mediaFile6 / properties / download_url / description
      Previous value: -"Temporary ChatGPT file download URL."New value: +"Temporary ChatGPT file URL."
    • changedInput schema / properties / mediaFile6 / properties / file_name / description
      Previous value: -"Original file name when available."New value: +"Optional original filename."
    • changedInput schema / properties / mediaFile6 / properties / mime_type / description
      Previous value: -"File MIME type, for example image/jpeg or image/png."New value: +"MIME type, e.g. image/jpeg."
    • addedInput schema / properties / mediaFiles / description
      Added value: +"Actual client-uploaded image files; at most six total across this array and mediaFile1..6. Bind via mediaFiles[0] etc. in richDocument."
    • changedInput schema / properties / mediaFiles / items / description
      Previous value: -"Actual attached or generated image file, up to 10 MiB: JPEG, PNG, GIF or WebP. Pass the file through the client upload mechanism; the server receives download_url and file_id. mime_type and file_name may be omitted. In the same richDocument call, use this slot name as media.src for exact placement."New value: +"Client-uploaded JPEG/PNG/GIF/WebP image, <=10 MiB; bind this slot in media.src. See get_formatting_capabilities."
    • changedInput schema / properties / mediaFiles / items / properties / download_url / description
      Previous value: -"Temporary ChatGPT file download URL."New value: +"Temporary ChatGPT file URL."
    • changedInput schema / properties / mediaFiles / items / properties / file_name / description
      Previous value: -"Original file name when available."New value: +"Optional original filename."
    • changedInput schema / properties / mediaFiles / items / properties / mime_type / description
      Previous value: -"File MIME type, for example image/jpeg or image/png."New value: +"MIME type, e.g. image/jpeg."
    • addedInput schema / properties / title / description
      Added value: +"Saved-item title, e.g. Weekly recap."
    • changedOutput schema / properties / display / properties / imageContentIndex / description
      Previous value: -"Index of the native image in this response's content array; null when unavailable."New value: +"Native image index in response content; null if unavailable."
    • changedOutput schema / properties / display / properties / imageMarkdown / description
      Previous value: -"Ready-to-use inline image Markdown for the final answer where the host permits remote images. Preserve the leading !."New value: +"Final-answer image Markdown where host allows remote images; keep leading !."
    • changedOutput schema / properties / display / properties / instruction / description
      Previous value: -"How to include the screenshot in the final user-facing answer; a tool-only image or ordinary link is insufficient."New value: +"Screenshot display instructions for the final answer; tool-only images/ordinary links are insufficient."
    • changedOutput schema / properties / display / properties / suggestedFileName / description
      Previous value: -"Filename suggestion for a host-supported attachment made from the returned bytes; not an existing local path."New value: +"Suggested attachment name for returned bytes; not an existing path."
  2. Changed8 schema fields changed
    • removedOutput schema / properties / channelId
      Removed value: -{
      -  "maxLength": 128,
      -  "type": [
      -    "string",
      -    "null"
      -  ]
      -}
    • removedOutput schema / properties / deliveryDocumentJson
      Removed value: -{
      -  "description": "Composed publication including the selected auto-signature. Edit documentJson, never copy this composition into the post body.",
      -  "type": "object"
      -}
    • removedOutput schema / properties / deliveryInlineButtons
      Removed value: -{
      -  "items": {
      -    "anyOf": [
      -      {
      -        "type": "object"
      -      },
      -      {
      -        "items": {
      -          "type": "object"
      -        },
      -        "type": "array"
      -      }
      -    ]
      -  },
      -  "type": "array"
      -}
    • removedOutput schema / properties / draftId
      Removed value: -{
      -  "maxLength": 128,
      -  "minLength": 1,
      -  "type": "string"
      -}
    • removedOutput schema / properties / id
      Removed value: -{
      -  "maxLength": 128,
      -  "minLength": 1,
      -  "type": "string"
      -}
    • removedOutput schema / properties / signatureSelection
      Removed value: -{
      -  "additionalProperties": false,
      -  "properties": {
      -    "mode": {
      -      "enum": [
      -        "inherit",
      -        "none",
      -        "custom"
      -      ],
      -      "type": "string"
      -    },
      -    "signatureId": {
      -      "maxLength": 128,
      -      "type": [
      -        "string",
      -        "null"
      -      ]
      -    }
      -  },
      -  "required": [
      -    "mode"
      -  ],
      -  "type": "object"
      -}
    • removedOutput schema / properties / signatureSnapshot
      Removed value: -{
      -  "type": [
      -    "object",
      -    "null"
      -  ]
      -}
    • removedOutput schema / properties / status
      Removed value: -{
      -  "maxLength": 64,
      -  "type": "string"
      -}
  3. Added

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false, and non-idempotent behavior, so the bar is lower. The description still earns credit for "Never publishes" (a non-obvious safety claim: nothing goes live) and "reusable" (the artifact is persisted and re-usable), neither of which is derivable from the annotation block.

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?

Three short sentences with the trigger condition, the payload shape, and the follow-up tool in order. No filler and nothing redundant with the schema.

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 11 parameters, a nested RichDocument, and an output schema present, the description supplies the flow (create → assign_signature) and the key non-effect (never publishes). Minor gaps remain around the mediaFile slot duplication and language handling, but an agent can call this correctly from the description plus schema.

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 carries the parameter burden and a baseline of 3 applies. The description alludes to richDocument, buttons, and media, but adds no detail beyond the schema — notably nothing on the mediaFile1..6 vs mediaFiles array relationship or the six-file ceiling.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Names a specific verb (Create) and resource (reusable auto-signature) and scopes the payload as the post editor's full RichDocument plus optional buttons/media, which separates it from generic post creation. It does not explicitly distinguish itself from convert_draft_to_signature or update_signature, which are the closest siblings, so it stops short of a 5.

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

Usage Guidelines3/5

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

"Use this when managing post auto-signatures" is implied rather than decisive usage guidance. It does add a useful next-step pointer ("Assign it with assign_signature"), but never states when to prefer convert_draft_to_signature or update_signature instead — a real ambiguity given the sibling set.

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.