EasyPDF
Edit PDF text in place, fonts and layout kept. Compress, merge, split, convert and translate PDFs.
使うべきか
品質と安全性
検出事項(5)
- LOWmerge_pdfs 内
- LOWsplit_pdf 内
- LOWextract_pages 内
- LOWrotate_pdf 内
- LOWprotect_pdf 内
ツール定義とプロトコルへの準拠に関する自動分析に基づいています。
コンテキストコスト
これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。
インストール
ワンクリックインストール
これを `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
}コミュニティ
エビデンス