pdf-tools

Free PDF tools for AI agents: merge, split, rotate, watermark, page numbers, metadata, flatten.

¿Debería usar esto?

Calidad y seguridad

A
Calidad de la descripción
85%
Integridad del esquema
98%
Calidad de los nombres
88%
Riesgo de envenenamiento
100%
Coincidencia de permisos
100%
Cumplimiento del protocolo
100%

Hallazgos (5)

  • LOWTool 'merge_pdfs' description lacks action verben merge_pdfs
  • LOWTool 'extract_pages' description lacks action verben extract_pages
  • LOWTool 'watermark_pdf' description lacks action verben watermark_pdf
  • LOWTool 'add_page_numbers' description lacks action verben add_page_numbers
  • LOWTool 'flatten_pdf' description lacks action verben flatten_pdf

Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.

Costo de contexto

~1,085Tokens (definiciones de herramientas)
~806 BTamaño de respuesta típico
Impacto moderado en la atención (0.85% del contexto de 128k)

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-http

Qué puede hacer

Inventario de herramientas

Herramientas (10)

🟢 Solo lectura🟡 Escritura🔴 Eliminación⚪ Desconocido
⚪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

Califica este servidor

Evidencia

Observaciones recientes

verificadoversión no registrada10 herramientas
verificadoversión no registrada10 herramientas