Postlint MCP Server logo

Postlint MCP Server

Checks social posts against platform-specific limits, including URL weighting, graphemes, emoji, and draft link placeholders.

Install Postlint MCP Server

Pick your client, then add it in one click or paste the config.

STDIONode.js
~/Library/Application Support/Claude/claude_desktop_config.json
claude_desktop_config.json
{
  "mcpServers": {
    "postlint-mcp-server": {
      "command": "npx",
      "args": [
        "-y",
        "@conorbronsdon/postlint-mcp"
      ]
    }
  }
}

Settings → Developer → Edit Config, merge this into mcpServers, then fully quit and reopen Claude Desktop.

Automated check passed— started and listed 3 tools correctly (3d ago).

Overview

Postlint MCP Server MCP server checks draft posts against the published counting rules for X, Bluesky, LinkedIn, Threads, Mastodon, and Discord. It runs locally as a deterministic MCP process with no API credentials, network access, or posting capability. Use it when a draft contains URLs, emoji, grapheme clusters, or other content that ordinary character counts may misjudge. Results include platform limits, counted length, remaining headroom, and the factors that affected the calculation.

Use cases

  • Check a draft before publishing it to multiple platforms
  • Audit URL-heavy posts against X and Bluesky limits
  • Measure emoji and grapheme-heavy text accurately
  • Validate placeholder links in unfinished drafts

Key features

  • Platform-specific post length checks
  • Cross-platform batch checking
  • URL weighting and grapheme-aware counting
  • Limit and counting-unit reference data
  • Explanations of factors driving over-limit results
  • Local execution without credentials or network access

Tools3

What Postlint MCP Server lets your agent do. Expand a tool for its parameters.

Verified live~544 tokens of context

Security & health

What it can reach and how reliably it runs — from our own checks, not the maintainer’s claims.

ActiveLast checked Today

Recent health check succeeded.

5/5 checks healthy over the last 40d

What it can do

From the 3 tools this server returned when we ran it.

Read-only tools · 3
Network at startup3 connections
Files written at startupNone
Install scriptsNone
npm provenanceSigned build
Package age78 days
Maintainers1

Observed 2026-10-19 in an isolated sandbox. A description of reach, not a security audit.

Supply-chain signal

No high-severity advisories surfaced by our automated scan.

Critical 0High 0Medium 0Low 0

Scanned 15d ago via OSV.dev · @conorbronsdon/postlint-mcp (npm)

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks — not a rating.

npm downloads3.3kPackage downloads in the last 30 days.
Last commit1d agoMost recent push to the default branch.
Availability100%Our rolling endpoint + install checks that succeeded.
Install checkPassedOur sandbox started it and listed its tools.
Tools exposed3Callable tools this server registers over MCP.
Directory activity1 viewsConfig copies, upvotes, and views on AllMCPs.

How Postlint MCP Server works

What Postlint MCP Server MCP server does

Postlint MCP Server MCP server evaluates whether a draft fits within a social platform's documented limit. It supports standard X, X Premium, Bluesky, LinkedIn, Threads, Mastodon, and Discord rules. The result distinguishes between a passing and failing post and reports the measured length, configured limit, counting unit, and remaining or exceeded capacity.

The calculations account for platform-specific behavior rather than treating every visible character identically. X assigns each URL a fixed cost of 23 and weights several writing systems and emoji differently. Bluesky measures grapheme clusters and can also be constrained by a UTF-8 byte cap. Mastodon uses graphemes, prices URLs at 23, and counts only the local part of a remote mention. Discord and LinkedIn use character limits, while Threads limits the body to 500 characters even though a separate attachment can be longer.

How it works

The Postlint MCP Server MCP server performs local computation through MCP tool calls. It does not call social APIs, authenticate, publish content, or inspect an instance's live configuration. Its documented limits are based on cited platform or implementation sources.

check_post evaluates one platform and returns a verdict, measured length, limit, headroom, and explanatory drivers. check_post_all evaluates the draft across all supported platforms. Passing rows stay compact; failing rows include the relevant calculation breakdown. platform_limits returns the known limit for each platform, the unit used to measure it, an explanation of why that unit differs from a simple character count, and the source.

Draft placeholders receive special handling. Tokens such as [URL], [LINK], [YOUTUBE URL], and [SUBSTACK URL] are priced as a real link rather than as their literal visible text. The response warns that this estimate is a floor because the final URL may differ.

Setup and configuration

The package is published on npm and can run through npx -y @conorbronsdon/postlint-mcp. A source checkout can instead be installed and built with npm, then launched with Node from the generated dist/index.js file. The project requires Node 20.19 or newer.

MCP configuration uses a standard command and argument list. Claude Desktop can use the Node invocation in its configuration file, while Codex can use the npm package through npx. Claude Code is also documented with the local Node command. No token or environment variable is required, and the process has no network access.

Limitations and notes

The Postlint MCP Server MCP server checks drafts but does not post them or truncate them. It also does not discover the active limit of a Mastodon instance. Its Mastodon result uses the documented 500-character default; an operator targeting a server with a different setting must check that instance's configuration.statuses.max_characters separately.

The project is in maintenance mode. It is described as stable, with security fixes planned but no new features planned. The reported limits are intentionally limited to platforms and values supported by published sources; unsupported or disputed platform limits are not included.

The server is licensed under Apache 2.0 and is designed to keep responses small, especially when checking several platforms, so passing results do not include unnecessary arithmetic details.

Reviews

No reviews yet — be the first to share how it worked for you.

Frequently Asked Questions about Postlint MCP Server

Postlint MCP Server is an MCP server that connects AI assistants to deterministic social-post length checks for X, Bluesky, LinkedIn, Threads, Mastodon, and Discord. Its main tools are check_post, check_post_all, and platform_limits. It uses published counting rules locally, without APIs, credentials, network calls, or posting actions.

Install it with `npx -y @conorbronsdon/postlint-mcp`, or clone the repository, run `npm install`, and build it with `npm run build`. The project requires Node 20.19 or newer. MCP clients can launch the resulting Node entry point or the published npm package.

Yes, Postlint MCP Server works with Claude Desktop through a standard MCP configuration using Node and the built `dist/index.js` entry point.

No, Postlint MCP Server does not query a Mastodon instance. It reports the documented 500-character default and requires you to check the target server's `configuration.statuses.max_characters` value separately when the instance may use another limit.

Related MCP servers

Add a badge to your READMEShow it’s listed — live SVG, Markdown or HTML.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewPostlint MCP Server AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/postlint-mcp-server?style=directory)](https://allmcps.com/mcp/postlint-mcp-server)
HTML Embed
<a href="https://allmcps.com/mcp/postlint-mcp-server"><img src="https://allmcps.com/api/badge/postlint-mcp-server?style=directory" alt="Postlint MCP Server on AllMCPs" /></a>