关于 Numerador de facturas
Numerador de facturas 是用于批量编号 PDF 发票的本地 MCP 服务。它在每页盖上编号并生成副本,不修改原件;PDF 内容不会发送给服务。
主要功能
- 01批量为 PDF 发票编号
- 02在每页盖上连续编号
- 03选择编号与版式选项
- 04用 `dry_run` 预览编号
- 05避免覆盖已有文件
适用场景
- 01为本地文件夹中的发票编号
- 02写入文件前预览编号序列
- 03保留原件并生成编号副本
MCP 相关
向 MCP 客户端提供 `number_invoices` 工具。本地服务接收文件路径并返回生成的文件名,不会通过网络发送 PDF 内容。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
1收录的工具列表 · 更新于 1 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| end | integer | 否 | 最后一个编号。单独提供时,会根据文件数量计算第一个编号 |
| zip | boolean | 否 | 同时写入包含编号 PDF 的 ZIP 文件 |
| font | enum | 否 | Courier | Courier-Bold | Courier-Oblique | Courier-BoldOblique | Helvetica | Helvetica-Bold | Helvetica-Oblique | Helvetica-BoldOblique | Times-Roman | Times-Bold | Times-Italic | Times-BoldItalic |
| x_mm | number | 否 | 距该边缘的距离,单位为 mm |
| y_mm | number | 否 | 距该边缘的距离,单位为 mm |
| color | string | 否 | 编号颜色,#rrggbb |
| merge | boolean | 否 | 同时写入一个合并所有发票的 PDF |
| paths | array | 是 | PDF 文件的绝对路径,或包含所有要处理 PDF 的文件夹(不递归) |
| start | integer | 否 | 起始编号。默认为 1 |
| from_x | enum | 否 | 水平参考边left | right |
| from_y | enum | 否 | 垂直参考边top | bottom |
| dry_run | boolean | 否 | 报告每个文件将获得的编号,不写入任何内容 |
| size_pt | number | 否 | 字体大小,单位为点 |
| sort_by | enum | 否 | name:自然顺序(2 排在 10 前)。date:优先显示修改时间最早的。given:按列出顺序name | date | given |
| password | string | 否 | 受保护 PDF 的密码。密码会经过聊天传递:工具报告文件已锁定时才询问。编号副本将不受保护。 |
| template | string | 否 | 包含一个标记的编号格式:{n:4} 补足至 4 位(0007),{n} 不补零 |
| box_color | string | 否 | 方框颜色,#rrggbb |
| background | boolean | 否 | 在数字后方绘制一个方框 |
| box_pad_mm | number | 否 | 数字与方框边缘之间的边距 |
| output_dir | string | 否 | 结果的绝对路径。默认值为第一个文件旁的 'numeradas' |
详细介绍
numerador-facturas-mcp
用于让大模型批量为 PDF 发票编号的 MCP 服务:
在每张发票的所有页面上盖上 F-0001、F-0002……,并写入编号后的副本。
与网页使用相同的代码,不含界面。
私密且无需联网。 它会作为本地进程在你的设备上运行。大模型传入的是路径,而非 PDF 内容,并且只会收到生成的文件列表。无需账号或网络连接,原件也不会被修改。如果你要求大模型读取发票,其内容仍会传给你的大模型服务提供商。
安装
Claude Desktop: 下载
numerador-facturas.mcpb
并打开。
Claude Code:
claude mcp add --scope user numerador-facturas -- npx -y numerador-facturas-mcp
其他 MCP 客户端:
{
"mcpServers": {
"numerador-facturas": { "command": "npx", "args": ["-y", "numerador-facturas-mcp"] }
}
}
需要 Node 20 或更高版本。服务没有运行时依赖,也不会发起网络请求。启动时,npx 会查询 npm 以检查新版本,不会发送你的任何发票内容;如果连这一步也不想进行,请使用 .mcpb。
使用
像平常一样提出请求:「从 F-0500 开始为这个文件夹中的发票编号。」
工具 number_invoices 接受与网页相同的选项(模板、起始或结束编号、顺序、位置、字体、方框、合并 PDF、ZIP),还支持 dry_run,可在不写入任何内容的情况下查看编号结果。
与网页不同,如果文件受保护,或检测到文件损坏或不完整,就不会为任何文件编号,以免系列中出现空号。检查依据是 PDF 的结构:页面内容内部的损坏可能无法检测到。也不会覆盖现有文件;如果写入失败,会删除已写入的内容。如果指定位置超出任一页面的范围,则会拒绝操作,但不会检查编号是否能完整容纳。受保护 PDF 的副本不会设置密码。
发布
版本号位于 package.json、manifest.json 和 server.json 中,并且有测试要求它们保持一致。首次发布时,在 mcp/ 目录下登录 npm 后执行:
npm publish --access public
然后在 npm 中配置可信发布者(仓库 nuncaeslupus/numerador-facturas,工作流 release-mcp.yml)。后续版本通过推送 mcp-vX.Y.Z 标签发布到 npm 和 MCP 注册表。首次发布不会自动进入注册表:推送该版本的标签,并确保已完成 npm 发布。请在合并到 main 之前先发布到 npm:网页会公布这个包名,在此之前,任何人都可以注册它。
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。