EasyPDF
Edit PDF text in place, fonts and layout kept. Compress, merge, split, convert and translate PDFs.
我該用這個嗎
品質與安全性
發現項目(5)
- LOW在 merge_pdfs 中
- LOW在 split_pdf 中
- LOW在 extract_pages 中
- LOW在 rotate_pdf 中
- LOW在 protect_pdf 中
根據工具定義與協定合規性的自動化分析。
上下文成本
這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。
安裝
一鍵安裝
將以下內容加入你的 `claude_desktop_config.json` 檔案:
{
"mcpServers": {
"easypdf": {
"url": "https://www.easypdf.fr/chatgpt/mcp"
}
}
}遠端端點
https://www.easypdf.fr/chatgpt/mcpstreamable-httphttps://www.easypdf.fr/mcpstreamable-http它能做什麼
工具清單
工具(9)
🔴edit_pdf_text(file, edits)
Change, correct or delete text INSIDE the original PDF, keeping its fonts, sizes, colors and layout. Use this whenever the user wants their existing PDF updated rather than a new document: fix a typo, change a date, amount, name or address, update a CV or a price list, translate a heading, remove a line. Read the PDF first, then pass one edit per change with `find` copied exactly as printed in the document. Dates and amounts written differently in the PDF (12/08/2026 vs August 12, 2026; 1240 vs 1,240.00) are matched and rewritten in the document's format.
輸入結構描述
{
"type": "object",
"properties": {
"file": {
"description": "The PDF to edit (shared in the conversation).",
"properties": {
"download_url": {
"description": "URL from which the file can be downloaded.",
"type": "string"
},
"file_id": {
"description": "ChatGPT file identifier.",
"type": "string"
},
"mime_type": {
"default": "",
"description": "MIME type of the file, e.g. application/pdf.",
"type": "string"
},
"file_name": {
"default": "",
"description": "Original file name, e.g. report.pdf.",
"type": "string"
}
},
"required": [
"download_url",
"file_id"
],
"type": "object"
},
"edits": {
"items": {
"description": "One change to write into the PDF.",
"properties": {
"find": {
"description": "Text to replace, copied exactly as it is printed in the PDF (same spelling, accents and punctuation). Keep it short: one line or a few words is most reliable.",
"type": "string"
},
"replace": {
"description": "New text written in place of `find`. An empty string deletes the text.",
"type": "string"
},
"page": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "1-based page number to limit this change to. Omit to change every occurrence in the document."
}
},
"required": [
"find",
"replace"
],
"type": "object"
},
"type": "array",
"description": "Changes to write, applied in order. Each one replaces every\noccurrence of `find` (only on `page` when given)."
}
},
"required": [
"file",
"edits"
],
"additionalProperties": false
}輸出結構描述
{
"type": "object",
"additionalProperties": true
}⚪compress_pdf(file, quality)
Compress a PDF to reduce its file size while keeping it readable.
輸入結構描述
{
"type": "object",
"properties": {
"file": {
"description": "The PDF to compress (shared in the conversation).",
"properties": {
"download_url": {
"description": "URL from which the file can be downloaded.",
"type": "string"
},
"file_id": {
"description": "ChatGPT file identifier.",
"type": "string"
},
"mime_type": {
"default": "",
"description": "MIME type of the file, e.g. application/pdf.",
"type": "string"
},
"file_name": {
"default": "",
"description": "Original file name, e.g. report.pdf.",
"type": "string"
}
},
"required": [
"download_url",
"file_id"
],
"type": "object"
},
"quality": {
"default": "medium",
"type": "string",
"description": "\"low\" (smallest file), \"medium\" (balanced, default) or \"high\" (best visual quality)."
}
},
"required": [
"file"
],
"additionalProperties": false
}輸出結構描述
{
"type": "object",
"additionalProperties": true
}⚪merge_pdfs(files)
Merge several PDF files into a single document, in the given order.
輸入結構描述
{
"type": "object",
"properties": {
"files": {
"items": {
"description": "A file shared in the ChatGPT conversation (user upload).",
"properties": {
"download_url": {
"description": "URL from which the file can be downloaded.",
"type": "string"
},
"file_id": {
"description": "ChatGPT file identifier.",
"type": "string"
},
"mime_type": {
"default": "",
"description": "MIME type of the file, e.g. application/pdf.",
"type": "string"
},
"file_name": {
"default": "",
"description": "Original file name, e.g. report.pdf.",
"type": "string"
}
},
"required": [
"download_url",
"file_id"
],
"type": "object"
},
"type": "array",
"description": "Two or more PDFs shared in the conversation, in the order to merge them."
}
},
"required": [
"files"
],
"additionalProperties": false
}輸出結構描述
{
"type": "object",
"additionalProperties": true
}⚪split_pdf(file, pages_per_file)
Split a PDF into several smaller PDFs.
輸入結構描述
{
"type": "object",
"properties": {
"file": {
"description": "The PDF to split.",
"properties": {
"download_url": {
"description": "URL from which the file can be downloaded.",
"type": "string"
},
"file_id": {
"description": "ChatGPT file identifier.",
"type": "string"
},
"mime_type": {
"default": "",
"description": "MIME type of the file, e.g. application/pdf.",
"type": "string"
},
"file_name": {
"default": "",
"description": "Original file name, e.g. report.pdf.",
"type": "string"
}
},
"required": [
"download_url",
"file_id"
],
"type": "object"
},
"pages_per_file": {
"default": 1,
"type": "integer",
"description": "Number of pages in each output file (default 1: one file per page)."
}
},
"required": [
"file"
],
"additionalProperties": false
}輸出結構描述
{
"type": "object",
"additionalProperties": true
}🟢extract_pages(file, page_numbers)
Extract specific pages from a PDF into a new PDF (pages are 1-indexed).
輸入結構描述
{
"type": "object",
"properties": {
"file": {
"description": "The source PDF.",
"properties": {
"download_url": {
"description": "URL from which the file can be downloaded.",
"type": "string"
},
"file_id": {
"description": "ChatGPT file identifier.",
"type": "string"
},
"mime_type": {
"default": "",
"description": "MIME type of the file, e.g. application/pdf.",
"type": "string"
},
"file_name": {
"default": "",
"description": "Original file name, e.g. report.pdf.",
"type": "string"
}
},
"required": [
"download_url",
"file_id"
],
"type": "object"
},
"page_numbers": {
"items": {
"type": "integer"
},
"type": "array",
"description": "Pages to keep, e.g. [1, 3, 5]. Order is preserved."
}
},
"required": [
"file",
"page_numbers"
],
"additionalProperties": false
}輸出結構描述
{
"type": "object",
"additionalProperties": true
}⚪rotate_pdf(file, angle, pages)
Rotate all pages, or selected pages, of a PDF.
輸入結構描述
{
"type": "object",
"properties": {
"file": {
"description": "The PDF to rotate.",
"properties": {
"download_url": {
"description": "URL from which the file can be downloaded.",
"type": "string"
},
"file_id": {
"description": "ChatGPT file identifier.",
"type": "string"
},
"mime_type": {
"default": "",
"description": "MIME type of the file, e.g. application/pdf.",
"type": "string"
},
"file_name": {
"default": "",
"description": "Original file name, e.g. report.pdf.",
"type": "string"
}
},
"required": [
"download_url",
"file_id"
],
"type": "object"
},
"angle": {
"type": "integer",
"description": "90, 180 or 270 degrees (clockwise)."
},
"pages": {
"anyOf": [
{
"items": {
"type": "integer"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional 1-indexed page numbers to rotate; omit to rotate every page."
}
},
"required": [
"file",
"angle"
],
"additionalProperties": false
}輸出結構描述
{
"type": "object",
"additionalProperties": true
}⚪protect_pdf(file, password)
Protect a PDF with a password (AES-256 encryption).
輸入結構描述
{
"type": "object",
"properties": {
"file": {
"description": "The PDF to protect.",
"properties": {
"download_url": {
"description": "URL from which the file can be downloaded.",
"type": "string"
},
"file_id": {
"description": "ChatGPT file identifier.",
"type": "string"
},
"mime_type": {
"default": "",
"description": "MIME type of the file, e.g. application/pdf.",
"type": "string"
},
"file_name": {
"default": "",
"description": "Original file name, e.g. report.pdf.",
"type": "string"
}
},
"required": [
"download_url",
"file_id"
],
"type": "object"
},
"password": {
"type": "string",
"description": "Password that will be required to open the PDF."
}
},
"required": [
"file",
"password"
],
"additionalProperties": false
}輸出結構描述
{
"type": "object",
"additionalProperties": true
}🔴unlock_pdf(file, password)
Remove the password protection from a PDF you own.
輸入結構描述
{
"type": "object",
"properties": {
"file": {
"description": "The password-protected PDF.",
"properties": {
"download_url": {
"description": "URL from which the file can be downloaded.",
"type": "string"
},
"file_id": {
"description": "ChatGPT file identifier.",
"type": "string"
},
"mime_type": {
"default": "",
"description": "MIME type of the file, e.g. application/pdf.",
"type": "string"
},
"file_name": {
"default": "",
"description": "Original file name, e.g. report.pdf.",
"type": "string"
}
},
"required": [
"download_url",
"file_id"
],
"type": "object"
},
"password": {
"type": "string",
"description": "Its current password."
}
},
"required": [
"file",
"password"
],
"additionalProperties": false
}輸出結構描述
{
"type": "object",
"additionalProperties": true
}🟡add_page_numbers(file, position, start_number)
Add page numbers to a PDF.
輸入結構描述
{
"type": "object",
"properties": {
"file": {
"description": "The PDF to number.",
"properties": {
"download_url": {
"description": "URL from which the file can be downloaded.",
"type": "string"
},
"file_id": {
"description": "ChatGPT file identifier.",
"type": "string"
},
"mime_type": {
"default": "",
"description": "MIME type of the file, e.g. application/pdf.",
"type": "string"
},
"file_name": {
"default": "",
"description": "Original file name, e.g. report.pdf.",
"type": "string"
}
},
"required": [
"download_url",
"file_id"
],
"type": "object"
},
"position": {
"default": "bottom-center",
"type": "string",
"description": "\"bottom-center\" (default), \"bottom-left\", \"bottom-right\", \"top-center\", \"top-left\" or \"top-right\"."
},
"start_number": {
"default": 1,
"type": "integer",
"description": "Number printed on the first page. Default 1."
}
},
"required": [
"file"
],
"additionalProperties": false
}輸出結構描述
{
"type": "object",
"additionalProperties": true
}社群
證據