Manage Telegram drafts, media, schedules and publications from AI clients.
Postlyra is a remote MCP server published at postlyra.app. It has been probed 6 times since 9/12/2026. It answered in 6 of them (100.0%), a near-uninterrupted record. Median response time is 453 ms, placing it among the faster endpoints. It exposes a broad tool surface of 32 tools. On the protocol side it still runs 2025-11-25 and has not moved to the newer spec.
Can an LLM agent pick the right tool here — names, descriptions and parameter clarity are assessed.
get_formatting_capabilities — Description cut off mid-sentence with trailing 'n'create_post_draft — Confusing media parameter options (mediaFile1-6 vs mediaFiles array)update_post_draft — Incomplete description about media handlingtools/list structure, inputSchema validity, and a functional smoke test — the components of the 0-100 score.
Tools the server advertised in the latest measurement — measured, not catalog-claimed.
get_auth_statusUse this when you need to check whether the current MCP caller is authorized through Telegram and linked to a Postlyra account.
get_formatting_capabilitiesUse this when composing or formatting any Postlyra post: call it FIRST, once per task. Postlyra creates beautifully structured rich Telegram posts, illustrated instructions, articles and presentations. Returns the complete RichDocument contract: exact JSON examples for every block and inline mark, nesting, limits, file uploads, error recovery, presets and which tool to use next. Use this contract for formatting; Telegram MarkdownV2/parse_mode documentation is not needed.
list_channelsUse this when you need to list Telegram channels, groups, and chats the authorized user can manage through Postlyra.
list_templatesUse this when the user wants an existing reusable Postlyra layout template. Optional for custom composition. For supported blocks, JSON syntax or formatting choices call get_formatting_capabilities; this tool lists saved templates and their ids.
channelIdstringcategorystringsearch_post_draftsUse this when finding an existing draft by topic, title or content. Search first when draftId is unknown; do not ask for a link. Matches all keywords/fragments in title and rich text, ignoring case. Empty query lists recent drafts. Follow nextCursor while hasMore. For an in-chat card, pass the returned draftId as postId to show_post_card; use preview_post for a screenshot/browser preview. Returns owner-only IDs and snippets. Never edits, enables sharing or publishes.
querystringlimitintegercursorstringcreate_post_draftUse this when creating a Telegram draft. Read get_formatting_capabilities; prefer finished richDocument, which overrides text/preset/template. Bind mediaFile1..mediaFile6 or mediaFiles slots as media.src. Returns draftId, JPEG and public preview link. Display the image in the FINAL answer via native attachment or display.imageMarkdown. Inspect preview_post. May fetch external image URLs during import or screenshot rendering. Never publishes.
topicstringrequiredstylestringformatPresetstringlanguagestringchannelIdstringtemplateIdstringreferencesarraymediaFile1objectmediaFile2objectmediaFile3objectmediaFile4objectmediaFile5objectmediaFile6objectmediaFilesarraystructurestringtextstringrichDocumentobjectpreview_postUse this when requesting a saved draft screenshot, public browser preview or validation warnings. Find draftId with search_post_drafts. Returns documentJson/richHtml, JPEG and enables a public preview link. Use show_post_card for an in-chat card. Follow display.instruction; check screenshot.truncated and retry unavailable screenshots without recreating the draft. May fetch external image URLs for screenshot rendering. Never publishes.
draftIdstringrequiredupdate_post_draftUse this when editing a draft. Read preview_post and get_formatting_capabilities. Send the complete edited richDocument, preserving untouched content and media; text replaces layout. Bind imported file slots as media.src. Returns JPEG and enables a public preview link. Display the image in the FINAL answer via native attachment or display.imageMarkdown. Inspect preview_post. May fetch external image URLs during import or screenshot rendering. Never publishes.
draftIdstringrequiredinstructionsstringtextstringrichDocumentobjectreferencesarraymediaFile1objectmediaFile2objectmediaFile3objectmediaFile4objectmediaFile5objectmediaFile6objectmediaFilesarrayappendCallToActionstringtemplateIdstringchannelIdstringattach_media_to_draftUse this when adding images without changing draft text. Pass mediaFile1..mediaFile6 or mediaFiles: six total, JPEG/PNG/GIF/WebP, 10 MiB each. Exact placement uses update_post_draft with richDocument slot bindings. Returns JPEG and enables a public preview link. Display the image in the FINAL answer via native attachment or display.imageMarkdown. On error follow nextAction. May fetch external image URLs during import or screenshot rendering. Never publishes.
draftIdstringrequiredplacementHintstringreferencesarraymediaFile1objectmediaFile2objectmediaFile3objectmediaFile4objectmediaFile5objectmediaFile6objectmediaFilesarraypublish_postUse this when the user explicitly authorizes publishing a reviewed existing Postlyra rich draft to a connected Telegram channel. Resolve channelId using list_channels, inspect preview_post, and supply confirmed=true plus confirmationText containing the user's authorization. Reuse idempotencyKey on retry. Queued/retrying means pending, not delivered. This is the external publication action; draft tools never send.
draftIdstringrequiredchannelIdstringrequiredconfirmedbooleanconfirmationTextstringidempotencyKeystringget_workspaceUse when checking publication quotas, storage, connected chat count or the account time zone before planning content.
update_workspaceUse when the author asks to change the account time zone, weekly publication target or content reminder preference. Does not change existing publication times.
timezonestringcadencePerWeekintegerremindersEnabledbooleanDerived by comparing consecutive probes — changes in era, protocol version, build and reachability.
Add this badge to your README — it updates automatically as measurements change.
[](https://mcpmetrics.io/servers/io-github-prof-1t-postlyra-mcp)<a href="https://mcpmetrics.io/servers/io-github-prof-1t-postlyra-mcp"><img src="https://mcpmetrics.io/badge/io.github.prof-1t/postlyra-mcp/era.svg" alt="mcpmetrics"></a>You are seeing the last 7 days. Sign up for the full history. Which check failed and why is in the dashboard.
Sign up free to seeThe catalog entries whose name and description are closest to this one, found with the same index the search box uses.
SocializioZ is an AI-powered social media management platform — it connects your social accounts (Instagram, Facebook, TikTok, X, LinkedIn, Telegram) and lets you create content, generate images/videos, schedule and publish posts, run campaigns, and track performance, all from one place with an AI agent handling the execution.
Run a Telegram channel from your AI agent. Posts go out through your own bot, not your account.
Yapp turns "build me a page and publish it" into a live URL. Connect once (browser OAuth, or a token for terminal clients) and your AI can publish a webpage from HTML, or host a PDF, image, or ZIP exactly as-is to a public `<slug>.yapp.page` URL in seconds, then update, password-protect, set expiry, attach a custom domain, or read form submissions, all by asking. Free to start; no local install. **Tools (15):** `publish_page`, `publish_file`, `update_page`, `delete_page`, `get_page_stats`, `list_my_pages`, `rename_page`, `change_page_slug`, `set_page_expiry`, `set_page_password`, `list_submissions`, `add_custom_domain`, `list_custom_domains`, `check_custom_domain`, `remove_custom_domain`.
Publish to Bluesky, Threads, LinkedIn, Facebook Pages, and Instagram from ChatGPT or Claude.
Generate images, videos, voiceovers, and captions from a chat prompt.
nalyze public Instagram, TikTok, and Facebook profiles from any AI assistant. Get follower counts, post timelines, engagement metrics, posting calendars, and side-by-side competitor comparisons.
| Run | Era | Modern | ms | Legacy | ms | Versions |
|---|---|---|---|---|---|---|
| 2026-09-13 01:33:33 | Legacy | 400 | 494 | 200 | 493 | 2025-11-25 |
| 2026-09-12 23:31:36 | Legacy | 400 | 161 | 200 | 177 | 2025-11-25 |
| 2026-09-12 21:29:15 | Legacy | 400 | 634 | 200 | 650 | 2025-11-25 |
| 2026-09-12 19:27:29 | Legacy | 400 | 387 | 200 | 386 | 2025-11-25 |
| 2026-09-12 17:24:09 | Legacy | 400 | 453 | 200 | 468 | 2025-11-25 |
| 2026-09-12 15:21:42 | Legacy | 400 | 233 | 200 | 246 | 2025-11-25 |
Each block is one measurement round. Green: working response. Amber: responded but the server was returning errors (5xx). Red: no response at all.
Each cell is one probe run. Faded cells are incomplete probes — one leg did not answer, so the era is inconclusive.
The two probe legs separately: modern server/discover and legacy initialize.
Comments
Sign in to write a comment
No comments yet. Be the first.