{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_75x3ufsdqdh4","handle":"preteworks-api","url":"https://wellknown.network/agents/preteworks-api","links":{"self":"https://wellknown.network/agents/preteworks-api/record.json","html":"https://wellknown.network/agents/preteworks-api","markdown":"https://wellknown.network/agents/preteworks-api/record.md","api":"https://wellknown.network/api/v1/agents/preteworks-api","status":"https://wellknown.network/api/v1/agents/preteworks-api/status","claim":"https://wellknown.network/agents/preteworks-api/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/preteworks-api/claim.json","badge":"https://wellknown.network/agents/preteworks-api/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/preteworks-api/history","tools":"https://wellknown.network/api/v1/agents/preteworks-api/tools"},"ard":{"identifier":"urn:air:api.preteworks.com:server:preteworks-api","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"PreteWorks API","summary":"One key for the document-to-web pipeline: scrape, AI-extract, build & edit PDFs, fill forms.","description":"One key for the document-to-web pipeline: scrape, AI-extract, build & edit PDFs, fill forms.","publisher":{"name":"com.preteworks","url":null},"homepage":"https://api.preteworks.com","repository":null,"version":"1.0.2","license":null,"protocols":["mcp"],"tags":[],"pricing":null,"endpoints":[{"url":"https://api.preteworks.com/mcp","type":"mcp_streamable_http","auth":null,"probeable":true}],"skills":null,"tools":null,"extra":{"updatedAt":"2026-09-08T03:05:16.052887Z","publishedAt":"2026-09-08T03:05:16.052887Z","registryName":"com.preteworks/preteworks-api"},"attribution":{"kind":"mcp_registry","name":"mcp_registry","summary":"mcp_registry","version":"mcp_registry","description":"mcp_registry","homepageUrl":"mcp_registry","publisherName":"mcp_registry"}},"derived":{"capabilities":[{"slug":"content.writing","name":"Writing & Editing","confidence":1,"provenance":"derived"},{"slug":"documents.conversion","name":"Document Conversion","confidence":1,"provenance":"derived"},{"slug":"documents.spreadsheets","name":"Spreadsheets","confidence":1,"provenance":"derived"},{"slug":"dev.ci-cd","name":"CI/CD & Deploy","confidence":0.938,"provenance":"derived"},{"slug":"productivity.crm","name":"CRM & Sales","confidence":0.938,"provenance":"derived"},{"slug":"content.seo","name":"SEO","confidence":0.525,"provenance":"derived"},{"slug":"ai.prompting","name":"Prompt Management","confidence":0.525,"provenance":"derived"},{"slug":"documents.invoice-processing","name":"Invoice Processing","confidence":0.51,"provenance":"derived"}],"categories":["ai","content","dev","documents","productivity"],"language":"en"},"observed":{"status":"live","statusReason":"Responded 3h ago.","lastOkAt":"2026-10-10T01:24:26.987Z","lastProbedAt":"2026-10-10T01:24:26.987Z","statusComputedAt":"2026-10-10T01:26:02.429Z","reliability30d":{"probes":109,"successRate":1,"p50Ms":911,"basis":"service","measures":{"availability":"availability","latency":"response time","tools":"tool surface observed","summary":"Checks reached the service itself."},"checks":{"total":109,"ok":109,"authBoundaryOk":0,"serviceOk":109,"note":"Counted from the observation rows for the window, checks of the server only (HTTP, A2A card, MCP initialize). ok = authBoundaryOk + serviceOk. `probes` is the sum of daily rollups and includes registry checks, so it can differ from `total`."}},"latestObservations":[{"at":"2026-10-10T01:24:26.987Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":762,"error":null,"detail":{"tools":[{"name":"render_html_to_pdf","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 ~"},{"name":"number_pdf","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 {"},{"name":"pdf_info","description":"Read a PDF's metadata (title, author, subject, keywords, creator, producer, dates) plus page count and page size, as JSON."},{"name":"set_pdf_metadata","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."},{"name":"render_document","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 "},{"name":"merge_pdfs","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 downloa"},{"name":"select_pages","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."},{"name":"rotate_pdf","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."},{"name":"watermark_pdf","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."},{"name":"extract_pdf_text","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 inlin"},{"name":"images_to_pdf","description":"Combine PNG/JPEG images (base64) into a PDF, one image per page. Returns a file_id and a ~1h URL."},{"name":"markdown_to_pdf","description":"Render Markdown to a clean, print-styled PDF. Returns a file_id and a ~1h URL."},{"name":"split_pdf","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."},{"name":"read_pdf_form","description":"List a PDF's form fields (name, type, value, options) as JSON."},{"name":"fill_pdf_form","description":"Fill a PDF's form fields from a map of field -> value; optionally flatten. Returns a file_id and a ~1h URL."},{"name":"file_to_markdown","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 b"},{"name":"data_to_spreadsheet","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). "},{"name":"batch_scrape","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."},{"name":"crawl_site","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."},{"name":"map_site","description":"Discover the same-origin URLs linked from a page — the site map, with no page content fetched. Private/internal hosts are blocked."},{"name":"extract_data","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 'f"},{"name":"summarize_document","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"},{"name":"answer_from_document","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' (base"},{"name":"docx_to_text","description":"Extract the text of a .docx document (base64). Returns the text inline."},{"name":"docx_to_pdf","description":"Convert a .docx document (base64) to a PDF. Returns a file_id and a ~1h URL."},{"name":"read_url","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/intern"},{"name":"url_to_pdf","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"},{"name":"url_to_screenshot","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."},{"name":"scrape_page","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 re"}],"toolCount":29,"toolsHash":"23433c144e9ca60e54ea52bbfc5ee213c070fc8012fd4cdb7eb4537740d3f947","serverName":"preteworks","capabilities":["tools"],"serverVersion":"1.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T18:25:50.578Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":1167,"error":null,"detail":{"tools":[{"name":"render_html_to_pdf","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 ~"},{"name":"number_pdf","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 {"},{"name":"pdf_info","description":"Read a PDF's metadata (title, author, subject, keywords, creator, producer, dates) plus page count and page size, as JSON."},{"name":"set_pdf_metadata","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."},{"name":"render_document","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 "},{"name":"merge_pdfs","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 downloa"},{"name":"select_pages","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."},{"name":"rotate_pdf","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."},{"name":"watermark_pdf","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."},{"name":"extract_pdf_text","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 inlin"},{"name":"images_to_pdf","description":"Combine PNG/JPEG images (base64) into a PDF, one image per page. Returns a file_id and a ~1h URL."},{"name":"markdown_to_pdf","description":"Render Markdown to a clean, print-styled PDF. Returns a file_id and a ~1h URL."},{"name":"split_pdf","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."},{"name":"read_pdf_form","description":"List a PDF's form fields (name, type, value, options) as JSON."},{"name":"fill_pdf_form","description":"Fill a PDF's form fields from a map of field -> value; optionally flatten. Returns a file_id and a ~1h URL."},{"name":"file_to_markdown","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 b"},{"name":"data_to_spreadsheet","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). "},{"name":"batch_scrape","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."},{"name":"crawl_site","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."},{"name":"map_site","description":"Discover the same-origin URLs linked from a page — the site map, with no page content fetched. Private/internal hosts are blocked."},{"name":"extract_data","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 'f"},{"name":"summarize_document","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"},{"name":"answer_from_document","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' (base"},{"name":"docx_to_text","description":"Extract the text of a .docx document (base64). Returns the text inline."},{"name":"docx_to_pdf","description":"Convert a .docx document (base64) to a PDF. Returns a file_id and a ~1h URL."},{"name":"read_url","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/intern"},{"name":"url_to_pdf","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"},{"name":"url_to_screenshot","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."},{"name":"scrape_page","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 re"}],"toolCount":29,"toolsHash":"23433c144e9ca60e54ea52bbfc5ee213c070fc8012fd4cdb7eb4537740d3f947","serverName":"preteworks","capabilities":["tools"],"serverVersion":"1.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T11:27:18.094Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":968,"error":null,"detail":{"tools":[{"name":"render_html_to_pdf","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 ~"},{"name":"number_pdf","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 {"},{"name":"pdf_info","description":"Read a PDF's metadata (title, author, subject, keywords, creator, producer, dates) plus page count and page size, as JSON."},{"name":"set_pdf_metadata","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."},{"name":"render_document","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 "},{"name":"merge_pdfs","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 downloa"},{"name":"select_pages","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."},{"name":"rotate_pdf","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."},{"name":"watermark_pdf","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."},{"name":"extract_pdf_text","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 inlin"},{"name":"images_to_pdf","description":"Combine PNG/JPEG images (base64) into a PDF, one image per page. Returns a file_id and a ~1h URL."},{"name":"markdown_to_pdf","description":"Render Markdown to a clean, print-styled PDF. Returns a file_id and a ~1h URL."},{"name":"split_pdf","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."},{"name":"read_pdf_form","description":"List a PDF's form fields (name, type, value, options) as JSON."},{"name":"fill_pdf_form","description":"Fill a PDF's form fields from a map of field -> value; optionally flatten. Returns a file_id and a ~1h URL."},{"name":"file_to_markdown","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 b"},{"name":"data_to_spreadsheet","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). "},{"name":"batch_scrape","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."},{"name":"crawl_site","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."},{"name":"map_site","description":"Discover the same-origin URLs linked from a page — the site map, with no page content fetched. Private/internal hosts are blocked."},{"name":"extract_data","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 'f"},{"name":"summarize_document","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"},{"name":"answer_from_document","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' (base"},{"name":"docx_to_text","description":"Extract the text of a .docx document (base64). Returns the text inline."},{"name":"docx_to_pdf","description":"Convert a .docx document (base64) to a PDF. Returns a file_id and a ~1h URL."},{"name":"read_url","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/intern"},{"name":"url_to_pdf","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"},{"name":"url_to_screenshot","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."},{"name":"scrape_page","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 re"}],"toolCount":29,"toolsHash":"23433c144e9ca60e54ea52bbfc5ee213c070fc8012fd4cdb7eb4537740d3f947","serverName":"preteworks","capabilities":["tools"],"serverVersion":"1.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T05:25:18.724Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":866,"error":null,"detail":{"tools":[{"name":"render_html_to_pdf","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 ~"},{"name":"number_pdf","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 {"},{"name":"pdf_info","description":"Read a PDF's metadata (title, author, subject, keywords, creator, producer, dates) plus page count and page size, as JSON."},{"name":"set_pdf_metadata","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."},{"name":"render_document","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 "},{"name":"merge_pdfs","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 downloa"},{"name":"select_pages","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."},{"name":"rotate_pdf","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."},{"name":"watermark_pdf","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."},{"name":"extract_pdf_text","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 inlin"},{"name":"images_to_pdf","description":"Combine PNG/JPEG images (base64) into a PDF, one image per page. Returns a file_id and a ~1h URL."},{"name":"markdown_to_pdf","description":"Render Markdown to a clean, print-styled PDF. Returns a file_id and a ~1h URL."},{"name":"split_pdf","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."},{"name":"read_pdf_form","description":"List a PDF's form fields (name, type, value, options) as JSON."},{"name":"fill_pdf_form","description":"Fill a PDF's form fields from a map of field -> value; optionally flatten. Returns a file_id and a ~1h URL."},{"name":"file_to_markdown","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 b"},{"name":"data_to_spreadsheet","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). "},{"name":"batch_scrape","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."},{"name":"crawl_site","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."},{"name":"map_site","description":"Discover the same-origin URLs linked from a page — the site map, with no page content fetched. Private/internal hosts are blocked."},{"name":"extract_data","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 'f"},{"name":"summarize_document","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"},{"name":"answer_from_document","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' (base"},{"name":"docx_to_text","description":"Extract the text of a .docx document (base64). Returns the text inline."},{"name":"docx_to_pdf","description":"Convert a .docx document (base64) to a PDF. Returns a file_id and a ~1h URL."},{"name":"read_url","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/intern"},{"name":"url_to_pdf","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"},{"name":"url_to_screenshot","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."},{"name":"scrape_page","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 re"}],"toolCount":29,"toolsHash":"23433c144e9ca60e54ea52bbfc5ee213c070fc8012fd4cdb7eb4537740d3f947","serverName":"preteworks","capabilities":["tools"],"serverVersion":"1.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T22:23:46.932Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":1151,"error":null,"detail":{"tools":[{"name":"render_html_to_pdf","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 ~"},{"name":"number_pdf","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 {"},{"name":"pdf_info","description":"Read a PDF's metadata (title, author, subject, keywords, creator, producer, dates) plus page count and page size, as JSON."},{"name":"set_pdf_metadata","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."},{"name":"render_document","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 "},{"name":"merge_pdfs","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 downloa"},{"name":"select_pages","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."},{"name":"rotate_pdf","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."},{"name":"watermark_pdf","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."},{"name":"extract_pdf_text","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 inlin"},{"name":"images_to_pdf","description":"Combine PNG/JPEG images (base64) into a PDF, one image per page. Returns a file_id and a ~1h URL."},{"name":"markdown_to_pdf","description":"Render Markdown to a clean, print-styled PDF. Returns a file_id and a ~1h URL."},{"name":"split_pdf","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."},{"name":"read_pdf_form","description":"List a PDF's form fields (name, type, value, options) as JSON."},{"name":"fill_pdf_form","description":"Fill a PDF's form fields from a map of field -> value; optionally flatten. Returns a file_id and a ~1h URL."},{"name":"file_to_markdown","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 b"},{"name":"data_to_spreadsheet","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). "},{"name":"batch_scrape","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."},{"name":"crawl_site","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."},{"name":"map_site","description":"Discover the same-origin URLs linked from a page — the site map, with no page content fetched. Private/internal hosts are blocked."},{"name":"extract_data","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 'f"},{"name":"summarize_document","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"},{"name":"answer_from_document","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' (base"},{"name":"docx_to_text","description":"Extract the text of a .docx document (base64). Returns the text inline."},{"name":"docx_to_pdf","description":"Convert a .docx document (base64) to a PDF. Returns a file_id and a ~1h URL."},{"name":"read_url","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/intern"},{"name":"url_to_pdf","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"},{"name":"url_to_screenshot","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."},{"name":"scrape_page","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 re"}],"toolCount":29,"toolsHash":"23433c144e9ca60e54ea52bbfc5ee213c070fc8012fd4cdb7eb4537740d3f947","serverName":"preteworks","capabilities":["tools"],"serverVersion":"1.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T15:23:54.887Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":1364,"error":null,"detail":{"tools":[{"name":"render_html_to_pdf","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 ~"},{"name":"number_pdf","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 {"},{"name":"pdf_info","description":"Read a PDF's metadata (title, author, subject, keywords, creator, producer, dates) plus page count and page size, as JSON."},{"name":"set_pdf_metadata","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."},{"name":"render_document","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 "},{"name":"merge_pdfs","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 downloa"},{"name":"select_pages","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."},{"name":"rotate_pdf","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."},{"name":"watermark_pdf","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."},{"name":"extract_pdf_text","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 inlin"},{"name":"images_to_pdf","description":"Combine PNG/JPEG images (base64) into a PDF, one image per page. Returns a file_id and a ~1h URL."},{"name":"markdown_to_pdf","description":"Render Markdown to a clean, print-styled PDF. Returns a file_id and a ~1h URL."},{"name":"split_pdf","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."},{"name":"read_pdf_form","description":"List a PDF's form fields (name, type, value, options) as JSON."},{"name":"fill_pdf_form","description":"Fill a PDF's form fields from a map of field -> value; optionally flatten. Returns a file_id and a ~1h URL."},{"name":"file_to_markdown","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 b"},{"name":"data_to_spreadsheet","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). "},{"name":"batch_scrape","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."},{"name":"crawl_site","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."},{"name":"map_site","description":"Discover the same-origin URLs linked from a page — the site map, with no page content fetched. Private/internal hosts are blocked."},{"name":"extract_data","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 'f"},{"name":"summarize_document","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"},{"name":"answer_from_document","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' (base"},{"name":"docx_to_text","description":"Extract the text of a .docx document (base64). Returns the text inline."},{"name":"docx_to_pdf","description":"Convert a .docx document (base64) to a PDF. Returns a file_id and a ~1h URL."},{"name":"read_url","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/intern"},{"name":"url_to_pdf","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"},{"name":"url_to_screenshot","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."},{"name":"scrape_page","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 re"}],"toolCount":29,"toolsHash":"23433c144e9ca60e54ea52bbfc5ee213c070fc8012fd4cdb7eb4537740d3f947","serverName":"preteworks","capabilities":["tools"],"serverVersion":"1.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T08:29:52.496Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":1104,"error":null,"detail":{"tools":[{"name":"render_html_to_pdf","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 ~"},{"name":"number_pdf","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 {"},{"name":"pdf_info","description":"Read a PDF's metadata (title, author, subject, keywords, creator, producer, dates) plus page count and page size, as JSON."},{"name":"set_pdf_metadata","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."},{"name":"render_document","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 "},{"name":"merge_pdfs","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 downloa"},{"name":"select_pages","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."},{"name":"rotate_pdf","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."},{"name":"watermark_pdf","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."},{"name":"extract_pdf_text","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 inlin"},{"name":"images_to_pdf","description":"Combine PNG/JPEG images (base64) into a PDF, one image per page. Returns a file_id and a ~1h URL."},{"name":"markdown_to_pdf","description":"Render Markdown to a clean, print-styled PDF. Returns a file_id and a ~1h URL."},{"name":"split_pdf","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."},{"name":"read_pdf_form","description":"List a PDF's form fields (name, type, value, options) as JSON."},{"name":"fill_pdf_form","description":"Fill a PDF's form fields from a map of field -> value; optionally flatten. Returns a file_id and a ~1h URL."},{"name":"file_to_markdown","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 b"},{"name":"data_to_spreadsheet","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). "},{"name":"batch_scrape","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."},{"name":"crawl_site","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."},{"name":"map_site","description":"Discover the same-origin URLs linked from a page — the site map, with no page content fetched. Private/internal hosts are blocked."},{"name":"extract_data","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 'f"},{"name":"summarize_document","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"},{"name":"answer_from_document","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' (base"},{"name":"docx_to_text","description":"Extract the text of a .docx document (base64). Returns the text inline."},{"name":"docx_to_pdf","description":"Convert a .docx document (base64) to a PDF. Returns a file_id and a ~1h URL."},{"name":"read_url","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/intern"},{"name":"url_to_pdf","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"},{"name":"url_to_screenshot","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."},{"name":"scrape_page","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 re"}],"toolCount":29,"toolsHash":"23433c144e9ca60e54ea52bbfc5ee213c070fc8012fd4cdb7eb4537740d3f947","serverName":"preteworks","capabilities":["tools"],"serverVersion":"1.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T02:22:02.203Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":909,"error":null,"detail":{"tools":[{"name":"render_html_to_pdf","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 ~"},{"name":"number_pdf","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 {"},{"name":"pdf_info","description":"Read a PDF's metadata (title, author, subject, keywords, creator, producer, dates) plus page count and page size, as JSON."},{"name":"set_pdf_metadata","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."},{"name":"render_document","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 "},{"name":"merge_pdfs","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 downloa"},{"name":"select_pages","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."},{"name":"rotate_pdf","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."},{"name":"watermark_pdf","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."},{"name":"extract_pdf_text","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 inlin"},{"name":"images_to_pdf","description":"Combine PNG/JPEG images (base64) into a PDF, one image per page. Returns a file_id and a ~1h URL."},{"name":"markdown_to_pdf","description":"Render Markdown to a clean, print-styled PDF. Returns a file_id and a ~1h URL."},{"name":"split_pdf","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."},{"name":"read_pdf_form","description":"List a PDF's form fields (name, type, value, options) as JSON."},{"name":"fill_pdf_form","description":"Fill a PDF's form fields from a map of field -> value; optionally flatten. Returns a file_id and a ~1h URL."},{"name":"file_to_markdown","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 b"},{"name":"data_to_spreadsheet","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). "},{"name":"batch_scrape","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."},{"name":"crawl_site","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."},{"name":"map_site","description":"Discover the same-origin URLs linked from a page — the site map, with no page content fetched. Private/internal hosts are blocked."},{"name":"extract_data","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 'f"},{"name":"summarize_document","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"},{"name":"answer_from_document","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' (base"},{"name":"docx_to_text","description":"Extract the text of a .docx document (base64). Returns the text inline."},{"name":"docx_to_pdf","description":"Convert a .docx document (base64) to a PDF. Returns a file_id and a ~1h URL."},{"name":"read_url","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/intern"},{"name":"url_to_pdf","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"},{"name":"url_to_screenshot","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."},{"name":"scrape_page","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 re"}],"toolCount":29,"toolsHash":"23433c144e9ca60e54ea52bbfc5ee213c070fc8012fd4cdb7eb4537740d3f947","serverName":"preteworks","capabilities":["tools"],"serverVersion":"1.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-07T19:24:38.462Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":821,"error":null,"detail":{"tools":[{"name":"render_html_to_pdf","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 ~"},{"name":"number_pdf","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 {"},{"name":"pdf_info","description":"Read a PDF's metadata (title, author, subject, keywords, creator, producer, dates) plus page count and page size, as JSON."},{"name":"set_pdf_metadata","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."},{"name":"render_document","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 "},{"name":"merge_pdfs","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 downloa"},{"name":"select_pages","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."},{"name":"rotate_pdf","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."},{"name":"watermark_pdf","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."},{"name":"extract_pdf_text","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 inlin"},{"name":"images_to_pdf","description":"Combine PNG/JPEG images (base64) into a PDF, one image per page. Returns a file_id and a ~1h URL."},{"name":"markdown_to_pdf","description":"Render Markdown to a clean, print-styled PDF. Returns a file_id and a ~1h URL."},{"name":"split_pdf","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."},{"name":"read_pdf_form","description":"List a PDF's form fields (name, type, value, options) as JSON."},{"name":"fill_pdf_form","description":"Fill a PDF's form fields from a map of field -> value; optionally flatten. Returns a file_id and a ~1h URL."},{"name":"file_to_markdown","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 b"},{"name":"data_to_spreadsheet","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). "},{"name":"batch_scrape","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."},{"name":"crawl_site","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."},{"name":"map_site","description":"Discover the same-origin URLs linked from a page — the site map, with no page content fetched. Private/internal hosts are blocked."},{"name":"extract_data","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 'f"},{"name":"summarize_document","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"},{"name":"answer_from_document","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' (base"},{"name":"docx_to_text","description":"Extract the text of a .docx document (base64). Returns the text inline."},{"name":"docx_to_pdf","description":"Convert a .docx document (base64) to a PDF. Returns a file_id and a ~1h URL."},{"name":"read_url","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/intern"},{"name":"url_to_pdf","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"},{"name":"url_to_screenshot","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."},{"name":"scrape_page","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 re"}],"toolCount":29,"toolsHash":"23433c144e9ca60e54ea52bbfc5ee213c070fc8012fd4cdb7eb4537740d3f947","serverName":"preteworks","capabilities":["tools"],"serverVersion":"1.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-07T13:26:36.460Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":789,"error":null,"detail":{"tools":[{"name":"render_html_to_pdf","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 ~"},{"name":"number_pdf","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 {"},{"name":"pdf_info","description":"Read a PDF's metadata (title, author, subject, keywords, creator, producer, dates) plus page count and page size, as JSON."},{"name":"set_pdf_metadata","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."},{"name":"render_document","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 "},{"name":"merge_pdfs","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 downloa"},{"name":"select_pages","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."},{"name":"rotate_pdf","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."},{"name":"watermark_pdf","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."},{"name":"extract_pdf_text","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 inlin"},{"name":"images_to_pdf","description":"Combine PNG/JPEG images (base64) into a PDF, one image per page. Returns a file_id and a ~1h URL."},{"name":"markdown_to_pdf","description":"Render Markdown to a clean, print-styled PDF. Returns a file_id and a ~1h URL."},{"name":"split_pdf","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."},{"name":"read_pdf_form","description":"List a PDF's form fields (name, type, value, options) as JSON."},{"name":"fill_pdf_form","description":"Fill a PDF's form fields from a map of field -> value; optionally flatten. Returns a file_id and a ~1h URL."},{"name":"file_to_markdown","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 b"},{"name":"data_to_spreadsheet","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). "},{"name":"batch_scrape","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."},{"name":"crawl_site","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."},{"name":"map_site","description":"Discover the same-origin URLs linked from a page — the site map, with no page content fetched. Private/internal hosts are blocked."},{"name":"extract_data","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 'f"},{"name":"summarize_document","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"},{"name":"answer_from_document","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' (base"},{"name":"docx_to_text","description":"Extract the text of a .docx document (base64). Returns the text inline."},{"name":"docx_to_pdf","description":"Convert a .docx document (base64) to a PDF. Returns a file_id and a ~1h URL."},{"name":"read_url","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/intern"},{"name":"url_to_pdf","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"},{"name":"url_to_screenshot","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."},{"name":"scrape_page","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 re"}],"toolCount":29,"toolsHash":"23433c144e9ca60e54ea52bbfc5ee213c070fc8012fd4cdb7eb4537740d3f947","serverName":"preteworks","capabilities":["tools"],"serverVersion":"1.1.0","protocolVersion":"2025-06-18"}}],"tools":[{"name":"render_html_to_pdf","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 ~"},{"name":"number_pdf","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 {"},{"name":"pdf_info","description":"Read a PDF's metadata (title, author, subject, keywords, creator, producer, dates) plus page count and page size, as JSON."},{"name":"set_pdf_metadata","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."},{"name":"render_document","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 "},{"name":"merge_pdfs","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 downloa"},{"name":"select_pages","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."},{"name":"rotate_pdf","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."},{"name":"watermark_pdf","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."},{"name":"extract_pdf_text","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 inlin"},{"name":"images_to_pdf","description":"Combine PNG/JPEG images (base64) into a PDF, one image per page. Returns a file_id and a ~1h URL."},{"name":"markdown_to_pdf","description":"Render Markdown to a clean, print-styled PDF. Returns a file_id and a ~1h URL."},{"name":"split_pdf","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."},{"name":"read_pdf_form","description":"List a PDF's form fields (name, type, value, options) as JSON."},{"name":"fill_pdf_form","description":"Fill a PDF's form fields from a map of field -> value; optionally flatten. Returns a file_id and a ~1h URL."},{"name":"file_to_markdown","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 b"},{"name":"data_to_spreadsheet","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). "},{"name":"batch_scrape","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."},{"name":"crawl_site","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."},{"name":"map_site","description":"Discover the same-origin URLs linked from a page — the site map, with no page content fetched. Private/internal hosts are blocked."},{"name":"extract_data","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 'f"},{"name":"summarize_document","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"},{"name":"answer_from_document","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' (base"},{"name":"docx_to_text","description":"Extract the text of a .docx document (base64). Returns the text inline."},{"name":"docx_to_pdf","description":"Convert a .docx document (base64) to a PDF. Returns a file_id and a ~1h URL."},{"name":"read_url","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/intern"},{"name":"url_to_pdf","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"},{"name":"url_to_screenshot","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."},{"name":"scrape_page","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 re"}],"package":null,"toolSurface":{"id":"ts_knqn8vhw4zbs","endpointId":"ep_868u3tdqun6j","hash":"23433c144e9ca60e54ea52bbfc5ee213c070fc8012fd4cdb7eb4537740d3f947","toolCount":29,"serverName":"preteworks","serverVersion":"1.1.0","protocolVersion":"2025-06-18","firstSeenAt":"2026-09-12T16:25:38.165Z","lastSeenAt":"2026-10-10T01:24:26.995Z","observations":101,"toolNames":["render_html_to_pdf","number_pdf","pdf_info","set_pdf_metadata","render_document","merge_pdfs","select_pages","rotate_pdf","watermark_pdf","extract_pdf_text","images_to_pdf","markdown_to_pdf","split_pdf","read_pdf_form","fill_pdf_form","file_to_markdown","data_to_spreadsheet","batch_scrape","crawl_site","map_site","extract_data","summarize_document","answer_from_document","docx_to_text","docx_to_pdf","read_url","url_to_pdf","url_to_screenshot","scrape_page"],"distinctSurfaces":1},"endpointFacts":[{"id":"ep_868u3tdqun6j","url":"https://api.preteworks.com/mcp","type":"mcp_streamable_http","factsCheckedAt":"2026-10-09T05:25:18.736Z","auth":{"observedAt":"2026-10-09T05:25:19.093Z","authRequired":false,"scheme":null,"resourceMetadata":null,"authorizationServer":null,"conformance":{"dpop":false,"rfc8414":false,"rfc9728":false,"pkceS256":false,"clientIdMetadataDocument":false,"dynamicClientRegistration":false}},"tls":{"observedAt":"2026-10-09T05:25:19.102Z","protocol":"TLSv1.3","chainValid":true,"chainError":null,"hostMatches":true,"subject":"preteworks.com","issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validFrom":"2026-09-02T02:59:58.000Z","validTo":"2026-12-01T03:59:55.000Z","daysToExpiry":51,"sanCount":3,"fingerprint256":"FE:47:DD:FB:D3:85:33:AC:C9:C9:78:B1:27:02:BB:93:6B:8E:3B:4D:0B:B0:6F:BD:14:63:14:D2:55:3B:FD:20"}}]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"mcp_registry","key":"com.preteworks/preteworks-api","url":"https://registry.modelcontextprotocol.io/v0/servers/com.preteworks%2Fpreteworks-api","firstSeenAt":"2026-09-07T18:19:42.602Z","fetchedAt":"2026-10-09T10:19:02.270Z","normalizedAt":"2026-10-09T10:19:02.270Z"}]},"firstSeenAt":"2026-09-07T18:19:42.602Z","updatedAt":"2026-10-10T01:26:50.001Z"}