@kjanat/paperless-mcp 2.1.1 → 2.2.0

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
@@ -18,16 +18,16 @@ An MCP (Model Context Protocol) server for interacting with a Paperless-ngx API
18
18
 
19
19
  ```jsonc
20
20
  {
21
- "mcpServers": {
22
- "paperless": {
23
- "command": "bunx", // or npx
24
- "args": ["@kjanat/paperless-mcp"],
25
- "env": {
26
- "PAPERLESS_URL": "http://your-paperless-instance:8000",
27
- "PAPERLESS_API_KEY": "your-api-token",
28
- },
29
- },
30
- },
21
+ "mcpServers": {
22
+ "paperless": {
23
+ "command": "bunx", // or npx
24
+ "args": ["@kjanat/paperless-mcp"],
25
+ "env": {
26
+ "PAPERLESS_URL": "http://your-paperless-instance:8000",
27
+ "PAPERLESS_API_KEY": "your-api-token",
28
+ },
29
+ },
30
+ },
31
31
  }
32
32
  ```
33
33
 
@@ -35,16 +35,16 @@ An MCP (Model Context Protocol) server for interacting with a Paperless-ngx API
35
35
 
36
36
  ```jsonc
37
37
  {
38
- "mcpServers": {
39
- "paperless": {
40
- "command": "bunx", // or npx
41
- "args": [
42
- "@kjanat/paperless-mcp",
43
- "http://your-paperless-instance:8000",
44
- "your-api-token",
45
- ],
46
- },
47
- },
38
+ "mcpServers": {
39
+ "paperless": {
40
+ "command": "bunx", // or npx
41
+ "args": [
42
+ "@kjanat/paperless-mcp",
43
+ "http://your-paperless-instance:8000",
44
+ "your-api-token",
45
+ ],
46
+ },
47
+ },
48
48
  }
49
49
  ```
50
50
 
@@ -96,7 +96,7 @@ Parameters:
96
96
 
97
97
  ```typescript
98
98
  get_document({
99
- id: 123,
99
+ id: 123,
100
100
  });
101
101
  ```
102
102
 
@@ -110,7 +110,7 @@ Parameters:
110
110
 
111
111
  ```typescript
112
112
  search_documents({
113
- query: "invoice 2024",
113
+ query: "invoice 2024",
114
114
  });
115
115
  ```
116
116
 
@@ -125,8 +125,8 @@ Parameters:
125
125
 
126
126
  ```typescript
127
127
  download_document({
128
- id: 123,
129
- original: false,
128
+ id: 123,
129
+ original: false,
130
130
  });
131
131
  ```
132
132
 
@@ -144,6 +144,7 @@ Parameters:
144
144
  - `add_tag`: Add a tag to documents
145
145
  - `remove_tag`: Remove a tag from documents
146
146
  - `modify_tags`: Add and/or remove multiple tags
147
+ - `modify_custom_fields`: Add and/or remove custom fields
147
148
  - `delete`: Delete documents
148
149
  - `reprocess`: Reprocess documents
149
150
  - `set_permissions`: Set document permissions
@@ -151,6 +152,8 @@ Parameters:
151
152
  - `split`: Split a document into multiple documents
152
153
  - `rotate`: Rotate document pages
153
154
  - `delete_pages`: Delete specific pages from a document
155
+ - `edit_pdf`: Reorder, rotate, split, or discard PDF pages
156
+ - `remove_password`: Remove PDF password protection
154
157
  - Additional parameters based on `method`:
155
158
  - `correspondent`: ID for set_correspondent
156
159
  - `document_type`: ID for set_document_type
@@ -158,50 +161,55 @@ Parameters:
158
161
  - `tag`: ID for add_tag/remove_tag
159
162
  - `add_tags`: Array of tag IDs for modify_tags
160
163
  - `remove_tags`: Array of tag IDs for modify_tags
164
+ - `add_custom_fields`: Custom field IDs or id:value pairs for modify_custom_fields
165
+ - `remove_custom_fields`: Array of custom field IDs for modify_custom_fields
161
166
  - `permissions`: Object for set_permissions with owner, permissions, merge flag
162
167
  - `metadata_document_id`: ID for merge to specify metadata source
163
168
  - `delete_originals`: Boolean for merge/split
164
- - `pages`: String for split "[1,2-3,4,5-7]" or `delete_pages` "[2,3,4]"
169
+ - `pages`: String for split (`"1-2,3-4,5"`) or number array for delete_pages (`[2, 3, 4]`)
165
170
  - `degrees`: Number for rotate (90, 180, or 270)
171
+ - `operations`: Array of PDF edit operations for edit_pdf
172
+ - `password`: Password for remove_password
173
+ - `update_document`, `delete_original`, `include_metadata`: PDF edit/remove-password flags
166
174
 
167
175
  Examples:
168
176
 
169
177
  ```typescript
170
178
  // Add a tag to multiple documents
171
179
  bulk_edit_documents({
172
- documents: [1, 2, 3],
173
- method: "add_tag",
174
- tag: 5,
180
+ documents: [1, 2, 3],
181
+ method: "add_tag",
182
+ tag: 5,
175
183
  });
176
184
 
177
185
  // Set correspondent and document type
178
186
  bulk_edit_documents({
179
- documents: [4, 5],
180
- method: "set_correspondent",
181
- correspondent: 2,
187
+ documents: [4, 5],
188
+ method: "set_correspondent",
189
+ correspondent: 2,
182
190
  });
183
191
 
184
192
  // Merge documents
185
193
  bulk_edit_documents({
186
- documents: [6, 7, 8],
187
- method: "merge",
188
- metadata_document_id: 6,
189
- delete_originals: true,
194
+ documents: [6, 7, 8],
195
+ method: "merge",
196
+ metadata_document_id: 6,
197
+ delete_originals: true,
190
198
  });
191
199
 
192
200
  // Split document into parts
193
201
  bulk_edit_documents({
194
- documents: [9],
195
- method: "split",
196
- pages: "[1-2,3-4,5]",
202
+ documents: [9],
203
+ method: "split",
204
+ pages: "[1-2,3-4,5]",
197
205
  });
198
206
 
199
207
  // Modify multiple tags at once
200
208
  bulk_edit_documents({
201
- documents: [10, 11],
202
- method: "modify_tags",
203
- add_tags: [1, 2],
204
- remove_tags: [3, 4],
209
+ documents: [10, 11],
210
+ method: "modify_tags",
211
+ add_tags: [1, 2],
212
+ remove_tags: [3, 4],
205
213
  });
206
214
  ```
207
215
 
@@ -224,14 +232,14 @@ Parameters:
224
232
 
225
233
  ```typescript
226
234
  post_document({
227
- file: "base64_encoded_content",
228
- filename: "invoice.pdf",
229
- title: "January Invoice",
230
- created: "2024-01-19",
231
- correspondent: 1,
232
- document_type: 2,
233
- tags: [1, 3],
234
- archive_serial_number: "2024-001",
235
+ file: "base64_encoded_content",
236
+ filename: "invoice.pdf",
237
+ title: "January Invoice",
238
+ created: "2024-01-19",
239
+ correspondent: 1,
240
+ document_type: 2,
241
+ tags: [1, 3],
242
+ archive_serial_number: "2024-001",
235
243
  });
236
244
  ```
237
245
 
@@ -262,10 +270,10 @@ Parameters:
262
270
 
263
271
  ```typescript
264
272
  create_tag({
265
- name: "Invoice",
266
- color: "#ff0000",
267
- match: "invoice",
268
- matching_algorithm: 5,
273
+ name: "Invoice",
274
+ color: "#ff0000",
275
+ match: "invoice",
276
+ matching_algorithm: 5,
269
277
  });
270
278
  ```
271
279
 
@@ -283,9 +291,9 @@ Parameters:
283
291
 
284
292
  ```typescript
285
293
  update_tag({
286
- id: 5,
287
- name: "Invoices",
288
- color: "#00ff00",
294
+ id: 5,
295
+ name: "Invoices",
296
+ color: "#00ff00",
289
297
  });
290
298
  ```
291
299
 
@@ -299,7 +307,7 @@ Parameters:
299
307
 
300
308
  ```typescript
301
309
  delete_tag({
302
- id: 5,
310
+ id: 5,
303
311
  });
304
312
  ```
305
313
 
@@ -317,8 +325,8 @@ Parameters:
317
325
 
318
326
  ```typescript
319
327
  bulk_edit_tags({
320
- tag_ids: [1, 2, 3],
321
- operation: "delete",
328
+ tag_ids: [1, 2, 3],
329
+ operation: "delete",
322
330
  });
323
331
  ```
324
332
 
@@ -348,9 +356,9 @@ Parameters:
348
356
 
349
357
  ```typescript
350
358
  create_correspondent({
351
- name: "ACME Corp",
352
- match: "ACME",
353
- matching_algorithm: 5,
359
+ name: "ACME Corp",
360
+ match: "ACME",
361
+ matching_algorithm: 5,
354
362
  });
355
363
  ```
356
364
 
@@ -368,8 +376,8 @@ Parameters:
368
376
 
369
377
  ```typescript
370
378
  bulk_edit_correspondents({
371
- correspondent_ids: [1, 2],
372
- operation: "delete",
379
+ correspondent_ids: [1, 2],
380
+ operation: "delete",
373
381
  });
374
382
  ```
375
383
 
@@ -399,9 +407,9 @@ Parameters:
399
407
 
400
408
  ```typescript
401
409
  create_document_type({
402
- name: "Invoice",
403
- match: "invoice total amount due",
404
- matching_algorithm: 1,
410
+ name: "Invoice",
411
+ match: "invoice total amount due",
412
+ matching_algorithm: 1,
405
413
  });
406
414
  ```
407
415
 
@@ -419,8 +427,8 @@ Parameters:
419
427
 
420
428
  ```typescript
421
429
  bulk_edit_document_types({
422
- document_type_ids: [1, 2],
423
- operation: "delete",
430
+ document_type_ids: [1, 2],
431
+ operation: "delete",
424
432
  });
425
433
  ```
426
434