78trust / 100

Tanod Docs

by tanod.dev in Documents & files

MCP serverPassing, checked 8 h ago

Documents: DOCX template fill, Office to PDF, any file to Markdown, PDF to Word, OCR, PDF pipeline.

https://tanod.dev/mcp/docs

Last 30 days

All checks passedSome failedAll failedNot checked
Uptime
100%
Response time
709 ms typical, 843 ms slowest 5%
Last check
8 h ago
Next check
any minute now

How to call it

Add it to any MCP client that supports remote servers.

{
  "mcpServers": {
    "tanod-docs": {
      "type": "http",
      "url": "https://tanod.dev/mcp/docs"
    }
  }
}

39 tools

  • extract_pdf

    sitepeek: extract the text of a public PDF. Input: `url` and optional `max_pages`. Returns pages, extracted_pages, metadata (title, author, producer, created, modified), text (at most 200k characters, `truncated` when cut or when pages were skipped) and `encrypted`. Password-prot

  • ocr_image

    sitepeek: OCR the text in a public image. Input: `url` and optional `lang`. Returns width, height, format, text (lines and paragraphs kept), words and confidence_mean (0-100, mean word confidence). Non-images, oversize images and private addresses are a 422 (not charged). Typical

  • extract_pdf_tables

    pdfpeek: Use when an agent must pull the tables out of a PDF as JSON, CSV or XLSX for analysis. Returns every table of the selected pages (at most 200): `page`, `bbox`, `method`, `header` and `rows` of strings; `format` json (default), csv (a file per table) or xlsx (one workbook

  • convert_bank_statement

    pdfpeek: Use when an agent must turn a PDF bank statement into dated transactions for bookkeeping or import. Returns transactions (`date`, `description`, signed `amount`, `balance`, `row_ok`), opening and closing balance, totals, `currency` and a `confidence` 0-1; every row is ch

  • convert_office_to_pdf

    pdfpeek: Convert a Word, Excel, PowerPoint, OpenDocument or RTF file to PDF. Returns the document as a PDF made by LibreOffice, base64 in `file`, with `format`, `pages` and `active_content_removed`. No options. Input: `url` or `file_base64`, and optional `filename`. Reads DOCX, X

  • convert_excel_to_json

    pdfpeek: Read an Excel workbook into structured rows as JSON, or one CSV file per sheet. Returns the .xlsx/.xlsm workbook read into sheets of string rows. json returns `sheets` (name, columns, row_count, truncated, rows); csv returns one formula-guarded CSV per sheet. A formula c

  • convert_document_to_markdown

    pdfpeek: Use when an agent must read a Word, Excel, PowerPoint, PDF, HTML or EPUB file as Markdown text. Returns the document as Markdown (markitdown): headings, lists, links and tables kept, images skipped. `markdown` is cut at 500,000 characters (`truncated`); `format`, `charac

  • convert_pdf_to_word

    pdfpeek: Use when an agent must convert a PDF to Word (.docx) for editing. Add output=url for a 24 h link. Returns a Word (.docx) file made by LibreOffice, base64 in `file`, plus `pages_without_text` and `warnings`: one positioned text box per line, not reflowable paragraphs. At

  • fill_docx_template

    pdfpeek: Fill the {{placeholders}} of a Word template with JSON data, as DOCX or PDF. Returns the filled document, base64 in `file` (DOCX, or PDF with output=pdf; delivery=url gives a 24 h link), with `placeholders_filled`, `missing` (names with no value, left as written) and `un

  • build_pptx_deck

    pdfpeek: Generate a PowerPoint deck from JSON slides: titles, bullets, speaker notes. Returns the deck as a .pptx, base64 in `file` (output=url gives a 24 h link), with `slides` and `output_bytes`. Input: `slides`, optional deck `title` and optional `theme`. Slides: title, bullet

  • build_xlsx_workbook

    pdfpeek: Build a styled Excel workbook from JSON sheets, columns and rows. Returns the workbook, base64 in `file` (.xlsx; output=url gives a 24 h link), with `sheets`, `rows`, `cells`, `formula_like_strings` and `sheet_summary`. Input: `sheets` and an optional `filename`. Rows ar

  • pdf_merge

    pdfpeek: Use when an agent must combine several PDFs into one file, optionally taking only selected pages of each. Returns one PDF made of 2-20 input PDFs in order, each optionally cut to a page selection (`pages`, e.g. 1-3,5); at most 500 pages out; bookmarks are not carried ove

  • pdf_split

    pdfpeek: Split a PDF by page ranges or every N pages. Returns a PDF split into several files: one per comma part of `ranges` (mode=ranges, e.g. 1-3,4-6,7-) or one every `every` pages (mode=every); at most 50 files. Input: `url` or `pdf_base64`, `mode` and `ranges` or `every`. Mor

  • pdf_extract_pages

    pdfpeek: Extract pages from a PDF. Returns a new PDF with the selected pages in the order given (repeats allowed). Pages are 1-based: N, N-M, N- (to the end), -M and last, comma separated; an out-of-range or reversed part is a 422 page_out_of_range (never clamped). Pages not sele

  • pdf_remove_pages

    pdfpeek: Remove pages from a PDF. Returns the PDF without the selected pages (1-based: N, N-M, N-, -M, last); removed pages and everything only they reference are really gone. Removing every page is a 422 empty_result. Input: `url` or `pdf_base64` and `pages`. Output: base64 `fil

  • pdf_rotate

    pdfpeek: Rotate the pages of a PDF by 90, 180 or 270 degrees. Returns the PDF with its pages (or a `pages` selection) rotated clockwise by `angle` (90, 180, 270 or -90), added to each page's current rotation. Input: `url` or `pdf_base64`, `angle` and optional `pages`. Output: bas

  • pdf_compress

    pdfpeek: Compress a PDF to shrink its file size. Returns a smaller PDF: `level` lossless (structure only), recommended (images re-encoded as JPEG q75 at most 150 dpi) or extreme (q50, 96 dpi), with optional `image_quality` and `max_image_dpi`; bytes_before, bytes_after and saved_

  • pdf_to_images

    pdfpeek: Convert PDF pages to PNG or JPEG images. Returns each selected page rendered to PNG or JPEG (PDFium, no JavaScript) at `dpi` 36-300, optionally grayscale; at most 20 pages per call (a page over 36 megapixels at a lower dpi, reported per image). Input: `url` or `pdf_base6

  • pdf_rasterize

    pdfpeek: Rasterize a PDF: every page rendered to an image, rebuilt as one PDF. Returns a new image-only PDF: each selected page rendered (PDFium, no JavaScript) at `dpi` 36-300, optional grayscale, re-embedded as JPEG or PNG; no selectable text, forms or active content; at most 2

  • images_to_pdf

    pdfpeek: Convert 1-30 images into a PDF. Returns one PDF page per image (PNG, JPEG or WebP; JPEGs embedded byte for byte, EXIF orientation honoured, transparency flattened on white), sized to each image or to A4 / letter with `orientation` and `margin`; at most 30 images, each at

  • pdf_watermark

    pdfpeek: Add a text watermark to a PDF. Returns the PDF with a text watermark on every page (or a `pages` selection): Latin text in one of 6 built-in fonts, size, opacity, angle, one of 9 positions, colour, over or under the content; upright on rotated pages. The original content

  • pdf_page_numbers

    pdfpeek: Add page numbers to a PDF. Returns the PDF with page numbers in a `format` such as "Page {n} of {N}" at one of 6 positions, with font, size, colour, opacity, margin, `start_number` and a `pages` selection (e.g. 2- skips a cover; numbering counts the stamped pages). Input

  • pdf_protect

    pdfpeek: Password-protect a PDF. Returns the PDF encrypted with AES-256: `user_password` opens it; `owner_password` lifts the `permissions` (all allowed by default; without an owner password a random one nobody knows is used). Input: `url` or `pdf_base64`, `user_password`, option

  • pdf_unlock

    pdfpeek: Unlock a password-protected PDF. Returns the PDF decrypted, only with a password that opens it (the user or owner password, or "" for a file restricted by an owner password only), with `opened_with`. A wrong password is a 422 invalid_password, an unencrypted file a 422 n

  • pdf_metadata

    pdfpeek: Read, edit or strip the metadata of a PDF. Returns a PDF's document metadata (title, author, subject, keywords, creator, producer, created and modified as ISO 8601, PDF version, XMP present); with `set` it writes fields ("" deletes one) and with `strip` removes all docum

  • html_to_pdf

    pdfpeek: Convert a web page URL to PDF. Returns a public web page printed to PDF in a sandboxed headless browser: `paper` (a4, letter, legal, a3, a5, tabloid), `landscape`, `margin_mm`, `print_background`, `scale` and `wait_ms` after load. The page can reach only its own host (ot

  • pdf_ocr

    pdfpeek: OCR a scanned PDF into a searchable PDF. Returns a searchable PDF: tesseract OCR of the selected pages as an invisible text layer over the unchanged originals, plus the recognised `text` (at most 100,000 characters); `skip_text` (default true) leaves pages that have text

  • pdf_inspect

    pdfpeek: Inspect a PDF: page sizes, text layer or scan, forms, attachments, JavaScript, bookmarks. Returns a report on one PDF (nothing changed): page count and version; per page the size in points (with the paper name), rotation, text layer or not and whether it looks scanned (n

  • pdf_reorder_pages

    pdfpeek: Reorder, repeat or drop the pages of a PDF from a list of page numbers. Returns a new PDF made of the pages in `order` (1-based, at most 500), in that order: a page listed twice is copied, one not listed is left out (listed in the reply). Like extract-pages: bookmarks, f

  • pdf_crop

    pdfpeek: Crop the margins of a PDF. Returns the PDF with every page's (or a `pages` selection's) crop box set inside the page by `top`, `right`, `bottom`, `left` margins in points or percent of the page as displayed; new sizes listed. The content outside the box stays in the file

  • pdf_resize

    pdfpeek: Resize PDF pages to A4, Letter, Legal or a custom size. Returns pages scaled to A4, Letter, Legal or a custom width x height (pt, mm, in): fit (whole page inside, centred, aspect ratio kept), fill (covered, overflow cut) or stretch; orientation auto keeps each page's. Sc

  • pdf_outline

    pdfpeek: Read the bookmarks of a PDF as a nested tree. Returns the bookmarks as a nested tree of {title, page, open, children}; page is the 1-based target (null: nowhere or another file). At most 1,000 bookmarks and 8 levels (`truncated`); named destinations are resolved. Input:

  • pdf_set_outline

    pdfpeek: Write the bookmarks of a PDF from a nested tree. Returns the PDF with its bookmarks replaced by the `outline` tree {title, page, open?, children?} (at most 1,000 bookmarks, 8 levels; [] removes them all); each opens its page fit to the window. Input: `url` or `pdf_base64

  • pdf_form_fields

    pdfpeek: List the form fields of a PDF. Returns the form's fields in reading order: name (for fill-form), type (text, checkbox, radio, choice, button, signature), value, required, read_only, page, tooltip as description, options (and labels) of radio and choice fields, max_length

  • pdf_fill_form

    pdfpeek: Fill the form fields of a PDF from a JSON object. Returns the PDF with its form filled from `fields` (names from form-fields): strings or numbers, true / false for checkboxes, an option for radio and choice fields (a list for multi-select), null clears. Appearances are d

  • pdf_flatten

    pdfpeek: Flatten the form fields and annotations of a PDF into the page content. Returns the PDF with form fields and annotations merged into the pages (`mode` all, screen or print; annotations a mode does not flatten are removed). Fields with a value but no appearance are drawn

  • pdf_repair

    pdfpeek: Repair a damaged PDF. Returns the PDF opened with qpdf's recovery (bad or missing xref, cut-off file, junk before the header) and written again, with qpdf's `warnings`; `linearize` also writes it for fast web view. Structure, not damaged page data. Input: `url` or `pdf_b

  • pdf_attachments

    pdfpeek: List, extract or add the file attachments of a PDF. Returns the PDF's file attachments by `action`: list (default: name, filename, media type, size, description), extract (one by `name`, base64, at most 10 MB) or add (`file_base64` as `name`, at most 5 MB; the existing o

  • pdf_pipeline

    pdfpeek: Run up to 10 PDF operations in sequence on one PDF in a single call. Returns a PDF put through up to 10 `steps` [{op, params}] in order, the output of each the input of the next: rotate, remove-pages, extract-pages, reorder, crop, resize, set-outline, flatten, repair (pa

Security scan

  • No findings. We scan names, descriptions and tool definitions for hidden instructions and other prompt-injection patterns.

Recent checks

WhenResultHTTPTime
8 h agoPassed200439 ms
18 h agoPassed200280 ms
26 h agoPassed200358 ms
36 h agoPassed200709 ms
44 h agoPassed200843 ms
2 days agoPassed200981 ms
3 days agoPassed200806 ms