pdf-tools
Free PDF tools for AI agents: merge, split, rotate, watermark, page numbers, metadata, flatten.
使うべきか
品質と安全性
検出事項(5)
- LOWmerge_pdfs 内
- LOWextract_pages 内
- LOWwatermark_pdf 内
- LOWadd_page_numbers 内
- LOWflatten_pdf 内
ツール定義とプロトコルへの準拠に関する自動分析に基づいています。
コンテキストコスト
これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。
インストール
ワンクリックインストール
これを `claude_desktop_config.json` ファイルに追加してください:
{
"mcpServers": {
"pdf-tools": {
"url": "https://pdfia.com/mcp"
}
}
}リモートエンドポイント
https://pdfia.com/mcpstreamable-httpできること
ツール一覧
ツール(10)
⚪merge_pdfs(files)
Merge multiple PDF files into one, in the order given. Returns the merged PDF as base64.
入力スキーマ
{
"type": "object",
"properties": {
"files": {
"type": "array",
"items": {
"type": "string",
"description": "The PDF file, base64-encoded (max 10 MB)"
},
"description": "2+ PDFs, base64-encoded, in merge order"
}
},
"required": [
"files"
]
}🟢split_pdf(file, ranges)
Split a PDF into parts. Provide ranges like "1-3, 5, 8-10" (each comma group becomes one output PDF), or omit ranges to get every page as its own PDF. Returns base64 files.
入力スキーマ
{
"type": "object",
"properties": {
"file": {
"type": "string",
"description": "The PDF file, base64-encoded (max 10 MB)"
},
"ranges": {
"type": "string",
"description": "e.g. \"1-3, 5, 8-10\"; omit for one file per page"
}
},
"required": [
"file"
]
}🟢extract_pages(file, pages)
Extract the given pages into a new PDF (original order). Returns base64.
入力スキーマ
{
"type": "object",
"properties": {
"file": {
"type": "string",
"description": "The PDF file, base64-encoded (max 10 MB)"
},
"pages": {
"type": "string",
"description": "Page list like \"2, 5-7\" (1-based)"
}
},
"required": [
"file",
"pages"
]
}🔴remove_pages(file, pages)
Delete the given pages from a PDF. Returns the remaining document as base64.
入力スキーマ
{
"type": "object",
"properties": {
"file": {
"type": "string",
"description": "The PDF file, base64-encoded (max 10 MB)"
},
"pages": {
"type": "string",
"description": "Page list like \"2, 5-7\" (1-based)"
}
},
"required": [
"file",
"pages"
]
}🟢rotate_pdf(file, degrees, pages)
Rotate pages clockwise by 90, 180, or 270 degrees. Rotates all pages unless a page list is given. Returns base64.
入力スキーマ
{
"type": "object",
"properties": {
"file": {
"type": "string",
"description": "The PDF file, base64-encoded (max 10 MB)"
},
"degrees": {
"type": "number",
"enum": [
90,
180,
270
]
},
"pages": {
"type": "string",
"description": "Optional page list like \"1, 3\"; omit to rotate all"
}
},
"required": [
"file",
"degrees"
]
}⚪watermark_pdf(file, text, opacity, size, color)
Stamp a diagonal text watermark (e.g. "CONFIDENTIAL", "DRAFT") across every page. Returns base64.
入力スキーマ
{
"type": "object",
"properties": {
"file": {
"type": "string",
"description": "The PDF file, base64-encoded (max 10 MB)"
},
"text": {
"type": "string",
"description": "Watermark text"
},
"opacity": {
"type": "number",
"description": "0.02–1, default 0.15"
},
"size": {
"type": "number",
"description": "Font size in points, 8–200, default 60"
},
"color": {
"type": "string",
"enum": [
"gray",
"red",
"blue"
],
"description": "Default gray"
}
},
"required": [
"file",
"text"
]
}🟡add_page_numbers(file, position, start, format, size)
Stamp page numbers onto every page of a PDF. Returns base64.
入力スキーマ
{
"type": "object",
"properties": {
"file": {
"type": "string",
"description": "The PDF file, base64-encoded (max 10 MB)"
},
"position": {
"type": "string",
"enum": [
"bottom-center",
"bottom-right",
"bottom-left",
"top-center"
],
"description": "Default bottom-center"
},
"start": {
"type": "number",
"description": "First number, default 1"
},
"format": {
"type": "string",
"enum": [
"n",
"page-n",
"n-of-total"
],
"description": "Default n"
},
"size": {
"type": "number",
"description": "Font size 6–24, default 12"
}
},
"required": [
"file"
]
}🟢get_pdf_metadata(file)
Read a PDF's document properties (title, author, subject, keywords, creator, producer, dates, page count).
入力スキーマ
{
"type": "object",
"properties": {
"file": {
"type": "string",
"description": "The PDF file, base64-encoded (max 10 MB)"
}
},
"required": [
"file"
]
}🟡set_pdf_metadata(file, title, author, subject, keywords, ...)
Rewrite a PDF's document properties. Pass empty strings to strip identifying metadata before sharing. Returns base64.
入力スキーマ
{
"type": "object",
"properties": {
"file": {
"type": "string",
"description": "The PDF file, base64-encoded (max 10 MB)"
},
"title": {
"type": "string"
},
"author": {
"type": "string"
},
"subject": {
"type": "string"
},
"keywords": {
"type": "string",
"description": "Comma-separated"
},
"creator": {
"type": "string"
},
"producer": {
"type": "string"
}
},
"required": [
"file"
]
}⚪flatten_pdf(file)
Flatten fillable form fields into permanent page content so answers can't be edited. Returns base64.
入力スキーマ
{
"type": "object",
"properties": {
"file": {
"type": "string",
"description": "The PDF file, base64-encoded (max 10 MB)"
}
},
"required": [
"file"
]
}コミュニティ
エビデンス