{
  "$schema": "https://modelcontextprotocol.io/schema/manifest.json",
  "name": "MergePDF.pro",
  "description": "Free, privacy-first PDF tools suite for AI assistants. Inspect metadata, extract clean text, merge multiple PDFs, compress documents, and convert to Word (.docx) or Excel (.xlsx).",
  "version": "1.0.0",
  "homepage": "https://mergepdf.pro/mcp",
  "repository": "https://github.com/abubakarcodes/mergepdf-pro",
  "license": "MIT",
  "keywords": [
    "pdf",
    "pdf-tools",
    "merge-pdf",
    "compress-pdf",
    "pdf-to-word",
    "pdf-to-excel",
    "extract-text",
    "mcp",
    "model-context-protocol"
  ],
  "transports": {
    "sse": {
      "type": "sse",
      "url": "https://mergepdf.pro/mcp/tools"
    }
  },
  "tools": [
    {
      "name": "list_pdf_tools",
      "description": "List all 60+ online PDF and document processing tools available on MergePDF.pro with direct URLs.",
      "inputSchema": {
        "type": "object",
        "properties": {}
      }
    },
    {
      "name": "get_pdf_info",
      "description": "Read document metadata from a PDF (page count, dimensions, author, title, creation date, encryption state).",
      "inputSchema": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "description": "Public HTTP/HTTPS URL of the PDF document."
          }
        },
        "required": ["url"]
      }
    },
    {
      "name": "extract_pdf_text",
      "description": "Extract plain text from a remote PDF directly into the LLM context for reasoning and summarization.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "description": "Public HTTP/HTTPS URL of the PDF document."
          }
        },
        "required": ["url"]
      }
    },
    {
      "name": "pdf_to_markdown",
      "description": "Convert a PDF document into layout-preserving, structured Markdown (headings, tables, lists) for LLMs and RAG pipelines.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "description": "Public HTTP/HTTPS URL of the PDF document."
          }
        },
        "required": ["url"]
      }
    },
    {
      "name": "ocr_pdf",
      "description": "Perform Optical Character Recognition (OCR) on scanned or image-based PDF documents, returning a searchable PDF and recognized text.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "description": "Public HTTP/HTTPS URL of the scanned PDF document."
          }
        },
        "required": ["url"]
      }
    },
    {
      "name": "split_pdf",
      "description": "Extract specific pages or page ranges from a PDF into a new document (e.g. pages 1, 3-5).",
      "inputSchema": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "description": "Public HTTP/HTTPS URL of the PDF document."
          },
          "pages": {
            "type": "array",
            "items": { "type": "integer" },
            "description": "Array of 1-based page numbers to extract."
          },
          "page_range": {
            "type": "string",
            "description": "Page range string to extract (e.g. '1-3, 5')."
          }
        },
        "required": ["url"]
      }
    },
    {
      "name": "merge_pdfs",
      "description": "Merge two or more PDF documents into a single unified file and return a secure download link.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "urls": {
            "type": "array",
            "items": { "type": "string" },
            "description": "List of public HTTP/HTTPS URLs of PDF documents to merge."
          }
        },
        "required": ["urls"]
      }
    },
    {
      "name": "compress_pdf",
      "description": "Compress a PDF document to reduce file size with selectable levels (recommended, extreme, low).",
      "inputSchema": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "description": "Public HTTP/HTTPS URL of the PDF to compress."
          },
          "compression_level": {
            "type": "string",
            "enum": ["recommended", "extreme", "low"],
            "default": "recommended",
            "description": "Compression preset level."
          }
        },
        "required": ["url"]
      }
    },
    {
      "name": "convert_pdf_to_word",
      "description": "Convert a PDF document into an editable Microsoft Word (.docx) document.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "description": "Public HTTP/HTTPS URL of the PDF to convert."
          }
        },
        "required": ["url"]
      }
    },
    {
      "name": "convert_pdf_to_excel",
      "description": "Extract tables and tabular data from a PDF into a Microsoft Excel (.xlsx) spreadsheet.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "description": "Public HTTP/HTTPS URL of the PDF to convert."
          }
        },
        "required": ["url"]
      }
    },
    {
      "name": "rotate_pdf",
      "description": "Rotate all or specific pages of a PDF document by 90, 180, or 270 degrees clockwise.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "description": "Public HTTP/HTTPS URL of the PDF document."
          },
          "angle": {
            "type": "integer",
            "enum": [90, 180, 270],
            "default": 90,
            "description": "Clockwise rotation angle in degrees."
          },
          "pages": {
            "type": "array",
            "items": { "type": "integer" },
            "description": "Optional array of 1-based page numbers to rotate. If omitted, rotates all pages."
          }
        },
        "required": ["url"]
      }
    },
    {
      "name": "watermark_pdf",
      "description": "Apply a customizable text watermark across all pages of a PDF document (e.g. DRAFT, CONFIDENTIAL, copyright).",
      "inputSchema": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "description": "Public HTTP/HTTPS URL of the PDF document."
          },
          "text": {
            "type": "string",
            "description": "Watermark text string to stamp on pages."
          },
          "rotation": {
            "type": "integer",
            "default": 45,
            "description": "Rotation angle of the watermark text in degrees."
          },
          "opacity": {
            "type": "number",
            "default": 0.3,
            "description": "Opacity level from 0.1 (faint) to 1.0 (solid)."
          },
          "font_size": {
            "type": "integer",
            "default": 48,
            "description": "Font size in points."
          },
          "tiled": {
            "type": "boolean",
            "default": false,
            "description": "Whether to tile the watermark across the entire page."
          }
        },
        "required": ["url", "text"]
      }
    },
    {
      "name": "protect_pdf",
      "description": "Encrypt and password-protect a PDF document with standard AES-256 security.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "description": "Public HTTP/HTTPS URL of the PDF document."
          },
          "password": {
            "type": "string",
            "description": "Password required to open and decrypt the document."
          }
        },
        "required": ["url", "password"]
      }
    },
    {
      "name": "unlock_pdf",
      "description": "Remove password protection and permissions restrictions from an encrypted PDF document.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "description": "Public HTTP/HTTPS URL of the encrypted PDF document."
          },
          "password": {
            "type": "string",
            "description": "Password to decrypt the document (if password-protected)."
          }
        },
        "required": ["url"]
      }
    }
  ]
}
