
Utilitly PDF
com.utilitly由 utilitly.com 發布v0.1.1更新於 Oct 29, 2026
Merge, split, rotate, delete, reorder and duplicate PDF pages on your computer. Nothing is uploaded.
概覽
本機 MCP 伺服器,讓助手在你自己的電腦上合併、拆分、旋轉、擷取、刪除、重排與複製 PDF 頁面。
- 可以做什麼
- 查看 PDF 的頁數、檔案大小、首頁尺寸以及是否受密碼保護
- 依指定順序合併多個 PDF,或把一個 PDF 拆成多個頁面範圍
- 把選取的頁面擷取成一個新的 PDF
- 以 90 度的倍數旋轉頁面
- 刪除、重排或複製頁面
- 每個結果都寫成輸入檔旁的新檔案,可選擇指定輸出路徑或資料夾
- 適用情境
- 適合把 PDF 保存在本機、想用自然語言整理檔案的場合,例如合併每月帳單、把手冊拆成章節、把掃描檔中方向不對的頁面轉正,而不必把文件上傳到任何服務。
- 執行需求
- 需要 Node.js 22 或更新版本,首次執行會透過 npx 下載此套件。以本機 stdio 伺服器在 AI 應用程式中設定。套件名稱後的資料夾參數限定它可讀寫的目錄;路徑必須是絕對路徑或以 ~/ 開頭。不需要帳號、API 金鑰或標頭。
安裝
在 SourceWeft 中
- 開啟 儀表板中的 Utilitly PDF,將其新增到工作區。
- 為需要使用其工具的對話啟用該服務。
Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。
其他 MCP 客戶端
參照 儲存庫 中的啟動說明。
README
@utilitly/mcp
A PDF MCP server for Claude, the ChatGPT desktop app, Codex, Gemini CLI, Cursor and any other app that can run a local MCP server. Ask your AI to merge, split, rotate, delete, reorder or duplicate pages, and it does the work with PDF files on your own computer.
The server runs locally, next to the AI app, and edits files where they sit. It's built on Utilitly's open-source PDF engines, ported from the free tools on utilitly.com, and it never replaces a file: every result is a new PDF beside the original.
Install
You need Node.js 22 or newer. The first run downloads the server through npx.
The folders after the package name are the only places the server may read and write. Change them to wherever your PDFs live.
Claude Code
Claude Desktop: open Settings, then Developer, then Edit Config, and add this to claude_desktop_config.json. Restart Claude Desktop afterwards.
Cursor: put the same mcpServers block in ~/.cursor/mcp.json.
ChatGPT desktop app and Codex share one setup, so adding the server to either one adds it to both. In the ChatGPT app, open Settings, then MCP servers, then Add server. Choose STDIO, enter the command npx with the arguments -y @utilitly/mcp ~/Documents ~/Downloads ~/Desktop, save, and restart. From the Codex CLI:
Gemini CLI: everything after -- goes to npx, and -s user makes the server available in every folder you start Gemini in.
Anything else that can start a local (stdio) MCP server: the command is npx with the arguments -y @utilitly/mcp, followed by the folders.
The server is also listed in the official MCP Registry as com.utilitly/mcp, so apps and directories that read the registry can find it by that name.
About the folder list
The check happens after symlinks are resolved, so a link inside an allowed folder can't lead somewhere else.
Leave the folders out and the server may use any file you can. It still never overwrites or deletes anything, and it never shows the AI what's inside a PDF. But an AI misled by something it read elsewhere could copy any of your PDFs into any folder, so list folders unless you need it everywhere.
Try it in 30 seconds
Once it's installed, ask in plain words and use full paths:
- "Merge ~/Downloads/march.pdf and ~/Downloads/april.pdf."
- "Delete the blank page 3 from ~/Desktop/scan.pdf."
- "Split ~/Documents/handbook.pdf into pages 1-12, 13-30 and 31 to the end."
- "Pages 2 to 4 of ~/Desktop/scan.pdf are sideways; turn them the right way up."
- "How many pages does ~/Documents/contract.pdf have, and is it locked?"
Tools
Results land in the same folder as the input. Every writing tool also takes an optional output_path, and split_pdf an optional output_folder. Page selections read like "2", "1-3, 5" or "4-end".
Problems come back to the AI as a short code and a sentence it can act on, such as NO_PAGES: "9" doesn't match any page. The PDF has 4 pages. or ENCRYPTED: File 2 is password-protected. Remove the password first, then try again.
What it can and can't touch
- It never overwrites. If
report-merged.pdfalready exists, the result becomesreport-merged-2.pdf, and anoutput_paththat already exists is refused. - Input files are only read, never changed.
- Paths must be absolute or start with
~/, so the AI can't stumble into the wrong folder through a relative path. - With folders listed at install, nothing outside them can be read or written.
- Password-protected PDFs are refused rather than altered.
pdf_inforeports when a file is locked. - One call can add at most 10,000 pages beyond what its input files hold, and one split writes at most 1,000 files (or one per page for longer PDFs). A mistaken request, like a hundred million copies, is refused before anything is built.
Why nothing is uploaded
The PDF work happens inside this server, on your machine, with no network code anywhere in it. test/network.test.ts proves that on every change: it makes opening a connection, looking up a host name and calling fetch all throw, then runs every tool, and they all succeed.
Your AI app still talks to its model as usual. That conversation includes whatever you type, file paths included, and each tool's short reply: the paths it wrote, page counts and file sizes. This server never puts the contents of a PDF into the conversation.
Good to know
merge_pdfs,split_pdf,extract_pages,delete_pages,reorder_pagesandduplicate_pagesbuild fresh PDFs, so bookmarks, document properties and working form fields aren't carried into the result.rotate_pdfkeeps the whole document.- Images and fonts shared between pages stay shared, so results don't balloon in size.
- To check what's running,
npx -y @utilitly/mcp --versionprints the version and--helpthe usage.
License
MIT. Built on the @utilitly PDF engines and pdf-lib (both MIT), and the official MCP TypeScript SDK (Apache-2.0).
來源:README.md,提交 3bd8f85
工具
0版本歷史
1- v0.1.1最新Oct 29, 2026
評分
已滿足適用檢查項的 50%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
- 近 30 天內可連通25 分
請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。
- 已宣告認證方式10 分
請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。
- 已列出工具15 分
請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。
- 描述必需15 分
- 圖示10 分
- 文件15 分
- 授權條款10 分