EasyPDF

Edit PDF text in place, fonts and layout kept. Compress, merge, split, convert and translate PDFs.

我该使用它吗

质量与安全性

A
描述质量
81%
模式完整度
99%
命名质量
84%
投毒风险
100%
权限匹配度
100%
协议合规性
100%

发现(5)

  • LOWTool 'merge_pdfs' description lacks action verb在 merge_pdfs 中
  • LOWTool 'split_pdf' description lacks action verb在 split_pdf 中
  • LOWTool 'extract_pages' description lacks action verb在 extract_pages 中
  • LOWTool 'rotate_pdf' description lacks action verb在 rotate_pdf 中
  • LOWTool 'protect_pdf' description lacks action verb在 protect_pdf 中

基于对工具定义和协议合规性的自动分析。

上下文开销

~2,290token 数(工具定义)
~2.5 KB典型响应大小
对注意力有中等影响(占 128k 上下文窗口的 1.79%)

这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。

安装

一键安装

将以下内容添加到你的 `claude_desktop_config.json` 文件中:

{
  "mcpServers": {
    "easypdf": {
      "url": "https://www.easypdf.fr/chatgpt/mcp"
    }
  }
}

远程端点

https://www.easypdf.fr/chatgpt/mcpstreamable-http
https://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
}

社区

评价此服务器

证据

最近观测

已验证未记录版本9 个工具
需要认证未记录版本—
已验证未记录版本8 个工具
已验证未记录版本8 个工具