@wentorai/research-plugins 1.3.2 → 1.4.2

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 (266) hide show
  1. package/README.md +32 -56
  2. package/curated/analysis/README.md +1 -13
  3. package/curated/domains/README.md +1 -5
  4. package/curated/literature/README.md +3 -12
  5. package/curated/research/README.md +1 -18
  6. package/curated/tools/README.md +1 -12
  7. package/curated/writing/README.md +2 -6
  8. package/index.ts +88 -5
  9. package/openclaw.plugin.json +3 -12
  10. package/package.json +3 -5
  11. package/skills/analysis/statistics/SKILL.md +1 -1
  12. package/skills/analysis/statistics/meta-analysis-guide/SKILL.md +1 -1
  13. package/skills/domains/ai-ml/SKILL.md +3 -2
  14. package/skills/domains/ai-ml/generative-ai-guide/SKILL.md +1 -0
  15. package/skills/domains/ai-ml/huggingface-api/SKILL.md +251 -0
  16. package/skills/domains/biomedical/SKILL.md +9 -2
  17. package/skills/domains/biomedical/alphafold-api/SKILL.md +227 -0
  18. package/skills/domains/biomedical/biothings-api/SKILL.md +296 -0
  19. package/skills/domains/biomedical/clinicaltrials-api-v2/SKILL.md +216 -0
  20. package/skills/domains/biomedical/enrichr-api/SKILL.md +264 -0
  21. package/skills/domains/biomedical/ensembl-rest-api/SKILL.md +204 -0
  22. package/skills/domains/biomedical/medical-data-api/SKILL.md +197 -0
  23. package/skills/domains/biomedical/pdb-structure-api/SKILL.md +219 -0
  24. package/skills/domains/business/SKILL.md +2 -3
  25. package/skills/domains/chemistry/SKILL.md +3 -2
  26. package/skills/domains/chemistry/catalysis-hub-api/SKILL.md +171 -0
  27. package/skills/domains/education/SKILL.md +2 -3
  28. package/skills/domains/law/SKILL.md +3 -2
  29. package/skills/domains/law/uk-legislation-api/SKILL.md +179 -0
  30. package/skills/literature/discovery/SKILL.md +1 -1
  31. package/skills/literature/discovery/citation-alert-guide/SKILL.md +2 -2
  32. package/skills/literature/discovery/conference-proceedings-guide/SKILL.md +2 -2
  33. package/skills/literature/discovery/literature-mapping-guide/SKILL.md +1 -1
  34. package/skills/literature/discovery/paper-recommendation-guide/SKILL.md +8 -14
  35. package/skills/literature/discovery/rss-paper-feeds/SKILL.md +20 -14
  36. package/skills/literature/discovery/semantic-paper-radar/SKILL.md +8 -8
  37. package/skills/literature/discovery/semantic-scholar-recs-guide/SKILL.md +103 -86
  38. package/skills/literature/fulltext/SKILL.md +3 -2
  39. package/skills/literature/fulltext/arxiv-latex-source/SKILL.md +195 -0
  40. package/skills/literature/fulltext/open-access-guide/SKILL.md +1 -1
  41. package/skills/literature/fulltext/open-access-mining-guide/SKILL.md +5 -5
  42. package/skills/literature/metadata/citation-network-guide/SKILL.md +3 -3
  43. package/skills/literature/metadata/h-index-guide/SKILL.md +0 -27
  44. package/skills/literature/search/SKILL.md +3 -4
  45. package/skills/literature/search/citation-chaining-guide/SKILL.md +42 -32
  46. package/skills/literature/search/database-comparison-guide/SKILL.md +1 -1
  47. package/skills/literature/search/semantic-scholar-api/SKILL.md +56 -53
  48. package/skills/research/automation/SKILL.md +2 -3
  49. package/skills/research/automation/datagen-research-guide/SKILL.md +1 -0
  50. package/skills/research/automation/mle-agent-guide/SKILL.md +1 -0
  51. package/skills/research/automation/paper-to-agent-guide/SKILL.md +2 -1
  52. package/skills/research/deep-research/auto-deep-research-guide/SKILL.md +1 -0
  53. package/skills/research/deep-research/in-depth-research-guide/SKILL.md +1 -1
  54. package/skills/research/deep-research/kosmos-scientist-guide/SKILL.md +3 -3
  55. package/skills/research/deep-research/llm-scientific-discovery-guide/SKILL.md +1 -1
  56. package/skills/research/deep-research/local-deep-research-guide/SKILL.md +6 -6
  57. package/skills/research/deep-research/open-researcher-guide/SKILL.md +3 -3
  58. package/skills/research/deep-research/tongyi-deep-research-guide/SKILL.md +4 -4
  59. package/skills/research/methodology/SKILL.md +1 -1
  60. package/skills/research/methodology/claude-scientific-guide/SKILL.md +1 -0
  61. package/skills/research/methodology/grad-school-guide/SKILL.md +1 -1
  62. package/skills/research/methodology/qualitative-research-guide/SKILL.md +1 -1
  63. package/skills/research/paper-review/SKILL.md +1 -1
  64. package/skills/research/paper-review/automated-review-guide/SKILL.md +1 -1
  65. package/skills/research/paper-review/peer-review-guide/SKILL.md +1 -1
  66. package/skills/tools/diagram/excalidraw-diagram-guide/SKILL.md +1 -1
  67. package/skills/tools/diagram/mermaid-architect-guide/SKILL.md +1 -1
  68. package/skills/tools/diagram/plantuml-guide/SKILL.md +1 -1
  69. package/skills/tools/document/grobid-pdf-parsing/SKILL.md +1 -1
  70. package/skills/tools/document/paper-parse-guide/SKILL.md +2 -2
  71. package/skills/tools/knowledge-graph/SKILL.md +2 -3
  72. package/skills/tools/knowledge-graph/citation-network-builder/SKILL.md +5 -5
  73. package/skills/tools/knowledge-graph/knowledge-graph-construction/SKILL.md +1 -1
  74. package/skills/tools/ocr-translate/zotero-pdf2zh-guide/SKILL.md +1 -0
  75. package/skills/tools/scraping/academic-web-scraping/SKILL.md +1 -2
  76. package/skills/tools/scraping/google-scholar-scraper/SKILL.md +7 -7
  77. package/skills/writing/citation/SKILL.md +1 -1
  78. package/skills/writing/citation/academic-citation-manager/SKILL.md +20 -17
  79. package/skills/writing/citation/citation-assistant-skill/SKILL.md +72 -58
  80. package/skills/writing/citation/obsidian-citation-guide/SKILL.md +1 -0
  81. package/skills/writing/citation/obsidian-zotero-guide/SKILL.md +1 -0
  82. package/skills/writing/citation/onecite-reference-guide/SKILL.md +1 -1
  83. package/skills/writing/citation/papersgpt-zotero-guide/SKILL.md +1 -0
  84. package/skills/writing/citation/zotero-mdnotes-guide/SKILL.md +1 -0
  85. package/skills/writing/citation/zotero-reference-guide/SKILL.md +2 -1
  86. package/skills/writing/citation/zotero-scholar-guide/SKILL.md +1 -1
  87. package/skills/writing/composition/scientific-writing-resources/SKILL.md +1 -0
  88. package/skills/writing/latex/latex-drawing-collection/SKILL.md +1 -0
  89. package/skills/writing/latex/latex-templates-collection/SKILL.md +1 -0
  90. package/skills/writing/templates/novathesis-guide/SKILL.md +1 -0
  91. package/src/tools/arxiv.ts +81 -30
  92. package/src/tools/biorxiv.ts +158 -0
  93. package/src/tools/crossref.ts +63 -22
  94. package/src/tools/datacite.ts +191 -0
  95. package/src/tools/dblp.ts +125 -0
  96. package/src/tools/doaj.ts +82 -0
  97. package/src/tools/europe-pmc.ts +159 -0
  98. package/src/tools/hal.ts +118 -0
  99. package/src/tools/inspire-hep.ts +165 -0
  100. package/src/tools/openaire.ts +158 -0
  101. package/src/tools/openalex.ts +26 -15
  102. package/src/tools/opencitations.ts +112 -0
  103. package/src/tools/orcid.ts +139 -0
  104. package/src/tools/osf-preprints.ts +104 -0
  105. package/src/tools/pubmed.ts +22 -13
  106. package/src/tools/ror.ts +118 -0
  107. package/src/tools/unpaywall.ts +15 -6
  108. package/src/tools/util.ts +141 -0
  109. package/src/tools/zenodo.ts +157 -0
  110. package/mcp-configs/academic-db/ChatSpatial.json +0 -17
  111. package/mcp-configs/academic-db/academia-mcp.json +0 -17
  112. package/mcp-configs/academic-db/academic-paper-explorer.json +0 -17
  113. package/mcp-configs/academic-db/academic-search-mcp-server.json +0 -17
  114. package/mcp-configs/academic-db/agentinterviews-mcp.json +0 -17
  115. package/mcp-configs/academic-db/all-in-mcp.json +0 -17
  116. package/mcp-configs/academic-db/alphafold-mcp.json +0 -20
  117. package/mcp-configs/academic-db/apple-health-mcp.json +0 -17
  118. package/mcp-configs/academic-db/arxiv-latex-mcp.json +0 -17
  119. package/mcp-configs/academic-db/arxiv-mcp-server.json +0 -17
  120. package/mcp-configs/academic-db/bgpt-mcp.json +0 -17
  121. package/mcp-configs/academic-db/biomcp.json +0 -17
  122. package/mcp-configs/academic-db/biothings-mcp.json +0 -17
  123. package/mcp-configs/academic-db/brightspace-mcp.json +0 -21
  124. package/mcp-configs/academic-db/catalysishub-mcp-server.json +0 -17
  125. package/mcp-configs/academic-db/climatiq-mcp.json +0 -20
  126. package/mcp-configs/academic-db/clinicaltrialsgov-mcp-server.json +0 -17
  127. package/mcp-configs/academic-db/deep-research-mcp.json +0 -17
  128. package/mcp-configs/academic-db/dicom-mcp.json +0 -17
  129. package/mcp-configs/academic-db/enrichr-mcp-server.json +0 -17
  130. package/mcp-configs/academic-db/fec-mcp-server.json +0 -17
  131. package/mcp-configs/academic-db/fhir-mcp-server-themomentum.json +0 -17
  132. package/mcp-configs/academic-db/fhir-mcp.json +0 -19
  133. package/mcp-configs/academic-db/gget-mcp.json +0 -17
  134. package/mcp-configs/academic-db/gibs-mcp.json +0 -20
  135. package/mcp-configs/academic-db/gis-mcp-server.json +0 -22
  136. package/mcp-configs/academic-db/google-earth-engine-mcp.json +0 -21
  137. package/mcp-configs/academic-db/google-researcher-mcp.json +0 -17
  138. package/mcp-configs/academic-db/idea-reality-mcp.json +0 -17
  139. package/mcp-configs/academic-db/legiscan-mcp.json +0 -19
  140. package/mcp-configs/academic-db/lex.json +0 -17
  141. package/mcp-configs/academic-db/m4-clinical-mcp.json +0 -21
  142. package/mcp-configs/academic-db/medical-mcp.json +0 -21
  143. package/mcp-configs/academic-db/nexonco-mcp.json +0 -20
  144. package/mcp-configs/academic-db/omop-mcp.json +0 -20
  145. package/mcp-configs/academic-db/onekgpd-mcp.json +0 -20
  146. package/mcp-configs/academic-db/openedu-mcp.json +0 -20
  147. package/mcp-configs/academic-db/opengenes-mcp.json +0 -20
  148. package/mcp-configs/academic-db/openstax-mcp.json +0 -21
  149. package/mcp-configs/academic-db/openstreetmap-mcp.json +0 -21
  150. package/mcp-configs/academic-db/opentargets-mcp.json +0 -21
  151. package/mcp-configs/academic-db/pdb-mcp.json +0 -21
  152. package/mcp-configs/academic-db/smithsonian-mcp.json +0 -20
  153. package/mcp-configs/ai-platform/Adaptive-Graph-of-Thoughts-MCP-server.json +0 -17
  154. package/mcp-configs/ai-platform/ai-counsel.json +0 -17
  155. package/mcp-configs/ai-platform/atlas-mcp-server.json +0 -17
  156. package/mcp-configs/ai-platform/counsel-mcp.json +0 -17
  157. package/mcp-configs/ai-platform/cross-llm-mcp.json +0 -17
  158. package/mcp-configs/ai-platform/gptr-mcp.json +0 -17
  159. package/mcp-configs/ai-platform/magi-researchers.json +0 -21
  160. package/mcp-configs/ai-platform/mcp-academic-researcher.json +0 -22
  161. package/mcp-configs/ai-platform/open-paper-machine.json +0 -21
  162. package/mcp-configs/ai-platform/paper-intelligence.json +0 -21
  163. package/mcp-configs/ai-platform/paper-reader.json +0 -21
  164. package/mcp-configs/ai-platform/paperdebugger.json +0 -21
  165. package/mcp-configs/browser/decipher-research-agent.json +0 -17
  166. package/mcp-configs/browser/deep-research.json +0 -17
  167. package/mcp-configs/browser/everything-claude-code.json +0 -17
  168. package/mcp-configs/browser/exa-mcp.json +0 -20
  169. package/mcp-configs/browser/gpt-researcher.json +0 -17
  170. package/mcp-configs/browser/heurist-agent-framework.json +0 -17
  171. package/mcp-configs/browser/mcp-searxng.json +0 -21
  172. package/mcp-configs/browser/mcp-webresearch.json +0 -20
  173. package/mcp-configs/cloud-docs/confluence-mcp.json +0 -37
  174. package/mcp-configs/cloud-docs/google-drive-mcp.json +0 -35
  175. package/mcp-configs/cloud-docs/notion-mcp.json +0 -29
  176. package/mcp-configs/communication/discord-mcp.json +0 -29
  177. package/mcp-configs/communication/discourse-mcp.json +0 -21
  178. package/mcp-configs/communication/slack-mcp.json +0 -29
  179. package/mcp-configs/communication/telegram-mcp.json +0 -28
  180. package/mcp-configs/data-platform/4everland-hosting-mcp.json +0 -17
  181. package/mcp-configs/data-platform/automl-stat-mcp.json +0 -21
  182. package/mcp-configs/data-platform/context-keeper.json +0 -17
  183. package/mcp-configs/data-platform/context7.json +0 -19
  184. package/mcp-configs/data-platform/contextstream-mcp.json +0 -17
  185. package/mcp-configs/data-platform/email-mcp.json +0 -17
  186. package/mcp-configs/data-platform/jefferson-stats-mcp.json +0 -22
  187. package/mcp-configs/data-platform/mcp-excel-server.json +0 -21
  188. package/mcp-configs/data-platform/mcp-stata.json +0 -21
  189. package/mcp-configs/data-platform/mcpstack-jupyter.json +0 -21
  190. package/mcp-configs/data-platform/ml-mcp.json +0 -21
  191. package/mcp-configs/data-platform/nasdaq-data-link-mcp.json +0 -20
  192. package/mcp-configs/data-platform/numpy-mcp.json +0 -21
  193. package/mcp-configs/database/neo4j-mcp.json +0 -37
  194. package/mcp-configs/database/postgres-mcp.json +0 -28
  195. package/mcp-configs/database/sqlite-mcp.json +0 -29
  196. package/mcp-configs/dev-platform/geogebra-mcp.json +0 -21
  197. package/mcp-configs/dev-platform/github-mcp.json +0 -31
  198. package/mcp-configs/dev-platform/gitlab-mcp.json +0 -34
  199. package/mcp-configs/dev-platform/latex-mcp-server.json +0 -21
  200. package/mcp-configs/dev-platform/manim-mcp.json +0 -20
  201. package/mcp-configs/dev-platform/mcp-echarts.json +0 -20
  202. package/mcp-configs/dev-platform/panel-viz-mcp.json +0 -20
  203. package/mcp-configs/dev-platform/paperbanana.json +0 -20
  204. package/mcp-configs/dev-platform/texflow-mcp.json +0 -20
  205. package/mcp-configs/dev-platform/texmcp.json +0 -20
  206. package/mcp-configs/dev-platform/typst-mcp.json +0 -21
  207. package/mcp-configs/dev-platform/vizro-mcp.json +0 -20
  208. package/mcp-configs/email/email-mcp.json +0 -40
  209. package/mcp-configs/email/gmail-mcp.json +0 -37
  210. package/mcp-configs/note-knowledge/ApeRAG.json +0 -17
  211. package/mcp-configs/note-knowledge/In-Memoria.json +0 -17
  212. package/mcp-configs/note-knowledge/agent-memory.json +0 -17
  213. package/mcp-configs/note-knowledge/aimemo.json +0 -17
  214. package/mcp-configs/note-knowledge/biel-mcp.json +0 -19
  215. package/mcp-configs/note-knowledge/cognee.json +0 -17
  216. package/mcp-configs/note-knowledge/context-awesome.json +0 -17
  217. package/mcp-configs/note-knowledge/context-mcp.json +0 -17
  218. package/mcp-configs/note-knowledge/conversation-handoff-mcp.json +0 -17
  219. package/mcp-configs/note-knowledge/cortex.json +0 -17
  220. package/mcp-configs/note-knowledge/devrag.json +0 -17
  221. package/mcp-configs/note-knowledge/easy-obsidian-mcp.json +0 -17
  222. package/mcp-configs/note-knowledge/engram.json +0 -17
  223. package/mcp-configs/note-knowledge/gnosis-mcp.json +0 -17
  224. package/mcp-configs/note-knowledge/graphlit-mcp-server.json +0 -19
  225. package/mcp-configs/note-knowledge/local-faiss-mcp.json +0 -21
  226. package/mcp-configs/note-knowledge/mcp-memory-service.json +0 -21
  227. package/mcp-configs/note-knowledge/mcp-obsidian.json +0 -23
  228. package/mcp-configs/note-knowledge/mcp-ragdocs.json +0 -20
  229. package/mcp-configs/note-knowledge/mcp-summarizer.json +0 -21
  230. package/mcp-configs/note-knowledge/mediawiki-mcp.json +0 -21
  231. package/mcp-configs/note-knowledge/openzim-mcp.json +0 -20
  232. package/mcp-configs/note-knowledge/zettelkasten-mcp.json +0 -21
  233. package/mcp-configs/reference-mgr/academic-paper-mcp-http.json +0 -20
  234. package/mcp-configs/reference-mgr/academix.json +0 -20
  235. package/mcp-configs/reference-mgr/arxiv-cli.json +0 -17
  236. package/mcp-configs/reference-mgr/arxiv-research-mcp.json +0 -21
  237. package/mcp-configs/reference-mgr/arxiv-search-mcp.json +0 -17
  238. package/mcp-configs/reference-mgr/chiken.json +0 -17
  239. package/mcp-configs/reference-mgr/claude-scholar.json +0 -17
  240. package/mcp-configs/reference-mgr/devonthink-mcp.json +0 -17
  241. package/mcp-configs/reference-mgr/google-scholar-abstract-mcp.json +0 -19
  242. package/mcp-configs/reference-mgr/google-scholar-mcp.json +0 -20
  243. package/mcp-configs/reference-mgr/mcp-paperswithcode.json +0 -21
  244. package/mcp-configs/reference-mgr/mcp-scholarly.json +0 -20
  245. package/mcp-configs/reference-mgr/mcp-simple-arxiv.json +0 -20
  246. package/mcp-configs/reference-mgr/mcp-simple-pubmed.json +0 -20
  247. package/mcp-configs/reference-mgr/mcp-zotero.json +0 -21
  248. package/mcp-configs/reference-mgr/mendeley-mcp.json +0 -20
  249. package/mcp-configs/reference-mgr/ncbi-mcp-server.json +0 -22
  250. package/mcp-configs/reference-mgr/onecite.json +0 -21
  251. package/mcp-configs/reference-mgr/paper-search-mcp.json +0 -21
  252. package/mcp-configs/reference-mgr/pubmed-search-mcp.json +0 -21
  253. package/mcp-configs/reference-mgr/scholar-mcp.json +0 -21
  254. package/mcp-configs/reference-mgr/scholar-multi-mcp.json +0 -21
  255. package/mcp-configs/reference-mgr/seerai.json +0 -21
  256. package/mcp-configs/reference-mgr/semantic-scholar-fastmcp.json +0 -21
  257. package/mcp-configs/reference-mgr/sourcelibrary.json +0 -20
  258. package/mcp-configs/registry.json +0 -476
  259. package/mcp-configs/repository/dataverse-mcp.json +0 -33
  260. package/mcp-configs/repository/huggingface-mcp.json +0 -29
  261. package/skills/domains/business/xpert-bi-guide/SKILL.md +0 -84
  262. package/skills/domains/education/edumcp-guide/SKILL.md +0 -74
  263. package/skills/literature/search/paper-search-mcp-guide/SKILL.md +0 -107
  264. package/skills/research/automation/mcp-server-guide/SKILL.md +0 -211
  265. package/skills/tools/knowledge-graph/paperpile-notion-guide/SKILL.md +0 -84
  266. package/src/tools/semantic-scholar.ts +0 -66
package/index.ts CHANGED
@@ -1,16 +1,26 @@
1
1
  import type { OpenClawPluginApi } from "openclaw/plugin-sdk";
2
- import { createSemanticScholarTools } from "./src/tools/semantic-scholar.js";
3
2
  import { createOpenAlexTools } from "./src/tools/openalex.js";
4
3
  import { createCrossRefTools } from "./src/tools/crossref.js";
5
4
  import { createArxivTools } from "./src/tools/arxiv.js";
6
5
  import { createPubMedTools } from "./src/tools/pubmed.js";
7
6
  import { createUnpaywallTools } from "./src/tools/unpaywall.js";
7
+ import { createEuropePmcTools } from "./src/tools/europe-pmc.js";
8
+ import { createOpenCitationsTools } from "./src/tools/opencitations.js";
9
+ import { createDoajTools } from "./src/tools/doaj.js";
10
+ import { createDblpTools } from "./src/tools/dblp.js";
11
+ import { createBiorxivTools } from "./src/tools/biorxiv.js";
12
+ import { createOpenAireTools } from "./src/tools/openaire.js";
13
+ import { createZenodoTools } from "./src/tools/zenodo.js";
14
+ import { createOrcidTools } from "./src/tools/orcid.js";
15
+ import { createInspireHepTools } from "./src/tools/inspire-hep.js";
16
+ import { createHalTools } from "./src/tools/hal.js";
17
+ import { createOsfPreprintsTools } from "./src/tools/osf-preprints.js";
18
+ import { createDataCiteTools } from "./src/tools/datacite.js";
19
+ import { createRorTools } from "./src/tools/ror.js";
20
+ // ChemRxiv: REMOVED — blocked by Cloudflare WAF, returns HTML challenge instead of JSON
8
21
 
9
22
  export default function activate(api: OpenClawPluginApi) {
10
- api.registerTool(
11
- (ctx) => createSemanticScholarTools(ctx, api),
12
- { names: ["get_paper", "get_citations"] },
13
- );
23
+ // --- Existing tools ---
14
24
 
15
25
  api.registerTool(
16
26
  (ctx) => createOpenAlexTools(ctx, api),
@@ -36,4 +46,77 @@ export default function activate(api: OpenClawPluginApi) {
36
46
  (ctx) => createUnpaywallTools(ctx, api),
37
47
  { names: ["find_oa_version"] },
38
48
  );
49
+
50
+ // --- Phase 1: New free API tools ---
51
+
52
+ api.registerTool(
53
+ (ctx) => createEuropePmcTools(ctx, api),
54
+ { names: ["search_europe_pmc", "get_epmc_citations", "get_epmc_references"] },
55
+ );
56
+
57
+ api.registerTool(
58
+ (ctx) => createOpenCitationsTools(ctx, api),
59
+ { names: ["get_citations_open", "get_references_open", "get_citation_count"] },
60
+ );
61
+
62
+ api.registerTool(
63
+ (ctx) => createDoajTools(ctx, api),
64
+ { names: ["search_doaj"] },
65
+ );
66
+
67
+ api.registerTool(
68
+ (ctx) => createDblpTools(ctx, api),
69
+ { names: ["search_dblp", "search_dblp_author"] },
70
+ );
71
+
72
+ api.registerTool(
73
+ (ctx) => createBiorxivTools(ctx, api),
74
+ { names: ["search_biorxiv", "search_medrxiv", "get_preprint_by_doi"] },
75
+ );
76
+
77
+ api.registerTool(
78
+ (ctx) => createOpenAireTools(ctx, api),
79
+ { names: ["search_openaire"] },
80
+ );
81
+
82
+ // --- Phase 2: Domain-specific tools ---
83
+
84
+ api.registerTool(
85
+ (ctx) => createZenodoTools(ctx, api),
86
+ { names: ["search_zenodo", "get_zenodo_record"] },
87
+ );
88
+
89
+ api.registerTool(
90
+ (ctx) => createOrcidTools(ctx, api),
91
+ { names: ["search_orcid", "get_orcid_works"] },
92
+ );
93
+
94
+ api.registerTool(
95
+ (ctx) => createInspireHepTools(ctx, api),
96
+ { names: ["search_inspire", "get_inspire_paper"] },
97
+ );
98
+
99
+ api.registerTool(
100
+ (ctx) => createHalTools(ctx, api),
101
+ { names: ["search_hal"] },
102
+ );
103
+
104
+ api.registerTool(
105
+ (ctx) => createOsfPreprintsTools(ctx, api),
106
+ { names: ["search_osf_preprints"] },
107
+ );
108
+
109
+ // --- Phase 3: Infrastructure tools ---
110
+
111
+ api.registerTool(
112
+ (ctx) => createDataCiteTools(ctx, api),
113
+ { names: ["search_datacite", "resolve_datacite_doi"] },
114
+ );
115
+
116
+ api.registerTool(
117
+ (ctx) => createRorTools(ctx, api),
118
+ { names: ["search_ror"] },
119
+ );
120
+
121
+ // ChemRxiv: blocked by Cloudflare — moved to Layer 2 (Browser RPA)
39
122
  }
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "id": "research-plugins",
3
- "version": "1.3.2",
3
+ "version": "1.4.0",
4
4
  "name": "Research Plugins",
5
- "description": "432 academic research skills, 12 agent tools, 150 MCP configs (reference-only) & 6 curated lists for Research-Claw",
5
+ "description": "438 academic research skills, 34 agent tools across 18 API modules & 6 curated lists for Research-Claw",
6
6
  "skills": [
7
7
  "./skills/analysis",
8
8
  "./skills/domains",
@@ -14,15 +14,6 @@
14
14
  "configSchema": {
15
15
  "type": "object",
16
16
  "additionalProperties": false,
17
- "properties": {
18
- "semanticScholarApiKey": { "type": "string" }
19
- }
20
- },
21
- "uiHints": {
22
- "semanticScholarApiKey": {
23
- "label": "Semantic Scholar API Key (optional)",
24
- "help": "Get free key from semanticscholar.org for higher rate limits.",
25
- "sensitive": true
26
- }
17
+ "properties": {}
27
18
  }
28
19
  }
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "@wentorai/research-plugins",
3
- "version": "1.3.2",
3
+ "version": "1.4.2",
4
4
  "type": "module",
5
- "description": "432 academic research skills, 13 agent tools, 150 MCP configs (reference-only), and 6 curated lists for Research-Claw and AI agents",
5
+ "description": "438 academic research skills, 34 agent tools across 18 API modules, and 6 curated lists for Research-Claw and AI agents",
6
6
  "keywords": [
7
7
  "agent-skills",
8
8
  "claude",
@@ -17,7 +17,6 @@
17
17
  ],
18
18
  "files": [
19
19
  "skills/",
20
- "mcp-configs/",
21
20
  "curated/",
22
21
  "src/",
23
22
  "index.ts",
@@ -27,8 +26,7 @@
27
26
  ],
28
27
  "scripts": {
29
28
  "validate": "node --experimental-strip-types scripts/validate.ts",
30
- "catalog": "node --experimental-strip-types scripts/catalog.ts",
31
- "sync-registry": "node --experimental-strip-types scripts/sync-registry.ts"
29
+ "catalog": "node --experimental-strip-types scripts/catalog.ts"
32
30
  },
33
31
  "engines": {
34
32
  "node": ">=22.6.0"
@@ -12,7 +12,7 @@ Select the skill matching the user's need, then `read` its SKILL.md.
12
12
  | [bayesian-statistics-guide](./bayesian-statistics-guide/SKILL.md) | Bayesian inference methods including prior selection, MCMC, and model comparison |
13
13
  | [data-anomaly-detection](./data-anomaly-detection/SKILL.md) | Detect anomalies and outliers in research data using statistical methods |
14
14
  | [hypothesis-testing-guide](./hypothesis-testing-guide/SKILL.md) | Statistical hypothesis testing, power analysis, and significance reporting |
15
- | [meta-analysis-guide](./meta-analysis-guide/SKILL.md) | Conduct systematic meta-analyses with effect size pooling and heterogeneity a... |
15
+ | [meta-analysis-guide](./meta-analysis-guide/SKILL.md) | Conduct systematic meta-analyses with effect size pooling and heterogeneity |
16
16
  | [ml-experiment-tracker](./ml-experiment-tracker/SKILL.md) | Plan reproducible ML experiment runs with parameters and metrics tracking |
17
17
  | [modeling-strategy-guide](./modeling-strategy-guide/SKILL.md) | Strategic statistical modeling, experimentation, and causal inference |
18
18
  | [nonparametric-tests-guide](./nonparametric-tests-guide/SKILL.md) | Apply Mann-Whitney, Kruskal-Wallis, and other nonparametric methods |
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: meta-analysis-guide
3
- description: "Conduct systematic meta-analyses with effect size pooling and heterogeneity a..."
3
+ description: "Conduct systematic meta-analyses with effect size pooling and heterogeneity"
4
4
  metadata:
5
5
  openclaw:
6
6
  emoji: "⚖️"
@@ -1,9 +1,9 @@
1
1
  ---
2
2
  name: ai-ml-skills
3
- description: "26 ai & machine learning skills. Trigger: ML experiments, model training, deep learning, NLP, computer vision. Design: covers frameworks, benchmarks, paper reproduction, and AI research workflows."
3
+ description: "27 ai & machine learning skills. Trigger: ML experiments, model training, deep learning, NLP, computer vision. Design: covers frameworks, benchmarks, paper reproduction, and AI research workflows."
4
4
  ---
5
5
 
6
- # AI & Machine Learning — 26 Skills
6
+ # AI & Machine Learning — 27 Skills
7
7
 
8
8
  Select the skill matching the user's need, then `read` its SKILL.md.
9
9
 
@@ -19,6 +19,7 @@ Select the skill matching the user's need, then `read` its SKILL.md.
19
19
  | [domain-adaptation-papers-guide](./domain-adaptation-papers-guide/SKILL.md) | Comprehensive collection of domain adaptation research papers |
20
20
  | [generative-ai-guide](./generative-ai-guide/SKILL.md) | Curated guide to generative AI covering LLMs and diffusion models |
21
21
  | [graph-learning-papers-guide](./graph-learning-papers-guide/SKILL.md) | Conference papers on graph neural networks and graph learning |
22
+ | [huggingface-api](./huggingface-api/SKILL.md) | Search and discover ML models, datasets, and Spaces on Hugging Face |
22
23
  | [huggingface-inference-guide](./huggingface-inference-guide/SKILL.md) | Run NLP and CV model inference via Hugging Face free-tier API |
23
24
  | [keras-deep-learning](./keras-deep-learning/SKILL.md) | Build and debug deep learning models with Keras and TensorFlow backend |
24
25
  | [kolmogorov-arnold-networks-guide](./kolmogorov-arnold-networks-guide/SKILL.md) | Papers and tutorials on KAN learnable activation networks |
@@ -8,6 +8,7 @@ metadata:
8
8
  openclaw:
9
9
  category: "domains"
10
10
  subcategory: "ai-ml"
11
+ emoji: "🤖"
11
12
  keywords:
12
13
  - generative-ai
13
14
  - large-language-models
@@ -0,0 +1,251 @@
1
+ ---
2
+ name: huggingface-api
3
+ description: "Search and discover ML models, datasets, and Spaces on Hugging Face"
4
+ metadata:
5
+ openclaw:
6
+ emoji: "🤗"
7
+ category: "domains"
8
+ subcategory: "ai-ml"
9
+ keywords: ["Hugging Face", "ML models", "datasets", "model hub", "transformers", "NLP", "computer vision"]
10
+ source: "https://huggingface.co/docs/hub/api"
11
+ ---
12
+
13
+ # Hugging Face Hub API
14
+
15
+ ## Overview
16
+
17
+ The Hugging Face Hub is the largest open-source ML ecosystem, hosting over 1 million models, 200,000+ datasets, and 400,000+ Spaces (demo apps). The Hub API at `https://huggingface.co/api` provides programmatic access to search, discover, and retrieve metadata for all public resources without authentication.
18
+
19
+ For academic researchers, the Hub API enables systematic model selection for benchmarking, dataset discovery for experiments, tracking community adoption metrics (downloads, likes), and building reproducible ML pipelines that reference specific model revisions by SHA.
20
+
21
+ ## Authentication
22
+
23
+ **Read endpoints require no authentication.** All search and metadata queries work without a token.
24
+
25
+ For write operations (uploading models, creating repos), set a User Access Token:
26
+
27
+ ```bash
28
+ export HF_TOKEN="hf_..."
29
+ # Pass via header:
30
+ curl -H "Authorization: Bearer $HF_TOKEN" https://huggingface.co/api/...
31
+ ```
32
+
33
+ Generate tokens at: https://huggingface.co/settings/tokens
34
+
35
+ ## Core Endpoints
36
+
37
+ ### Search Models
38
+
39
+ ```
40
+ GET https://huggingface.co/api/models?search={query}&limit={n}&sort={field}&direction={-1|1}
41
+ ```
42
+
43
+ **Parameters**: `search` (query string), `limit` (max results), `sort` (field: `downloads`, `likes`, `lastModified`, `trending`), `direction` (-1 descending, 1 ascending), `filter` (pipeline tag like `text-classification`), `author` (org/user filter), `library` (e.g. `transformers`, `pytorch`)
44
+
45
+ **Example** -- top 2 models for "bert" by downloads:
46
+
47
+ ```bash
48
+ curl -s "https://huggingface.co/api/models?search=bert&limit=2&sort=downloads&direction=-1"
49
+ ```
50
+
51
+ ```json
52
+ [
53
+ {
54
+ "id": "google-bert/bert-base-uncased",
55
+ "likes": 2587,
56
+ "downloads": 71053483,
57
+ "pipeline_tag": "fill-mask",
58
+ "library_name": "transformers",
59
+ "tags": ["transformers","pytorch","tf","jax","bert","fill-mask","en",
60
+ "dataset:bookcorpus","dataset:wikipedia","arxiv:1810.04805",
61
+ "license:apache-2.0"]
62
+ },
63
+ {
64
+ "id": "google-bert/bert-base-multilingual-uncased",
65
+ "likes": 153,
66
+ "downloads": 5017183,
67
+ "pipeline_tag": "fill-mask",
68
+ "library_name": "transformers"
69
+ }
70
+ ]
71
+ ```
72
+
73
+ ### Get Model Details
74
+
75
+ ```
76
+ GET https://huggingface.co/api/models/{owner}/{model_name}
77
+ ```
78
+
79
+ Returns full metadata including `config.architectures`, `cardData` (license, datasets, language), `siblings` (file listing), `sha` (exact revision), and `lastModified`.
80
+
81
+ ```bash
82
+ curl -s "https://huggingface.co/api/models/google-bert/bert-base-uncased"
83
+ ```
84
+
85
+ Key fields in response:
86
+
87
+ ```json
88
+ {
89
+ "id": "google-bert/bert-base-uncased",
90
+ "sha": "86b5e0934494bd15c9632b12f734a8a67f723594",
91
+ "lastModified": "2024-02-19T11:06:12.000Z",
92
+ "downloads": 71053483,
93
+ "config": { "architectures": ["BertForMaskedLM"], "model_type": "bert" },
94
+ "cardData": { "language": "en", "license": "apache-2.0",
95
+ "datasets": ["bookcorpus","wikipedia"] }
96
+ }
97
+ ```
98
+
99
+ ### Search Datasets
100
+
101
+ ```
102
+ GET https://huggingface.co/api/datasets?search={query}&limit={n}
103
+ ```
104
+
105
+ **Parameters**: `search`, `limit`, `sort`, `direction`, `author`, `filter` (task tag like `question-answering`)
106
+
107
+ ```bash
108
+ curl -s "https://huggingface.co/api/datasets?search=squad&limit=2"
109
+ ```
110
+
111
+ ```json
112
+ [
113
+ {
114
+ "id": "rajpurkar/squad_v2",
115
+ "likes": 242,
116
+ "downloads": 36017,
117
+ "description": "Stanford Question Answering Dataset (SQuAD)...",
118
+ "tags": ["task_categories:question-answering","language:en",
119
+ "license:cc-by-sa-4.0","size_categories:100K<n<1M",
120
+ "arxiv:1806.03822"]
121
+ }
122
+ ]
123
+ ```
124
+
125
+ ### Get Dataset Details
126
+
127
+ ```
128
+ GET https://huggingface.co/api/datasets/{owner}/{dataset_name}
129
+ ```
130
+
131
+ ```bash
132
+ curl -s "https://huggingface.co/api/datasets/rajpurkar/squad_v2"
133
+ ```
134
+
135
+ Returns `cardData` with structured metadata (task categories, languages, license, size), `description`, `paperswithcode_id` for cross-referencing, and `tags` with arXiv paper IDs.
136
+
137
+ ### Search Spaces
138
+
139
+ ```
140
+ GET https://huggingface.co/api/spaces?search={query}&limit={n}
141
+ ```
142
+
143
+ ```bash
144
+ curl -s "https://huggingface.co/api/spaces?search=chatbot&limit=2"
145
+ ```
146
+
147
+ ```json
148
+ [
149
+ {
150
+ "id": "21Hg/chatbot",
151
+ "likes": 5,
152
+ "sdk": "docker",
153
+ "tags": ["docker","streamlit","region:us"]
154
+ },
155
+ {
156
+ "id": "lmarena-ai/chatbot-arena",
157
+ "likes": 234,
158
+ "sdk": "static"
159
+ }
160
+ ]
161
+ ```
162
+
163
+ ## Advanced Filters
164
+
165
+ Combine filters via query params to narrow results:
166
+
167
+ ```bash
168
+ # PyTorch text-generation models with 1000+ likes
169
+ curl -s "https://huggingface.co/api/models?filter=text-generation&library=pytorch&sort=likes&direction=-1&limit=5"
170
+
171
+ # Datasets for NER tasks in Chinese
172
+ curl -s "https://huggingface.co/api/datasets?filter=token-classification&language=zh&limit=10"
173
+
174
+ # Gradio Spaces sorted by trending
175
+ curl -s "https://huggingface.co/api/spaces?filter=gradio&sort=trending&direction=-1&limit=5"
176
+ ```
177
+
178
+ ## Rate Limits
179
+
180
+ - **Unauthenticated**: generous but undocumented; suitable for interactive use and small scripts
181
+ - **Authenticated**: higher limits with Bearer token
182
+ - **Best practice**: add `limit` parameter to avoid fetching thousands of results; cache responses locally for batch analysis
183
+ - No strict per-minute quota is published; if you receive HTTP 429, back off exponentially
184
+
185
+ ## Academic Use Cases
186
+
187
+ 1. **Model selection for benchmarks**: Search by pipeline tag (`text-classification`, `token-classification`, `summarization`) and sort by downloads to find community-validated baselines
188
+ 2. **Dataset discovery**: Filter by `task_categories`, `language`, and `size_categories` tags to find training data matching your experimental requirements
189
+ 3. **Reproducibility**: Pin model versions using the `sha` field from model details -- load exact revisions with `revision="86b5e093..."` in transformers
190
+ 4. **Citation tracking**: Extract `arxiv:` tags from model/dataset metadata to trace foundational papers
191
+ 5. **Ecosystem analysis**: Aggregate download/like counts across model families to study adoption trends in ML research
192
+
193
+ ## Code Examples
194
+
195
+ ### Python with requests
196
+
197
+ ```python
198
+ import requests
199
+
200
+ # Search for top text-classification models
201
+ resp = requests.get("https://huggingface.co/api/models", params={
202
+ "filter": "text-classification",
203
+ "sort": "downloads",
204
+ "direction": -1,
205
+ "limit": 10
206
+ })
207
+ models = resp.json()
208
+ for m in models:
209
+ print(f"{m['id']:50s} downloads={m.get('downloads',0):>12,}")
210
+
211
+ # Get specific model metadata
212
+ detail = requests.get("https://huggingface.co/api/models/google-bert/bert-base-uncased").json()
213
+ print(f"SHA: {detail['sha']}")
214
+ print(f"License: {detail['cardData'].get('license')}")
215
+ ```
216
+
217
+ ### Python with huggingface_hub library
218
+
219
+ ```python
220
+ from huggingface_hub import HfApi
221
+
222
+ api = HfApi()
223
+
224
+ # Search models (returns ModelInfo objects)
225
+ models = api.list_models(search="bert", sort="downloads", direction=-1, limit=5)
226
+ for m in models:
227
+ print(f"{m.id} downloads={m.downloads}")
228
+
229
+ # Get full model info
230
+ info = api.model_info("google-bert/bert-base-uncased")
231
+ print(f"Pipeline: {info.pipeline_tag}, SHA: {info.sha}")
232
+
233
+ # Search datasets
234
+ datasets = api.list_datasets(search="squad", sort="downloads", direction=-1, limit=5)
235
+ for d in datasets:
236
+ print(f"{d.id} downloads={d.downloads}")
237
+
238
+ # List Spaces
239
+ spaces = api.list_spaces(search="chatbot", limit=5)
240
+ for s in spaces:
241
+ print(f"{s.id} sdk={s.sdk}")
242
+ ```
243
+
244
+ ## References
245
+
246
+ - Hub API documentation: https://huggingface.co/docs/hub/api
247
+ - huggingface_hub Python library: https://huggingface.co/docs/huggingface_hub/
248
+ - Model Hub: https://huggingface.co/models
249
+ - Dataset Hub: https://huggingface.co/datasets
250
+ - Spaces: https://huggingface.co/spaces
251
+ - OpenAPI spec: https://huggingface.co/docs/hub/api#openapi
@@ -1,20 +1,25 @@
1
1
  ---
2
2
  name: biomedical-skills
3
- description: "17 biomedical research skills. Trigger: medical research, clinical trials, genomics, bioinformatics. Design: domain databases, wet-lab/dry-lab methods, and ethical compliance guides."
3
+ description: "24 biomedical research skills. Trigger: medical research, clinical trials, genomics, bioinformatics. Design: domain databases, wet-lab/dry-lab methods, and ethical compliance guides."
4
4
  ---
5
5
 
6
- # Biomedical Research — 17 Skills
6
+ # Biomedical Research — 24 Skills
7
7
 
8
8
  Select the skill matching the user's need, then `read` its SKILL.md.
9
9
 
10
10
  | Skill | Description |
11
11
  |-------|-------------|
12
+ | [alphafold-api](./alphafold-api/SKILL.md) | Query AlphaFold protein structure predictions by UniProt accession |
12
13
  | [bioagents-guide](./bioagents-guide/SKILL.md) | AI scientist framework for autonomous biological research workflows |
14
+ | [biothings-api](./biothings-api/SKILL.md) | Query gene, variant, and drug annotations via BioThings APIs |
13
15
  | [clawbio-guide](./clawbio-guide/SKILL.md) | OpenClaw bioinformatics skill library for genomics pipelines |
14
16
  | [clinical-dialogue-agents-guide](./clinical-dialogue-agents-guide/SKILL.md) | Papers on AI agents for clinical dialogue and medical QA |
15
17
  | [clinical-research-guide](./clinical-research-guide/SKILL.md) | Design clinical studies and report using CONSORT, STROBE guidelines |
16
18
  | [clinicaltrials-api](./clinicaltrials-api/SKILL.md) | Clinical trial registry database search API |
19
+ | [clinicaltrials-api-v2](./clinicaltrials-api-v2/SKILL.md) | Search and analyze clinical trials via the ClinicalTrials.gov v2 API |
17
20
  | [ena-sequence-api](./ena-sequence-api/SKILL.md) | Access nucleotide sequence data from the European Nucleotide Archive |
21
+ | [enrichr-api](./enrichr-api/SKILL.md) | Perform gene set enrichment analysis using the Enrichr API |
22
+ | [ensembl-rest-api](./ensembl-rest-api/SKILL.md) | Query gene, sequence, and variant data via the Ensembl REST API |
18
23
  | [epidemiology-guide](./epidemiology-guide/SKILL.md) | Epidemiological study designs, measures of association, and public health ana... |
19
24
  | [genomas-guide](./genomas-guide/SKILL.md) | Automate gene expression analysis with the GenoMAS multi-agent system |
20
25
  | [genomics-analysis-guide](./genomics-analysis-guide/SKILL.md) | Workflows for RNA-seq, GWAS, and variant calling in genomic research |
@@ -22,7 +27,9 @@ Select the skill matching the user's need, then `read` its SKILL.md.
22
27
  | [med-researcher-guide](./med-researcher-guide/SKILL.md) | Multi-agent system for biomedical literature review and synthesis |
23
28
  | [med-researcher-r1-guide](./med-researcher-r1-guide/SKILL.md) | Medical deep research agent with reasoning chain analysis |
24
29
  | [medgeclaw-guide](./medgeclaw-guide/SKILL.md) | AI research assistant for biomedicine, RNA-seq, and drug discovery |
30
+ | [medical-data-api](./medical-data-api/SKILL.md) | Access FDA drug data and WHO global health statistics for research |
25
31
  | [medical-imaging-guide](./medical-imaging-guide/SKILL.md) | Medical image analysis with deep learning for research applications |
26
32
  | [ncbi-blast-api](./ncbi-blast-api/SKILL.md) | Run sequence similarity searches via the NCBI BLAST REST API |
27
33
  | [ncbi-datasets-api](./ncbi-datasets-api/SKILL.md) | Access genomes, genes, and taxonomy data via NCBI Datasets v2 API |
34
+ | [pdb-structure-api](./pdb-structure-api/SKILL.md) | Search and retrieve 3D protein structures from the RCSB Protein Data Bank |
28
35
  | [quickgo-api](./quickgo-api/SKILL.md) | Browse and search Gene Ontology annotations via the QuickGO API |