Free offline PDF, XLSX, CSV, ZIP and iCalendar tools. Supplied data; real embedded file bytes.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Convert exact caller CSV to a real XLSX spreadsheet with one Data sheet and a SUM totals row. Explicit numericColumns and totalColumns; all other cells are literal strings, never inferred formulas. Returns actual file bytes.
Convert exact caller CSV to a real XLSX spreadsheet with one Data sheet and a SUM totals row. Explicit numericColumns and totalColumns; all other cells are literal strings, never inferred formulas. Returns actual file bytes.
| Argument | Type | Description |
|---|---|---|
| csv* | string | |
| totalColumns* | array | |
| numericColumns* | array |
{
"type": "object",
"required": [
"csv",
"numericColumns",
"totalColumns"
],
"properties": {
"csv": {
"type": "string",
"maxLength": 131072,
"minLength": 1
},
"totalColumns": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 64,
"minItems": 1,
"uniqueItems": true
},
"numericColumns": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 64,
"uniqueItems": true
}
},
"additionalProperties": false
}Create a real iCalendar file from a brief with Start: YYYY-MM-DD HH:MM IANA/Zone, Duration: N minutes, Title: text, optionally preceded by a Markdown heading. Resolves timezone to UTC; refuses ambiguous/nonexistent DST times. createdAt must be UTC ISO seconds. Does not add any calendar event.
| Argument | Type | Description |
|---|---|---|
| createdAt* | string | |
| eventBrief* | string |
{
"type": "object",
"required": [
"eventBrief",
"createdAt"
],
"properties": {
"createdAt": {
"type": "string",
"pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}Z$"
},
"eventBrief": {
"type": "string",
"maxLength": 131072,
"minLength": 1
}
},
"additionalProperties": false
}Render caller-supplied text Markdown to a real downloadable PDF. Headings, paragraphs and lists; Windows-1252 text only. No images, HTML, fetches or external writes. Returns actual inline file bytes and SHA256.
| Argument | Type | Description |
|---|---|---|
| markdown* | string |
{
"type": "object",
"required": [
"markdown"
],
"properties": {
"markdown": {
"type": "string",
"maxLength": 131072,
"minLength": 1
}
},
"additionalProperties": false
}Extract every sheet from a caller-supplied base64 XLSX into separate genuine UTF-8 CSV files, preserving sheet names in metadata and cell values. Formula values require existing caches; does not execute formulas. Refuses macros, external links and expansion bombs.
| Argument | Type | Description |
|---|---|---|
| xlsxBase64* | string |
{
"type": "object",
"required": [
"xlsxBase64"
],
"properties": {
"xlsxBase64": {
"type": "string",
"maxLength": 174764,
"minLength": 1
}
},
"additionalProperties": false
}Create an exact ZIP of caller-supplied named UTF-8 texts. Preserves bytes and nested safe paths; rejects traversal, duplicate/colliding names and excessive data. No external files or fetches.
| Argument | Type | Description |
|---|---|---|
| files* | array |
{
"type": "object",
"required": [
"files"
],
"properties": {
"files": {
"type": "array",
"items": {
"type": "object",
"required": [
"name",
"text"
],
"properties": {
"name": {
"type": "string",
"maxLength": 160,
"minLength": 1
},
"text": {
"type": "string",
"maxLength": 131072,
"minLength": 1
}
},
"additionalProperties": false
},
"maxItems": 32,
"minItems": 1
}
},
"additionalProperties": false
}