Endpoints: 28,729MCP servers: 18,413Payout addresses: 2,071Paid calls: 1,533Letters: 13Defects: 1,322counted 1 min ago
teppi

Server definition

Hash
sha256:52e767f2f184f2a8d5a882eb55ed6fc09979d2d7a2d414dcb960614fd69b9952
What it is
What a remote MCP server returned when asked what it offers: 29 tools

The blob, as servednamed by its sha256

{ "instructions": "PreteWorks API — one metered key for the whole document-to-web pipeline; no install, nothing to host. Web: turn any public URL into clean Markdown (read_url), structured JSON via AI (extract_data), a PDF (url_to_pdf), or a screenshot (url_to_screenshot). PDF: create (from HTML, Markdown, images, .docx, or invoice/receipt/report templates), edit (merge, split, select/rotate/watermark/number pages, read/set metadata), and read (extract text, read/fill forms). Tools chain: most return a `file_id` you can pass as the input to another tool (e.g. url_to_pdf → watermark_pdf → extract_pdf_text) with no re-upload. Free tier: 500 units/month, no card; then pay per call. Every fetch is SSRF-guarded (private/internal hosts blocked).", "tools": [ { "description": "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.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "file": { "description": "A base64-encoded .docx, .xlsx or .csv file.", "type": "string" }, "pdf": { "description": "A file_id from a prior tool, or a base64-encoded PDF.", "type": "string" }, "question": { "description": "The question to answer from the document.", "type": "string" }, "text": { "description": "Raw text to answer from directly.", "type": "string" }, "url": { "description": "A public http/https URL to read.", "type": "string" } }, "required": [ "question" ], "type": "object" }, "name": "answer_from_document", "outputSchema": null }, { "description": "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.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "urls": { "description": "1–10 http/https URLs.", "items": { "type": "string" }, "maxItems": 10, "minItems": 1, "type": "array" } }, "required": [ "urls" ], "type": "object" }, "name": "batch_scrape", "outputSchema": null }, { "description": "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.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "limit": { "description": "Max pages incl. root (default 5, max 8).", "maximum": 8, "minimum": 1, "type": "integer" }, "url": { "description": "The root http/https URL.", "type": "string" } }, "required": [ "url" ], "type": "object" }, "name": "crawl_site", "outputSchema": null }, { "description": "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.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "format": { "description": "Output format (default xlsx).", "enum": [ "xlsx", "csv" ], "type": "string" }, "rows": { "description": "Array of objects (keys→columns) or array of arrays (first row = header).", "items": {}, "minItems": 1, "type": "array" }, "sheet_name": { "description": "Worksheet name (default 'Sheet1').", "type": "string" } }, "required": [ "rows" ], "type": "object" }, "name": "data_to_spreadsheet", "outputSchema": null }, { "description": "Convert a .docx document (base64) to a PDF. Returns a file_id and a ~1h URL.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "docx": { "description": "Base64-encoded .docx file.", "type": "string" } }, "required": [ "docx" ], "type": "object" }, "name": "docx_to_pdf", "outputSchema": null }, { "description": "Extract the text of a .docx document (base64). Returns the text inline.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "docx": { "description": "Base64-encoded .docx file.", "type": "string" } }, "required": [ "docx" ], "type": "object" }, "name": "docx_to_text", "outputSchema": null }, { "description": "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.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "fields": { "description": "Field names to extract, e.g. ['invoice total','due date'].", "items": { "type": "string" }, "type": "array" }, "file": { "description": "A base64-encoded .docx, .xlsx or .csv file (converted to text first).", "type": "string" }, "pdf": { "description": "A file_id from a prior tool result, or a base64-encoded PDF.", "type": "string" }, "url": { "description": "A public http/https URL to read.", "type": "string" } }, "required": [ "fields" ], "type": "object" }, "name": "extract_data", "outputSchema": null }, { "description": "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.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "pdf": { "description": "A file_id from a prior tool result, or a base64-encoded PDF.", "type": "string" } }, "required": [ "pdf" ], "type": "object" }, "name": "extract_pdf_text", "outputSchema": null }, { "description": "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.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "file": { "description": "Base64-encoded .docx, .xlsx or .csv file.", "type": "string" }, "format": { "description": "Optional format hint; auto-detected if omitted.", "enum": [ "docx", "xlsx", "csv" ], "type": "string" } }, "required": [ "file" ], "type": "object" }, "name": "file_to_markdown", "outputSchema": null }, { "description": "Fill a PDF's form fields from a map of field -> value; optionally flatten. Returns a file_id and a ~1h URL.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "fields": { "additionalProperties": {}, "description": "Map of field name to value.", "propertyNames": { "type": "string" }, "type": "object" }, "flatten": { "description": "Flatten the form after filling (default false).", "type": "boolean" }, "pdf": { "description": "A file_id from a prior tool result, or a base64-encoded PDF.", "type": "string" } }, "required": [ "pdf", "fields" ], "type": "object" }, "name": "fill_pdf_form", "outputSchema": null }, { "description": "Combine PNG/JPEG images (base64) into a PDF, one image per page. Returns a file_id and a ~1h URL.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "images": { "description": "Base64-encoded PNG/JPEG images, one per page (max 20).", "items": { "type": "string" }, "type": "array" } }, "required": [ "images" ], "type": "object" }, "name": "images_to_pdf", "outputSchema": null }, { "description": "Discover the same-origin URLs linked from a page — the site map, with no page content fetched. Private/internal hosts are blocked.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "url": { "description": "The http/https URL to map.", "type": "string" } }, "required": [ "url" ], "type": "object" }, "name": "map_site", "outputSchema": null }, { "description": "Render Markdown to a clean, print-styled PDF. Returns a file_id and a ~1h URL.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "markdown": { "description": "The Markdown to render.", "type": "string" }, "title": { "description": "Document title.", "type": "string" } }, "required": [ "markdown" ], "type": "object" }, "name": "markdown_to_pdf", "outputSchema": null }, { "description": "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.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "pdfs": { "description": "2+ PDF sources. Each: A file_id from a prior tool result, or a base64-encoded PDF.", "items": { "type": "string" }, "minItems": 2, "type": "array" } }, "required": [ "pdfs" ], "type": "object" }, "name": "merge_pdfs", "outputSchema": null }, { "description": "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.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "format": { "description": "e.g. '{n}' or '{n} / {total}' (default '{n}').", "type": "string" }, "pdf": { "description": "A file_id from a prior tool result, or a base64-encoded PDF.", "type": "string" }, "position": { "description": "Where to place it (default bottom-center).", "type": "string" }, "start": { "description": "First page's number (default 1).", "type": "number" } }, "required": [ "pdf" ], "type": "object" }, "name": "number_pdf", "outputSchema": null }, { "description": "Read a PDF's metadata (title, author, subject, keywords, creator, producer, dates) plus page count and page size, as JSON.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "pdf": { "description": "A file_id from a prior tool result, or a base64-encoded PDF.", "type": "string" } }, "required": [ "pdf" ], "type": "object" }, "name": "pdf_info", "outputSchema": null }, { "description": "List a PDF's form fields (name, type, value, options) as JSON.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "pdf": { "description": "A file_id from a prior tool result, or a base64-encoded PDF.", "type": "string" } }, "required": [ "pdf" ], "type": "object" }, "name": "read_pdf_form", "outputSchema": null }, { "description": "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.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "url": { "description": "The http/https URL to read.", "type": "string" } }, "required": [ "url" ], "type": "object" }, "name": "read_url", "outputSchema": null }, { "description": "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.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "data": { "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.", "propertyNames": { "type": "string" }, "type": "object" }, "template": { "description": "Document template.", "enum": [ "invoice", "receipt", "report" ], "type": "string" } }, "required": [ "template", "data" ], "type": "object" }, "name": "render_document", "outputSchema": null }, { "description": "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.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "html": { "description": "The complete HTML document to render.", "type": "string" } }, "required": [ "html" ], "type": "object" }, "name": "render_html_to_pdf", "outputSchema": null }, { "description": "Rotate every page of a PDF by 90, 180, or 270 degrees (clockwise). Returns a file_id (for chaining) and a ~1h download URL.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "degrees": { "description": "90, 180, or 270.", "type": "number" }, "pdf": { "description": "A file_id from a prior tool result, or a base64-encoded PDF.", "type": "string" } }, "required": [ "pdf", "degrees" ], "type": "object" }, "name": "rotate_pdf", "outputSchema": null }, { "description": "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.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "formats": { "description": "Which representations to return (default: all three).", "items": { "enum": [ "html", "links", "metadata" ], "type": "string" }, "type": "array" }, "url": { "description": "The http/https URL to scrape.", "type": "string" } }, "required": [ "url" ], "type": "object" }, "name": "scrape_page", "outputSchema": null }, { "description": "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.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "pages": { "description": "Pages to keep, e.g. '1,3,5-7'.", "type": "string" }, "pdf": { "description": "A file_id from a prior tool result, or a base64-encoded PDF.", "type": "string" } }, "required": [ "pdf", "pages" ], "type": "object" }, "name": "select_pages", "outputSchema": null }, { "description": "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.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "author": { "type": "string" }, "creator": { "type": "string" }, "keywords": { "anyOf": [ { "type": "string" }, { "items": { "type": "string" }, "type": "array" } ] }, "pdf": { "description": "A file_id from a prior tool result, or a base64-encoded PDF.", "type": "string" }, "subject": { "type": "string" }, "title": { "type": "string" } }, "required": [ "pdf" ], "type": "object" }, "name": "set_pdf_metadata", "outputSchema": null }, { "description": "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.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "pdf": { "description": "A file_id from a prior tool result, or a base64-encoded PDF.", "type": "string" }, "ranges": { "description": "e.g. '1-3;4-6'. Omit to split every page.", "type": "string" } }, "required": [ "pdf" ], "type": "object" }, "name": "split_pdf", "outputSchema": null }, { "description": "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.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "file": { "description": "A base64-encoded .docx, .xlsx or .csv file.", "type": "string" }, "max_words": { "description": "Approximate target length in words.", "exclusiveMinimum": 0, "maximum": 9007199254740991, "type": "integer" }, "pdf": { "description": "A file_id from a prior tool, or a base64-encoded PDF.", "type": "string" }, "text": { "description": "Raw text to summarize directly.", "type": "string" }, "url": { "description": "A public http/https URL to read.", "type": "string" } }, "type": "object" }, "name": "summarize_document", "outputSchema": null }, { "description": "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.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "url": { "description": "The http/https URL to snapshot.", "type": "string" } }, "required": [ "url" ], "type": "object" }, "name": "url_to_pdf", "outputSchema": null }, { "description": "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.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "full_page": { "description": "Capture the full scroll height (default: viewport).", "type": "boolean" }, "url": { "description": "The http/https URL to capture.", "type": "string" } }, "required": [ "url" ], "type": "object" }, "name": "url_to_screenshot", "outputSchema": null }, { "description": "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.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "pdf": { "description": "A file_id from a prior tool result, or a base64-encoded PDF.", "type": "string" }, "text": { "description": "The watermark text.", "type": "string" } }, "required": [ "pdf", "text" ], "type": "object" }, "name": "watermark_pdf", "outputSchema": null } ] }
Verify it yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:52e767f2f184f2a8d5a882eb55ed6fc09979d2d7a2d414dcb960614fd69b9952 | sha256sum