conv2pdf-mcp 1.0.0 → 1.0.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/README.md CHANGED
@@ -16,6 +16,8 @@ In Claude Code:
16
16
  claude mcp add --env CONV2PDF_API_KEY=cpdf_live_... --transport stdio conv2pdf -- npx -y conv2pdf-mcp
17
17
  ```
18
18
 
19
+ On Windows, put `cmd /c` before `npx`.
20
+
19
21
  In Claude Desktop, Cursor and the other clients configured with a JSON file:
20
22
 
21
23
  ```json
@@ -55,7 +57,7 @@ Then ask for what you need: "convert report.docx to PDF", "merge these three PDF
55
57
  - **Files stay on your computer, except for the conversion.** A tool takes the path of a file, sends the file to conv2pdf and writes the result on your disk. conv2pdf checks the content of the file, not only its name.
56
58
  - **Nothing is overwritten.** The result goes next to the input file: `report.docx` gives `report.pdf`, and a PDF tool adds a suffix, such as `report-compressed.pdf`. When that name is taken, the server writes `report (2).pdf`. The assistant can choose the place with `output_path`; if a file is already there, the tool refuses before converting anything.
57
59
  - **Deleted from the server.** Once the result is on your disk, the server deletes the job from conv2pdf. Should that fail, conv2pdf deletes the files after one hour.
58
- - **Quota.** Each conversion counts as one in the quota of your plan, including one that conv2pdf refuses after reading the file, such as an unreadable PDF or a page range that does not exist. A file refused on arrival (wrong type, too large, password missing) and a failure on the side of conv2pdf count for nothing, and `get_quota` is free. Files can weigh up to 10 MB on the Dev plan and 200 MB on paid plans.
60
+ - **Quota.** Each conversion counts as one in the quota of your plan, including one that conv2pdf refuses after reading the file, such as an unreadable or scanned PDF, or one with too many pages. A file refused on arrival (wrong type, too large, password missing), a refused setting (a page range that does not exist, a password that is too short) and a failure on the side of conv2pdf count for nothing, and `get_quota` is free. Files can weigh up to 10 MB on the Dev plan and 200 MB on paid plans.
59
61
  - **Rate limit.** The API accepts 20 conversions per minute per API key. When it asks to slow down, or when its queue is full, the server waits for the delay the API gives and tries again, twice at most and only for delays of 30 seconds or less; otherwise the assistant gets the delay to wait.
60
62
  - **Protected PDFs.** The tools that read a PDF, except `merge_pdfs`, open one that asks for a password when the assistant passes it as `password`. The result has no password. For a merge, unlock the protected PDFs first.
61
63
  - **Pages and Numbers.** A Pages document keeps its `.pages` extension: only the name tells it from a Numbers spreadsheet, which conv2pdf does not convert, like Keynote presentations.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "conv2pdf-mcp",
3
- "version": "1.0.0",
3
+ "version": "1.0.1",
4
4
  "description": "Official MCP server of the conv2pdf API: an AI assistant converts Office documents, images and e-books to PDF, and merges, splits, compresses, protects or converts the PDFs of your computer. Hosted in France.",
5
5
  "license": "MIT",
6
6
  "homepage": "https://conv2pdf.com/en/api/",
package/src/messages.js CHANGED
@@ -93,8 +93,9 @@ const MESSAGES = {
93
93
  'This e-book cannot be converted: its pages are full-screen images (comics, picture books, manga), and their layout does not survive the conversion to PDF.',
94
94
  epub_too_long: 'The e-book is longer than the 1,500 pages conv2pdf converts at once.',
95
95
  output_too_large: 'The result is too large to be delivered.',
96
- // The API refunds the quota on these two, and only on these: a refusal that follows
97
- // the reading of the file (unreadable PDF, wrong page range) stays counted.
96
+ // The API refunds the quota on these two, and on a refused setting (page range, rotation,
97
+ // password length). A refusal that follows the reading of the file (unreadable or scanned
98
+ // PDF, too many pages) stays counted.
98
99
  conversion_failed: 'conv2pdf could not process this file. The failure is on its side and is not counted against the quota.',
99
100
  conversion_timeout: 'The conversion took too long and was stopped. It is not counted against the quota.',
100
101
  file_expired: 'The converted file is no longer available on conv2pdf.',
package/src/tools.js CHANGED
@@ -14,8 +14,9 @@ export const INSTRUCTIONS =
14
14
  'protecting or unlocking PDFs. Give a tool the path of the file: the result is written next to it, or at ' +
15
15
  'output_path, and its path is returned. The files are uploaded to conv2pdf, hosted in France, which deletes ' +
16
16
  'them once the result is downloaded. Each conversion uses one unit of the quota of the API key, including one ' +
17
- 'that conv2pdf refuses after reading the file (an unreadable file, a page range that does not exist); a failure ' +
18
- 'on the side of conv2pdf is not counted. get_quota tells what is left.';
17
+ 'that conv2pdf refuses after reading the file (an unreadable or scanned PDF, too many pages); a refused setting, ' +
18
+ 'such as a page range that does not exist, and a failure on the side of conv2pdf are not counted. get_quota ' +
19
+ 'tells what is left.';
19
20
 
20
21
  // convert_to_pdf picks the conv2pdf tool from the extension of the file. These lists are
21
22
  // the `accepted_exts` of GET /v1/tools: `npm run check-tools` compares them.