tooluniverse 1.0.4__py3-none-any.whl → 1.0.6__py3-none-any.whl

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.

Potentially problematic release.


This version of tooluniverse might be problematic. Click here for more details.

Files changed (57) hide show
  1. tooluniverse/__init__.py +56 -5
  2. tooluniverse/agentic_tool.py +90 -14
  3. tooluniverse/arxiv_tool.py +113 -0
  4. tooluniverse/biorxiv_tool.py +97 -0
  5. tooluniverse/core_tool.py +153 -0
  6. tooluniverse/crossref_tool.py +73 -0
  7. tooluniverse/data/agentic_tools.json +2 -2
  8. tooluniverse/data/arxiv_tools.json +87 -0
  9. tooluniverse/data/biorxiv_tools.json +70 -0
  10. tooluniverse/data/core_tools.json +105 -0
  11. tooluniverse/data/crossref_tools.json +70 -0
  12. tooluniverse/data/dblp_tools.json +73 -0
  13. tooluniverse/data/doaj_tools.json +94 -0
  14. tooluniverse/data/fatcat_tools.json +72 -0
  15. tooluniverse/data/hal_tools.json +70 -0
  16. tooluniverse/data/medrxiv_tools.json +70 -0
  17. tooluniverse/data/odphp_tools.json +354 -0
  18. tooluniverse/data/openaire_tools.json +85 -0
  19. tooluniverse/data/osf_preprints_tools.json +77 -0
  20. tooluniverse/data/pmc_tools.json +109 -0
  21. tooluniverse/data/pubmed_tools.json +65 -0
  22. tooluniverse/data/unpaywall_tools.json +86 -0
  23. tooluniverse/data/wikidata_sparql_tools.json +42 -0
  24. tooluniverse/data/zenodo_tools.json +82 -0
  25. tooluniverse/dblp_tool.py +62 -0
  26. tooluniverse/default_config.py +18 -0
  27. tooluniverse/doaj_tool.py +124 -0
  28. tooluniverse/execute_function.py +70 -9
  29. tooluniverse/fatcat_tool.py +66 -0
  30. tooluniverse/hal_tool.py +77 -0
  31. tooluniverse/llm_clients.py +487 -0
  32. tooluniverse/mcp_tool_registry.py +3 -3
  33. tooluniverse/medrxiv_tool.py +97 -0
  34. tooluniverse/odphp_tool.py +226 -0
  35. tooluniverse/openaire_tool.py +145 -0
  36. tooluniverse/osf_preprints_tool.py +67 -0
  37. tooluniverse/pmc_tool.py +181 -0
  38. tooluniverse/pubmed_tool.py +110 -0
  39. tooluniverse/remote/boltz/boltz_mcp_server.py +2 -2
  40. tooluniverse/remote/uspto_downloader/uspto_downloader_mcp_server.py +2 -2
  41. tooluniverse/smcp.py +313 -191
  42. tooluniverse/smcp_server.py +4 -7
  43. tooluniverse/test/test_claude_sdk.py +93 -0
  44. tooluniverse/test/test_odphp_tool.py +166 -0
  45. tooluniverse/test/test_openrouter_client.py +288 -0
  46. tooluniverse/test/test_stdio_hooks.py +1 -1
  47. tooluniverse/test/test_tool_finder.py +1 -1
  48. tooluniverse/unpaywall_tool.py +63 -0
  49. tooluniverse/wikidata_sparql_tool.py +61 -0
  50. tooluniverse/zenodo_tool.py +74 -0
  51. {tooluniverse-1.0.4.dist-info → tooluniverse-1.0.6.dist-info}/METADATA +101 -74
  52. {tooluniverse-1.0.4.dist-info → tooluniverse-1.0.6.dist-info}/RECORD +56 -19
  53. {tooluniverse-1.0.4.dist-info → tooluniverse-1.0.6.dist-info}/entry_points.txt +1 -0
  54. tooluniverse-1.0.6.dist-info/licenses/LICENSE +201 -0
  55. tooluniverse-1.0.4.dist-info/licenses/LICENSE +0 -21
  56. {tooluniverse-1.0.4.dist-info → tooluniverse-1.0.6.dist-info}/WHEEL +0 -0
  57. {tooluniverse-1.0.4.dist-info → tooluniverse-1.0.6.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,70 @@
1
+ [
2
+ {
3
+ "type": "HALTool",
4
+ "name": "HAL_search_archive",
5
+ "description": "Search the French HAL open archive via its public API. Returns documents with title, authors, year, DOI, URL, abstract, and source.",
6
+ "parameter": {
7
+ "type": "object",
8
+ "properties": {
9
+ "query": {
10
+ "type": "string",
11
+ "description": "Search query for HAL archive. Supports Lucene syntax for advanced queries."
12
+ },
13
+ "max_results": {
14
+ "type": "integer",
15
+ "description": "Maximum number of documents to return. Default is 10, maximum is 100.",
16
+ "default": 10
17
+ }
18
+ },
19
+ "required": ["query"]
20
+ },
21
+ "return_schema": {
22
+ "type": "array",
23
+ "description": "List of HAL documents matching the search query",
24
+ "items": {
25
+ "type": "object",
26
+ "properties": {
27
+ "title": {
28
+ "type": "string",
29
+ "description": "Title of the document"
30
+ },
31
+ "authors": {
32
+ "type": "array",
33
+ "items": {"type": "string"},
34
+ "description": "List of author names"
35
+ },
36
+ "year": {
37
+ "type": "integer",
38
+ "description": "Publication year"
39
+ },
40
+ "doi": {
41
+ "type": "string",
42
+ "description": "Digital Object Identifier (if available)"
43
+ },
44
+ "url": {
45
+ "type": "string",
46
+ "description": "URL to the document on HAL"
47
+ },
48
+ "abstract": {
49
+ "type": "string",
50
+ "description": "Abstract of the document"
51
+ },
52
+ "source": {
53
+ "type": "string",
54
+ "description": "Source identifier (always 'HAL')"
55
+ }
56
+ }
57
+ }
58
+ },
59
+ "test_examples": [
60
+ {
61
+ "query": "mathematics",
62
+ "max_results": 2
63
+ },
64
+ {
65
+ "query": "physics",
66
+ "max_results": 1
67
+ }
68
+ ]
69
+ }
70
+ ]
@@ -0,0 +1,70 @@
1
+ [
2
+ {
3
+ "type": "MedRxivTool",
4
+ "name": "MedRxiv_search_preprints",
5
+ "description": "Search medRxiv preprints using the public medRxiv API. Returns preprints with title, authors, year, DOI, and URL.",
6
+ "parameter": {
7
+ "type": "object",
8
+ "properties": {
9
+ "query": {
10
+ "type": "string",
11
+ "description": "Search query for medRxiv preprints. Use keywords separated by spaces to refine your search."
12
+ },
13
+ "max_results": {
14
+ "type": "integer",
15
+ "description": "Maximum number of preprints to return. Default is 10, maximum is 200.",
16
+ "default": 10
17
+ }
18
+ },
19
+ "required": ["query"]
20
+ },
21
+ "return_schema": {
22
+ "type": "array",
23
+ "description": "List of medRxiv preprints matching the search query",
24
+ "items": {
25
+ "type": "object",
26
+ "properties": {
27
+ "title": {
28
+ "type": "string",
29
+ "description": "Title of the preprint"
30
+ },
31
+ "authors": {
32
+ "type": "array",
33
+ "items": {"type": "string"},
34
+ "description": "List of author names"
35
+ },
36
+ "year": {
37
+ "type": "integer",
38
+ "description": "Publication year"
39
+ },
40
+ "doi": {
41
+ "type": "string",
42
+ "description": "Digital Object Identifier"
43
+ },
44
+ "url": {
45
+ "type": "string",
46
+ "description": "URL to the preprint on medRxiv"
47
+ },
48
+ "abstract": {
49
+ "type": "string",
50
+ "description": "Abstract of the preprint"
51
+ },
52
+ "source": {
53
+ "type": "string",
54
+ "description": "Source identifier (always 'medRxiv')"
55
+ }
56
+ }
57
+ }
58
+ },
59
+ "test_examples": [
60
+ {
61
+ "query": "COVID",
62
+ "max_results": 2
63
+ },
64
+ {
65
+ "query": "vaccine",
66
+ "max_results": 1
67
+ }
68
+ ]
69
+ }
70
+ ]
@@ -0,0 +1,354 @@
1
+ [
2
+ {
3
+ "name": "odphp_myhealthfinder",
4
+ "description": "This tool provides personalized preventive-care recommendations and it is helpful for different ages, sexes, pregnancy status, gives age/sex/pregnancy. It retrieves metadata, plain-language sections, and dataset links to the full article (AccessibleVersion links). If the user wants the full text of a recommendation, the `odphp_outlink_fetch` tool is helpful.",
5
+ "type": "ODPHPMyHealthfinder",
6
+ "parameter": {
7
+ "type": "object",
8
+ "properties": {
9
+ "lang": { "type": "string", "description": "Language code (en or es)" },
10
+ "age": { "type": "integer", "description": "Age in years (0–120)" },
11
+ "sex": { "type": "string", "description": "Male or Female" },
12
+ "pregnant": { "type": "string", "description": "\"Yes\" or \"No\"" },
13
+ "strip_html": { "type": "boolean", "description": "If true, also return PlainSections[] with HTML removed for each topic" }
14
+ }
15
+ },
16
+ "fields": { "endpoint": "/myhealthfinder.json", "return_format": "JSON" },
17
+ "return_schema": {
18
+ "type": "object",
19
+ "properties": {
20
+ "Error": { "type": "string" },
21
+ "Total": { "type": "integer" },
22
+ "Query": { "type": "object" },
23
+ "Language": { "type": "string" },
24
+ "MyHFHeading": { "type": "string" },
25
+ "TakeAction": { "type": "string" },
26
+ "AboutTheseResults": { "type": "string" },
27
+ "Resources": {
28
+ "type": "object",
29
+ "properties": {
30
+ "All": {
31
+ "type": "object",
32
+ "properties": {
33
+ "Resource": {
34
+ "type": "array",
35
+ "items": {
36
+ "type": "object",
37
+ "properties": {
38
+ "Type": { "type": "string" },
39
+ "Id": { "type": "string" },
40
+ "Title": { "type": "string" },
41
+ "TranslationId": { "type": "string" },
42
+ "TranslationTitle": { "type": "string" },
43
+ "Categories": { "type": "string" },
44
+ "MyHFTitle": { "type": "string" },
45
+ "MyHFCategory": { "type": "string" },
46
+ "MyHFCategoryHeading": { "type": "string" },
47
+ "LastUpdate": { "type": "string" },
48
+ "ImageUrl": { "type": "string" },
49
+ "ImageAlt": { "type": "string" },
50
+ "AccessibleVersion": { "type": "string" },
51
+ "RelatedItems": {
52
+ "type": "object",
53
+ "properties": {
54
+ "RelatedItem": {
55
+ "type": "array",
56
+ "items": {
57
+ "type": "object",
58
+ "properties": {
59
+ "Type": { "type": "string" },
60
+ "Id": { "type": "string" },
61
+ "Title": { "type": "string" },
62
+ "Url": { "type": "string" }
63
+ }
64
+ }
65
+ }
66
+ }
67
+ },
68
+ "Sections": {
69
+ "type": "object",
70
+ "properties": {
71
+ "Section": {
72
+ "type": "array",
73
+ "items": {
74
+ "type": "object",
75
+ "properties": {
76
+ "Title": { "type": "string" },
77
+ "Content": { "type": "string" }
78
+ }
79
+ }
80
+ },
81
+ "section": {
82
+ "type": "array",
83
+ "items": {
84
+ "type": "object",
85
+ "properties": {
86
+ "Title": { "type": "string" },
87
+ "Content": { "type": "string" }
88
+ }
89
+ }
90
+ }
91
+ }
92
+ },
93
+ "HealthfinderLogo": { "type": "string" },
94
+ "HealthfinderUrl": { "type": "string" }
95
+ }
96
+ }
97
+ }
98
+ }
99
+ }
100
+ }
101
+ },
102
+ "Callouts": {
103
+ "type": "object",
104
+ "properties": {
105
+ "All": {
106
+ "type": "object",
107
+ "properties": {
108
+ "Resource": {
109
+ "type": "array",
110
+ "items": {
111
+ "type": "object",
112
+ "properties": {
113
+ "Type": { "type": "string" },
114
+ "Id": { "type": "string" },
115
+ "Title": { "type": "string" },
116
+ "TranslationId": { "type": "string" },
117
+ "TranslationTitle": { "type": "string" },
118
+ "Categories": { "type": "string" },
119
+ "MyHFTitle": { "type": "string" },
120
+ "MyHFCategory": { "type": "string" },
121
+ "MyHFCategoryHeading": { "type": "string" },
122
+ "LastUpdate": { "type": "string" },
123
+ "ImageUrl": { "type": "string" },
124
+ "ImageAlt": { "type": "string" },
125
+ "AccessibleVersion": { "type": "string" },
126
+ "RelatedItems": {
127
+ "type": "object",
128
+ "properties": {
129
+ "RelatedItem": {
130
+ "type": "array",
131
+ "items": {
132
+ "type": "object",
133
+ "properties": {
134
+ "Type": { "type": "string" },
135
+ "Id": { "type": "string" },
136
+ "Title": { "type": "string" },
137
+ "Url": { "type": "string" }
138
+ }
139
+ }
140
+ }
141
+ }
142
+ },
143
+ "Sections": {
144
+ "type": "object",
145
+ "properties": {
146
+ "Section": {
147
+ "type": "array",
148
+ "items": {
149
+ "type": "object",
150
+ "properties": {
151
+ "Title": { "type": "string" },
152
+ "Content": { "type": "string" }
153
+ }
154
+ }
155
+ },
156
+ "section": {
157
+ "type": "array",
158
+ "items": {
159
+ "type": "object",
160
+ "properties": {
161
+ "Title": { "type": "string" },
162
+ "Content": { "type": "string" }
163
+ }
164
+ }
165
+ }
166
+ }
167
+ },
168
+ "HealthfinderLogo": { "type": "string" },
169
+ "HealthfinderUrl": { "type": "string" }
170
+ }
171
+ }
172
+ }
173
+ }
174
+ }
175
+ }
176
+ }
177
+ }
178
+ }
179
+ },
180
+ {
181
+ "name": "odphp_itemlist",
182
+ "description": "This tools browses and returns available topics and categories and it is helpful to help narrow a broad request (e.g., “show me all topics”). For full topic content, `odphp_topicsearch` tool is helpful.",
183
+ "type": "ODPHPItemList",
184
+ "parameter": {
185
+ "type": "object",
186
+ "properties": {
187
+ "lang": { "type": "string", "description": "Language code (en or es)" },
188
+ "type": { "type": "string", "description": "topic or category" }
189
+ }
190
+ },
191
+ "fields": { "endpoint": "/itemlist.json", "return_format": "JSON" },
192
+ "return_schema": {
193
+ "type": "object",
194
+ "properties": {
195
+ "Error": { "type": "string" },
196
+ "Total": { "type": "integer" },
197
+ "Query": { "type": "object" },
198
+ "Language": { "type": "string" },
199
+ "Items": {
200
+ "type": "object",
201
+ "properties": {
202
+ "Item": {
203
+ "type": "array",
204
+ "items": {
205
+ "type": "object",
206
+ "properties": {
207
+ "Type": { "type": "string" },
208
+ "Id": { "type": "string" },
209
+ "Title": { "type": "string" },
210
+ "ParentId": { "type": "string" },
211
+ "TranslationId": { "type": "string" }
212
+ }
213
+ }
214
+ }
215
+ }
216
+ }
217
+ }
218
+ }
219
+ },
220
+ {
221
+ "name": "odphp_topicsearch",
222
+ "description": "Find specific health topics and get their full content. Use when the user mentions a keyword (e.g., “folic acid”, “blood pressure”) or when you already have topic/category IDs from `odphp_itemlist`. Returns detailed topic pages (Title, Sections, RelatedItems) and an AccessibleVersion link. Next: to quote or summarize the actual page text, pass the AccessibleVersion (or RelatedItems URLs) to `odphp_outlink_fetch`.",
223
+ "type": "ODPHPTopicSearch",
224
+ "parameter": {
225
+ "type": "object",
226
+ "properties": {
227
+ "lang": { "type": "string", "description": "Language code (en or es)" },
228
+ "topicId": { "type": "string", "description": "Comma-separated topic IDs" },
229
+ "categoryId": { "type": "string", "description": "Comma-separated category IDs" },
230
+ "keyword": { "type": "string", "description": "Keyword search for topics" },
231
+ "strip_html": { "type": "boolean", "description": "If true, also return PlainSections[] with HTML removed for each topic" }
232
+ }
233
+ },
234
+ "fields": { "endpoint": "/topicsearch.json", "return_format": "JSON" },
235
+ "return_schema": {
236
+ "type": "object",
237
+ "properties": {
238
+ "Error": { "type": "string" },
239
+ "Total": { "type": "integer" },
240
+ "Query": { "type": "object" },
241
+ "Language": { "type": "string" },
242
+ "Resources": {
243
+ "type": "object",
244
+ "properties": {
245
+ "Resource": {
246
+ "type": "array",
247
+ "items": {
248
+ "type": "object",
249
+ "properties": {
250
+ "Type": { "type": "string" },
251
+ "Id": { "type": "string" },
252
+ "Title": { "type": "string" },
253
+ "TranslationId": { "type": "string" },
254
+ "TranslationTitle": { "type": "string" },
255
+ "Categories": { "type": "string" },
256
+ "MyHFTitle": { "type": "string" },
257
+ "MyHFCategory": { "type": "string" },
258
+ "MyHFCategoryHeading": { "type": "string" },
259
+ "LastUpdate": { "type": "string" },
260
+ "ImageUrl": { "type": "string" },
261
+ "ImageAlt": { "type": "string" },
262
+ "AccessibleVersion": { "type": "string" },
263
+ "RelatedItems": {
264
+ "type": "object",
265
+ "properties": {
266
+ "RelatedItem": {
267
+ "type": "array",
268
+ "items": {
269
+ "type": "object",
270
+ "properties": {
271
+ "Type": { "type": "string" },
272
+ "Id": { "type": "string" },
273
+ "Title": { "type": "string" },
274
+ "Url": { "type": "string" }
275
+ }
276
+ }
277
+ }
278
+ }
279
+ },
280
+ "Sections": {
281
+ "type": "object",
282
+ "properties": {
283
+ "Section": {
284
+ "type": "array",
285
+ "items": {
286
+ "type": "object",
287
+ "properties": {
288
+ "Title": { "type": "string" },
289
+ "Content": { "type": "string" }
290
+ }
291
+ }
292
+ },
293
+ "section": {
294
+ "type": "array",
295
+ "items": {
296
+ "type": "object",
297
+ "properties": {
298
+ "Title": { "type": "string" },
299
+ "Content": { "type": "string" }
300
+ }
301
+ }
302
+ }
303
+ }
304
+ },
305
+ "HealthfinderLogo": { "type": "string" },
306
+ "HealthfinderUrl": { "type": "string" }
307
+ }
308
+ }
309
+ }
310
+ }
311
+ }
312
+ }
313
+ }
314
+ },
315
+ {
316
+ "name": "odphp_outlink_fetch",
317
+ "description": "This tool retrieves readable text from ODPHP article links and information sources. This is helpful after using the `odphp_myhealthfinder` or `odphp_topicsearch` tools or when the user wants to simply dive deeper into ODPHP data.",
318
+ "type": "ODPHPOutlinkFetch",
319
+ "parameter": {
320
+ "type": "object",
321
+ "properties": {
322
+ "urls": {
323
+ "type": "array",
324
+ "items": { "type": "string" },
325
+ "description": "1–3 absolute URLs from AccessibleVersion or RelatedItems.Url"
326
+ },
327
+ "max_chars": { "type": "integer", "description": "Optional hard cap on extracted text length (e.g., 5000)" },
328
+ "return_html": { "type": "boolean", "description": "If true, also return minimally cleaned HTML" }
329
+ },
330
+ "required": ["urls"]
331
+ },
332
+ "fields": { "endpoint": "/outlink", "return_format": "JSON" },
333
+ "return_schema": {
334
+ "type": "object",
335
+ "properties": {
336
+ "results": {
337
+ "type": "array",
338
+ "items": {
339
+ "type": "object",
340
+ "properties": {
341
+ "url": { "type": "string" },
342
+ "status": { "type": "integer" },
343
+ "content_type": { "type": "string" },
344
+ "title": { "type": "string" },
345
+ "text": { "type": "string" },
346
+ "html": { "type": "string" }
347
+ }
348
+ }
349
+ },
350
+ "metadata": { "type": "object" }
351
+ }
352
+ }
353
+ }
354
+ ]
@@ -0,0 +1,85 @@
1
+ [
2
+ {
3
+ "type": "OpenAIRETool",
4
+ "name": "OpenAIRE_search_publications",
5
+ "description": "Search OpenAIRE Explore for research products including publications, datasets, and software. OpenAIRE is the European open science platform that provides access to research outputs from EU-funded projects.",
6
+ "parameter": {
7
+ "type": "object",
8
+ "properties": {
9
+ "query": {
10
+ "type": "string",
11
+ "description": "Search query for OpenAIRE research products. Use keywords to search across titles, abstracts, and metadata."
12
+ },
13
+ "max_results": {
14
+ "type": "integer",
15
+ "description": "Maximum number of results to return. Default is 10, maximum is 100.",
16
+ "default": 10,
17
+ "minimum": 1,
18
+ "maximum": 100
19
+ },
20
+ "type": {
21
+ "type": "string",
22
+ "description": "Type of research product to search: 'publications', 'datasets', or 'software'. Default is 'publications'.",
23
+ "default": "publications",
24
+ "enum": ["publications", "datasets", "software"]
25
+ }
26
+ },
27
+ "required": ["query"]
28
+ },
29
+ "return_schema": {
30
+ "type": "array",
31
+ "description": "List of OpenAIRE research products matching the search query",
32
+ "items": {
33
+ "type": "object",
34
+ "properties": {
35
+ "title": {
36
+ "type": "string",
37
+ "description": "Title of the research product"
38
+ },
39
+ "authors": {
40
+ "type": "array",
41
+ "items": {"type": "string"},
42
+ "description": "List of author/creator names"
43
+ },
44
+ "year": {
45
+ "type": "string",
46
+ "description": "Publication or creation year"
47
+ },
48
+ "doi": {
49
+ "type": "string",
50
+ "description": "Digital Object Identifier"
51
+ },
52
+ "url": {
53
+ "type": "string",
54
+ "description": "URL to access the research product"
55
+ },
56
+ "type": {
57
+ "type": "string",
58
+ "description": "Type of research product (publications/datasets/software)"
59
+ },
60
+ "source": {
61
+ "type": "string",
62
+ "description": "Source identifier (always 'OpenAIRE')"
63
+ }
64
+ }
65
+ }
66
+ },
67
+ "test_examples": [
68
+ {
69
+ "query": "machine learning",
70
+ "max_results": 2,
71
+ "type": "publications"
72
+ },
73
+ {
74
+ "query": "climate change",
75
+ "max_results": 1,
76
+ "type": "datasets"
77
+ },
78
+ {
79
+ "query": "bioinformatics",
80
+ "max_results": 1,
81
+ "type": "software"
82
+ }
83
+ ]
84
+ }
85
+ ]
@@ -0,0 +1,77 @@
1
+ [
2
+ {
3
+ "type": "OSFPreprintsTool",
4
+ "name": "OSF_search_preprints",
5
+ "description": "Search OSF (Open Science Framework) Preprints for research preprints and working papers. OSF Preprints aggregates preprints from multiple providers including OSF, PsyArXiv, and others.",
6
+ "parameter": {
7
+ "type": "object",
8
+ "properties": {
9
+ "query": {
10
+ "type": "string",
11
+ "description": "Search query for OSF preprints. Use keywords to search across titles and abstracts."
12
+ },
13
+ "max_results": {
14
+ "type": "integer",
15
+ "description": "Maximum number of results to return. Default is 10, maximum is 100.",
16
+ "default": 10,
17
+ "minimum": 1,
18
+ "maximum": 100
19
+ },
20
+ "provider": {
21
+ "type": "string",
22
+ "description": "Optional preprint provider filter (e.g., 'osf', 'psyarxiv', 'socarxiv'). If not specified, searches all providers."
23
+ }
24
+ },
25
+ "required": ["query"]
26
+ },
27
+ "return_schema": {
28
+ "type": "array",
29
+ "description": "List of OSF preprints matching the search query",
30
+ "items": {
31
+ "type": "object",
32
+ "properties": {
33
+ "title": {
34
+ "type": "string",
35
+ "description": "Title of the preprint"
36
+ },
37
+ "date_published": {
38
+ "type": "string",
39
+ "description": "Publication date of the preprint"
40
+ },
41
+ "published": {
42
+ "type": "boolean",
43
+ "description": "Whether the preprint is published"
44
+ },
45
+ "doi": {
46
+ "type": "string",
47
+ "description": "Digital Object Identifier"
48
+ },
49
+ "url": {
50
+ "type": "string",
51
+ "description": "URL to the preprint on OSF"
52
+ },
53
+ "source": {
54
+ "type": "string",
55
+ "description": "Source identifier (always 'OSF Preprints')"
56
+ }
57
+ }
58
+ }
59
+ },
60
+ "test_examples": [
61
+ {
62
+ "query": "psychology",
63
+ "max_results": 2
64
+ },
65
+ {
66
+ "query": "social science",
67
+ "max_results": 1,
68
+ "provider": "socarxiv"
69
+ },
70
+ {
71
+ "query": "neuroscience",
72
+ "max_results": 1,
73
+ "provider": "psyarxiv"
74
+ }
75
+ ]
76
+ }
77
+ ]