# @conorbronsdon/postlint-mcp 中文文档

规范地址：https://npmcn.com/package/%40conorbronsdon/postlint-mcp/

版本：1\.1\.0
npm 元数据更新时间：2026-08-02T21:05:27.266Z
中文译文更新时间：2026-11-10T15:51:45.542Z
软件包许可：Apache-2\.0

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40conorbronsdon/postlint-mcp
原文对照：https://npmcn.com/package/%40conorbronsdon/postlint-mcp/?lang=original
项目主页：https://github.com/conorbronsdon/postlint-mcp#readme
源码仓库：https://github.com/conorbronsdon/postlint-mcp

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：75.1 kB，18 个文件
- 模块格式：ES Module
- TypeScript 类型：未声明
- Node.js 要求：\>=20\.19\.0
- 运行依赖：2 个
- 首次发布：2026-08-02T03:34:13.891Z
- 最新版本发布：2026-08-02T21:05:26.964Z
- 近 30 天下载量：4264（2026-10-11 至 2026-11-09，npm 官方下载统计）
- 已发布版本数：3（近 12 个月 3 个）

## 中文简介

对照一个平台的真实字符限制检查一个社交帖子的MCP服务器——X t.co URL加权, Bluesky phramemes, LinkedIn, Threads, Mastodon. 纯粹计算,没有网络.

## 安装

```sh
npm install @conorbronsdon/postlint-mcp
```

也可以使用：`pnpm add @conorbronsdon/postlint-mcp`、`yarn add @conorbronsdon/postlint-mcp`、`bun add @conorbronsdon/postlint-mcp`

## README

# 邮递

请检查access-date=中的日期值 (帮助) 上船前对照平台的真实性能限制检查社会帖. X, Bluesky, LinkedIn, Threads, Mastodon, Discord. (原始内容存档于2018-09-21). 纯计算——没有API,没有认证,没有网络.

[![npm version](https://img.shields.io/npm/v/@conorbronsdon/postlint-mcp?style=flat-square)](https://www.npmjs.com/package/@conorbronsdon/postlint-mcp) [![License: Apache 2.0](https://img.shields.io/badge/License-Apache_2.0-blue.svg?style=flat-square)](https://npmcn.com/package/%40conorbronsdon/postlint-mcp/LICENSE) [![Node](https://img.shields.io/badge/Node-20.19+-339933?style=flat-square&logo=node.js&logoColor=white)](https://nodejs.org/) [![Glama score](https://glama.ai/mcp/servers/conorbronsdon/postlint-mcp/badges/score.svg)](https://glama.ai/mcp/servers/conorbronsdon/postlint-mcp) [![Podcast](https://img.shields.io/badge/Podcast-Chain_of_Thought-purple?style=flat-square)](https://chainofthought.show/?utm_source=github&utm_medium=referral&utm_campaign=repo-readme&utm_content=postlint-mcp) [![X](https://img.shields.io/badge/X-@ConorBronsdon-black?style=flat-square&logo=x)](https://x.com/ConorBronsdon)

![Three drafts checked in a terminal: an X post at 308 of 280 with three URLs billed at 23 each, a Bluesky post at 302 of 300, and that same draft with its link still a \[URL\] placeholder, which a length check reads as 277 but the server prices at exactly 300 of 300](https://npmcn.com/package/%40conorbronsdon/postlint-mcp/docs/demo.gif)

录音自 [文献/数据](https://npmcn.com/package/%40conorbronsdon/postlint-mcp/docs/demo.tape) 与 [数字](https://github.com/charmbracelet/vhs)。这些职位和数目来自 [脚本/修饰](https://npmcn.com/package/%40conorbronsdon/postlint-mcp/scripts/fixtures.mjs),回归测试也导入.

* * *

一个MCP服务器回答了一个问题:这个帖子适合吗?

一个语言模型不能通过检查来计算人物,在这些平台上你也不能. 所限非相相. X通过t.co对23个字符的每个URL进行账单,无论链接是12个字符还是200个. Bluesky计算了扩展的石墨集群,所以一个四人家族的emoji是1而不是11. 马斯多登对这个域名不收费 在远程提及。 任何错误的出现 是一个被拒绝的帖子, 或一个短句的帖子, 在出版时间.

计数是工具召唤的目的 模型不能通过检查来完成,一个决定性的功能可以完全做到.

**为什么会这样.** 两个帖子从播客促销工作流程中突破极限. 一个Bluesky邮站以302对300的价位发货,有"不到300个石墨"一行. 审计干净"就坐在下面 一个X帖子是在308对280时起草的,本来会在发射早上被否决. 两者都看不见眼球,因为在这两种情况下,都是索赔,而不是衡量。 两者都是这种回放中的回归测试.

## 工具

| 工具 | 它的回报 |
| --- | --- |
| `check_post` | 一个平台的判断:计算长度、极限、头室以及驱动计数的因素 |
| `check_post_all` | 每个站台一行,只将分解附在失败的行上 |
| `platform_limits` | 每个平台的极限,它的计数单位, 为什么该单位不是字符计数,和源 |

答复是故意的. `check_post_all` 省略过行上的算术,因为代理每次回复都会支付符号.

## 每个平台如何计算

| 平台 | 限制 | 单位 | 让人惊讶的部分 | 来源 |
| --- | --- | --- | --- | --- |
| `x` | 280号 | 加权字符 | 每个URL都花费了23美元 CJK,汉口,和emoji各花费2个;拉丁语,希腊语,西里尔语,希伯来语,和阿拉伯语花费1个. emoji序列为单位2,而不是每个代码点2. | [推特文本 v3 配置](https://github.com/twitter/twitter-text/blob/master/config/v3.json) |
| `x_premium` | 25 000人 | 加权字符 | 同样的重量,更高的天花板. | [X 帮助中心](https://help.x.com/en/using-x/types-of-posts) |
| `bluesky` | 三百块 | 图表 | 花旗,ZWJ emoji,相克通调剂,并结合口音每分计为一. URL数满. 第二个3000个UTF-8字节的封顶可以先被绑在ZWJ重文上. | [词典](https://github.com/bluesky-social/atproto/blob/main/lexicons/app/bsky/feed/post.json) |
| `linkedin` | 3 000个 | 字符 | 三千大千大千大千大千大千大千大千大千大千大千大千大千大千大千大千大千大千大千大千大千大千大千大千大千大千大千大千大千大千大千大千大千大千大千大千大千大千大千大千大千大千大千大千大千大千大千大千大千大千大千大千大千大千大千大千大千大千大千大千大千大千大千大千大千大千大千大千大千大千大千大千大千大千大千大千大千大千大千大千大千大千大千大千大千大千大千大千大千大千大千大千大千大千大千大千大千大千大千大千大千大千大千大千大千大千大千大千大千大千大千大千大千大千大千大千大千大千大千大千大千大千大千大千大千大千大千大千 feed倒闭了几行后"见多"后面的帖子. | [链接到帮助](https://www.linkedin.com/help/linkedin/answer/a528176) |
| `threads` | 500个 | 字符 | 2025年9月的改变增加了一万个字符 _附录_邮箱还是500个. | [元新闻室](https://about.fb.com/news/2025/09/attach-text-threads-posts-share-longer-perspectives/) |
| `mastodon` | 500个 | 图表 | URL花费了23美元,就像在X。 打开 `@user@example.social` 仅限 `@user` 计数。 限制是单向的,大量的服务器运行得更高. | [马斯托登 API 文件](https://docs.joinmastodon.org/methods/instance/) |
| `discord` | 2 000个 | 字符 | 四千与涅盘. 嵌入体共有另外6000个. | [解析支持](https://support.discord.com/hc/en-us/articles/360034632292-Sending-Messages) |

上面的每一个数字都追踪到一个公布的来源. 大量反复出现没有主要来源说明的数字——Facebook的帖子限制,YouTube的社区帖子限制,Reddit的标题封盖,Instagram的有机标题封盖——被故意忽略. 无法辩护的限度使得通过支票毫无价值.

## 设置

发表于npm. 使用下面的配置块 `npx`,在第一次运行时获取;不需要克隆.

```bash
git clone https://github.com/conorbronsdon/postlint-mcp.git
cd postlint-mcp
npm install
npm run build
```

### 克劳德代码

添加到您的 `.mcp.json`数字 :

```json
{
  "mcpServers": {
    "postlint": {
      "command": "node",
      "args": ["/absolute/path/to/postlint-mcp/dist/index.js"]
    }
  }
}
```

### 克劳德桌面

同一块,在 `claude_desktop_config.json`。 。 。 .

### 代码

添加为 `~/.codex/config.toml`数字 :

```toml
[mcp_servers.postlint]
command = "npx"
args = ["-y", "@conorbronsdon/postlint-mcp"]
```

没有符号,没有环境变量,没有网络访问. 一旦软件包发布, `npx -y @conorbronsdon/postlint-mcp` 替换 `node` 到处都引用.

### 校验

问你的助手:"检查这个帖子的X和Bluesky",并粘上一些有几个链接的东西.

## 实例

开始的 X 帖子,通过 `check_post` 与 `platform: "x"`数字 :

```json
{
  "platform": "x",
  "limit": 280,
  "unit": "weighted characters",
  "length": 308,
  "over": true,
  "remaining": -28,
  "drivers": [
    "3 URLs counted as 23 each = 69",
    "239 other characters counted as 1 each"
  ],
  "warnings": []
}
```

这个 `drivers` 线条是有用的部分。 69个预算在写出一个字之前就转到了链接,它告诉你要把其中两个转到一个答复中,而不是修饰道词.

同一员额通过 `check_post_all`数字 :

```json
{
  "fits": ["x_premium", "linkedin", "threads", "mastodon", "discord"],
  "over": ["x", "bluesky"],
  "rows": [
    { "platform": "x", "length": 308, "limit": 280, "over": true, "drivers": ["3 URLs counted as 23 each = 69", "239 other characters counted as 1 each"] },
    { "platform": "bluesky", "length": 330, "limit": 300, "over": true, "drivers": ["3 URLs counted in full = 91 (Bluesky does not shorten links)", "239 other graphemes"] },
    { "platform": "mastodon", "length": 308, "limit": 500, "over": false, "remaining": 192 }
  ]
}
```

1个帖子,有3个不同的长度——308个,330个,和308个,来自同330个字符的文本. 这种差距是存在的原因.

## 占位符草稿

草案载有链接占位符,以及 `[URL]` 是五个字符,而真正的链接不是。 贴有占位符并贴有已填入的链接的帖子是一个被测出错误的帖子;一张草稿以264分的方式送来,贴出282分.

这么说吧 `[URL]`, (中文(简体) ), `[LINK]`, (中文(简体) ), `[YOUTUBE URL]`, (中文(简体) ), `[SUBSTACK URL]`,而类似的价格是作为真实的链接(一个28个特征的YouTube短链接,是通常张贴的最短的东西),回应中带有警告,说计数是一楼.

## 它不会做的

-   **它不张贴任何东西.** 没有写道,没有证书,也没有任何网络呼叫。 最后一个是强制执行的,而不是断言:测试取代了 `fetch`, (中文(简体) ), `XMLHttpRequest`,以及 `WebSocket` 与抛出和驱动每个工具, 所以一个添加的呼叫 后面失败CI 而不是悄悄地使这个句子虚假.
-   **它不检查实例的实际限度.** Mastodon 服务器配置自己的服务器; 此报告 500 默认值并告诉你读取 `configuration.statuses.max_characters` 从目标服务器本身.
-   **它不会截断.** A 类 `truncate_to` 帮助者被考虑并排除在外。 在字符中剪切一个帖子会抵消分割的URL,断开石墨集群,并降落中场,将它剪接在一个"安全"的边界上,默默地掉入哪个条款是最后一个条款. 无论是哪种方式,工具都会决定文章的内容. 它汇报数字,然后由你来编辑.
-   **它不会检测到每个平台的URL.** 与一项计划和 `www.`\- 前置主机总是匹配。 空域仅在普通 TLD 上匹配(`src/count.ts` 真实的推特文字执行包含IANA的完整登记册。 写入 `https://` 在一个链接前 和计数是准确的.
-   **它不计算媒体、民意调查、引用文章或链接卡.** 它们有自己的规则和这项措施案文.
-   **它不知道内容警告.** 在马斯多登,一个CW 数到同样的500。 这只检查尸体.
-   **它没有限制 它无法源.** 见站台表.

## 发展

```bash
npm install
npm run build
npm test
```

测试不进行网络呼叫, 因为服务器没有进行。 两个历史超限位置是: `src/__tests__/lint.test.ts`,与ZWJ家族emoji的石墨病例,区域指标旗,皮肤通体修饰剂,结合口音,和CJK.

## 捐款

欢迎提出问题和拉动请求。 新平台需要三样东西:极限,被测量的单位,以及被公布的来源. 新的计数规则需要测试 没有它失败。 第三方重复的数字不是来源.

## 关于

建造和维护 [Conor 布朗斯顿](https://github.com/conorbronsdon)我主办 [思想链](https://chainofthought.show/?utm_source=github&utm_medium=referral&utm_campaign=repo-readme&utm_content=postlint-mcp) 播客,它涵盖AI的基础设施,开发者工具,以及从业人员如何实际使用这些东西. 我在运出两个超限职位后 建造了这个工作流程 应该能抓住他们.

辅助工具 :

-   [页:1](https://github.com/conorbronsdon/op3-mcp):播客分析 通过OP3——下载,地理,应用,每集分解.
-   [播客索引-mcp](https://github.com/conorbronsdon/podcastindex-mcp): Podcast Index MCP服务器,按个人或主题搜索,趋势显示,feed健康.
-   [子存储 mcp](https://github.com/conorbronsdon/substack-mcp):在Substack上阅读帖子并管理草稿,为代理工作流程安全.
-   [晶体管- MCP](https://github.com/conorbronsdon/Transistor-MCP): transistor.fm MCP服务器. 相传,抄本,下载计数.
-   [用于创造者的ai-工具](https://github.com/conorbronsdon/ai-tools-for-creators): 专为运送思想为生的人编写的AI技能和MCP服务器目录.

更多时间 [思考链.show](https://chainofthought.show/?utm_source=github&utm_medium=referral&utm_campaign=repo-readme&utm_content=postlint-mcp) 继续 [页:1](https://x.com/ConorBronsdon)。 。 。 .

* * *

## 免责声明

_这是一个独立的个人项目,不隶属于任何公司,也不由任何公司赞助或认可。 所有表达的观点都是我个人的._

## 许可证

阿帕奇 - 2.0

## 常见问题

### @conorbronsdon/postlint-mcp 是什么？

对照一个平台的真实字符限制检查一个社交帖子的MCP服务器——X t\.co URL加权, Bluesky phramemes, LinkedIn, Threads, Mastodon\. 纯粹计算,没有网络\.

### 如何安装 @conorbronsdon/postlint-mcp？

在项目目录运行 npm install @conorbronsdon/postlint-mcp，或使用 pnpm add / yarn add / bun add。它还提供命令行工具 postlint-mcp，可以用 npx postlint-mcp 直接运行。

### @conorbronsdon/postlint-mcp 支持 TypeScript 吗？

该包的 package\.json 没有声明类型入口。需要类型提示时，可以在 npm 上查找社区维护的 @types/conorbronsdon\_\_postlint-mcp 是否存在。

### @conorbronsdon/postlint-mcp 支持 ESM 还是 CommonJS？

以 ES Module 形式发布，推荐使用 import 引入。在 CommonJS 项目中，Node\.js 20\.19\+ / 22\.12\+ 可以直接 require\(\) 不含顶层 await 的 ES Module，更早的版本需要改用动态 import\(\)。

### @conorbronsdon/postlint-mcp 需要什么版本的 Node\.js？

package\.json 的 engines 字段要求 Node\.js \>=20\.19\.0。版本不符时 npm 默认只给出警告，开启 engine-strict 后会拒绝安装。

### @conorbronsdon/postlint-mcp 可以商用吗？

@conorbronsdon/postlint-mcp 使用 Apache-2\.0 许可。宽松许可：允许商业使用、修改和再分发，并附带明确的专利授权；分发时需保留许可与 NOTICE 文件，修改过的文件要注明改动。以上为概括，不构成法律意见，请以许可原文为准。

### @conorbronsdon/postlint-mcp 的下载量有多少？

根据 npm 官方下载统计，@conorbronsdon/postlint-mcp 在 2026/10/11 – 2026/11/09 这 30 天内被下载 4,264 次，日均约 142 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @conorbronsdon/postlint-mcp 还在维护吗？

最新版本 1\.1\.0 发布于 2026/08/03（3 个月前）；至今共发布 3 个版本，其中过去 12 个月发布了 3 个；首次发布于 2026/08/02。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

