pdfco-mcp 0.0.5__tar.gz → 0.0.6__tar.gz

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.
Files changed (27) hide show
  1. {pdfco_mcp-0.0.5 → pdfco_mcp-0.0.6}/PKG-INFO +21 -1
  2. {pdfco_mcp-0.0.5 → pdfco_mcp-0.0.6}/README.md +20 -0
  3. {pdfco_mcp-0.0.5 → pdfco_mcp-0.0.6}/pdfco/mcp/services/client.py +1 -1
  4. {pdfco_mcp-0.0.5 → pdfco_mcp-0.0.6}/pdfco/mcp/services/pdf.py +21 -21
  5. {pdfco_mcp-0.0.5 → pdfco_mcp-0.0.6}/pdfco/mcp/tools/apis/conversion.py +20 -20
  6. {pdfco_mcp-0.0.5 → pdfco_mcp-0.0.6}/pdfco/mcp/tools/apis/document.py +1 -1
  7. {pdfco_mcp-0.0.5 → pdfco_mcp-0.0.6}/pdfco/mcp/tools/apis/editing.py +1 -1
  8. {pdfco_mcp-0.0.5 → pdfco_mcp-0.0.6}/pdfco/mcp/tools/apis/extraction.py +2 -2
  9. {pdfco_mcp-0.0.5 → pdfco_mcp-0.0.6}/pdfco/mcp/tools/apis/file.py +1 -1
  10. {pdfco_mcp-0.0.5 → pdfco_mcp-0.0.6}/pdfco/mcp/tools/apis/form.py +3 -3
  11. {pdfco_mcp-0.0.5 → pdfco_mcp-0.0.6}/pdfco/mcp/tools/apis/job.py +2 -2
  12. {pdfco_mcp-0.0.5 → pdfco_mcp-0.0.6}/pdfco/mcp/tools/apis/modification.py +2 -2
  13. {pdfco_mcp-0.0.5 → pdfco_mcp-0.0.6}/pdfco/mcp/tools/apis/search.py +2 -2
  14. {pdfco_mcp-0.0.5 → pdfco_mcp-0.0.6}/pdfco/mcp/tools/apis/searchable.py +2 -2
  15. {pdfco_mcp-0.0.5 → pdfco_mcp-0.0.6}/pdfco/mcp/tools/apis/security.py +2 -2
  16. {pdfco_mcp-0.0.5 → pdfco_mcp-0.0.6}/pyproject.toml +1 -1
  17. {pdfco_mcp-0.0.5 → pdfco_mcp-0.0.6}/.github/workflows/release.yml +0 -0
  18. {pdfco_mcp-0.0.5 → pdfco_mcp-0.0.6}/.gitignore +0 -0
  19. {pdfco_mcp-0.0.5 → pdfco_mcp-0.0.6}/.pre-commit-config.yaml +0 -0
  20. {pdfco_mcp-0.0.5 → pdfco_mcp-0.0.6}/.python-version +0 -0
  21. {pdfco_mcp-0.0.5 → pdfco_mcp-0.0.6}/LICENSE +0 -0
  22. {pdfco_mcp-0.0.5 → pdfco_mcp-0.0.6}/pdfco/mcp/__init__.py +0 -0
  23. {pdfco_mcp-0.0.5 → pdfco_mcp-0.0.6}/pdfco/mcp/models.py +0 -0
  24. {pdfco_mcp-0.0.5 → pdfco_mcp-0.0.6}/pdfco/mcp/server.py +0 -0
  25. {pdfco_mcp-0.0.5 → pdfco_mcp-0.0.6}/pdfco/mcp/services/__init__.py +0 -0
  26. {pdfco_mcp-0.0.5 → pdfco_mcp-0.0.6}/pdfco/mcp/tools/__init__.py +0 -0
  27. {pdfco_mcp-0.0.5 → pdfco_mcp-0.0.6}/uv.lock +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pdfco-mcp
3
- Version: 0.0.5
3
+ Version: 0.0.6
4
4
  Summary: MCP server for PDF.Co
5
5
  Project-URL: Homepage, https://pdf.co
6
6
  Project-URL: Documentation, https://developer.pdf.co
@@ -81,6 +81,26 @@ PDF.co MCP Server provides [PDF.co API](https://pdf.co) functionality through th
81
81
  1. Sign up at [PDF.co website](https://pdf.co)
82
82
  2. Get your API key from the dashboard
83
83
 
84
+ ### 📦 Install UV
85
+ You need to install UV (a fast Python packaging tool) to use this MCP server:
86
+
87
+ #### macOS and Linux
88
+ ```bash
89
+ curl -LsSf https://astral.sh/uv/install.sh | sh
90
+ ```
91
+
92
+ #### Windows
93
+ ```powershell
94
+ powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
95
+ ```
96
+
97
+ #### Alternative Installation Methods
98
+ - **Homebrew**: `brew install uv`
99
+ - **PyPI with pipx**: `pipx install uv`
100
+ - **PyPI with pip**: `pip install uv`
101
+
102
+ For more installation options and details, see the [UV installation guide](https://docs.astral.sh/uv/getting-started/installation/).
103
+
84
104
  ### MCP Server Setup
85
105
 
86
106
  #### Cursor IDE Configuration
@@ -36,6 +36,26 @@ PDF.co MCP Server provides [PDF.co API](https://pdf.co) functionality through th
36
36
  1. Sign up at [PDF.co website](https://pdf.co)
37
37
  2. Get your API key from the dashboard
38
38
 
39
+ ### 📦 Install UV
40
+ You need to install UV (a fast Python packaging tool) to use this MCP server:
41
+
42
+ #### macOS and Linux
43
+ ```bash
44
+ curl -LsSf https://astral.sh/uv/install.sh | sh
45
+ ```
46
+
47
+ #### Windows
48
+ ```powershell
49
+ powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
50
+ ```
51
+
52
+ #### Alternative Installation Methods
53
+ - **Homebrew**: `brew install uv`
54
+ - **PyPI with pipx**: `pipx install uv`
55
+ - **PyPI with pip**: `pip install uv`
56
+
57
+ For more installation options and details, see the [UV installation guide](https://docs.astral.sh/uv/getting-started/installation/).
58
+
39
59
  ### MCP Server Setup
40
60
 
41
61
  #### Cursor IDE Configuration
@@ -13,7 +13,7 @@ print(f"pdfco-mcp version: {__version__}", file=sys.stderr)
13
13
 
14
14
 
15
15
  @asynccontextmanager
16
- async def PDFCoClient(api_key: str = None) -> AsyncGenerator[AsyncClient, None]:
16
+ async def PDFCoClient(api_key: str | None = None) -> AsyncGenerator[AsyncClient, None]:
17
17
  # Use provided API key, fall back to environment variable
18
18
  x_api_key = api_key or X_API_KEY
19
19
 
@@ -4,36 +4,36 @@ from pdfco.mcp.services.client import PDFCoClient
4
4
 
5
5
 
6
6
  async def convert_to(
7
- _from: str, _to: str, params: ConversionParams, api_key: str = None
7
+ _from: str, _to: str, params: ConversionParams, api_key: str | None = None
8
8
  ) -> BaseResponse:
9
9
  return await request(f"{_from}/convert/to/{_to}", params, api_key=api_key)
10
10
 
11
11
 
12
12
  async def convert_from(
13
- _to: str, _from: str, params: ConversionParams, api_key: str = None
13
+ _to: str, _from: str, params: ConversionParams, api_key: str | None = None
14
14
  ) -> BaseResponse:
15
15
  return await request(f"{_to}/convert/from/{_from}", params, api_key=api_key)
16
16
 
17
17
 
18
- async def merge_pdf(params: ConversionParams, api_key: str = None) -> BaseResponse:
18
+ async def merge_pdf(params: ConversionParams, api_key: str | None = None) -> BaseResponse:
19
19
  return await request("pdf/merge2", params, api_key=api_key)
20
20
 
21
21
 
22
- async def split_pdf(params: ConversionParams, api_key: str = None) -> BaseResponse:
22
+ async def split_pdf(params: ConversionParams, api_key: str | None = None) -> BaseResponse:
23
23
  return await request("pdf/split", params, api_key=api_key)
24
24
 
25
25
 
26
26
  async def get_pdf_form_fields_info(
27
- params: ConversionParams, api_key: str = None
27
+ params: ConversionParams, api_key: str | None = None
28
28
  ) -> BaseResponse:
29
29
  return await request("pdf/info/fields", params, api_key=api_key)
30
30
 
31
31
 
32
32
  async def fill_pdf_form_fields(
33
33
  params: ConversionParams,
34
- fields: list = None,
35
- annotations: list = None,
36
- api_key: str = None,
34
+ fields: list | None = None,
35
+ annotations: list | None = None,
36
+ api_key: str | None = None,
37
37
  ) -> BaseResponse:
38
38
  custom_payload = {}
39
39
  if fields:
@@ -46,7 +46,7 @@ async def fill_pdf_form_fields(
46
46
 
47
47
 
48
48
  async def pdf_add(
49
- params: ConversionParams, api_key: str = None, **kwargs
49
+ params: ConversionParams, api_key: str | None = None, **kwargs
50
50
  ) -> BaseResponse:
51
51
  """General PDF Add function that supports all PDF Add API parameters"""
52
52
  custom_payload = {}
@@ -65,8 +65,8 @@ async def find_text_in_pdf(
65
65
  params: ConversionParams,
66
66
  search_string: str,
67
67
  regex_search: bool = False,
68
- word_matching_mode: str = None,
69
- api_key: str = None,
68
+ word_matching_mode: str | None = None,
69
+ api_key: str | None = None,
70
70
  ) -> BaseResponse:
71
71
  custom_payload = {"searchString": search_string, "regexSearch": regex_search}
72
72
  if word_matching_mode:
@@ -77,29 +77,29 @@ async def find_text_in_pdf(
77
77
 
78
78
 
79
79
  async def find_table_in_pdf(
80
- params: ConversionParams, api_key: str = None
80
+ params: ConversionParams, api_key: str | None = None
81
81
  ) -> BaseResponse:
82
82
  return await request("pdf/find/table", params, api_key=api_key)
83
83
 
84
84
 
85
85
  async def make_pdf_searchable(
86
- params: ConversionParams, api_key: str = None
86
+ params: ConversionParams, api_key: str | None = None
87
87
  ) -> BaseResponse:
88
88
  return await request("pdf/makesearchable", params, api_key=api_key)
89
89
 
90
90
 
91
91
  async def make_pdf_unsearchable(
92
- params: ConversionParams, api_key: str = None
92
+ params: ConversionParams, api_key: str | None = None
93
93
  ) -> BaseResponse:
94
94
  return await request("pdf/makeunsearchable", params, api_key=api_key)
95
95
 
96
96
 
97
- async def get_pdf_info(params: ConversionParams, api_key: str = None) -> BaseResponse:
97
+ async def get_pdf_info(params: ConversionParams, api_key: str | None = None) -> BaseResponse:
98
98
  return await request("pdf/info", params, api_key=api_key)
99
99
 
100
100
 
101
101
  async def add_pdf_password(
102
- params: ConversionParams, api_key: str = None, **kwargs
102
+ params: ConversionParams, api_key: str | None = None, **kwargs
103
103
  ) -> BaseResponse:
104
104
  return await request(
105
105
  "pdf/security/add", params, custom_payload=kwargs, api_key=api_key
@@ -107,17 +107,17 @@ async def add_pdf_password(
107
107
 
108
108
 
109
109
  async def remove_pdf_password(
110
- params: ConversionParams, api_key: str = None
110
+ params: ConversionParams, api_key: str | None = None
111
111
  ) -> BaseResponse:
112
112
  return await request("pdf/security/remove", params, api_key=api_key)
113
113
 
114
114
 
115
- async def parse_invoice(params: ConversionParams, api_key: str = None) -> BaseResponse:
115
+ async def parse_invoice(params: ConversionParams, api_key: str | None = None) -> BaseResponse:
116
116
  return await request("ai-invoice-parser", params, api_key=api_key)
117
117
 
118
118
 
119
119
  async def extract_pdf_attachments(
120
- params: ConversionParams, api_key: str = None
120
+ params: ConversionParams, api_key: str | None = None
121
121
  ) -> BaseResponse:
122
122
  return await request("pdf/attachments/extract", params, api_key=api_key)
123
123
 
@@ -125,8 +125,8 @@ async def extract_pdf_attachments(
125
125
  async def request(
126
126
  endpoint: str,
127
127
  params: ConversionParams,
128
- custom_payload: dict = None,
129
- api_key: str = None,
128
+ custom_payload: dict | None = None,
129
+ api_key: str | None = None,
130
130
  ) -> BaseResponse:
131
131
  payload = params.parse_payload(async_mode=True)
132
132
  if custom_payload:
@@ -46,7 +46,7 @@ async def pdf_to_json(
46
46
  ),
47
47
  api_key: str = Field(
48
48
  description="PDF.co API key. If not provided, will use X_API_KEY environment variable. (Optional)",
49
- default=None,
49
+ default="",
50
50
  ),
51
51
  ) -> BaseResponse:
52
52
  """
@@ -113,7 +113,7 @@ async def pdf_to_csv(
113
113
  ),
114
114
  api_key: str = Field(
115
115
  description="PDF.co API key. If not provided, will use X_API_KEY environment variable. (Optional)",
116
- default=None,
116
+ default="",
117
117
  ),
118
118
  ) -> BaseResponse:
119
119
  """
@@ -180,7 +180,7 @@ async def pdf_to_text(
180
180
  ),
181
181
  api_key: str = Field(
182
182
  description="PDF.co API key. If not provided, will use X_API_KEY environment variable. (Optional)",
183
- default=None,
183
+ default="",
184
184
  ),
185
185
  ) -> BaseResponse:
186
186
  """
@@ -247,7 +247,7 @@ async def pdf_to_xls(
247
247
  ),
248
248
  api_key: str = Field(
249
249
  description="PDF.co API key. If not provided, will use X_API_KEY environment variable. (Optional)",
250
- default=None,
250
+ default="",
251
251
  ),
252
252
  ) -> BaseResponse:
253
253
  """
@@ -314,7 +314,7 @@ async def pdf_to_xlsx(
314
314
  ),
315
315
  api_key: str = Field(
316
316
  description="PDF.co API key. If not provided, will use X_API_KEY environment variable. (Optional)",
317
- default=None,
317
+ default="",
318
318
  ),
319
319
  ) -> BaseResponse:
320
320
  """
@@ -381,7 +381,7 @@ async def pdf_to_xml(
381
381
  ),
382
382
  api_key: str = Field(
383
383
  description="PDF.co API key. If not provided, will use X_API_KEY environment variable. (Optional)",
384
- default=None,
384
+ default="",
385
385
  ),
386
386
  ) -> BaseResponse:
387
387
  """
@@ -448,7 +448,7 @@ async def pdf_to_html(
448
448
  ),
449
449
  api_key: str = Field(
450
450
  description="PDF.co API key. If not provided, will use X_API_KEY environment variable. (Optional)",
451
- default=None,
451
+ default="",
452
452
  ),
453
453
  ) -> BaseResponse:
454
454
  """
@@ -520,7 +520,7 @@ async def pdf_to_image(
520
520
  ),
521
521
  api_key: str = Field(
522
522
  description="PDF.co API key. If not provided, will use X_API_KEY environment variable. (Optional)",
523
- default=None,
523
+ default="",
524
524
  ),
525
525
  ) -> BaseResponse:
526
526
  """
@@ -576,7 +576,7 @@ async def document_to_pdf(
576
576
  ),
577
577
  api_key: str = Field(
578
578
  description="PDF.co API key. If not provided, will use X_API_KEY environment variable. (Optional)",
579
- default=None,
579
+ default="",
580
580
  ),
581
581
  ) -> BaseResponse:
582
582
  """
@@ -624,7 +624,7 @@ async def csv_to_pdf(
624
624
  ),
625
625
  api_key: str = Field(
626
626
  description="PDF.co API key. If not provided, will use X_API_KEY environment variable. (Optional)",
627
- default=None,
627
+ default="",
628
628
  ),
629
629
  ) -> BaseResponse:
630
630
  """
@@ -668,7 +668,7 @@ async def image_to_pdf(
668
668
  ),
669
669
  api_key: str = Field(
670
670
  description="PDF.co API key. If not provided, will use X_API_KEY environment variable. (Optional)",
671
- default=None,
671
+ default="",
672
672
  ),
673
673
  ) -> BaseResponse:
674
674
  """
@@ -738,7 +738,7 @@ async def webpage_to_pdf(
738
738
  ),
739
739
  api_key: str = Field(
740
740
  description="PDF.co API key. If not provided, will use X_API_KEY environment variable. (Optional)",
741
- default=None,
741
+ default="",
742
742
  ),
743
743
  ) -> BaseResponse:
744
744
  """
@@ -827,7 +827,7 @@ async def html_to_pdf(
827
827
  ),
828
828
  api_key: str = Field(
829
829
  description="PDF.co API key. If not provided, will use X_API_KEY environment variable. (Optional)",
830
- default=None,
830
+ default="",
831
831
  ),
832
832
  ) -> BaseResponse:
833
833
  """
@@ -893,7 +893,7 @@ async def email_to_pdf(
893
893
  ),
894
894
  api_key: str = Field(
895
895
  description="PDF.co API key. If not provided, will use X_API_KEY environment variable. (Optional)",
896
- default=None,
896
+ default="",
897
897
  ),
898
898
  ) -> BaseResponse:
899
899
  """
@@ -936,7 +936,7 @@ async def excel_to_csv(
936
936
  ),
937
937
  api_key: str = Field(
938
938
  description="PDF.co API key. If not provided, will use X_API_KEY environment variable. (Optional)",
939
- default=None,
939
+ default="",
940
940
  ),
941
941
  ) -> BaseResponse:
942
942
  """
@@ -978,7 +978,7 @@ async def excel_to_json(
978
978
  ),
979
979
  api_key: str = Field(
980
980
  description="PDF.co API key. If not provided, will use X_API_KEY environment variable. (Optional)",
981
- default=None,
981
+ default="",
982
982
  ),
983
983
  ) -> BaseResponse:
984
984
  """
@@ -1020,7 +1020,7 @@ async def excel_to_html(
1020
1020
  ),
1021
1021
  api_key: str = Field(
1022
1022
  description="PDF.co API key. If not provided, will use X_API_KEY environment variable. (Optional)",
1023
- default=None,
1023
+ default="",
1024
1024
  ),
1025
1025
  ) -> BaseResponse:
1026
1026
  """
@@ -1062,7 +1062,7 @@ async def excel_to_txt(
1062
1062
  ),
1063
1063
  api_key: str = Field(
1064
1064
  description="PDF.co API key. If not provided, will use X_API_KEY environment variable. (Optional)",
1065
- default=None,
1065
+ default="",
1066
1066
  ),
1067
1067
  ) -> BaseResponse:
1068
1068
  """
@@ -1104,7 +1104,7 @@ async def excel_to_xml(
1104
1104
  ),
1105
1105
  api_key: str = Field(
1106
1106
  description="PDF.co API key. If not provided, will use X_API_KEY environment variable. (Optional)",
1107
- default=None,
1107
+ default="",
1108
1108
  ),
1109
1109
  ) -> BaseResponse:
1110
1110
  """
@@ -1146,7 +1146,7 @@ async def excel_to_pdf(
1146
1146
  ),
1147
1147
  api_key: str = Field(
1148
1148
  description="PDF.co API key. If not provided, will use X_API_KEY environment variable. (Optional)",
1149
- default=None,
1149
+ default="",
1150
1150
  ),
1151
1151
  ) -> BaseResponse:
1152
1152
  """
@@ -23,7 +23,7 @@ async def pdf_info_reader(
23
23
  ),
24
24
  api_key: str = Field(
25
25
  description="PDF.co API key. If not provided, will use X_API_KEY environment variable. (Optional)",
26
- default=None,
26
+ default="",
27
27
  ),
28
28
  ) -> BaseResponse:
29
29
  """
@@ -48,7 +48,7 @@ async def pdf_add_annotations_images_fields(
48
48
  ),
49
49
  api_key: str = Field(
50
50
  description="PDF.co API key. If not provided, will use X_API_KEY environment variable. (Optional)",
51
- default=None,
51
+ default="",
52
52
  ),
53
53
  ) -> BaseResponse:
54
54
  """
@@ -12,7 +12,7 @@ async def ai_invoice_parser(
12
12
  ),
13
13
  api_key: str = Field(
14
14
  description="PDF.co API key. If not provided, will use X_API_KEY environment variable. (Optional)",
15
- default=None,
15
+ default="",
16
16
  ),
17
17
  ) -> BaseResponse:
18
18
  """
@@ -42,7 +42,7 @@ async def extract_attachments(
42
42
  password: str = Field(description="Password of PDF file. (Optional)", default=""),
43
43
  api_key: str = Field(
44
44
  description="PDF.co API key. If not provided, will use X_API_KEY environment variable. (Optional)",
45
- default=None,
45
+ default="",
46
46
  ),
47
47
  ) -> BaseResponse:
48
48
  """
@@ -10,7 +10,7 @@ async def upload_file(
10
10
  file_path: str = Field(description="The absolute path to the file to upload"),
11
11
  api_key: str = Field(
12
12
  description="PDF.co API key. If not provided, will use X_API_KEY environment variable. (Optional)",
13
- default=None,
13
+ default="",
14
14
  ),
15
15
  ) -> BaseResponse:
16
16
  """
@@ -21,7 +21,7 @@ async def read_pdf_forms_info(
21
21
  password: str = Field(description="Password of PDF file. (Optional)", default=""),
22
22
  api_key: str = Field(
23
23
  description="PDF.co API key. If not provided, will use X_API_KEY environment variable. (Optional)",
24
- default=None,
24
+ default="",
25
25
  ),
26
26
  ) -> BaseResponse:
27
27
  """
@@ -59,7 +59,7 @@ async def fill_pdf_forms(
59
59
  ),
60
60
  api_key: str = Field(
61
61
  description="PDF.co API key. If not provided, will use X_API_KEY environment variable. (Optional)",
62
- default=None,
62
+ default="",
63
63
  ),
64
64
  ) -> BaseResponse:
65
65
  """
@@ -109,7 +109,7 @@ async def create_fillable_forms(
109
109
  ),
110
110
  api_key: str = Field(
111
111
  description="PDF.co API key. If not provided, will use X_API_KEY environment variable. (Optional)",
112
- default=None,
112
+ default="",
113
113
  ),
114
114
  ) -> BaseResponse:
115
115
  """
@@ -12,7 +12,7 @@ async def get_job_check(
12
12
  job_id: str = Field(description="The ID of the job to get the status of"),
13
13
  api_key: str = Field(
14
14
  description="PDF.co API key. If not provided, will use X_API_KEY environment variable. (Optional)",
15
- default=None,
15
+ default="",
16
16
  ),
17
17
  ) -> BaseResponse:
18
18
  """
@@ -58,7 +58,7 @@ async def wait_job_completion(
58
58
  ),
59
59
  api_key: str = Field(
60
60
  description="PDF.co API key. If not provided, will use X_API_KEY environment variable. (Optional)",
61
- default=None,
61
+ default="",
62
62
  ),
63
63
  ) -> BaseResponse:
64
64
  """
@@ -23,7 +23,7 @@ async def pdf_merge(
23
23
  ),
24
24
  api_key: str = Field(
25
25
  description="PDF.co API key. If not provided, will use X_API_KEY environment variable. (Optional)",
26
- default=None,
26
+ default="",
27
27
  ),
28
28
  ) -> BaseResponse:
29
29
  """
@@ -63,7 +63,7 @@ async def pdf_split(
63
63
  ),
64
64
  api_key: str = Field(
65
65
  description="PDF.co API key. If not provided, will use X_API_KEY environment variable. (Optional)",
66
- default=None,
66
+ default="",
67
67
  ),
68
68
  ) -> BaseResponse:
69
69
  """
@@ -38,7 +38,7 @@ async def find_text(
38
38
  ),
39
39
  api_key: str = Field(
40
40
  description="PDF.co API key. If not provided, will use X_API_KEY environment variable. (Optional)",
41
- default=None,
41
+ default="",
42
42
  ),
43
43
  ) -> BaseResponse:
44
44
  """
@@ -80,7 +80,7 @@ async def find_table(
80
80
  ),
81
81
  api_key: str = Field(
82
82
  description="PDF.co API key. If not provided, will use X_API_KEY environment variable. (Optional)",
83
- default=None,
83
+ default="",
84
84
  ),
85
85
  ) -> BaseResponse:
86
86
  """
@@ -34,7 +34,7 @@ async def pdf_make_searchable(
34
34
  ),
35
35
  api_key: str = Field(
36
36
  description="PDF.co API key. If not provided, will use X_API_KEY environment variable. (Optional)",
37
- default=None,
37
+ default="",
38
38
  ),
39
39
  ) -> BaseResponse:
40
40
  """
@@ -80,7 +80,7 @@ async def pdf_make_unsearchable(
80
80
  ),
81
81
  api_key: str = Field(
82
82
  description="PDF.co API key. If not provided, will use X_API_KEY environment variable. (Optional)",
83
- default=None,
83
+ default="",
84
84
  ),
85
85
  ) -> BaseResponse:
86
86
  """
@@ -67,7 +67,7 @@ async def pdf_add_password(
67
67
  ),
68
68
  api_key: str = Field(
69
69
  description="PDF.co API key. If not provided, will use X_API_KEY environment variable. (Optional)",
70
- default=None,
70
+ default="",
71
71
  ),
72
72
  ) -> BaseResponse:
73
73
  """
@@ -140,7 +140,7 @@ async def pdf_remove_password(
140
140
  ),
141
141
  api_key: str = Field(
142
142
  description="PDF.co API key. If not provided, will use X_API_KEY environment variable. (Optional)",
143
- default=None,
143
+ default="",
144
144
  ),
145
145
  ) -> BaseResponse:
146
146
  """
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "pdfco-mcp"
3
- version = "0.0.5"
3
+ version = "0.0.6"
4
4
  description = "MCP server for PDF.Co"
5
5
  authors = [
6
6
  { name = "PDF.Co", email = "support@pdf.co" }
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes