Skip to main content
Glama
604,254 tools. Updated 2026-09-23 18:07

"Tools and Methods for Creating PDF Files" matching MCP tools:

  • Creates a new Word (.docx) document at `path` with the given text content (and an optional title rendered as the heading). Requires confirm=true — called without it, returns a preview of what will be written instead of creating the file. The path must be somewhere Local MCP can write; Desktop/Documents/Downloads may need a one-time Files-and-Folders grant (System Settings → Privacy & Security → Files and Folders). Returns {created, path}. For a OneDrive or Google Drive path use onedrive_write_file / gdrive_write_file; to append to an existing doc use word_append, to read one word_read.
    ConnectorOAuth
  • Concatenate two or more PDFs into a single PDF, in the order supplied, and return the merged file. Over MCP the PDF is never inlined: it comes back as a stored URL that stays retrievable for about 24 hours. Page content is copied unchanged — it does not compress (use compress_pdf) or select pages (use split_pdf). Fewer than two files is rejected. Every input must already be a PDF; a photo handed to this tool is rejected rather than converted. Use images_to_pdf when any input is a picture — it takes PDFs alongside them and splices both in one pass. There is no upload channel over MCP: pass `fileUrls`, an array of URLs in razi.pro's own storage; third-party URLs are rejected. Obtain such a URL by uploading the file over the REST API first (POST /api/v1/tools/execute with the file attached). Over the REST API the files may instead be attached as multipart/form-data. Limited to 20 merges per hour per IP.
    ConnectorNo auth
  • Concatenate two or more PDFs into a single PDF, in the order supplied, and return the merged file. Over MCP the PDF is never inlined: it comes back as a stored URL that stays retrievable for about 24 hours. Page content is copied unchanged — it does not compress (use compress_pdf) or select pages (use split_pdf). Fewer than two files is rejected. Every input must already be a PDF; a photo handed to this tool is rejected rather than converted. Use images_to_pdf when any input is a picture — it takes PDFs alongside them and splices both in one pass. There is no upload channel over MCP: pass `fileUrls`, an array of URLs in razi.pro's own storage; third-party URLs are rejected. Obtain such a URL by uploading the file over the REST API first (POST /api/v1/tools/execute with the file attached). Over the REST API the files may instead be attached as multipart/form-data. Limited to 20 merges per hour per IP.
    ConnectorNo auth
  • Upload media and get back a reusable media_id. Two modes: (1) pass `url` to upload from a publicly accessible URL (preferred for anything over a few MB), or (2) pass `data` (base64-encoded file bytes) plus `mime_type` to upload bytes directly from the model context. Supports images (PNG/JPEG), videos (MP4/MOV), and PDFs (application/pdf). A PDF returns a document-kind media_id — pass it to create_post on a LinkedIn account to publish a native LinkedIn document post (PDF carousel); set platform_configurations.linkedin.document_title to control the title. Use the returned media_id with the `media` param on create_post/update_post. HEIC/HEIF images are not supported — convert to JPEG or PNG first. Direct `data` uploads are capped at 3MB raw because of serverless request-body limits — for larger files, host at a public URL and use `url` mode, or upload via the dashboard.
    ConnectorOAuth
  • Upload a PDF file to Formify. Returns a fileId for use with create_document, create_draft or create_link. Provide exactly ONE of these inputs: (1) `fileReference` — a file reference that the host application supplies when the user attaches a file and the host supports passing files to tools. Pass it exactly as provided; the server downloads the bytes itself. Never construct one by hand and never put a local path in it. (2) `url` — a PDF reachable over HTTPS. Works in every client; use it whenever a URL is available. (3) `uploadId` — for an attached file when the host does not pass file references but you can execute shell commands: call request_file_upload_url first, run its curlCommand, then pass the uploadId here. (4) `file` — the file's bytes as base64 together with fileName, for an attached file when none of the above is possible. Practical ceiling is roughly 30–50 kB of PDF: base64 is a third larger than the file, and a 300 kB PDF would take more output than a model can emit in one message. IMPORTANT: Do NOT use base64 unless you can guarantee you are passing the complete, untruncated file content. AI assistants routinely truncate large strings, which silently corrupts the file and causes upload failures. If the user attached a file but no fileReference reached this tool, retry the call once before choosing another path. Max size: 50 MB. The PDF must not be password-protected or contain digital signatures from other services.
    ConnectorOAuth
  • Publish files to the web → live URL at <slug>.shiply.now. UPDATING: never create a new site for changes — re-call with claimToken (anonymous sites) or slug (sites you own with a Bearer key) and the SAME URL gets the new version. Unchanged files are hash-skipped server-side, so re-publishing (including retrying a failed publish) is cheap — always update the same site rather than creating a new one. Works WITHOUT auth (anonymous: 24h lifetime, returns claimToken/claimUrl — SAVE THEM). With a Bearer shp_ key sites are permanent. ≤50 files / 2 MB inline; bigger: REST flow per https://shiply.now/llms.txt. index.html serves at /. spaMode for client-side routing.
    ConnectorNo auth

Matching MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    Enables structured extraction of methods and reproducibility heuristics from academic papers, allowing AI agents to obtain metadata, full text, structured methods, code repository discovery, and a no-clone reproducibility verdict from a paper URL.
    8
    66 PyPI
    MIT

Matching MCP Connectors

  • Free PDF tools for AI agents: merge, split, rotate, watermark, page numbers, metadata, flatten.

  • Decision Layer for AI Agents — 58+ tools, Advisor, MCP. Free key: POST /v1/register {}.

  • Convert HTML or Markdown to a pixel-perfect PDF. Returns JSON: { url } — a temporary download URL (valid ~1 hour). Great for generating invoices, reports, receipts, or formatted documents programmatically. Supports full HTML/CSS including tables, images (base64 or URL), and inline styles. For Markdown input, set format='markdown'. 50 sats per conversion. Use convert_file instead for converting existing files between formats (e.g., DOCX→PDF). Pay per request with Bitcoin Lightning — no API key or signup needed. Requires create_payment with toolName='convert_html_to_pdf'.
    ConnectorNo auth
  • READ-ONLY: returns generated source code as text and writes nothing to disk, creates no project and runs no command. Generates an idiomatic @imqueue/rpc service (an IMQService subclass with @expose()d, JSDoc-typed methods) plus a bootstrap that starts it. Provide the methods you want, or omit them for a starter template. Any non-primitive parameter or return type also gets a types.ts with the required @classType()/@property() declarations — without those the generated client types it `any`, which compiles. Use create_service (local install only) if you want files actually written.
    ConnectorNo auth
  • Render a Markdown resume to a finished PDF using a ResumeMD template (default: classic — see list_resume_templates for all 32 ids). Returns JSON with a base64-encoded PDF and a suggested filename; decode the base64 to give the user the file. The PDF is generated in memory and never stored. For interactive editing, template switching, and color choices, send the user to resumemd.pro/editor instead.
    ConnectorNo auth
  • Converts a document to markdown or plain text: pass a public URL or the file itself as base64, and get back the content with headings, tables and lists preserved, at a fraction of the tokens that rendered pages cost. Use it when a harness has no native reader for the format — .docx, .xlsx, .odt and .numbers rarely have one — when a document is only a URL away, or when a long PDF's text matters and its layout does not. Handles PDF (.pdf), Word (.docx), Excel (.xlsx, .xlsm, .xlsb, .xls), OpenDocument (.odt, .ods), Apple Numbers, CSV, HTML, XML, and plain-text formats such as .txt and .md. The format is detected from magic bytes, not trusted from the file name, so a PDF served from a .php URL still converts. Two honest limits: a scanned PDF with no text layer has nothing to extract (this is conversion, not OCR), and legacy binary .doc and .ppt files are not readable — resave them as .docx or .pptx. Images are refused rather than described. Documents up to 10 MB.
    ConnectorNo auth
  • Get the latest successful compiled PDF for an explicit entry .tex path, with a signed download link valid for at most 10 minutes, size, generation time, and freshness information. This never compiles, waits, or polls. A newer running or failed compile may coexist with an older successful PDF. Freshness is unknown unless later source changes are detected; never assume the PDF matches current or unsaved source. Download and open the PDF using a PDF-capable tool before discussing its contents or layout; a link alone is not a PDF inspection. If no result exists or it has expired, ask the user to compile in the web app. Use read_file for uploaded PDF assets.
    ConnectorOAuth
  • Render user-provided receipt text as a PDF transcription and attach it to a QuickBooks transaction. Intended for receipts that exist only as text, such as an email body or copied order confirmation. The PDF is visibly marked as a transcription, not an original document. Requires confirmed_by_user: true after the user explicitly requests a transcription, and full access on the connection. The receipt fields contain the original text and, when applicable, the actual email sender and subject. Does not transfer original uploaded files.
    ConnectorOAuth
  • Convert any document to another format without storing a template. Supports 100+ input/output format combinations: Office documents, PDFs, images, web pages, spreadsheets, and more. The source file can be a local path, a URL, or a base64 string. Carbone tags are PRESERVED, not resolved: converting a template keeps every {d.field} intact, so this is also how you proof a template in another format (DOCX template → PDF, or DOCX → ODT while it stays a template). Use render_document instead when you need data injection ({d.field} tags resolved), translations, or batch generation. Common conversions: DOCX → PDF (file: "report.docx", convertTo: "pdf"; add converter: "I" for the fastest DOCX→PDF path), XLSX → PDF (file: "data.xlsx", convertTo: "pdf"), PPTX → PDF (file: "slides.pptx", convertTo: "pdf", converter: "O" for best fidelity), HTML → PDF (file: "page.html", convertTo: "pdf", converter: "C" for full CSS/JS rendering), DOCX → HTML (file: "doc.docx", convertTo: "html"), XLSX → CSV (file: "sheet.xlsx", convertTo: "csv"), PDF → PNG (file: "doc.pdf", convertTo: "png"), PPTX → PNG (first slide as image), MD → PDF (file: "readme.md", convertTo: "pdf").
    ConnectorNo auth
  • Upload multiple PDF files from ChatGPT file attachments. Use this when the user provides multiple file attachments in ChatGPT. Downloads each PDF from its signed URL and stores it. Returns session_id and a list of job_ids. Like upload_pdf, this ONLY works on hosts that resolve chat attachments for you (ChatGPT). On Claude and other MCP clients, call create_upload_page instead. Never invent or guess a download_url or file_id. MANDATORY WORKFLOW before calling this tool: 1. ALWAYS call check_upload_status FIRST — even if you think the files are new. 2. Only include files confirmed absent from check_upload_status. If ALL files are already uploaded, skip batch_upload_pdf entirely and reuse the existing job_ids. 3. Reuse job_ids from already_uploaded — do NOT re-upload those files. Skipping step 1 and calling batch_upload_pdf directly is FORBIDDEN. After batch_upload_pdf completes: if the user requested a comparison, call 'compare_pdfs' with the returned job_ids immediately.
    ConnectorNo auth
  • Imports a SAFE from an uploaded SAFE PDF and stores the document in S3. USE THIS (not RecordCapTableInvestment) whenever the user provides or uploads a SAFE PDF file. Flow: (1) call GetOcrUploadUrl with kind=SAFE and mime_type=application/pdf to get a presigned PUT URL + source_s3_uri, (2) upload the PDF bytes to that PUT URL, (3) call ImportSAFE with that source_s3_uri. This runs OCR to extract the terms; pass valuation_cap / investment_amount / discount_rate only to CORRECT a value the user says the OCR misread, and leave them empty to keep what the document says. Call ExtractSafeTerms first and get the user's confirmation before importing. effective_date is required — never import a SAFE without a date. If the company named on the document differs from this company, say both names and get the user's confirmation before importing. It copies the PDF to the canonical cap-table SAFE location, links it to a SAFE agreement, resolves the investor by name (matching an existing stakeholder or creating a new one), and creates the security. The security is marked signed only if the document is actually signed; an unsigned SAFE PDF is still stored and left committed. Whenever the user has the PDF — including when they attached it to this conversation — upload it and pass source_s3_uri so the document itself is stored; a SAFE created from typed terms alone has nothing on record proving its date or signature, and the cap table flags it as missing its document. Use RecordCapTableInvestment only for a SAFE the user genuinely has no document for. The response carries the cap table before this call, what it added, and the cap table after — report an import in exactly that order (current table, new additions, final table) and take the totals from the response rather than reading the cap table again. For several SAFEs at once, list every one you are about to add and get a yes before the first call, not after the last.
    Connector
    Destructive
    No auth
  • Convert HTML and CSS to a PDF document using the WeasyPrint rendering engine. Supports every PDF/A archival level, PDF/UA accessibility and the PDF/X print standards. Best for professional documents: invoices, reports, certificates, contracts, and accessible documents. Also produces **fillable PDF forms** — set pdfForms to true. Send a complete HTML document including <html>, <head> with <style>, and <body> tags. Page geometry comes from the document's own CSS @page rule unless paperSize or orientation is set explicitly. Returns a temporary download URL for the generated PDF (valid for 30 minutes). Requires a paid PdfBroker.io plan (Starter or above). EU-first defaults: A4 paper, Portrait orientation when neither the document nor the caller says otherwise.
    ConnectorNo auth
  • Step 4 of the Tango working agreement (work in the open). Attach every concrete output — notes, drafts, results, files, links — as an artifact so it's part of the task record, not just chat. Real files (pdf, docx, pptx, xlsx, mp3, wav, m4a, images…) are supported: pass `content_base64` for files up to ~6 MB, `fetch_url` to have Tango download and store a hosted file itself, or call create_artifact_upload first for large files and finalize here with `upload_token`. `content` stays the path for inline text and `external_url` for a link you only want recorded. Reference artifact ids in complete_task's evidence_artifact_ids. If a lease is active, Tango attributes the artifact to the lease holder. Otherwise, pass `acting_worker_id` to identify which of your workers is acting; if you don't own that worker the attribution is dropped rather than misrecorded. Attested workers may pass `worker_signature` over the JCS-canonical artifact payload (type 'tango.artifact'); an invalid signature rejects the call and nothing is stored. Delegated workers are signed for automatically.
    ConnectorNo auth
  • Download a file from a public http(s) URL and store it in the user's Second Brain as a file object — use when the user shares a direct link to a PDF, image, spreadsheet, or other file and asks to save, download, or keep it. The saved file shows up with their uploads and can be read afterwards with read_file. Not for web pages (that is read_web_page with save=true) and not for files behind a sign-in. Files over 50MB are refused.
    ConnectorNo auth
  • 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.
    ConnectorNo auth
  • Return an inline PDF artifact from supplied report_meta, tables, metrics, and summary content; this read-only renderer does not persist hosted files. Use this only when a structured report payload already exists; use report_docx_generate for editable Word output or compliance_edd_report to build the memo first.
    ConnectorNo auth