pdf-tools
Free PDF tools for AI agents: merge, split, rotate, watermark, page numbers, metadata, flatten.
Sollte ich dies verwenden
Qualität und Sicherheit
Befunde (5)
- LOWin merge_pdfs
- LOWin extract_pages
- LOWin watermark_pdf
- LOWin add_page_numbers
- LOWin flatten_pdf
Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.
Kontextkosten
Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.
Installieren
Installation mit einem Klick
Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:
{
"mcpServers": {
"pdf-tools": {
"url": "https://pdfia.com/mcp"
}
}
}Remote-Endpunkte
https://pdfia.com/mcpstreamable-httpWas es kann
Tool-Inventar
Tools (10)
⚪merge_pdfs(files)
Merge multiple PDF files into one, in the order given. Returns the merged PDF as base64.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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).
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"type": "object",
"properties": {
"file": {
"type": "string",
"description": "The PDF file, base64-encoded (max 10 MB)"
}
},
"required": [
"file"
]
}Community
Nachweis