claude mcp add postlint-mcp -- npx -y postlint-mcp
A pasteable skeleton generated from the repository name. Check the project README for the exact package and arguments.
Star count
0 ★ · conorbronsdon/postlint-mcp · read from the GitHub search API · (checked 2026-10-16 20:00:20)
Source
collected from the punkpeye/awesome-mcp-servers list · type: MCP server
Harvest history
first seen 2026-10-09 · last seen 2026-10-16 · seen 32× · listed by 7 sources
Score
score 703 · 7 sources · mcp
FAQ (answers come from our records)
How do I install it?
We did not find an install command for this repository (our install coverage is only about 4%). Check its README or releases page.
Who is it for?
We filed it under these tags: MCP 服务. The tags come from the entry itself, not a taxonomy we imposed.
Who maintains it?
repository conorbronsdon/postlint-mcp;first catalogued 2026-10-09;last seen 2026-10-16。There is no official certification or quality rating here — we record sources and dates only.
> **Maintenance mode.** This project is stable and receives security fixes. New features aren't planned, but issues and pull requests are still welcome. Check a social post against a platform's real character limit before it ships. X, Bluesky, LinkedIn, Threads, Mastodon, Discord. Pure compute — no API, no auth, no network. Recorded from docs/demo.tape with vhs . The posts and counts come from scripts/fixtures.mjs , which the regression tests import too. --- An MCP server that answers one question: does this post fit? A language model cannot count characters by inspection, and on these platforms neither can you. The limits are not what they look like. X bills every URL at 23 characters through t.co whether the link is 12 characters or 200. Bluesky counts extended grapheme clusters, so a four-person family emoji is 1 and not 11. Mastodon charges nothing for the domain on a remote mention. Getting any of that wrong shows up as a rejected post, or a truncated one, at publish time. Counting is what a tool call is for. The model cannot do it by inspection, and a deterministic function can do it exactly. **Why this exists.** Two posts went out of a podcast promo workflow over the limit. A Bluesky post shipped at 302 against 300, with the line "Under 300 graphemes. Audit clean." sitting directly beneath it. An X post was drafted at 308 against 280 and would have been rejected on launch morning. Both were invisible to eyeballing, because in both cases the count was a claim and not a measurement. Both are regression tests in this repo. Tools | Tool | What it returns | |------|-----------------| | check_post | Verdict for one platform: counted length, the limit, headroom, and what drove the count | | check_post_all | One row per platform, with the breakdown attached only to the rows that fail | | platform_limits | Each platform's limit, its counting unit, why that unit is not a character count, and the source | Responses are small on purpose. check_post_all omits the arithmetic on passing rows because agents pay tokens per response. How each platform counts | Platform | Limit | Unit | The part that surprises people | Source | |----------|-------|------|-------------------------------|--------| | x | 280 | weighted characters | Every URL costs exactly 23. CJK, Hangul, and emoji cost 2 each; Latin, Greek, Cyrillic, Hebrew, and Arabic cost 1. An emoji sequence is one unit of 2, not 2 per code point. | twitter-text v3 config | | x_premium | 25,000 | weighted characters | Same weighting, higher ceiling. | X help center | | bluesky | 300 | graphemes | Flags, ZWJ emoji, skin-tone modifiers, and combining accents each count as 1. URLs count in full. A second cap of 3,000 UTF-8 bytes can bind first on ZWJ-heavy text. | atproto lexicon | | linkedin | 3,000 | characters | The 3,000 is generous; the fold is the real constraint. The feed collapses the post behind "see more" after a few lines. | LinkedIn help | | threads | 500 | characters | The September 2025 change added a 10,000-character *attachment*. The post body is still 500. | Meta newsroom | | mastodon | 500 | graphemes | URLs cost 23, as on X. On @user@example.social only @user counts. The limit is per-instance and plenty of servers run higher. | Mastodon API docs | | discord | 2,000 | characters | 4,000 with Nitro. Embeds have a separate 6,000 total. | Discord support | Every number above traces to a published source. Widely repeated figures that no primary source states — the Facebook post limit, the YouTube community post limit, Reddit's title cap, Instagram's organic caption cap — are deliberately absent. A limit that cannot be defended makes a passing check worth nothing.