PreteWorks API

One key for the document-to-web pipeline: scrape, AI-extract, build & edit PDFs, fill forms.

¿Debería usar esto?

Calidad y seguridad

A
Calidad de la descripción
94%
Integridad del esquema
99%
Calidad de los nombres
84%
Riesgo de envenenamiento
80%
Coincidencia de permisos
100%
Cumplimiento del protocolo
100%

Hallazgos (8)

  • HIGHTool poisoning patterns detected
  • MEDIUMTool description contains suspicious base64-like encoded stringen scrape_page
  • LOWTool 'images_to_pdf' description lacks action verben images_to_pdf
  • LOWTool 'split_pdf' description lacks action verben split_pdf
  • LOWTool 'fill_pdf_form' description lacks action verben fill_pdf_form
  • LOWTool 'extract_data' description lacks action verben extract_data
  • LOWTool 'answer_from_document' description lacks action verben answer_from_document
  • LOWTool 'docx_to_text' description lacks action verben docx_to_text

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

Costo de contexto

~4,337Tokens (definiciones de herramientas)
~920 BTamaño de respuesta típico
Impacto significativo en la atención (3.39% 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": {
    "preteworks-api": {
      "url": "https://api.preteworks.com/mcp"
    }
  }
}

Puntos de conexión remotos

https://api.preteworks.com/mcpstreamable-http

Qué puede hacer

Inventario de herramientas

Herramientas (29)

🟢 Solo lectura🟡 Escritura🔴 Eliminación⚪ Desconocido
🟢render_html_to_pdf(html)

Render a full HTML document to a PDF. External subresources are blocked for safety — inline images/fonts as data: URIs. Returns a file_id (for chaining) and a ~1h download URL.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "html": {
      "type": "string",
      "description": "The complete HTML document to render."
    }
  },
  "required": [
    "html"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪number_pdf(pdf, position, start, format)

Stamp a page number on every page. position: bottom-center (default) | bottom-left | bottom-right | top-center | top-left | top-right. format supports {n} and {total}. Returns a file_id + ~1h URL.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "pdf": {
      "type": "string",
      "description": "A file_id from a prior tool result, or a base64-encoded PDF."
    },
    "position": {
      "description": "Where to place it (default bottom-center).",
      "type": "string"
    },
    "start": {
      "description": "First page's number (default 1).",
      "type": "number"
    },
    "format": {
      "description": "e.g. '{n}' or '{n} / {total}' (default '{n}').",
      "type": "string"
    }
  },
  "required": [
    "pdf"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢pdf_info(pdf)

Read a PDF's metadata (title, author, subject, keywords, creator, producer, dates) plus page count and page size, as JSON.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "pdf": {
      "type": "string",
      "description": "A file_id from a prior tool result, or a base64-encoded PDF."
    }
  },
  "required": [
    "pdf"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡set_pdf_metadata(pdf, title, author, subject, keywords, ...)

Set a PDF's title, author, subject, keywords (array or comma string) and/or creator. Only the fields you provide change. Returns a file_id + ~1h URL.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "pdf": {
      "type": "string",
      "description": "A file_id from a prior tool result, or a base64-encoded PDF."
    },
    "title": {
      "type": "string"
    },
    "author": {
      "type": "string"
    },
    "subject": {
      "type": "string"
    },
    "keywords": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      ]
    },
    "creator": {
      "type": "string"
    }
  },
  "required": [
    "pdf"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢render_document(template, data)

Render a structured document to a PDF from a named template (invoice, receipt, report). Money/totals are computed for you. Returns a file_id (for chaining) and a ~1h download URL.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "template": {
      "type": "string",
      "enum": [
        "invoice",
        "receipt",
        "report"
      ],
      "description": "Document template."
    },
    "data": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {},
      "description": "Template data. invoice/receipt: {seller:{name,address?,email?,logo_url?(data: URI)}, buyer?:{name,address?,email?}, number?, issued?/date?, due?, currency?, items:[{description,qty,unit_price}], tax_rate?, notes?, terms?}; receipt also takes amount_paid?, payment_method?. report: {title, subtitle?, author?, date?, sections:[{heading?,body?}]}. Money is computed server-side."
    }
  },
  "required": [
    "template",
    "data"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢merge_pdfs(pdfs)

Combine 2+ PDFs into a single PDF, in the order given. Inputs are file_ids (from prior tools) or base64 PDFs. Returns a file_id (for chaining) and a ~1h download URL.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "pdfs": {
      "minItems": 2,
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "2+ PDF sources. Each: A file_id from a prior tool result, or a base64-encoded PDF."
    }
  },
  "required": [
    "pdfs"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🔴select_pages(pdf, pages)

Keep only the specified pages of a PDF (e.g. [1,3,5]) and drop the rest, preserving order. Returns a file_id (for chaining) and a ~1h download URL.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "pdf": {
      "type": "string",
      "description": "A file_id from a prior tool result, or a base64-encoded PDF."
    },
    "pages": {
      "type": "string",
      "description": "Pages to keep, e.g. '1,3,5-7'."
    }
  },
  "required": [
    "pdf",
    "pages"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢rotate_pdf(pdf, degrees)

Rotate every page of a PDF by 90, 180, or 270 degrees (clockwise). Returns a file_id (for chaining) and a ~1h download URL.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "pdf": {
      "type": "string",
      "description": "A file_id from a prior tool result, or a base64-encoded PDF."
    },
    "degrees": {
      "type": "number",
      "description": "90, 180, or 270."
    }
  },
  "required": [
    "pdf",
    "degrees"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢watermark_pdf(pdf, text)

Stamp a diagonal grey text watermark (e.g. "DRAFT", "CONFIDENTIAL") across every page of a PDF. Returns a file_id (for chaining) and a ~1h download URL.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "pdf": {
      "type": "string",
      "description": "A file_id from a prior tool result, or a base64-encoded PDF."
    },
    "text": {
      "type": "string",
      "description": "The watermark text."
    }
  },
  "required": [
    "pdf",
    "text"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢extract_pdf_text(pdf)

Extract the text content of a PDF — for RAG, summarization, or search. Accepts a file_id (from a prior tool) or a base64-encoded PDF, and returns the text inline. Not OCR: a scanned/image-only PDF returns little or no text.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "pdf": {
      "type": "string",
      "description": "A file_id from a prior tool result, or a base64-encoded PDF."
    }
  },
  "required": [
    "pdf"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪images_to_pdf(images)

Combine PNG/JPEG images (base64) into a PDF, one image per page. Returns a file_id and a ~1h URL.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "images": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Base64-encoded PNG/JPEG images, one per page (max 20)."
    }
  },
  "required": [
    "images"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪markdown_to_pdf(markdown, title)

Render Markdown to a clean, print-styled PDF. Returns a file_id and a ~1h URL.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "markdown": {
      "type": "string",
      "description": "The Markdown to render."
    },
    "title": {
      "description": "Document title.",
      "type": "string"
    }
  },
  "required": [
    "markdown"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪split_pdf(pdf, ranges)

Split a PDF into multiple PDFs — one per page by default, or by page ranges like '1-3;4-6'. Returns a file_id + URL per part.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "pdf": {
      "type": "string",
      "description": "A file_id from a prior tool result, or a base64-encoded PDF."
    },
    "ranges": {
      "description": "e.g. '1-3;4-6'. Omit to split every page.",
      "type": "string"
    }
  },
  "required": [
    "pdf"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢read_pdf_form(pdf)

List a PDF's form fields (name, type, value, options) as JSON.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "pdf": {
      "type": "string",
      "description": "A file_id from a prior tool result, or a base64-encoded PDF."
    }
  },
  "required": [
    "pdf"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪fill_pdf_form(pdf, fields, flatten)

Fill a PDF's form fields from a map of field -> value; optionally flatten. Returns a file_id and a ~1h URL.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "pdf": {
      "type": "string",
      "description": "A file_id from a prior tool result, or a base64-encoded PDF."
    },
    "fields": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {},
      "description": "Map of field name to value."
    },
    "flatten": {
      "description": "Flatten the form after filling (default false).",
      "type": "boolean"
    }
  },
  "required": [
    "pdf",
    "fields"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢file_to_markdown(file, format)

Convert a Word (.docx), Excel (.xlsx) or CSV file (base64) into clean Markdown — for RAG, agents and pipelines. DOCX keeps headings/lists/tables; spreadsheets become Markdown tables (one per sheet). Returns Markdown inline. Optional 'format' (docx|xlsx|csv) overrides auto-detection.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "file": {
      "type": "string",
      "description": "Base64-encoded .docx, .xlsx or .csv file."
    },
    "format": {
      "description": "Optional format hint; auto-detected if omitted.",
      "type": "string",
      "enum": [
        "docx",
        "xlsx",
        "csv"
      ]
    }
  },
  "required": [
    "file"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢data_to_spreadsheet(rows, format, sheet_name)

Turn rows of data into a downloadable XLSX (default) or CSV. 'rows' is an array of objects (keys → header row) or an array of arrays (first row is the header). Returns a file_id (for chaining) and a ~1h download URL.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "rows": {
      "minItems": 1,
      "type": "array",
      "items": {},
      "description": "Array of objects (keys→columns) or array of arrays (first row = header)."
    },
    "format": {
      "description": "Output format (default xlsx).",
      "type": "string",
      "enum": [
        "xlsx",
        "csv"
      ]
    },
    "sheet_name": {
      "description": "Worksheet name (default 'Sheet1').",
      "type": "string"
    }
  },
  "required": [
    "rows"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢batch_scrape(urls)

Fetch up to 10 public URLs and return each as clean Markdown, in one call — for research/RAG over several pages at once. Private/internal hosts are blocked.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "urls": {
      "minItems": 1,
      "maxItems": 10,
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "1–10 http/https URLs."
    }
  },
  "required": [
    "urls"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢crawl_site(url, limit)

Fetch a URL plus up to 7 more same-origin pages it links to (≤8 total), each as clean Markdown. Bounded and synchronous. Private/internal hosts are blocked.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "description": "The root http/https URL."
    },
    "limit": {
      "description": "Max pages incl. root (default 5, max 8).",
      "type": "integer",
      "minimum": 1,
      "maximum": 8
    }
  },
  "required": [
    "url"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢map_site(url)

Discover the same-origin URLs linked from a page — the site map, with no page content fetched. Private/internal hosts are blocked.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "description": "The http/https URL to map."
    }
  },
  "required": [
    "url"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢extract_data(fields, url, pdf, file)

Extract specified fields from a web page, PDF, or Office file as JSON, using AI. Provide 'fields' plus ONE source: a 'url', a 'pdf' (file_id or base64), or a 'file' (base64 .docx/.xlsx/.csv). Returns a JSON object mapping each field to its value, or null when absent.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "fields": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Field names to extract, e.g. ['invoice total','due date']."
    },
    "url": {
      "description": "A public http/https URL to read.",
      "type": "string"
    },
    "pdf": {
      "description": "A file_id from a prior tool result, or a base64-encoded PDF.",
      "type": "string"
    },
    "file": {
      "description": "A base64-encoded .docx, .xlsx or .csv file (converted to text first).",
      "type": "string"
    }
  },
  "required": [
    "fields"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢summarize_document(url, pdf, file, text, max_words)

Summarize a web page, PDF, Office file (.docx/.xlsx/.csv), or raw text using AI. Provide ONE source: 'url', 'pdf' (file_id or base64), 'file' (base64), or 'text'. Optional 'max_words'. Returns the summary.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "url": {
      "description": "A public http/https URL to read.",
      "type": "string"
    },
    "pdf": {
      "description": "A file_id from a prior tool, or a base64-encoded PDF.",
      "type": "string"
    },
    "file": {
      "description": "A base64-encoded .docx, .xlsx or .csv file.",
      "type": "string"
    },
    "text": {
      "description": "Raw text to summarize directly.",
      "type": "string"
    },
    "max_words": {
      "description": "Approximate target length in words.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢answer_from_document(question, url, pdf, file, text)

Answer a question grounded ONLY in a source document — a web page, PDF, Office file, or raw text. Provide 'question' plus ONE source: 'url', 'pdf', 'file' (base64), or 'text'. Says so when the answer isn't in the document.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "question": {
      "type": "string",
      "description": "The question to answer from the document."
    },
    "url": {
      "description": "A public http/https URL to read.",
      "type": "string"
    },
    "pdf": {
      "description": "A file_id from a prior tool, or a base64-encoded PDF.",
      "type": "string"
    },
    "file": {
      "description": "A base64-encoded .docx, .xlsx or .csv file.",
      "type": "string"
    },
    "text": {
      "description": "Raw text to answer from directly.",
      "type": "string"
    }
  },
  "required": [
    "question"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢docx_to_text(docx)

Extract the text of a .docx document (base64). Returns the text inline.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "docx": {
      "type": "string",
      "description": "Base64-encoded .docx file."
    }
  },
  "required": [
    "docx"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪docx_to_pdf(docx)

Convert a .docx document (base64) to a PDF. Returns a file_id and a ~1h URL.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "docx": {
      "type": "string",
      "description": "Base64-encoded .docx file."
    }
  },
  "required": [
    "docx"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢read_url(url)

Fetch a public http/https URL and return its main content as clean Markdown — ideal for giving an agent readable web content for research or RAG. Private/internal hosts are blocked.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "description": "The http/https URL to read."
    }
  },
  "required": [
    "url"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢url_to_pdf(url)

Fetch a public http/https URL and render the live page to a PDF. Returns a file_id (chainable into the PDF tools) and a ~1h download URL. Private/internal hosts are blocked.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "description": "The http/https URL to snapshot."
    }
  },
  "required": [
    "url"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡url_to_screenshot(url, full_page)

Fetch a public http/https URL and capture a PNG screenshot. Set full_page for the entire scroll height. Returns a file_id and a ~1h download URL.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "description": "The http/https URL to capture."
    },
    "full_page": {
      "description": "Capture the full scroll height (default: viewport).",
      "type": "boolean"
    }
  },
  "required": [
    "url"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢scrape_page(url, formats)

Fetch a public http/https URL and return its rendered HTML, the links on the page, and page metadata (title/description/OpenGraph/canonical/favicon) — in one render. For clean Markdown use read_url instead. Private/internal hosts are blocked.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "description": "The http/https URL to scrape."
    },
    "formats": {
      "description": "Which representations to return (default: all three).",
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "html",
          "links",
          "metadata"
        ]
      }
    }
  },
  "required": [
    "url"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Comunidad

Califica este servidor

Evidencia

Observaciones recientes

verificadoversión no registrada29 herramientas
verificadoversión no registrada29 herramientas