pdfpipe-mcp-server 0.1.1 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -13,8 +13,8 @@ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
13
13
  import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
14
14
  import { z } from "zod";
15
15
  import axios from "axios";
16
- import { mkdirSync, writeFileSync } from "node:fs";
17
- import { dirname, isAbsolute, resolve } from "node:path";
16
+ import { mkdir, writeFile } from "node:fs/promises";
17
+ import { dirname, isAbsolute, resolve, sep } from "node:path";
18
18
  const BASE_URL = (process.env.PDFPIPE_BASE_URL || "https://api.pdfpipe.xyz").replace(/\/$/, "");
19
19
  const REQUEST_TIMEOUT_MS = 60_000;
20
20
  const PAGE_FORMATS = ["A4", "A3", "A5", "Letter", "Legal", "Tabloid"];
@@ -47,6 +47,39 @@ const GeneratePdfInput = z
47
47
  .string()
48
48
  .default("1cm")
49
49
  .describe("Uniform page margin as a CSS length, e.g. '1cm', '0', '0.5in'. Default '1cm'."),
50
+ store: z
51
+ .boolean()
52
+ .default(false)
53
+ .describe("If true, persist the PDF for later retrieval via pdfpipe_get_document. Returns document_id, document_url, and document_expires."),
54
+ filename: z
55
+ .string()
56
+ .max(200)
57
+ .optional()
58
+ .describe("Filename to associate with the stored document. Only used when store is true."),
59
+ header_html: z
60
+ .string()
61
+ .optional()
62
+ .describe("HTML rendered as a running page header. Class names .pageNumber, .totalPages, .date, .title, .url are substituted by the renderer on each page."),
63
+ footer_html: z
64
+ .string()
65
+ .optional()
66
+ .describe("HTML rendered as a running page footer. Same class substitution as header_html."),
67
+ print_background: z
68
+ .boolean()
69
+ .default(true)
70
+ .describe("Print background graphics and colors. Default true."),
71
+ tabular_nums: z
72
+ .boolean()
73
+ .default(false)
74
+ .describe("Force consistent digit widths via font-variant-numeric: tabular-nums. Fixes column misalignment in tables and invoices. Default false."),
75
+ deduplicate_images: z
76
+ .boolean()
77
+ .default(false)
78
+ .describe("Merge identical image XObjects in the output PDF. Reduces file size when the same image appears on many pages. Default false."),
79
+ pdf_a: z
80
+ .boolean()
81
+ .default(false)
82
+ .describe("Add PDF/A-1b XMP metadata to the document (best-effort conformance). Default false."),
50
83
  })
51
84
  .strict();
52
85
  const GeneratePdfOutput = z.object({
@@ -55,6 +88,9 @@ const GeneratePdfOutput = z.object({
55
88
  plan: z.string().optional(),
56
89
  usage: z.number().optional(),
57
90
  limit: z.number().optional(),
91
+ document_id: z.string().optional().describe("Archive ID (present when store: true)"),
92
+ document_url: z.string().optional().describe("Retrieval URL (present when store: true)"),
93
+ document_expires: z.string().optional().describe("ISO 8601 expiry timestamp (present when store: true)"),
58
94
  });
59
95
  function apiKey() {
60
96
  const key = process.env.PDFPIPE_API_KEY;
@@ -110,13 +146,15 @@ function describeError(error) {
110
146
  }
111
147
  const server = new McpServer({
112
148
  name: "pdfpipe-mcp-server",
113
- version: "0.1.0",
149
+ version: "0.3.0",
114
150
  });
115
151
  server.registerTool("pdfpipe_generate_pdf", {
116
152
  title: "Generate a PDF with PDFPipe",
117
153
  description: `Generate a PDF document from HTML or a public URL using the PDFPipe API, and save it to disk.
118
154
 
119
- Use this to produce invoices, receipts, reports, certificates, statements, or any document, from HTML you compose or a web page you point at. The rendering runs server-side in a sandboxed Chromium, so the calling agent does not need a browser.
155
+ Use this to produce invoices, receipts, reports, certificates, statements, or any document, from HTML you compose or a web page you point at. The rendering runs server-side in a sandboxed browser, so the calling agent does not need a browser.
156
+
157
+ Pass store: true to persist the PDF and receive a document_id for later retrieval.
120
158
 
121
159
  Args:
122
160
  - html (string, optional): Raw HTML to render. Provide html OR url, not both.
@@ -125,19 +163,15 @@ Args:
125
163
  - format ('A4'|'A3'|'A5'|'Letter'|'Legal'|'Tabloid', optional): Page size, default 'A4'.
126
164
  - landscape (boolean, optional): Landscape orientation, default false.
127
165
  - margin (string, optional): CSS length page margin, e.g. '1cm', '0', default '1cm'.
166
+ - header_html (string, optional): HTML for a running page header. .pageNumber, .totalPages, .date classes substituted per page.
167
+ - footer_html (string, optional): HTML for a running page footer. Same substitution as header_html.
168
+ - tabular_nums (boolean, optional): Force consistent digit widths for tables/invoices. Default false.
169
+ - deduplicate_images (boolean, optional): Merge duplicate image XObjects to shrink file size. Default false.
170
+ - pdf_a (boolean, optional): Add PDF/A-1b metadata (best-effort). Default false.
171
+ - store (boolean, optional): Persist the PDF for later retrieval, default false.
172
+ - filename (string, optional): Filename for the stored document (used with store: true).
128
173
 
129
- Returns JSON:
130
- {
131
- "output_path": string, // absolute path the PDF was written to
132
- "size_bytes": number, // size of the generated PDF
133
- "plan": string, // the API key's plan (e.g. "hobby")
134
- "usage": number, // documents used this month after this call
135
- "limit": number // monthly document limit for the plan
136
- }
137
-
138
- Examples:
139
- - "Make an invoice PDF": html="<h1>Invoice #4012</h1>...", output_path="./invoice-4012.pdf"
140
- - "Save this web page as PDF": url="https://example.com/report", output_path="./report.pdf"
174
+ Returns JSON with output_path, size_bytes, plan, usage, limit, and optionally document_id/document_url/document_expires when store is true.
141
175
 
142
176
  Errors return a message starting with "Error:" explaining the cause (bad key, limit reached, render failure, unreachable API).`,
143
177
  inputSchema: GeneratePdfInput.shape,
@@ -169,7 +203,15 @@ Errors return a message starting with "Error:" explaining the cause (bad key, li
169
203
  format: params.format,
170
204
  landscape: params.landscape,
171
205
  margin: params.margin,
206
+ print_background: params.print_background,
207
+ ...(params.header_html ? { header_html: params.header_html } : {}),
208
+ ...(params.footer_html ? { footer_html: params.footer_html } : {}),
209
+ ...(params.tabular_nums ? { tabular_nums: true } : {}),
210
+ ...(params.deduplicate_images ? { deduplicate_images: true } : {}),
211
+ ...(params.pdf_a ? { pdf_a: true } : {}),
172
212
  },
213
+ ...(params.store ? { store: true } : {}),
214
+ ...(params.filename ? { filename: params.filename } : {}),
173
215
  }, {
174
216
  responseType: "arraybuffer",
175
217
  timeout: REQUEST_TIMEOUT_MS,
@@ -181,21 +223,34 @@ Errors return a message starting with "Error:" explaining the cause (bad key, li
181
223
  });
182
224
  const buffer = Buffer.from(response.data);
183
225
  const absPath = isAbsolute(params.output_path)
184
- ? params.output_path
226
+ ? resolve(params.output_path)
185
227
  : resolve(process.cwd(), params.output_path);
186
- mkdirSync(dirname(absPath), { recursive: true });
187
- writeFileSync(absPath, buffer);
228
+ if (!isAbsolute(params.output_path)) {
229
+ const safeCwd = resolve(process.cwd());
230
+ if (!absPath.startsWith(safeCwd + sep) && absPath !== safeCwd) {
231
+ return {
232
+ isError: true,
233
+ content: [{ type: "text", text: "Error: output_path must not escape the working directory." }],
234
+ };
235
+ }
236
+ }
237
+ await mkdir(dirname(absPath), { recursive: true });
238
+ await writeFile(absPath, buffer);
188
239
  const h = response.headers;
189
240
  const num = (v) => {
190
241
  const n = Number(v);
191
242
  return Number.isFinite(n) ? n : undefined;
192
243
  };
244
+ const str = (v) => typeof v === "string" && v ? v : undefined;
193
245
  const output = {
194
246
  output_path: absPath,
195
247
  size_bytes: buffer.length,
196
- plan: h["x-pdfpipe-plan"] ?? undefined,
248
+ plan: str(h["x-pdfpipe-plan"]),
197
249
  usage: num(h["x-pdfpipe-usage"]),
198
250
  limit: num(h["x-pdfpipe-limit"]),
251
+ document_id: str(h["x-pdfpipe-document-id"]),
252
+ document_url: str(h["x-pdfpipe-document-url"]),
253
+ document_expires: str(h["x-pdfpipe-document-expires"]),
199
254
  };
200
255
  return {
201
256
  content: [{ type: "text", text: JSON.stringify(output, null, 2) }],
@@ -210,10 +265,9 @@ Errors return a message starting with "Error:" explaining the cause (bad key, li
210
265
  }
211
266
  });
212
267
  async function main() {
213
- // Fail fast with a clear message if the key is missing.
214
268
  if (!process.env.PDFPIPE_API_KEY) {
215
- console.error("WARNING: PDFPIPE_API_KEY is not set. Tool calls will fail until it is. " +
216
- "Get a key at https://pdfpipe.xyz.");
269
+ console.error("Error: PDFPIPE_API_KEY is not set. Get a key at https://pdfpipe.xyz.");
270
+ process.exit(1);
217
271
  }
218
272
  const transport = new StdioServerTransport();
219
273
  await server.connect(transport);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,38 +1,38 @@
1
- {
2
- "name": "pdfpipe-mcp-server",
3
- "version": "0.1.1",
4
- "description": "MCP server for PDFPipe. Generate PDF documents (invoices, reports, certificates) from HTML or a URL in one tool call.",
5
- "type": "module",
6
- "main": "dist/index.js",
7
- "bin": {
8
- "pdfpipe-mcp-server": "dist/index.js"
9
- },
10
- "files": ["dist"],
11
- "author": "Johin Johny <johinjohny144@gmail.com>",
12
- "license": "MIT",
13
- "homepage": "https://pdfpipe.xyz",
14
- "repository": {
15
- "type": "git",
16
- "url": "git+https://github.com/Johin2/pdfpipe-libraries.git",
17
- "directory": "mcp"
18
- },
19
- "keywords": ["mcp", "pdf", "pdf-generation", "html-to-pdf", "pdfpipe", "ai-agents"],
20
- "scripts": {
21
- "build": "tsc",
22
- "start": "node dist/index.js",
23
- "dev": "tsx watch src/index.ts"
24
- },
25
- "engines": {
26
- "node": ">=18"
27
- },
28
- "dependencies": {
29
- "@modelcontextprotocol/sdk": "^1.6.1",
30
- "axios": "^1.7.9",
31
- "zod": "^3.23.8"
32
- },
33
- "devDependencies": {
34
- "@types/node": "^22.10.0",
35
- "tsx": "^4.19.2",
36
- "typescript": "^5.7.2"
37
- }
38
- }
1
+ {
2
+ "name": "pdfpipe-mcp-server",
3
+ "version": "0.3.1",
4
+ "description": "MCP server for PDFPipe. Generate PDF documents (invoices, reports, certificates) from HTML or a URL in one tool call.",
5
+ "type": "module",
6
+ "main": "dist/index.js",
7
+ "bin": {
8
+ "pdfpipe-mcp-server": "dist/index.js"
9
+ },
10
+ "files": ["dist"],
11
+ "author": "Johin Johny <johinjohny144@gmail.com>",
12
+ "license": "MIT",
13
+ "homepage": "https://pdfpipe.xyz",
14
+ "repository": {
15
+ "type": "git",
16
+ "url": "git+https://github.com/Johin2/pdfpipe-libraries.git",
17
+ "directory": "mcp"
18
+ },
19
+ "keywords": ["mcp", "pdf", "pdf-generation", "html-to-pdf", "pdfpipe", "ai-agents"],
20
+ "scripts": {
21
+ "build": "tsc",
22
+ "start": "node dist/index.js",
23
+ "dev": "tsx watch src/index.ts"
24
+ },
25
+ "engines": {
26
+ "node": ">=18"
27
+ },
28
+ "dependencies": {
29
+ "@modelcontextprotocol/sdk": "^1.6.1",
30
+ "axios": "^1.7.9",
31
+ "zod": "^4.4.3"
32
+ },
33
+ "devDependencies": {
34
+ "@types/node": "^25.9.3",
35
+ "tsx": "^4.19.2",
36
+ "typescript": "^5.7.2"
37
+ }
38
+ }