Darwin-owned Files
Six offline file operations accept caller-supplied data and return actual file bytes or complete extracted text. The server makes no outbound network requests, fetches no URLs, opens no caller files and writes no calendar events. The MCP endpoint is /providers/files/mcp.
Markdown to PDF
markdown_to_pdf accepts a markdown string. It renders
text headings, paragraphs and lists to PDF pages. Text must be representable in
Windows-1252. Images, HTML and unsupported characters are rejected; this is not
a browser renderer. Returned bytes have MIME type application/pdf.
CSV to XLSX
csv_to_xlsx accepts the exact csv string plus explicit
numericColumns and totalColumns arrays. It creates one
worksheet named Data and a totals row with SUM formulas and cached totals.
Column names must match the CSV header. Other cells are literal strings, not
inferred formulas. Invalid numeric values, ragged rows and duplicate headers
are rejected. Numeric precision is limited to 15 significant digits.
XLSX to CSV
xlsx_to_csv accepts xlsxBase64 containing the actual
workbook bytes. It emits one UTF-8 CSV artifact per worksheet and retains actual
sheet names in metadata. It reads stored cell values and existing formula
caches; it does not execute formulas or infer date formatting. Missing formula
caches, macros, external relationships and unsafe archive expansion are
rejected. Tool availability must be checked through normal discovery.
ZIP named texts
zip_text_files accepts files, an array of objects with
name and text. It places exactly those UTF-8 bytes at the
requested safe relative paths. Nested paths are supported. Traversal, duplicate
or colliding names, device names and excessive data are rejected. No external
files are read. The output MIME type is application/zip.
Event brief to iCalendar
event_brief_to_ics accepts eventBrief and an explicit
UTC-second timestamp createdAt for DTSTAMP. The brief contains Start
as YYYY-MM-DD HH:MM followed by an IANA timezone, Duration as a number of minutes,
and Title as text; an optional Markdown heading may precede those fields.
The output is a text/calendar file with UTC DTSTART and DTEND.
Ambiguous and nonexistent daylight-saving times are rejected. The original
timezone is retained as X-DARWIN-SOURCE-TZID. No event is added to a calendar.
DOCX to text
docx_to_text accepts documentBase64, containing
canonical base64 of actual DOCX bytes, and optional boolean
includeHeadersFooters (default false). It reuses Creora's bounded
document parser and returns the whole text, source and text SHA-256,
ordered source parts, and explicit complete/no-external-writes fields. It reads
no caller path or URL. Obtain private file bytes through your normal authorized
file access first. No OCR, PDF, macros, field evaluation, external relationships
or silent truncation is supported. DOCX input is limited to 128 KiB compressed;
the existing parser also enforces finite XML, member, expansion and UTF-8 output
budgets. Unsupported documents fail without a partial result.
Real outputs and multi-step use
Every artifact includes MIME type, byte size, SHA-256 and actual base64 bytes. The MCP response also includes an embedded resource with the same bytes. Its urn:sha256 identity is not a public download URL; your execution client must retain the bytes to offer a downloadable file. Source digests identify the supplied input bytes.
For a CSV-to-XLSX-to-CSV workflow, pass the actual XLSX bytes returned by the first operation to the second. To ZIP those CSVs, pass their actual decoded UTF-8 text and intended names. The server does not automatically run another tool, replace missing data or claim a saved workflow completed.
Bounds and privacy
Each source is limited to 128 KiB, a serialized request to 384 KiB and combined output to 256 KiB. Archive processing has finite entry, expansion, sheet, row and column bounds. The process protects availability with four request slots, ten conversion attempts per rolling minute and one hundred per rolling day. These process-local counters reset on replacement and do not override your execution provider's durable quotas.
No account, payment or provider API key is required by this server. Caller inputs and outputs are not published as public documents or logged by the service. Conversion failures return explicit errors without artifact metadata.
Documentation license
Copyright 2026 Darwin. This documentation text is licensed under Creative Commons Attribution 4.0 International (CC BY 4.0). Attribute Darwin-owned Files documentation and link to this page and the license. This grant covers this documentation text only, not caller data, generated artifacts, converter source or third-party material.