pdf-tools
Free PDF tools for AI agents: merge, split, rotate, watermark, page numbers, metadata, flatten.
¿Debería usar esto?
Calidad y seguridad
Hallazgos (5)
- LOWen merge_pdfs
- LOWen extract_pages
- LOWen watermark_pdf
- LOWen add_page_numbers
- LOWen flatten_pdf
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.
Instalar
Instalación con un clic
Agrega esto a tu archivo `claude_desktop_config.json`:
{
"mcpServers": {
"pdf-tools": {
"url": "https://pdfia.com/mcp"
}
}
}Puntos de conexión remotos
https://pdfia.com/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (10)
⚪merge_pdfs(files)
Merge multiple PDF files into one, in the order given. Returns the merged PDF as base64.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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).
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"type": "object",
"properties": {
"file": {
"type": "string",
"description": "The PDF file, base64-encoded (max 10 MB)"
}
},
"required": [
"file"
]
}Comunidad
Evidencia