关于 FitFileSize
FitFileSize 是一款 MCP 服务,可将 PDF 和图片调整至上传大小限制或表单要求,适合准备申请材料,并支持批量处理、表单预设及尽量保留格式。
主要功能
- 01压缩 PDF 和图片以满足大小限制
- 02应用表单指定的尺寸与像素规则
- 03一次处理最多 10 个文件
- 04尽可能保留原文件格式
- 05列出可用表单预设
适用场景
- 01准备在线表单所需文件
- 02将签名图片调整为指定尺寸
- 03批量压缩扫描件以满足上传限制
- 04按图片要求处理 iPhone HEIC 照片
MCP 相关
该 MCP 服务向兼容客户端提供文件调整和表单列表工具。文件通过 HTTPS 发送至 FitFileSize 服务器压缩,并在结果保存后删除。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
2收录的工具列表 · 更新于 1 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| fit | enum | 否 | 宽高改变形状时:使用 "crop" 填满(默认),或使用 "pad" 填充白色。crop | pad |
| form | string | 否 | 来自 list_forms 的表单预设 ID 或名称,例如 "ibps-photo"。使用此参数或 `limit`。 |
| path | string | 否 | 此计算机上文件的完整路径(允许使用 "~/")。使用此参数或 `paths`。 |
| limit | string | 否 | 上传限制,例如 "200KB"、"50 KB" 或 "1.5MB"。使用此参数或 `form`。 |
| paths | array | 否 | 共用相同限制的多个文件的完整路径,最多 10 个。使用此参数或 `path`。 |
| width | integer | 否 | 精确宽度(像素,仅限图像)。 |
| height | integer | 否 | 精确高度(像素,仅限图像)。 |
| output | string | 否 | 结果的保存位置,仅与 `path` 一起使用。默认为原文件旁的 "<name>.fit.<ext>"。 |
| jpeg_ok | boolean | 否 | 允许 PNG、WebP、TIFF 或 BMP 在 JPEG 更适合时输出为 JPEG。仅当上传方接受 JPEG 时使用;默认情况下,每个文件都会保留原格式。 |
| minimum | string | 否 | 对于设有最小尺寸的表单,允许的最小大小,例如 "10KB"。较小的 JPEG 会填充至此大小。 |
详细介绍
FitFileSize MCP 服务
借助 FitFileSize,让你的 AI 助手调整 PDF 或图像,使其符合上传大小限制或表单的精确要求。
“让 ~/Downloads/signature.jpg 符合 IBPS 签名要求”
已为 IBPS 签名保存 ~/Downloads/signature.fit.jpg(JPEG,140 × 60 像素,10 KB 至 20 KB):10,240 字节(10.0 KB),低于 20,000 字节的限制。
- 任意限制:“让这份扫描件小于 300 KB”“让这张照片小于 50 KB”。
- **表单预设:**美国签证照片(DS-160)、印度电子签证护照页和照片、IBPS、SBI、RRB、SSC、NEET、JEE Main、CUET 和 GATE 上传文件、IRCC 文件,以及 Discord 表情、个人资料横幅和消息上传文件。预设会设置大小限制、最小尺寸和精确像素。使用
list_forms查看所有预设。 - 一次处理多个文件:“让这五份文件都小于 2 MB”。
- 在限制允许的范围内尽可能保留画质,并将结果与原文件保存在同一目录,命名为
<name>.fit.<ext>。除非你表示 JPEG 也可以,否则每个文件都会保留原格式(PNG 仍为 PNG);iPhone 的 HEIC 照片会以 JPEG 格式返回。 - 免费使用,无需账号或 API 密钥。文件大小最多为 50 MB。
设置
需要 Node.js 20.10 或更高版本。分步设置指南带有复制按钮:fitfilesize.com/claude.html。
Claude Code
claude mcp add fitfilesize -- npx -y fitfilesize-mcp
Claude Desktop、Cursor、Windsurf 和其他使用 mcpServers 配置文件的客户端:
{
"mcpServers": {
"fitfilesize": {
"command": "npx",
"args": ["-y", "fitfilesize-mcp"]
}
}
}
(Claude Desktop:Settings → Developer → Edit Config。Cursor:~/.cursor/mcp.json。)
VS Code(.vscode/mcp.json):
{
"servers": {
"fitfilesize": { "command": "npx", "args": ["-y", "fitfilesize-mcp"] }
}
}
工具
fit_file
| 参数 | |
|---|---|
path | 文件的完整路径(支持 ~/)。支持 PDF、JPEG、PNG、WebP、TIFF、BMP 或 HEIC(返回为 JPEG),文件大小最多为 50 MB。 |
paths | 替代 path 使用:最多 10 个共用相同限制的文件。每个文件都会保存在原文件所在目录;某个文件处理失败时会报告错误,但不会停止处理其余文件。 |
limit | 上传限制,例如 "200KB" 或 "1.5MB"。KB 和 MB 均以 1000 为进制,因此结果无论按哪种方式检查都能通过。 |
form | 替代 limit 使用:list_forms 中的表单预设,例如 "ibps-photo"。 |
width、height | 可选的精确像素尺寸,仅适用于图像。 |
fit | 当像素尺寸改变图像比例时,使用 "crop"(默认)或加白色边框的 "pad"。 |
minimum | 可选的最小文件大小,例如 "10KB"。较小的 JPEG 会填充至该大小;图片内容不变。 |
jpeg_ok | 可选。true 表示当 PNG、WebP、TIFF 或 BMP 转为 JPEG 后更符合要求时,可以返回 JPEG。默认关闭;如果启用会有帮助,结果中会说明。 |
output | 可选的结果文件路径,仅与 path 一起使用。 |
list_forms
表单预设列表,包含每个预设的规则及其官方来源。列表从 fitfilesize.com/forms.json 读取,因此无需更新即可显示新增表单;如果无法访问网站,则会使用内置副本。
隐私
文件会通过 HTTPS 发送到 FitFileSize 的服务器,在服务器上压缩,并在结果保存到你的电脑后立即删除。请求会注明软件包及其版本(fitfilesize-mcp/0.2.1),不包含任何与你有关的信息。不会有其他内容离开你的设备。请参阅隐私页面。上传次数计入网站每小时 30 次的免费限额。
开发
npm install
npm test # the tools through an MCP client, against a stand-in API
npm run build # bundles the form presets from the website's data
FITFILESIZE_API 用于指定服务器连接到其他 API,例如本地 API(http://127.0.0.1:8000)。
许可证
MIT,详见 LICENSE。此许可适用于本文件夹中的 MCP 服务;FitFileSize 仓库的其余部分并非开源。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。